From 8e0270ea4d800d4f52d6c563dbb07dbb6e8cd1b7 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 9 Nov 2020 12:11:13 +0100 Subject: Rename test directory --- test/NQuadsTests/README | 25 + test/NQuadsTests/comment_following_triple.nq | 5 + test/NQuadsTests/langtagged_string.nq | 1 + test/NQuadsTests/lantag_with_subtag.nq | 1 + test/NQuadsTests/literal.nq | 1 + test/NQuadsTests/literal_all_controls.nq | 1 + test/NQuadsTests/literal_all_punctuation.nq | 1 + test/NQuadsTests/literal_ascii_boundaries.nq | Bin 0 -> 57 bytes test/NQuadsTests/literal_false.nq | 1 + test/NQuadsTests/literal_true.nq | 1 + test/NQuadsTests/literal_with_2_dquotes.nq | 1 + test/NQuadsTests/literal_with_2_squotes.nq | 1 + test/NQuadsTests/literal_with_BACKSPACE.nq | 1 + test/NQuadsTests/literal_with_CARRIAGE_RETURN.nq | 1 + .../literal_with_CHARACTER_TABULATION.nq | 1 + test/NQuadsTests/literal_with_FORM_FEED.nq | 1 + test/NQuadsTests/literal_with_LINE_FEED.nq | 1 + test/NQuadsTests/literal_with_REVERSE_SOLIDUS.nq | 1 + test/NQuadsTests/literal_with_REVERSE_SOLIDUS2.nq | 1 + test/NQuadsTests/literal_with_UTF8_boundaries.nq | 1 + test/NQuadsTests/literal_with_dquote.nq | 1 + test/NQuadsTests/literal_with_numeric_escape4.nq | 1 + test/NQuadsTests/literal_with_numeric_escape8.nq | 1 + test/NQuadsTests/literal_with_squote.nq | 1 + test/NQuadsTests/manifest.ttl | 695 ++ test/NQuadsTests/minimal_whitespace.nq | 6 + test/NQuadsTests/nq-syntax-bad-literal-01.nq | 1 + test/NQuadsTests/nq-syntax-bad-literal-02.nq | 1 + test/NQuadsTests/nq-syntax-bad-literal-03.nq | 1 + test/NQuadsTests/nq-syntax-bad-quint-01.nq | 2 + test/NQuadsTests/nq-syntax-bad-uri-01.nq | 2 + test/NQuadsTests/nq-syntax-bnode-01.nq | 1 + test/NQuadsTests/nq-syntax-bnode-02.nq | 1 + test/NQuadsTests/nq-syntax-bnode-03.nq | 1 + test/NQuadsTests/nq-syntax-bnode-04.nq | 1 + test/NQuadsTests/nq-syntax-bnode-05.nq | 1 + test/NQuadsTests/nq-syntax-bnode-06.nq | 1 + test/NQuadsTests/nq-syntax-uri-01.nq | 1 + test/NQuadsTests/nq-syntax-uri-02.nq | 1 + test/NQuadsTests/nq-syntax-uri-03.nq | 1 + test/NQuadsTests/nq-syntax-uri-04.nq | 1 + test/NQuadsTests/nq-syntax-uri-05.nq | 1 + test/NQuadsTests/nq-syntax-uri-06.nq | 1 + test/NQuadsTests/nt-syntax-bad-base-01.nq | 1 + test/NQuadsTests/nt-syntax-bad-esc-01.nq | 2 + test/NQuadsTests/nt-syntax-bad-esc-02.nq | 2 + test/NQuadsTests/nt-syntax-bad-esc-03.nq | 2 + test/NQuadsTests/nt-syntax-bad-lang-01.nq | 2 + test/NQuadsTests/nt-syntax-bad-num-01.nq | 1 + test/NQuadsTests/nt-syntax-bad-num-02.nq | 1 + test/NQuadsTests/nt-syntax-bad-num-03.nq | 1 + test/NQuadsTests/nt-syntax-bad-prefix-01.nq | 1 + test/NQuadsTests/nt-syntax-bad-string-01.nq | 1 + test/NQuadsTests/nt-syntax-bad-string-02.nq | 1 + test/NQuadsTests/nt-syntax-bad-string-03.nq | 1 + test/NQuadsTests/nt-syntax-bad-string-04.nq | 1 + test/NQuadsTests/nt-syntax-bad-string-05.nq | 1 + test/NQuadsTests/nt-syntax-bad-string-06.nq | 1 + test/NQuadsTests/nt-syntax-bad-string-07.nq | 1 + test/NQuadsTests/nt-syntax-bad-struct-01.nq | 1 + test/NQuadsTests/nt-syntax-bad-struct-02.nq | 1 + test/NQuadsTests/nt-syntax-bad-uri-01.nq | 2 + test/NQuadsTests/nt-syntax-bad-uri-02.nq | 2 + test/NQuadsTests/nt-syntax-bad-uri-03.nq | 2 + test/NQuadsTests/nt-syntax-bad-uri-04.nq | 2 + test/NQuadsTests/nt-syntax-bad-uri-05.nq | 2 + test/NQuadsTests/nt-syntax-bad-uri-06.nq | 2 + test/NQuadsTests/nt-syntax-bad-uri-07.nq | 2 + test/NQuadsTests/nt-syntax-bad-uri-08.nq | 2 + test/NQuadsTests/nt-syntax-bad-uri-09.nq | 2 + test/NQuadsTests/nt-syntax-bnode-01.nq | 1 + test/NQuadsTests/nt-syntax-bnode-02.nq | 2 + test/NQuadsTests/nt-syntax-bnode-03.nq | 2 + test/NQuadsTests/nt-syntax-datatypes-01.nq | 1 + test/NQuadsTests/nt-syntax-datatypes-02.nq | 1 + test/NQuadsTests/nt-syntax-file-01.nq | 0 test/NQuadsTests/nt-syntax-file-02.nq | 1 + test/NQuadsTests/nt-syntax-file-03.nq | 2 + test/NQuadsTests/nt-syntax-str-esc-01.nq | 1 + test/NQuadsTests/nt-syntax-str-esc-02.nq | 1 + test/NQuadsTests/nt-syntax-str-esc-03.nq | 1 + test/NQuadsTests/nt-syntax-string-01.nq | 1 + test/NQuadsTests/nt-syntax-string-02.nq | 1 + test/NQuadsTests/nt-syntax-string-03.nq | 1 + test/NQuadsTests/nt-syntax-subm-01.nq | 79 + test/NQuadsTests/nt-syntax-uri-01.nq | 1 + test/NQuadsTests/nt-syntax-uri-02.nq | 2 + test/NQuadsTests/nt-syntax-uri-03.nq | 2 + test/NQuadsTests/nt-syntax-uri-04.nq | 2 + test/NTriplesTests/README | 25 + test/NTriplesTests/comment_following_triple.nt | 5 + test/NTriplesTests/langtagged_string.nt | 1 + test/NTriplesTests/lantag_with_subtag.nt | 1 + test/NTriplesTests/literal.nt | 1 + test/NTriplesTests/literal_all_controls.nt | 1 + test/NTriplesTests/literal_all_punctuation.nt | 1 + test/NTriplesTests/literal_ascii_boundaries.nt | Bin 0 -> 57 bytes test/NTriplesTests/literal_false.nt | 1 + test/NTriplesTests/literal_true.nt | 1 + test/NTriplesTests/literal_with_2_dquotes.nt | 1 + test/NTriplesTests/literal_with_2_squotes.nt | 1 + test/NTriplesTests/literal_with_BACKSPACE.nt | 1 + test/NTriplesTests/literal_with_CARRIAGE_RETURN.nt | 1 + .../literal_with_CHARACTER_TABULATION.nt | 1 + test/NTriplesTests/literal_with_FORM_FEED.nt | 1 + test/NTriplesTests/literal_with_LINE_FEED.nt | 1 + test/NTriplesTests/literal_with_REVERSE_SOLIDUS.nt | 1 + .../NTriplesTests/literal_with_REVERSE_SOLIDUS2.nt | 1 + test/NTriplesTests/literal_with_UTF8_boundaries.nt | 1 + test/NTriplesTests/literal_with_dquote.nt | 1 + test/NTriplesTests/literal_with_numeric_escape4.nt | 1 + test/NTriplesTests/literal_with_numeric_escape8.nt | 1 + test/NTriplesTests/literal_with_squote.nt | 1 + test/NTriplesTests/manifest.ttl | 512 + test/NTriplesTests/minimal_whitespace.nt | 6 + test/NTriplesTests/nt-syntax-bad-base-01.nt | 1 + test/NTriplesTests/nt-syntax-bad-esc-01.nt | 2 + test/NTriplesTests/nt-syntax-bad-esc-02.nt | 2 + test/NTriplesTests/nt-syntax-bad-esc-03.nt | 2 + test/NTriplesTests/nt-syntax-bad-lang-01.nt | 2 + test/NTriplesTests/nt-syntax-bad-num-01.nt | 1 + test/NTriplesTests/nt-syntax-bad-num-02.nt | 1 + test/NTriplesTests/nt-syntax-bad-num-03.nt | 1 + test/NTriplesTests/nt-syntax-bad-prefix-01.nt | 1 + test/NTriplesTests/nt-syntax-bad-string-01.nt | 1 + test/NTriplesTests/nt-syntax-bad-string-02.nt | 1 + test/NTriplesTests/nt-syntax-bad-string-03.nt | 1 + test/NTriplesTests/nt-syntax-bad-string-04.nt | 1 + test/NTriplesTests/nt-syntax-bad-string-05.nt | 1 + test/NTriplesTests/nt-syntax-bad-string-06.nt | 1 + test/NTriplesTests/nt-syntax-bad-string-07.nt | 1 + test/NTriplesTests/nt-syntax-bad-struct-01.nt | 1 + test/NTriplesTests/nt-syntax-bad-struct-02.nt | 1 + test/NTriplesTests/nt-syntax-bad-uri-01.nt | 2 + test/NTriplesTests/nt-syntax-bad-uri-02.nt | 2 + test/NTriplesTests/nt-syntax-bad-uri-03.nt | 2 + test/NTriplesTests/nt-syntax-bad-uri-04.nt | 2 + test/NTriplesTests/nt-syntax-bad-uri-05.nt | 2 + test/NTriplesTests/nt-syntax-bad-uri-06.nt | 2 + test/NTriplesTests/nt-syntax-bad-uri-07.nt | 2 + test/NTriplesTests/nt-syntax-bad-uri-08.nt | 2 + test/NTriplesTests/nt-syntax-bad-uri-09.nt | 2 + test/NTriplesTests/nt-syntax-bnode-01.nt | 1 + test/NTriplesTests/nt-syntax-bnode-02.nt | 2 + test/NTriplesTests/nt-syntax-bnode-03.nt | 2 + test/NTriplesTests/nt-syntax-datatypes-01.nt | 1 + test/NTriplesTests/nt-syntax-datatypes-02.nt | 1 + test/NTriplesTests/nt-syntax-file-01.nt | 0 test/NTriplesTests/nt-syntax-file-02.nt | 1 + test/NTriplesTests/nt-syntax-file-03.nt | 2 + test/NTriplesTests/nt-syntax-str-esc-01.nt | 1 + test/NTriplesTests/nt-syntax-str-esc-02.nt | 1 + test/NTriplesTests/nt-syntax-str-esc-03.nt | 1 + test/NTriplesTests/nt-syntax-string-01.nt | 1 + test/NTriplesTests/nt-syntax-string-02.nt | 1 + test/NTriplesTests/nt-syntax-string-03.nt | 1 + test/NTriplesTests/nt-syntax-subm-01.nt | 79 + test/NTriplesTests/nt-syntax-uri-01.nt | 1 + test/NTriplesTests/nt-syntax-uri-02.nt | 2 + test/NTriplesTests/nt-syntax-uri-03.nt | 2 + test/NTriplesTests/nt-syntax-uri-04.nt | 2 + test/TriGTests/HYPHEN_MINUS_in_localName.nq | 2 + test/TriGTests/HYPHEN_MINUS_in_localName.trig | 3 + test/TriGTests/IRIREF_datatype.nq | 2 + test/TriGTests/IRIREF_datatype.trig | 2 + test/TriGTests/IRI_spo.nq | 2 + test/TriGTests/IRI_subject.trig | 2 + test/TriGTests/IRI_with_all_punctuation.nq | 2 + test/TriGTests/IRI_with_all_punctuation.trig | 2 + .../IRI_with_eight_digit_numeric_escape.trig | 2 + .../IRI_with_four_digit_numeric_escape.trig | 2 + test/TriGTests/LICENSE | 48 + test/TriGTests/LITERAL1.nq | 2 + test/TriGTests/LITERAL1.trig | 2 + test/TriGTests/LITERAL1_all_controls.nq | 2 + test/TriGTests/LITERAL1_all_controls.trig | Bin 0 -> 180 bytes test/TriGTests/LITERAL1_all_punctuation.nq | 2 + test/TriGTests/LITERAL1_all_punctuation.trig | 2 + test/TriGTests/LITERAL1_ascii_boundaries.nq | 2 + test/TriGTests/LITERAL1_ascii_boundaries.trig | Bin 0 -> 141 bytes test/TriGTests/LITERAL1_with_UTF8_boundaries.trig | 1 + test/TriGTests/LITERAL2.trig | 2 + test/TriGTests/LITERAL2_ascii_boundaries.nq | 2 + test/TriGTests/LITERAL2_ascii_boundaries.trig | Bin 0 -> 141 bytes test/TriGTests/LITERAL2_with_UTF8_boundaries.trig | 1 + test/TriGTests/LITERAL_LONG1.trig | 2 + test/TriGTests/LITERAL_LONG1_ascii_boundaries.nq | 2 + test/TriGTests/LITERAL_LONG1_ascii_boundaries.trig | Bin 0 -> 133 bytes test/TriGTests/LITERAL_LONG1_with_1_squote.nq | 2 + test/TriGTests/LITERAL_LONG1_with_1_squote.trig | 2 + test/TriGTests/LITERAL_LONG1_with_2_squotes.nq | 2 + test/TriGTests/LITERAL_LONG1_with_2_squotes.trig | 2 + .../LITERAL_LONG1_with_UTF8_boundaries.trig | 1 + test/TriGTests/LITERAL_LONG2.trig | 2 + test/TriGTests/LITERAL_LONG2_ascii_boundaries.nq | 2 + test/TriGTests/LITERAL_LONG2_ascii_boundaries.trig | Bin 0 -> 133 bytes test/TriGTests/LITERAL_LONG2_with_1_squote.nq | 2 + test/TriGTests/LITERAL_LONG2_with_1_squote.trig | 2 + test/TriGTests/LITERAL_LONG2_with_2_squotes.nq | 2 + test/TriGTests/LITERAL_LONG2_with_2_squotes.trig | 2 + .../LITERAL_LONG2_with_REVERSE_SOLIDUS.nq | 2 + .../LITERAL_LONG2_with_REVERSE_SOLIDUS.trig | 4 + .../LITERAL_LONG2_with_UTF8_boundaries.trig | 1 + test/TriGTests/LITERAL_with_UTF8_boundaries.nq | 1 + test/TriGTests/README | 41 + test/TriGTests/SPARQL_style_base.trig | 3 + test/TriGTests/SPARQL_style_prefix.trig | 3 + test/TriGTests/alternating_bnode_graphs.nq | 4 + test/TriGTests/alternating_bnode_graphs.trig | 5 + test/TriGTests/alternating_iri_graphs.nq | 4 + test/TriGTests/alternating_iri_graphs.trig | 5 + test/TriGTests/anonymous_blank_node_graph.nq | 1 + test/TriGTests/anonymous_blank_node_graph.trig | 1 + test/TriGTests/anonymous_blank_node_object.nq | 2 + test/TriGTests/anonymous_blank_node_object.trig | 2 + test/TriGTests/anonymous_blank_node_subject.nq | 2 + test/TriGTests/anonymous_blank_node_subject.trig | 2 + test/TriGTests/bareword_a_predicate.nq | 2 + test/TriGTests/bareword_a_predicate.trig | 2 + test/TriGTests/bareword_decimal.nq | 2 + test/TriGTests/bareword_decimal.trig | 2 + test/TriGTests/bareword_double.nq | 2 + test/TriGTests/bareword_double.trig | 2 + test/TriGTests/bareword_integer.trig | 2 + test/TriGTests/blankNodePropertyList_as_object.nq | 4 + .../TriGTests/blankNodePropertyList_as_object.trig | 2 + test/TriGTests/blankNodePropertyList_as_subject.nq | 4 + .../blankNodePropertyList_as_subject.trig | 2 + .../blankNodePropertyList_containing_collection.nq | 6 + ...lankNodePropertyList_containing_collection.trig | 2 + .../blankNodePropertyList_with_multiple_triples.nq | 6 + ...lankNodePropertyList_with_multiple_triples.trig | 2 + test/TriGTests/collection_object.nq | 6 + test/TriGTests/collection_object.trig | 2 + test/TriGTests/collection_subject.nq | 6 + test/TriGTests/collection_subject.trig | 2 + test/TriGTests/comment_following_PNAME_NS.nq | 1 + test/TriGTests/comment_following_PNAME_NS.trig | 3 + test/TriGTests/comment_following_localName.trig | 8 + test/TriGTests/default_namespace_IRI.trig | 3 + test/TriGTests/double_lower_case_e.nq | 2 + test/TriGTests/double_lower_case_e.trig | 2 + test/TriGTests/empty_collection.nq | 2 + test/TriGTests/empty_collection.trig | 2 + test/TriGTests/first.nq | 14 + test/TriGTests/first.trig | 2 + test/TriGTests/labeled_blank_node_graph.nq | 1 + test/TriGTests/labeled_blank_node_graph.trig | 1 + test/TriGTests/labeled_blank_node_object.nq | 2 + test/TriGTests/labeled_blank_node_object.trig | 2 + test/TriGTests/labeled_blank_node_subject.nq | 2 + test/TriGTests/labeled_blank_node_subject.trig | 2 + ...node_with_PN_CHARS_BASE_character_boundaries.nq | 2 + ...de_with_PN_CHARS_BASE_character_boundaries.trig | 2 + .../labeled_blank_node_with_leading_digit.nq | 2 + .../labeled_blank_node_with_leading_digit.trig | 2 + .../labeled_blank_node_with_leading_underscore.nq | 2 + ...labeled_blank_node_with_leading_underscore.trig | 2 + .../labeled_blank_node_with_non_leading_extras.nq | 2 + ...labeled_blank_node_with_non_leading_extras.trig | 2 + test/TriGTests/langtagged_LONG.trig | 2 + test/TriGTests/langtagged_LONG_with_subtag.nq | 2 + test/TriGTests/langtagged_LONG_with_subtag.trig | 4 + test/TriGTests/langtagged_non_LONG.nq | 2 + test/TriGTests/langtagged_non_LONG.trig | 2 + test/TriGTests/lantag_with_subtag.nq | 2 + test/TriGTests/lantag_with_subtag.trig | 2 + test/TriGTests/last.nq | 14 + test/TriGTests/last.trig | 2 + test/TriGTests/literal_false.nq | 2 + test/TriGTests/literal_false.trig | 2 + test/TriGTests/literal_true.nq | 2 + test/TriGTests/literal_true.trig | 2 + test/TriGTests/literal_with_BACKSPACE.nq | 2 + test/TriGTests/literal_with_BACKSPACE.trig | 2 + test/TriGTests/literal_with_CARRIAGE_RETURN.nq | 2 + test/TriGTests/literal_with_CARRIAGE_RETURN.trig | 2 + .../TriGTests/literal_with_CHARACTER_TABULATION.nq | 2 + .../literal_with_CHARACTER_TABULATION.trig | 2 + test/TriGTests/literal_with_FORM_FEED.nq | 2 + test/TriGTests/literal_with_FORM_FEED.trig | 2 + test/TriGTests/literal_with_LINE_FEED.nq | 2 + test/TriGTests/literal_with_LINE_FEED.trig | 4 + test/TriGTests/literal_with_REVERSE_SOLIDUS.nq | 2 + test/TriGTests/literal_with_REVERSE_SOLIDUS.trig | 2 + test/TriGTests/literal_with_escaped_BACKSPACE.trig | 2 + .../literal_with_escaped_CARRIAGE_RETURN.trig | 2 + .../literal_with_escaped_CHARACTER_TABULATION.trig | 2 + test/TriGTests/literal_with_escaped_FORM_FEED.trig | 2 + test/TriGTests/literal_with_escaped_LINE_FEED.trig | 2 + test/TriGTests/literal_with_numeric_escape4.nq | 2 + test/TriGTests/literal_with_numeric_escape4.trig | 2 + test/TriGTests/literal_with_numeric_escape8.trig | 2 + ...Name_with_PN_CHARS_BASE_character_boundaries.nq | 2 + ...me_with_PN_CHARS_BASE_character_boundaries.trig | 3 + ...igned_nfc_PN_CHARS_BASE_character_boundaries.nq | 2 + ...ned_nfc_PN_CHARS_BASE_character_boundaries.trig | 3 + ...d_nfc_bmp_PN_CHARS_BASE_character_boundaries.nq | 2 + ...nfc_bmp_PN_CHARS_BASE_character_boundaries.trig | 3 + test/TriGTests/localName_with_leading_digit.nq | 2 + test/TriGTests/localName_with_leading_digit.trig | 3 + .../TriGTests/localName_with_leading_underscore.nq | 2 + .../localName_with_leading_underscore.trig | 3 + ..._with_nfc_PN_CHARS_BASE_character_boundaries.nq | 2 + ...ith_nfc_PN_CHARS_BASE_character_boundaries.trig | 3 + .../TriGTests/localName_with_non_leading_extras.nq | 2 + .../localName_with_non_leading_extras.trig | 3 + test/TriGTests/localname_with_COLON.nq | 2 + test/TriGTests/localname_with_COLON.trig | 3 + test/TriGTests/manifest.ttl | 2883 ++++++ test/TriGTests/negative_numeric.nq | 2 + test/TriGTests/negative_numeric.trig | 2 + test/TriGTests/nested_blankNodePropertyLists.nq | 6 + test/TriGTests/nested_blankNodePropertyLists.trig | 2 + test/TriGTests/nested_collection.nq | 10 + test/TriGTests/nested_collection.trig | 2 + test/TriGTests/number_sign_following_PNAME_NS.nq | 1 + test/TriGTests/number_sign_following_PNAME_NS.trig | 3 + test/TriGTests/number_sign_following_localName.nq | 1 + .../TriGTests/number_sign_following_localName.trig | 3 + test/TriGTests/numeric_with_leading_0.nq | 2 + test/TriGTests/numeric_with_leading_0.trig | 2 + test/TriGTests/objectList_with_two_objects.nq | 4 + test/TriGTests/objectList_with_two_objects.trig | 2 + test/TriGTests/old_style_base.trig | 3 + test/TriGTests/old_style_prefix.trig | 3 + test/TriGTests/percent_escaped_localName.nq | 2 + test/TriGTests/percent_escaped_localName.trig | 3 + test/TriGTests/positive_numeric.nq | 2 + test/TriGTests/positive_numeric.trig | 2 + .../predicateObjectList_with_two_objectLists.nq | 4 + .../predicateObjectList_with_two_objectLists.trig | 2 + test/TriGTests/prefix_only_IRI.trig | 3 + test/TriGTests/prefix_reassigned_and_used.nq | 2 + test/TriGTests/prefix_reassigned_and_used.trig | 4 + ...ix_with_PN_CHARS_BASE_character_boundaries.trig | 3 + test/TriGTests/prefix_with_non_leading_extras.trig | 3 + test/TriGTests/prefixed_IRI_object.trig | 3 + test/TriGTests/prefixed_IRI_predicate.trig | 3 + test/TriGTests/prefixed_name_datatype.trig | 3 + test/TriGTests/repeated_semis_at_end.trig | 2 + test/TriGTests/repeated_semis_not_at_end.nq | 2 + test/TriGTests/repeated_semis_not_at_end.trig | 2 + test/TriGTests/reserved_escaped_localName.nq | 2 + test/TriGTests/reserved_escaped_localName.trig | 3 + test/TriGTests/sole_blankNodePropertyList.nq | 3 + test/TriGTests/sole_blankNodePropertyList.trig | 3 + test/TriGTests/trig-bnodeplist-graph-bad-01.trig | 4 + test/TriGTests/trig-collection-graph-bad-01.trig | 4 + test/TriGTests/trig-collection-graph-bad-02.trig | 4 + test/TriGTests/trig-eval-bad-01.trig | 2 + test/TriGTests/trig-eval-bad-02.trig | 2 + test/TriGTests/trig-eval-bad-03.trig | 2 + test/TriGTests/trig-eval-bad-04.trig | 2 + test/TriGTests/trig-eval-struct-01.nq | 2 + test/TriGTests/trig-eval-struct-01.trig | 2 + test/TriGTests/trig-eval-struct-02.nq | 4 + test/TriGTests/trig-eval-struct-02.trig | 13 + test/TriGTests/trig-graph-bad-01.trig | 5 + test/TriGTests/trig-graph-bad-02.trig | 6 + test/TriGTests/trig-graph-bad-03.trig | 8 + test/TriGTests/trig-graph-bad-04.trig | 5 + test/TriGTests/trig-graph-bad-05.trig | 5 + test/TriGTests/trig-graph-bad-06.trig | 6 + test/TriGTests/trig-graph-bad-07.trig | 9 + test/TriGTests/trig-graph-bad-08.trig | 5 + test/TriGTests/trig-graph-bad-09.trig | 12 + test/TriGTests/trig-graph-bad-10.trig | 8 + test/TriGTests/trig-graph-bad-11.trig | 8 + test/TriGTests/trig-kw-graph-01.trig | 4 + test/TriGTests/trig-kw-graph-02.trig | 4 + test/TriGTests/trig-kw-graph-03.trig | 4 + test/TriGTests/trig-kw-graph-04.trig | 8 + test/TriGTests/trig-kw-graph-05.trig | 4 + test/TriGTests/trig-kw-graph-06.trig | 4 + test/TriGTests/trig-kw-graph-07.trig | 6 + test/TriGTests/trig-kw-graph-08.trig | 4 + test/TriGTests/trig-kw-graph-09.trig | 4 + test/TriGTests/trig-kw-graph-10.trig | 4 + test/TriGTests/trig-subm-01.nq | 2 + test/TriGTests/trig-subm-01.trig | 3 + test/TriGTests/trig-subm-02.nq | 6 + test/TriGTests/trig-subm-02.trig | 16 + test/TriGTests/trig-subm-03.nq | 6 + test/TriGTests/trig-subm-03.trig | 14 + test/TriGTests/trig-subm-04.nq | 6 + test/TriGTests/trig-subm-04.trig | 14 + test/TriGTests/trig-subm-05.nq | 4 + test/TriGTests/trig-subm-05.trig | 12 + test/TriGTests/trig-subm-06.nq | 8 + test/TriGTests/trig-subm-06.trig | 12 + test/TriGTests/trig-subm-07.nq | 2 + test/TriGTests/trig-subm-07.trig | 4 + test/TriGTests/trig-subm-08.nq | 10 + test/TriGTests/trig-subm-08.trig | 4 + test/TriGTests/trig-subm-09.nq | 2 + test/TriGTests/trig-subm-09.trig | 4 + test/TriGTests/trig-subm-10.nq | 8 + test/TriGTests/trig-subm-10.trig | 20 + test/TriGTests/trig-subm-11.nq | 10 + test/TriGTests/trig-subm-11.trig | 15 + test/TriGTests/trig-subm-12.nq | 8 + test/TriGTests/trig-subm-12.trig | 19 + test/TriGTests/trig-subm-13.nq | 8 + test/TriGTests/trig-subm-13.trig | 18 + test/TriGTests/trig-subm-14.nq | 4 + test/TriGTests/trig-subm-14.trig | 16 + test/TriGTests/trig-subm-15.nq | 2 + test/TriGTests/trig-subm-15.trig | 16 + test/TriGTests/trig-subm-16.nq | 4 + test/TriGTests/trig-subm-16.trig | 43 + test/TriGTests/trig-subm-17.nq | 2 + test/TriGTests/trig-subm-17.trig | 5 + test/TriGTests/trig-subm-18.nq | 4 + test/TriGTests/trig-subm-18.trig | 15 + test/TriGTests/trig-subm-19.nq | 6 + test/TriGTests/trig-subm-19.trig | 13 + test/TriGTests/trig-subm-20.nq | 6 + test/TriGTests/trig-subm-20.trig | 13 + test/TriGTests/trig-subm-21.nq | 2 + test/TriGTests/trig-subm-21.trig | 4 + test/TriGTests/trig-subm-22.nq | 4 + test/TriGTests/trig-subm-22.trig | 11 + test/TriGTests/trig-subm-23.nq | 14 + test/TriGTests/trig-subm-23.trig | 32 + test/TriGTests/trig-subm-24.nq | 2 + test/TriGTests/trig-subm-24.trig | 5 + test/TriGTests/trig-subm-25.nq | 2 + test/TriGTests/trig-subm-25.trig | 5 + test/TriGTests/trig-subm-26.nq | 22 + test/TriGTests/trig-subm-26.trig | 24 + test/TriGTests/trig-subm-27.nq | 5 + test/TriGTests/trig-subm-27.trig | 12 + ...tax-bad-LITERAL2_with_langtag_and_datatype.trig | 1 + test/TriGTests/trig-syntax-bad-base-01.trig | 2 + test/TriGTests/trig-syntax-bad-base-02.trig | 2 + test/TriGTests/trig-syntax-bad-base-03.trig | 3 + test/TriGTests/trig-syntax-bad-base-04.trig | 4 + test/TriGTests/trig-syntax-bad-base-05.trig | 4 + .../trig-syntax-bad-blank-label-dot-end.trig | 2 + test/TriGTests/trig-syntax-bad-esc-01.trig | 2 + test/TriGTests/trig-syntax-bad-esc-02.trig | 2 + test/TriGTests/trig-syntax-bad-esc-03.trig | 2 + test/TriGTests/trig-syntax-bad-esc-04.trig | 2 + test/TriGTests/trig-syntax-bad-kw-01.trig | 2 + test/TriGTests/trig-syntax-bad-kw-02.trig | 2 + test/TriGTests/trig-syntax-bad-kw-03.trig | 2 + test/TriGTests/trig-syntax-bad-kw-04.trig | 2 + test/TriGTests/trig-syntax-bad-kw-05.trig | 2 + test/TriGTests/trig-syntax-bad-lang-01.trig | 2 + test/TriGTests/trig-syntax-bad-list-01.trig | 2 + test/TriGTests/trig-syntax-bad-list-02.trig | 2 + test/TriGTests/trig-syntax-bad-list-03.trig | 3 + test/TriGTests/trig-syntax-bad-list-04.trig | 3 + test/TriGTests/trig-syntax-bad-ln-dash-start.trig | 2 + .../TriGTests/trig-syntax-bad-ln-escape-start.trig | 2 + test/TriGTests/trig-syntax-bad-ln-escape.trig | 2 + .../trig-syntax-bad-missing-ns-dot-end.trig | 1 + .../trig-syntax-bad-missing-ns-dot-start.trig | 1 + test/TriGTests/trig-syntax-bad-n3-extras-01.trig | 5 + test/TriGTests/trig-syntax-bad-n3-extras-02.trig | 4 + test/TriGTests/trig-syntax-bad-n3-extras-03.trig | 9 + test/TriGTests/trig-syntax-bad-n3-extras-04.trig | 5 + test/TriGTests/trig-syntax-bad-n3-extras-05.trig | 4 + test/TriGTests/trig-syntax-bad-n3-extras-06.trig | 4 + test/TriGTests/trig-syntax-bad-n3-extras-07.trig | 3 + test/TriGTests/trig-syntax-bad-n3-extras-08.trig | 3 + test/TriGTests/trig-syntax-bad-n3-extras-09.trig | 3 + test/TriGTests/trig-syntax-bad-n3-extras-10.trig | 3 + test/TriGTests/trig-syntax-bad-n3-extras-11.trig | 3 + test/TriGTests/trig-syntax-bad-n3-extras-12.trig | 3 + test/TriGTests/trig-syntax-bad-n3-extras-13.trig | 3 + test/TriGTests/trig-syntax-bad-ns-dot-end.trig | 2 + test/TriGTests/trig-syntax-bad-ns-dot-start.trig | 2 + test/TriGTests/trig-syntax-bad-num-01.trig | 1 + test/TriGTests/trig-syntax-bad-num-02.trig | 1 + test/TriGTests/trig-syntax-bad-num-03.trig | 1 + test/TriGTests/trig-syntax-bad-num-04.trig | 1 + test/TriGTests/trig-syntax-bad-num-05.trig | 1 + .../trig-syntax-bad-number-dot-in-anon.trig | 8 + test/TriGTests/trig-syntax-bad-pname-01.trig | 3 + test/TriGTests/trig-syntax-bad-pname-02.trig | 3 + test/TriGTests/trig-syntax-bad-pname-03.trig | 3 + test/TriGTests/trig-syntax-bad-prefix-01.trig | 2 + test/TriGTests/trig-syntax-bad-prefix-02.trig | 3 + test/TriGTests/trig-syntax-bad-prefix-03.trig | 2 + test/TriGTests/trig-syntax-bad-prefix-04.trig | 2 + test/TriGTests/trig-syntax-bad-prefix-05.trig | 2 + test/TriGTests/trig-syntax-bad-prefix-06.trig | 4 + test/TriGTests/trig-syntax-bad-prefix-07.trig | 4 + test/TriGTests/trig-syntax-bad-string-01.trig | 2 + test/TriGTests/trig-syntax-bad-string-02.trig | 2 + test/TriGTests/trig-syntax-bad-string-03.trig | 2 + test/TriGTests/trig-syntax-bad-string-04.trig | 2 + test/TriGTests/trig-syntax-bad-string-05.trig | 6 + test/TriGTests/trig-syntax-bad-string-06.trig | 3 + test/TriGTests/trig-syntax-bad-string-07.trig | 3 + test/TriGTests/trig-syntax-bad-struct-02.trig | 2 + test/TriGTests/trig-syntax-bad-struct-03.trig | 2 + test/TriGTests/trig-syntax-bad-struct-04.trig | 2 + test/TriGTests/trig-syntax-bad-struct-05.trig | 2 + test/TriGTests/trig-syntax-bad-struct-06.trig | 2 + test/TriGTests/trig-syntax-bad-struct-07.trig | 2 + test/TriGTests/trig-syntax-bad-struct-09.trig | 2 + test/TriGTests/trig-syntax-bad-struct-10.trig | 5 + test/TriGTests/trig-syntax-bad-struct-12.trig | 1 + test/TriGTests/trig-syntax-bad-struct-13.trig | 1 + test/TriGTests/trig-syntax-bad-struct-14.trig | 2 + test/TriGTests/trig-syntax-bad-struct-15.trig | 2 + test/TriGTests/trig-syntax-bad-struct-16.trig | 2 + test/TriGTests/trig-syntax-bad-struct-17.trig | 2 + test/TriGTests/trig-syntax-bad-uri-01.trig | 2 + test/TriGTests/trig-syntax-bad-uri-02.trig | 2 + test/TriGTests/trig-syntax-bad-uri-03.trig | 2 + test/TriGTests/trig-syntax-bad-uri-04.trig | 2 + test/TriGTests/trig-syntax-bad-uri-05.trig | 2 + test/TriGTests/trig-syntax-base-01.trig | 1 + test/TriGTests/trig-syntax-base-02.trig | 1 + test/TriGTests/trig-syntax-base-03.trig | 2 + test/TriGTests/trig-syntax-base-04.trig | 2 + test/TriGTests/trig-syntax-blank-label.trig | 6 + test/TriGTests/trig-syntax-bnode-01.trig | 2 + test/TriGTests/trig-syntax-bnode-02.trig | 2 + test/TriGTests/trig-syntax-bnode-03.trig | 2 + test/TriGTests/trig-syntax-bnode-04.trig | 2 + test/TriGTests/trig-syntax-bnode-05.trig | 2 + test/TriGTests/trig-syntax-bnode-06.trig | 2 + test/TriGTests/trig-syntax-bnode-07.trig | 4 + test/TriGTests/trig-syntax-bnode-08.trig | 2 + test/TriGTests/trig-syntax-bnode-09.trig | 3 + test/TriGTests/trig-syntax-bnode-10.trig | 6 + test/TriGTests/trig-syntax-datatypes-01.trig | 2 + test/TriGTests/trig-syntax-datatypes-02.trig | 3 + test/TriGTests/trig-syntax-file-01.trig | 0 test/TriGTests/trig-syntax-file-02.trig | 1 + test/TriGTests/trig-syntax-file-03.trig | 2 + test/TriGTests/trig-syntax-kw-01.trig | 1 + test/TriGTests/trig-syntax-kw-02.trig | 1 + test/TriGTests/trig-syntax-kw-03.trig | 2 + test/TriGTests/trig-syntax-lists-01.trig | 2 + test/TriGTests/trig-syntax-lists-02.trig | 2 + test/TriGTests/trig-syntax-lists-03.trig | 2 + test/TriGTests/trig-syntax-lists-04.trig | 2 + test/TriGTests/trig-syntax-lists-05.trig | 2 + test/TriGTests/trig-syntax-ln-colons.trig | 8 + test/TriGTests/trig-syntax-ln-dots.trig | 6 + .../trig-syntax-minimal-whitespace-01.trig | 21 + test/TriGTests/trig-syntax-ns-dots.trig | 2 + test/TriGTests/trig-syntax-number-01.trig | 1 + test/TriGTests/trig-syntax-number-02.trig | 1 + test/TriGTests/trig-syntax-number-03.trig | 1 + test/TriGTests/trig-syntax-number-04.trig | 2 + test/TriGTests/trig-syntax-number-05.trig | 2 + test/TriGTests/trig-syntax-number-06.trig | 2 + test/TriGTests/trig-syntax-number-07.trig | 2 + test/TriGTests/trig-syntax-number-08.trig | 2 + test/TriGTests/trig-syntax-number-09.trig | 1 + test/TriGTests/trig-syntax-number-10.trig | 1 + test/TriGTests/trig-syntax-number-11.trig | 1 + test/TriGTests/trig-syntax-pname-esc-01.trig | 2 + test/TriGTests/trig-syntax-pname-esc-02.trig | 2 + test/TriGTests/trig-syntax-pname-esc-03.trig | 2 + test/TriGTests/trig-syntax-prefix-01.trig | 1 + test/TriGTests/trig-syntax-prefix-02.trig | 1 + test/TriGTests/trig-syntax-prefix-03.trig | 2 + test/TriGTests/trig-syntax-prefix-04.trig | 2 + test/TriGTests/trig-syntax-prefix-05.trig | 2 + test/TriGTests/trig-syntax-prefix-06.trig | 4 + test/TriGTests/trig-syntax-prefix-07.trig | 3 + test/TriGTests/trig-syntax-prefix-08.trig | 3 + test/TriGTests/trig-syntax-prefix-09.trig | 4 + test/TriGTests/trig-syntax-str-esc-01.trig | 1 + test/TriGTests/trig-syntax-str-esc-02.trig | 1 + test/TriGTests/trig-syntax-str-esc-03.trig | 1 + test/TriGTests/trig-syntax-string-01.trig | 1 + test/TriGTests/trig-syntax-string-02.trig | 1 + test/TriGTests/trig-syntax-string-03.trig | 1 + test/TriGTests/trig-syntax-string-04.trig | 1 + test/TriGTests/trig-syntax-string-05.trig | 1 + test/TriGTests/trig-syntax-string-06.trig | 1 + test/TriGTests/trig-syntax-string-07.trig | 1 + test/TriGTests/trig-syntax-string-08.trig | 2 + test/TriGTests/trig-syntax-string-09.trig | 2 + test/TriGTests/trig-syntax-string-10.trig | 2 + test/TriGTests/trig-syntax-string-11.trig | 2 + test/TriGTests/trig-syntax-struct-01.trig | 2 + test/TriGTests/trig-syntax-struct-02.trig | 4 + test/TriGTests/trig-syntax-struct-03.trig | 5 + test/TriGTests/trig-syntax-struct-04.trig | 5 + test/TriGTests/trig-syntax-struct-05.trig | 5 + test/TriGTests/trig-syntax-struct-06.trig | 2 + test/TriGTests/trig-syntax-struct-07.trig | 2 + test/TriGTests/trig-syntax-uri-01.trig | 1 + test/TriGTests/trig-syntax-uri-02.trig | 2 + test/TriGTests/trig-syntax-uri-03.trig | 2 + test/TriGTests/trig-syntax-uri-04.trig | 3 + test/TriGTests/trig-turtle-01.trig | 8 + test/TriGTests/trig-turtle-02.trig | 9 + test/TriGTests/trig-turtle-03.trig | 5 + test/TriGTests/trig-turtle-04.trig | 5 + test/TriGTests/trig-turtle-05.trig | 6 + test/TriGTests/trig-turtle-06.trig | 4 + test/TriGTests/trig-turtle-bad-01.trig | 5 + test/TriGTests/trig-turtle-bad-02.trig | 6 + test/TriGTests/two_LITERAL_LONG2s.nq | 2 + test/TriGTests/two_LITERAL_LONG2s.trig | 6 + test/TriGTests/underscore_in_localName.nq | 1 + test/TriGTests/underscore_in_localName.trig | 2 + test/TurtleTests/HYPHEN_MINUS_in_localName.nt | 1 + test/TurtleTests/HYPHEN_MINUS_in_localName.ttl | 2 + test/TurtleTests/IRIREF_datatype.nt | 1 + test/TurtleTests/IRIREF_datatype.ttl | 1 + test/TurtleTests/IRI_spo.nt | 1 + test/TurtleTests/IRI_subject.ttl | 1 + test/TurtleTests/IRI_with_all_punctuation.nt | 1 + test/TurtleTests/IRI_with_all_punctuation.ttl | 1 + .../IRI_with_eight_digit_numeric_escape.ttl | 1 + .../IRI_with_four_digit_numeric_escape.ttl | 1 + test/TurtleTests/LICENSE | 117 + test/TurtleTests/LITERAL1.nt | 1 + test/TurtleTests/LITERAL1.ttl | 1 + test/TurtleTests/LITERAL1_all_controls.nt | 1 + test/TurtleTests/LITERAL1_all_controls.ttl | Bin 0 -> 77 bytes test/TurtleTests/LITERAL1_all_punctuation.nt | 1 + test/TurtleTests/LITERAL1_all_punctuation.ttl | 1 + test/TurtleTests/LITERAL1_ascii_boundaries.nt | 1 + test/TurtleTests/LITERAL1_ascii_boundaries.ttl | Bin 0 -> 57 bytes test/TurtleTests/LITERAL1_with_UTF8_boundaries.ttl | 1 + test/TurtleTests/LITERAL2.ttl | 1 + test/TurtleTests/LITERAL2_ascii_boundaries.nt | 1 + test/TurtleTests/LITERAL2_ascii_boundaries.ttl | Bin 0 -> 57 bytes test/TurtleTests/LITERAL2_with_UTF8_boundaries.ttl | 1 + test/TurtleTests/LITERAL_LONG1.ttl | 1 + test/TurtleTests/LITERAL_LONG1_ascii_boundaries.nt | 1 + .../TurtleTests/LITERAL_LONG1_ascii_boundaries.ttl | Bin 0 -> 53 bytes test/TurtleTests/LITERAL_LONG1_with_1_squote.nt | 1 + test/TurtleTests/LITERAL_LONG1_with_1_squote.ttl | 1 + test/TurtleTests/LITERAL_LONG1_with_2_squotes.nt | 1 + test/TurtleTests/LITERAL_LONG1_with_2_squotes.ttl | 1 + .../LITERAL_LONG1_with_UTF8_boundaries.ttl | 1 + test/TurtleTests/LITERAL_LONG2.ttl | 1 + test/TurtleTests/LITERAL_LONG2_ascii_boundaries.nt | 1 + .../TurtleTests/LITERAL_LONG2_ascii_boundaries.ttl | Bin 0 -> 53 bytes test/TurtleTests/LITERAL_LONG2_with_1_squote.nt | 1 + test/TurtleTests/LITERAL_LONG2_with_1_squote.ttl | 1 + test/TurtleTests/LITERAL_LONG2_with_2_squotes.nt | 1 + test/TurtleTests/LITERAL_LONG2_with_2_squotes.ttl | 1 + .../LITERAL_LONG2_with_REVERSE_SOLIDUS.nt | 1 + .../LITERAL_LONG2_with_REVERSE_SOLIDUS.ttl | 3 + .../LITERAL_LONG2_with_UTF8_boundaries.ttl | 1 + test/TurtleTests/LITERAL_with_UTF8_boundaries.nt | 1 + test/TurtleTests/README | 65 + test/TurtleTests/SPARQL_style_base.ttl | 2 + test/TurtleTests/SPARQL_style_prefix.ttl | 2 + test/TurtleTests/anonymous_blank_node_object.nt | 1 + test/TurtleTests/anonymous_blank_node_object.ttl | 1 + test/TurtleTests/anonymous_blank_node_subject.nt | 1 + test/TurtleTests/anonymous_blank_node_subject.ttl | 1 + test/TurtleTests/bareword_a_predicate.nt | 1 + test/TurtleTests/bareword_a_predicate.ttl | 1 + test/TurtleTests/bareword_decimal.nt | 1 + test/TurtleTests/bareword_decimal.ttl | 1 + test/TurtleTests/bareword_double.nt | 1 + test/TurtleTests/bareword_double.ttl | 1 + test/TurtleTests/bareword_integer.ttl | 1 + .../TurtleTests/blankNodePropertyList_as_object.nt | 2 + .../blankNodePropertyList_as_object.ttl | 1 + .../blankNodePropertyList_as_subject.nt | 2 + .../blankNodePropertyList_as_subject.ttl | 1 + .../blankNodePropertyList_containing_collection.nt | 3 + ...blankNodePropertyList_containing_collection.ttl | 1 + .../blankNodePropertyList_with_multiple_triples.nt | 3 + ...blankNodePropertyList_with_multiple_triples.ttl | 1 + test/TurtleTests/collection_object.nt | 3 + test/TurtleTests/collection_object.ttl | 1 + test/TurtleTests/collection_subject.nt | 3 + test/TurtleTests/collection_subject.ttl | 1 + test/TurtleTests/comment_following_PNAME_NS.nt | 1 + test/TurtleTests/comment_following_PNAME_NS.ttl | 3 + test/TurtleTests/comment_following_localName.ttl | 3 + test/TurtleTests/default_namespace_IRI.ttl | 2 + test/TurtleTests/double_lower_case_e.nt | 1 + test/TurtleTests/double_lower_case_e.ttl | 1 + test/TurtleTests/empty_collection.nt | 1 + test/TurtleTests/empty_collection.ttl | 1 + test/TurtleTests/first.nt | 7 + test/TurtleTests/first.ttl | 1 + test/TurtleTests/labeled_blank_node_object.nt | 1 + test/TurtleTests/labeled_blank_node_object.ttl | 1 + test/TurtleTests/labeled_blank_node_subject.nt | 1 + test/TurtleTests/labeled_blank_node_subject.ttl | 1 + ...node_with_PN_CHARS_BASE_character_boundaries.nt | 1 + ...ode_with_PN_CHARS_BASE_character_boundaries.ttl | 1 + .../labeled_blank_node_with_leading_digit.nt | 1 + .../labeled_blank_node_with_leading_digit.ttl | 1 + .../labeled_blank_node_with_leading_underscore.nt | 1 + .../labeled_blank_node_with_leading_underscore.ttl | 1 + .../labeled_blank_node_with_non_leading_extras.nt | 1 + .../labeled_blank_node_with_non_leading_extras.ttl | 1 + test/TurtleTests/langtagged_LONG.ttl | 1 + test/TurtleTests/langtagged_LONG_with_subtag.nt | 1 + test/TurtleTests/langtagged_LONG_with_subtag.ttl | 3 + test/TurtleTests/langtagged_non_LONG.nt | 1 + test/TurtleTests/langtagged_non_LONG.ttl | 1 + test/TurtleTests/lantag_with_subtag.nt | 1 + test/TurtleTests/lantag_with_subtag.ttl | 1 + test/TurtleTests/last.nt | 7 + test/TurtleTests/last.ttl | 1 + test/TurtleTests/literal_false.nt | 1 + test/TurtleTests/literal_false.ttl | 1 + test/TurtleTests/literal_true.nt | 1 + test/TurtleTests/literal_true.ttl | 1 + test/TurtleTests/literal_with_BACKSPACE.nt | 1 + test/TurtleTests/literal_with_BACKSPACE.ttl | 1 + test/TurtleTests/literal_with_CARRIAGE_RETURN.nt | 1 + test/TurtleTests/literal_with_CARRIAGE_RETURN.ttl | 1 + .../literal_with_CHARACTER_TABULATION.nt | 1 + .../literal_with_CHARACTER_TABULATION.ttl | 1 + test/TurtleTests/literal_with_FORM_FEED.nt | 1 + test/TurtleTests/literal_with_FORM_FEED.ttl | 1 + test/TurtleTests/literal_with_LINE_FEED.nt | 1 + test/TurtleTests/literal_with_LINE_FEED.ttl | 2 + test/TurtleTests/literal_with_REVERSE_SOLIDUS.nt | 1 + test/TurtleTests/literal_with_REVERSE_SOLIDUS.ttl | 1 + .../TurtleTests/literal_with_escaped_BACKSPACE.ttl | 1 + .../literal_with_escaped_CARRIAGE_RETURN.ttl | 1 + .../literal_with_escaped_CHARACTER_TABULATION.ttl | 1 + .../TurtleTests/literal_with_escaped_FORM_FEED.ttl | 1 + .../TurtleTests/literal_with_escaped_LINE_FEED.ttl | 1 + test/TurtleTests/literal_with_numeric_escape4.nt | 1 + test/TurtleTests/literal_with_numeric_escape4.ttl | 1 + test/TurtleTests/literal_with_numeric_escape8.ttl | 1 + ...igned_nfc_PN_CHARS_BASE_character_boundaries.nt | 1 + ...gned_nfc_PN_CHARS_BASE_character_boundaries.ttl | 2 + ...d_nfc_bmp_PN_CHARS_BASE_character_boundaries.nt | 1 + ..._nfc_bmp_PN_CHARS_BASE_character_boundaries.ttl | 2 + test/TurtleTests/localName_with_leading_digit.nt | 1 + test/TurtleTests/localName_with_leading_digit.ttl | 2 + .../localName_with_leading_underscore.nt | 1 + .../localName_with_leading_underscore.ttl | 2 + ..._with_nfc_PN_CHARS_BASE_character_boundaries.nt | 1 + ...with_nfc_PN_CHARS_BASE_character_boundaries.ttl | 2 + .../localName_with_non_leading_extras.nt | 1 + .../localName_with_non_leading_extras.ttl | 2 + test/TurtleTests/localname_with_COLON.nt | 1 + test/TurtleTests/localname_with_COLON.ttl | 2 + test/TurtleTests/manifest.ttl | 2503 +++++ test/TurtleTests/negative_numeric.nt | 1 + test/TurtleTests/negative_numeric.ttl | 1 + test/TurtleTests/nested_blankNodePropertyLists.nt | 3 + test/TurtleTests/nested_blankNodePropertyLists.ttl | 1 + test/TurtleTests/nested_collection.nt | 5 + test/TurtleTests/nested_collection.ttl | 1 + test/TurtleTests/number_sign_following_PNAME_NS.nt | 1 + .../TurtleTests/number_sign_following_PNAME_NS.ttl | 3 + .../TurtleTests/number_sign_following_localName.nt | 1 + .../number_sign_following_localName.ttl | 3 + test/TurtleTests/numeric_with_leading_0.nt | 1 + test/TurtleTests/numeric_with_leading_0.ttl | 1 + test/TurtleTests/objectList_with_two_objects.nt | 2 + test/TurtleTests/objectList_with_two_objects.ttl | 1 + test/TurtleTests/old_style_base.ttl | 2 + test/TurtleTests/old_style_prefix.ttl | 2 + test/TurtleTests/percent_escaped_localName.nt | 1 + test/TurtleTests/percent_escaped_localName.ttl | 2 + test/TurtleTests/positive_numeric.nt | 1 + test/TurtleTests/positive_numeric.ttl | 1 + .../predicateObjectList_with_two_objectLists.nt | 2 + .../predicateObjectList_with_two_objectLists.ttl | 1 + test/TurtleTests/prefix_only_IRI.ttl | 2 + test/TurtleTests/prefix_reassigned_and_used.nt | 1 + test/TurtleTests/prefix_reassigned_and_used.ttl | 3 + ...fix_with_PN_CHARS_BASE_character_boundaries.ttl | 2 + .../TurtleTests/prefix_with_non_leading_extras.ttl | 2 + test/TurtleTests/prefixed_IRI_object.ttl | 2 + test/TurtleTests/prefixed_IRI_predicate.ttl | 2 + test/TurtleTests/prefixed_name_datatype.ttl | 2 + test/TurtleTests/repeated_semis_at_end.ttl | 1 + test/TurtleTests/repeated_semis_not_at_end.nt | 1 + test/TurtleTests/repeated_semis_not_at_end.ttl | 1 + test/TurtleTests/reserved_escaped_localName.nt | 1 + test/TurtleTests/reserved_escaped_localName.ttl | 2 + test/TurtleTests/sole_blankNodePropertyList.nt | 1 + test/TurtleTests/sole_blankNodePropertyList.ttl | 1 + test/TurtleTests/turtle-eval-bad-01.ttl | 2 + test/TurtleTests/turtle-eval-bad-02.ttl | 2 + test/TurtleTests/turtle-eval-bad-03.ttl | 2 + test/TurtleTests/turtle-eval-bad-04.ttl | 2 + test/TurtleTests/turtle-eval-struct-01.nt | 1 + test/TurtleTests/turtle-eval-struct-01.ttl | 1 + test/TurtleTests/turtle-eval-struct-02.nt | 2 + test/TurtleTests/turtle-eval-struct-02.ttl | 4 + test/TurtleTests/turtle-subm-01.nt | 1 + test/TurtleTests/turtle-subm-01.ttl | 2 + test/TurtleTests/turtle-subm-02.nt | 3 + test/TurtleTests/turtle-subm-02.ttl | 7 + test/TurtleTests/turtle-subm-03.nt | 3 + test/TurtleTests/turtle-subm-03.ttl | 5 + test/TurtleTests/turtle-subm-04.nt | 3 + test/TurtleTests/turtle-subm-04.ttl | 5 + test/TurtleTests/turtle-subm-05.nt | 2 + test/TurtleTests/turtle-subm-05.ttl | 4 + test/TurtleTests/turtle-subm-06.nt | 4 + test/TurtleTests/turtle-subm-06.ttl | 4 + test/TurtleTests/turtle-subm-07.nt | 1 + test/TurtleTests/turtle-subm-07.ttl | 3 + test/TurtleTests/turtle-subm-08.nt | 5 + test/TurtleTests/turtle-subm-08.ttl | 3 + test/TurtleTests/turtle-subm-09.nt | 1 + test/TurtleTests/turtle-subm-09.ttl | 3 + test/TurtleTests/turtle-subm-10.nt | 4 + test/TurtleTests/turtle-subm-10.ttl | 10 + test/TurtleTests/turtle-subm-11.nt | 5 + test/TurtleTests/turtle-subm-11.ttl | 5 + test/TurtleTests/turtle-subm-12.nt | 4 + test/TurtleTests/turtle-subm-12.ttl | 10 + test/TurtleTests/turtle-subm-13.nt | 4 + test/TurtleTests/turtle-subm-13.ttl | 9 + test/TurtleTests/turtle-subm-14.nt | 2 + test/TurtleTests/turtle-subm-14.ttl | 7 + test/TurtleTests/turtle-subm-15.nt | 1 + test/TurtleTests/turtle-subm-15.ttl | 6 + test/TurtleTests/turtle-subm-16.nt | 2 + test/TurtleTests/turtle-subm-16.ttl | 20 + test/TurtleTests/turtle-subm-17.nt | 1 + test/TurtleTests/turtle-subm-17.ttl | 4 + test/TurtleTests/turtle-subm-18.nt | 2 + test/TurtleTests/turtle-subm-18.ttl | 6 + test/TurtleTests/turtle-subm-19.nt | 3 + test/TurtleTests/turtle-subm-19.ttl | 4 + test/TurtleTests/turtle-subm-20.nt | 3 + test/TurtleTests/turtle-subm-20.ttl | 4 + test/TurtleTests/turtle-subm-21.nt | 1 + test/TurtleTests/turtle-subm-21.ttl | 3 + test/TurtleTests/turtle-subm-22.nt | 2 + test/TurtleTests/turtle-subm-22.ttl | 3 + test/TurtleTests/turtle-subm-23.nt | 7 + test/TurtleTests/turtle-subm-23.ttl | 14 + test/TurtleTests/turtle-subm-24.nt | 1 + test/TurtleTests/turtle-subm-24.ttl | 4 + test/TurtleTests/turtle-subm-25.nt | 1 + test/TurtleTests/turtle-subm-25.ttl | 5 + test/TurtleTests/turtle-subm-26.nt | 22 + test/TurtleTests/turtle-subm-26.ttl | 22 + test/TurtleTests/turtle-subm-27.nt | 5 + test/TurtleTests/turtle-subm-27.ttl | 12 + ...ntax-bad-LITERAL2_with_langtag_and_datatype.ttl | 1 + test/TurtleTests/turtle-syntax-bad-base-01.ttl | 2 + test/TurtleTests/turtle-syntax-bad-base-02.ttl | 2 + test/TurtleTests/turtle-syntax-bad-base-03.ttl | 3 + .../turtle-syntax-bad-blank-label-dot-end.ttl | 2 + test/TurtleTests/turtle-syntax-bad-esc-01.ttl | 2 + test/TurtleTests/turtle-syntax-bad-esc-02.ttl | 2 + test/TurtleTests/turtle-syntax-bad-esc-03.ttl | 2 + test/TurtleTests/turtle-syntax-bad-esc-04.ttl | 2 + test/TurtleTests/turtle-syntax-bad-kw-01.ttl | 2 + test/TurtleTests/turtle-syntax-bad-kw-02.ttl | 2 + test/TurtleTests/turtle-syntax-bad-kw-03.ttl | 2 + test/TurtleTests/turtle-syntax-bad-kw-04.ttl | 2 + test/TurtleTests/turtle-syntax-bad-kw-05.ttl | 2 + test/TurtleTests/turtle-syntax-bad-lang-01.ttl | 2 + .../turtle-syntax-bad-ln-dash-start.ttl | 2 + .../turtle-syntax-bad-ln-escape-start.ttl | 2 + test/TurtleTests/turtle-syntax-bad-ln-escape.ttl | 2 + .../turtle-syntax-bad-missing-ns-dot-end.ttl | 1 + .../turtle-syntax-bad-missing-ns-dot-start.ttl | 1 + .../TurtleTests/turtle-syntax-bad-n3-extras-01.ttl | 5 + .../TurtleTests/turtle-syntax-bad-n3-extras-02.ttl | 4 + .../TurtleTests/turtle-syntax-bad-n3-extras-03.ttl | 7 + .../TurtleTests/turtle-syntax-bad-n3-extras-04.ttl | 5 + .../TurtleTests/turtle-syntax-bad-n3-extras-05.ttl | 4 + .../TurtleTests/turtle-syntax-bad-n3-extras-06.ttl | 4 + .../TurtleTests/turtle-syntax-bad-n3-extras-07.ttl | 3 + .../TurtleTests/turtle-syntax-bad-n3-extras-08.ttl | 3 + .../TurtleTests/turtle-syntax-bad-n3-extras-09.ttl | 3 + .../TurtleTests/turtle-syntax-bad-n3-extras-10.ttl | 3 + .../TurtleTests/turtle-syntax-bad-n3-extras-11.ttl | 3 + .../TurtleTests/turtle-syntax-bad-n3-extras-12.ttl | 3 + .../TurtleTests/turtle-syntax-bad-n3-extras-13.ttl | 3 + test/TurtleTests/turtle-syntax-bad-ns-dot-end.ttl | 2 + .../TurtleTests/turtle-syntax-bad-ns-dot-start.ttl | 2 + test/TurtleTests/turtle-syntax-bad-num-01.ttl | 1 + test/TurtleTests/turtle-syntax-bad-num-02.ttl | 1 + test/TurtleTests/turtle-syntax-bad-num-03.ttl | 1 + test/TurtleTests/turtle-syntax-bad-num-04.ttl | 1 + test/TurtleTests/turtle-syntax-bad-num-05.ttl | 1 + .../turtle-syntax-bad-number-dot-in-anon.ttl | 6 + test/TurtleTests/turtle-syntax-bad-pname-01.ttl | 3 + test/TurtleTests/turtle-syntax-bad-pname-02.ttl | 3 + test/TurtleTests/turtle-syntax-bad-pname-03.ttl | 3 + test/TurtleTests/turtle-syntax-bad-prefix-01.ttl | 2 + test/TurtleTests/turtle-syntax-bad-prefix-02.ttl | 3 + test/TurtleTests/turtle-syntax-bad-prefix-03.ttl | 2 + test/TurtleTests/turtle-syntax-bad-prefix-04.ttl | 2 + test/TurtleTests/turtle-syntax-bad-prefix-05.ttl | 2 + test/TurtleTests/turtle-syntax-bad-string-01.ttl | 2 + test/TurtleTests/turtle-syntax-bad-string-02.ttl | 2 + test/TurtleTests/turtle-syntax-bad-string-03.ttl | 2 + test/TurtleTests/turtle-syntax-bad-string-04.ttl | 2 + test/TurtleTests/turtle-syntax-bad-string-05.ttl | 4 + test/TurtleTests/turtle-syntax-bad-string-06.ttl | 3 + test/TurtleTests/turtle-syntax-bad-string-07.ttl | 3 + test/TurtleTests/turtle-syntax-bad-struct-01.ttl | 2 + test/TurtleTests/turtle-syntax-bad-struct-02.ttl | 2 + test/TurtleTests/turtle-syntax-bad-struct-03.ttl | 2 + test/TurtleTests/turtle-syntax-bad-struct-04.ttl | 2 + test/TurtleTests/turtle-syntax-bad-struct-05.ttl | 2 + test/TurtleTests/turtle-syntax-bad-struct-06.ttl | 2 + test/TurtleTests/turtle-syntax-bad-struct-07.ttl | 2 + test/TurtleTests/turtle-syntax-bad-struct-08.ttl | 2 + test/TurtleTests/turtle-syntax-bad-struct-09.ttl | 2 + test/TurtleTests/turtle-syntax-bad-struct-10.ttl | 3 + test/TurtleTests/turtle-syntax-bad-struct-11.ttl | 2 + test/TurtleTests/turtle-syntax-bad-struct-12.ttl | 1 + test/TurtleTests/turtle-syntax-bad-struct-13.ttl | 1 + test/TurtleTests/turtle-syntax-bad-struct-14.ttl | 2 + test/TurtleTests/turtle-syntax-bad-struct-15.ttl | 2 + test/TurtleTests/turtle-syntax-bad-struct-16.ttl | 2 + test/TurtleTests/turtle-syntax-bad-struct-17.ttl | 2 + test/TurtleTests/turtle-syntax-bad-uri-01.ttl | 2 + test/TurtleTests/turtle-syntax-bad-uri-02.ttl | 2 + test/TurtleTests/turtle-syntax-bad-uri-03.ttl | 2 + test/TurtleTests/turtle-syntax-bad-uri-04.ttl | 2 + test/TurtleTests/turtle-syntax-bad-uri-05.ttl | 2 + test/TurtleTests/turtle-syntax-base-01.ttl | 1 + test/TurtleTests/turtle-syntax-base-02.ttl | 1 + test/TurtleTests/turtle-syntax-base-03.ttl | 2 + test/TurtleTests/turtle-syntax-base-04.ttl | 2 + test/TurtleTests/turtle-syntax-blank-label.ttl | 4 + test/TurtleTests/turtle-syntax-bnode-01.ttl | 2 + test/TurtleTests/turtle-syntax-bnode-02.ttl | 2 + test/TurtleTests/turtle-syntax-bnode-03.ttl | 2 + test/TurtleTests/turtle-syntax-bnode-04.ttl | 2 + test/TurtleTests/turtle-syntax-bnode-05.ttl | 2 + test/TurtleTests/turtle-syntax-bnode-06.ttl | 2 + test/TurtleTests/turtle-syntax-bnode-07.ttl | 3 + test/TurtleTests/turtle-syntax-bnode-08.ttl | 2 + test/TurtleTests/turtle-syntax-bnode-09.ttl | 3 + test/TurtleTests/turtle-syntax-bnode-10.ttl | 5 + test/TurtleTests/turtle-syntax-datatypes-01.ttl | 2 + test/TurtleTests/turtle-syntax-datatypes-02.ttl | 3 + test/TurtleTests/turtle-syntax-file-01.ttl | 0 test/TurtleTests/turtle-syntax-file-02.ttl | 1 + test/TurtleTests/turtle-syntax-file-03.ttl | 2 + test/TurtleTests/turtle-syntax-kw-01.ttl | 1 + test/TurtleTests/turtle-syntax-kw-02.ttl | 1 + test/TurtleTests/turtle-syntax-kw-03.ttl | 2 + test/TurtleTests/turtle-syntax-lists-01.ttl | 2 + test/TurtleTests/turtle-syntax-lists-02.ttl | 2 + test/TurtleTests/turtle-syntax-lists-03.ttl | 2 + test/TurtleTests/turtle-syntax-lists-04.ttl | 2 + test/TurtleTests/turtle-syntax-lists-05.ttl | 2 + test/TurtleTests/turtle-syntax-ln-colons.ttl | 6 + test/TurtleTests/turtle-syntax-ln-dots.ttl | 4 + test/TurtleTests/turtle-syntax-ns-dots.ttl | 2 + test/TurtleTests/turtle-syntax-number-01.ttl | 1 + test/TurtleTests/turtle-syntax-number-02.ttl | 1 + test/TurtleTests/turtle-syntax-number-03.ttl | 1 + test/TurtleTests/turtle-syntax-number-04.ttl | 2 + test/TurtleTests/turtle-syntax-number-05.ttl | 2 + test/TurtleTests/turtle-syntax-number-06.ttl | 2 + test/TurtleTests/turtle-syntax-number-07.ttl | 2 + test/TurtleTests/turtle-syntax-number-08.ttl | 2 + test/TurtleTests/turtle-syntax-number-09.ttl | 1 + test/TurtleTests/turtle-syntax-number-10.ttl | 1 + test/TurtleTests/turtle-syntax-number-11.ttl | 1 + test/TurtleTests/turtle-syntax-pname-esc-01.ttl | 2 + test/TurtleTests/turtle-syntax-pname-esc-02.ttl | 2 + test/TurtleTests/turtle-syntax-pname-esc-03.ttl | 2 + test/TurtleTests/turtle-syntax-prefix-01.ttl | 1 + test/TurtleTests/turtle-syntax-prefix-02.ttl | 1 + test/TurtleTests/turtle-syntax-prefix-03.ttl | 2 + test/TurtleTests/turtle-syntax-prefix-04.ttl | 2 + test/TurtleTests/turtle-syntax-prefix-05.ttl | 2 + test/TurtleTests/turtle-syntax-prefix-06.ttl | 4 + test/TurtleTests/turtle-syntax-prefix-07.ttl | 3 + test/TurtleTests/turtle-syntax-prefix-08.ttl | 3 + test/TurtleTests/turtle-syntax-prefix-09.ttl | 4 + test/TurtleTests/turtle-syntax-str-esc-01.ttl | 1 + test/TurtleTests/turtle-syntax-str-esc-02.ttl | 1 + test/TurtleTests/turtle-syntax-str-esc-03.ttl | 1 + test/TurtleTests/turtle-syntax-string-01.ttl | 1 + test/TurtleTests/turtle-syntax-string-02.ttl | 1 + test/TurtleTests/turtle-syntax-string-03.ttl | 1 + test/TurtleTests/turtle-syntax-string-04.ttl | 1 + test/TurtleTests/turtle-syntax-string-05.ttl | 1 + test/TurtleTests/turtle-syntax-string-06.ttl | 1 + test/TurtleTests/turtle-syntax-string-07.ttl | 1 + test/TurtleTests/turtle-syntax-string-08.ttl | 2 + test/TurtleTests/turtle-syntax-string-09.ttl | 2 + test/TurtleTests/turtle-syntax-string-10.ttl | 2 + test/TurtleTests/turtle-syntax-string-11.ttl | 2 + test/TurtleTests/turtle-syntax-struct-01.ttl | 2 + test/TurtleTests/turtle-syntax-struct-02.ttl | 3 + test/TurtleTests/turtle-syntax-struct-03.ttl | 4 + test/TurtleTests/turtle-syntax-struct-04.ttl | 4 + test/TurtleTests/turtle-syntax-struct-05.ttl | 4 + test/TurtleTests/turtle-syntax-uri-01.ttl | 1 + test/TurtleTests/turtle-syntax-uri-02.ttl | 2 + test/TurtleTests/turtle-syntax-uri-03.ttl | 2 + test/TurtleTests/turtle-syntax-uri-04.ttl | 3 + test/TurtleTests/two_LITERAL_LONG2s.nt | 2 + test/TurtleTests/two_LITERAL_LONG2s.ttl | 4 + test/TurtleTests/underscore_in_localName.nt | 1 + test/TurtleTests/underscore_in_localName.ttl | 2 + test/bad/bad-00.ttl | 2 + test/bad/bad-01.ttl | 3 + test/bad/bad-02.ttl | 3 + test/bad/bad-03.ttl | 3 + test/bad/bad-04.ttl | 3 + test/bad/bad-05.ttl | 4 + test/bad/bad-06.ttl | 3 + test/bad/bad-07.ttl | 4 + test/bad/bad-08.ttl | 2 + test/bad/bad-09.ttl | 3 + test/bad/bad-10.ttl | 3 + test/bad/bad-11.ttl | 3 + test/bad/bad-12.ttl | 3 + test/bad/bad-13.ttl | 3 + test/bad/bad-14.ttl | 6 + test/bad/bad-base.ttl | 1 + test/bad/bad-blank.ttl | 3 + test/bad/bad-bom.ttl | 3 + test/bad/bad-char-in-local.ttl | 3 + test/bad/bad-char-in-prefix.ttl | 1 + test/bad/bad-char-in-uri.ttl | 1 + test/bad/bad-datatype.ttl | 1 + test/bad/bad-dot-after-subject.ttl | 1 + test/bad/bad-dot-in-collection.ttl | 1 + test/bad/bad-eof-after-quotes.ttl | 3 + test/bad/bad-eof-at-string-start.ttl | 3 + test/bad/bad-eof-in-blank.ttl | 3 + test/bad/bad-eof-in-escape.ttl | 3 + test/bad/bad-eof-in-lang-suffix.ttl | 3 + test/bad/bad-eof-in-lang.ttl | 3 + test/bad/bad-eof-in-list.ttl | 3 + test/bad/bad-eof-in-long-string.ttl | 3 + test/bad/bad-eof-in-object-list.ttl | 2 + test/bad/bad-eof-in-object-list2.ttl | 2 + test/bad/bad-eof-in-predicate-list.ttl | 2 + test/bad/bad-eof-in-string.ttl | 3 + test/bad/bad-eof-in-triple-quote.ttl | 3 + test/bad/bad-eof-in-uri-scheme.nt | 1 + test/bad/bad-eof-in-uri.ttl | 3 + test/bad/bad-escape.ttl | 1 + test/bad/bad-ext-namedblank-op.ttl | 3 + test/bad/bad-graph-blank-label.trig | 3 + test/bad/bad-hex-digit.ttl | 1 + test/bad/bad-id-clash.ttl | 2 + test/bad/bad-lang.ttl | 1 + test/bad/bad-list.ttl | 1 + test/bad/bad-list2.ttl | 3 + test/bad/bad-long-literal-in-list.ttl | 1 + test/bad/bad-missing-semi.ttl | 3 + test/bad/bad-missing-uri-scheme.nt | 1 + test/bad/bad-misspelled-base.ttl | 1 + test/bad/bad-misspelled-prefix.ttl | 1 + test/bad/bad-namespace.ttl | 1 + test/bad/bad-ns.ttl | 1 + test/bad/bad-null-byte.ttl | Bin 0 -> 27 bytes test/bad/bad-num.ttl | 1 + test/bad/bad-object.ttl | 3 + test/bad/bad-object2.ttl | 3 + test/bad/bad-pn-escape.ttl | 2 + test/bad/bad-prefix.ttl | 1 + test/bad/bad-semicolon-after-subject.ttl | 1 + test/bad/bad-string.ttl | 1 + test/bad/bad-subject.ttl | 1 + test/bad/bad-uri-escape.ttl | 1 + test/bad/bad-uri-scheme-start.nt | 1 + test/bad/bad-uri-scheme.nt | 1 + test/bad/bad-uri-truncated.nt | 1 + test/bad/bad-verb.ttl | 2 + test/bad/invalid-char-in-local.ttl | 3 + test/bad/invalid-char-in-prefix.ttl | 1 + test/bad/manifest.ttl | 431 + test/env_test.c | 95 + test/free_null_test.c | 33 + test/good/README.txt | 20 + test/good/UTF-8.nt | 2 + test/good/UTF-8.ttl | 219 + test/good/base.nt | 1 + test/good/base.ttl | 3 + test/good/manifest.ttl | 327 + test/good/qualify-in.ttl | 3 + test/good/qualify-out.ttl | 5 + test/good/test-14.nt | 10000 ++++++++++++++++++ test/good/test-14.ttl | 10002 +++++++++++++++++++ test/good/test-15.nt | 10000 ++++++++++++++++++ test/good/test-15.ttl | 3 + test/good/test-16.nt | 10000 ++++++++++++++++++ test/good/test-16.ttl | 10002 +++++++++++++++++++ test/good/test-18.nt | 2 + test/good/test-18.ttl | 9 + test/good/test-30.nt | 5 + test/good/test-30.ttl | 12 + test/good/test-a-without-whitespace.nt | 6 + test/good/test-a-without-whitespace.ttl | 6 + test/good/test-backspace.nt | 3 + test/good/test-backspace.ttl | 5 + test/good/test-base-nopath.nt | 1 + test/good/test-base-nopath.ttl | 3 + test/good/test-base-query.nt | 1 + test/good/test-base-query.ttl | 3 + test/good/test-blank-cont.nt | 4 + test/good/test-blank-cont.ttl | 4 + test/good/test-blank-in-list.nt | 4 + test/good/test-blank-in-list.ttl | 2 + test/good/test-blank-node-statement.nt | 1 + test/good/test-blank-node-statement.ttl | 3 + test/good/test-blankdot.nt | 1 + test/good/test-blankdot.ttl | 1 + test/good/test-bom.nt | 1 + test/good/test-bom.ttl | 3 + test/good/test-cr.nt | 1 + test/good/test-cr.ttl | 2 + test/good/test-delete.nt | 2 + test/good/test-delete.ttl | 2 + test/good/test-digit-start-pname.nt | 1 + test/good/test-digit-start-pname.ttl | 3 + test/good/test-empty-path-base.nt | 1 + test/good/test-empty-path-base.ttl | 3 + test/good/test-empty.nt | 0 test/good/test-empty.ttl | 0 test/good/test-eof-at-page-end.nt | 1 + test/good/test-eof-at-page-end.ttl | 85 + test/good/test-escapes.nt | 2 + test/good/test-escapes.ttl | 2 + test/good/test-ext-namedblank-iri.nt | 2 + test/good/test-ext-namedblank-iri.ttl | 3 + test/good/test-ext-namedblank-prefix.nt | 2 + test/good/test-ext-namedblank-prefix.ttl | 3 + test/good/test-form-feed.nt | 2 + test/good/test-form-feed.ttl | 2 + test/good/test-id.nt | 2 + test/good/test-id.ttl | 4 + test/good/test-lang.nt | 5 + test/good/test-lang.ttl | 7 + test/good/test-list-in-blank.nt | 6 + test/good/test-list-in-blank.ttl | 2 + test/good/test-list-subject.nt | 6 + test/good/test-list-subject.ttl | 2 + test/good/test-list.nt | 1 + test/good/test-list.ttl | 1 + test/good/test-local-name-ends-with-dot.ttl | 3 + test/good/test-long-string.nt | 1 + test/good/test-long-string.ttl | 7 + test/good/test-no-spaces.nt | 4 + test/good/test-no-spaces.ttl | 3 + test/good/test-non-curie-uri.nt | 1 + test/good/test-non-curie-uri.ttl | 3 + test/good/test-num.nt | 10 + test/good/test-num.ttl | 12 + test/good/test-out-of-range-unicode.nt | 1 + test/good/test-out-of-range-unicode.ttl | 1 + test/good/test-prefix.nt | 6 + test/good/test-prefix.ttl | 8 + test/good/test-pretty.nt | 46 + test/good/test-pretty.ttl | 44 + test/good/test-rel.nt | 6 + test/good/test-rel.ttl | 6 + test/good/test-semi-dot.nt | 1 + test/good/test-semi-dot.ttl | 1 + test/good/test-several-eaten-dots.nq | 3 + test/good/test-several-eaten-dots.trig | 6 + test/good/test-uri-escape.nt | 1 + test/good/test-uri-escape.ttl | 1 + test/good/test-uri.nt | 48 + test/good/test-uri.ttl | 71 + test/good/test-utf8-uri.nt | 1 + test/good/test-utf8-uri.ttl | 1 + test/lax/manifest.ttl | 25 + test/lax/test-bad-uri.nt | 3 + test/lax/test-bad-uri.ttl | 4 + test/lax/test-bad-utf8.nt | 6 + test/lax/test-bad-utf8.ttl | 6 + test/read_chunk_test.c | 120 + test/serd_test.c | 664 ++ 1178 files changed, 62423 insertions(+) create mode 100644 test/NQuadsTests/README create mode 100644 test/NQuadsTests/comment_following_triple.nq create mode 100644 test/NQuadsTests/langtagged_string.nq create mode 100644 test/NQuadsTests/lantag_with_subtag.nq create mode 100644 test/NQuadsTests/literal.nq create mode 100644 test/NQuadsTests/literal_all_controls.nq create mode 100644 test/NQuadsTests/literal_all_punctuation.nq create mode 100644 test/NQuadsTests/literal_ascii_boundaries.nq create mode 100644 test/NQuadsTests/literal_false.nq create mode 100644 test/NQuadsTests/literal_true.nq create mode 100644 test/NQuadsTests/literal_with_2_dquotes.nq create mode 100644 test/NQuadsTests/literal_with_2_squotes.nq create mode 100644 test/NQuadsTests/literal_with_BACKSPACE.nq create mode 100644 test/NQuadsTests/literal_with_CARRIAGE_RETURN.nq create mode 100644 test/NQuadsTests/literal_with_CHARACTER_TABULATION.nq create mode 100644 test/NQuadsTests/literal_with_FORM_FEED.nq create mode 100644 test/NQuadsTests/literal_with_LINE_FEED.nq create mode 100644 test/NQuadsTests/literal_with_REVERSE_SOLIDUS.nq create mode 100644 test/NQuadsTests/literal_with_REVERSE_SOLIDUS2.nq create mode 100644 test/NQuadsTests/literal_with_UTF8_boundaries.nq create mode 100644 test/NQuadsTests/literal_with_dquote.nq create mode 100644 test/NQuadsTests/literal_with_numeric_escape4.nq create mode 100644 test/NQuadsTests/literal_with_numeric_escape8.nq create mode 100644 test/NQuadsTests/literal_with_squote.nq create mode 100644 test/NQuadsTests/manifest.ttl create mode 100644 test/NQuadsTests/minimal_whitespace.nq create mode 100644 test/NQuadsTests/nq-syntax-bad-literal-01.nq create mode 100644 test/NQuadsTests/nq-syntax-bad-literal-02.nq create mode 100644 test/NQuadsTests/nq-syntax-bad-literal-03.nq create mode 100644 test/NQuadsTests/nq-syntax-bad-quint-01.nq create mode 100644 test/NQuadsTests/nq-syntax-bad-uri-01.nq create mode 100644 test/NQuadsTests/nq-syntax-bnode-01.nq create mode 100644 test/NQuadsTests/nq-syntax-bnode-02.nq create mode 100644 test/NQuadsTests/nq-syntax-bnode-03.nq create mode 100644 test/NQuadsTests/nq-syntax-bnode-04.nq create mode 100644 test/NQuadsTests/nq-syntax-bnode-05.nq create mode 100644 test/NQuadsTests/nq-syntax-bnode-06.nq create mode 100644 test/NQuadsTests/nq-syntax-uri-01.nq create mode 100644 test/NQuadsTests/nq-syntax-uri-02.nq create mode 100644 test/NQuadsTests/nq-syntax-uri-03.nq create mode 100644 test/NQuadsTests/nq-syntax-uri-04.nq create mode 100644 test/NQuadsTests/nq-syntax-uri-05.nq create mode 100644 test/NQuadsTests/nq-syntax-uri-06.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-base-01.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-esc-01.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-esc-02.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-esc-03.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-lang-01.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-num-01.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-num-02.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-num-03.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-prefix-01.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-string-01.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-string-02.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-string-03.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-string-04.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-string-05.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-string-06.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-string-07.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-struct-01.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-struct-02.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-uri-01.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-uri-02.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-uri-03.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-uri-04.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-uri-05.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-uri-06.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-uri-07.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-uri-08.nq create mode 100644 test/NQuadsTests/nt-syntax-bad-uri-09.nq create mode 100644 test/NQuadsTests/nt-syntax-bnode-01.nq create mode 100644 test/NQuadsTests/nt-syntax-bnode-02.nq create mode 100644 test/NQuadsTests/nt-syntax-bnode-03.nq create mode 100644 test/NQuadsTests/nt-syntax-datatypes-01.nq create mode 100644 test/NQuadsTests/nt-syntax-datatypes-02.nq create mode 100644 test/NQuadsTests/nt-syntax-file-01.nq create mode 100644 test/NQuadsTests/nt-syntax-file-02.nq create mode 100644 test/NQuadsTests/nt-syntax-file-03.nq create mode 100644 test/NQuadsTests/nt-syntax-str-esc-01.nq create mode 100644 test/NQuadsTests/nt-syntax-str-esc-02.nq create mode 100644 test/NQuadsTests/nt-syntax-str-esc-03.nq create mode 100644 test/NQuadsTests/nt-syntax-string-01.nq create mode 100644 test/NQuadsTests/nt-syntax-string-02.nq create mode 100644 test/NQuadsTests/nt-syntax-string-03.nq create mode 100644 test/NQuadsTests/nt-syntax-subm-01.nq create mode 100644 test/NQuadsTests/nt-syntax-uri-01.nq create mode 100644 test/NQuadsTests/nt-syntax-uri-02.nq create mode 100644 test/NQuadsTests/nt-syntax-uri-03.nq create mode 100644 test/NQuadsTests/nt-syntax-uri-04.nq create mode 100644 test/NTriplesTests/README create mode 100644 test/NTriplesTests/comment_following_triple.nt create mode 100644 test/NTriplesTests/langtagged_string.nt create mode 100644 test/NTriplesTests/lantag_with_subtag.nt create mode 100644 test/NTriplesTests/literal.nt create mode 100644 test/NTriplesTests/literal_all_controls.nt create mode 100644 test/NTriplesTests/literal_all_punctuation.nt create mode 100644 test/NTriplesTests/literal_ascii_boundaries.nt create mode 100644 test/NTriplesTests/literal_false.nt create mode 100644 test/NTriplesTests/literal_true.nt create mode 100644 test/NTriplesTests/literal_with_2_dquotes.nt create mode 100644 test/NTriplesTests/literal_with_2_squotes.nt create mode 100644 test/NTriplesTests/literal_with_BACKSPACE.nt create mode 100644 test/NTriplesTests/literal_with_CARRIAGE_RETURN.nt create mode 100644 test/NTriplesTests/literal_with_CHARACTER_TABULATION.nt create mode 100644 test/NTriplesTests/literal_with_FORM_FEED.nt create mode 100644 test/NTriplesTests/literal_with_LINE_FEED.nt create mode 100644 test/NTriplesTests/literal_with_REVERSE_SOLIDUS.nt create mode 100644 test/NTriplesTests/literal_with_REVERSE_SOLIDUS2.nt create mode 100644 test/NTriplesTests/literal_with_UTF8_boundaries.nt create mode 100644 test/NTriplesTests/literal_with_dquote.nt create mode 100644 test/NTriplesTests/literal_with_numeric_escape4.nt create mode 100644 test/NTriplesTests/literal_with_numeric_escape8.nt create mode 100644 test/NTriplesTests/literal_with_squote.nt create mode 100644 test/NTriplesTests/manifest.ttl create mode 100644 test/NTriplesTests/minimal_whitespace.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-base-01.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-esc-01.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-esc-02.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-esc-03.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-lang-01.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-num-01.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-num-02.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-num-03.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-prefix-01.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-string-01.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-string-02.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-string-03.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-string-04.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-string-05.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-string-06.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-string-07.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-struct-01.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-struct-02.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-uri-01.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-uri-02.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-uri-03.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-uri-04.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-uri-05.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-uri-06.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-uri-07.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-uri-08.nt create mode 100644 test/NTriplesTests/nt-syntax-bad-uri-09.nt create mode 100644 test/NTriplesTests/nt-syntax-bnode-01.nt create mode 100644 test/NTriplesTests/nt-syntax-bnode-02.nt create mode 100644 test/NTriplesTests/nt-syntax-bnode-03.nt create mode 100644 test/NTriplesTests/nt-syntax-datatypes-01.nt create mode 100644 test/NTriplesTests/nt-syntax-datatypes-02.nt create mode 100644 test/NTriplesTests/nt-syntax-file-01.nt create mode 100644 test/NTriplesTests/nt-syntax-file-02.nt create mode 100644 test/NTriplesTests/nt-syntax-file-03.nt create mode 100644 test/NTriplesTests/nt-syntax-str-esc-01.nt create mode 100644 test/NTriplesTests/nt-syntax-str-esc-02.nt create mode 100644 test/NTriplesTests/nt-syntax-str-esc-03.nt create mode 100644 test/NTriplesTests/nt-syntax-string-01.nt create mode 100644 test/NTriplesTests/nt-syntax-string-02.nt create mode 100644 test/NTriplesTests/nt-syntax-string-03.nt create mode 100644 test/NTriplesTests/nt-syntax-subm-01.nt create mode 100644 test/NTriplesTests/nt-syntax-uri-01.nt create mode 100644 test/NTriplesTests/nt-syntax-uri-02.nt create mode 100644 test/NTriplesTests/nt-syntax-uri-03.nt create mode 100644 test/NTriplesTests/nt-syntax-uri-04.nt create mode 100644 test/TriGTests/HYPHEN_MINUS_in_localName.nq create mode 100644 test/TriGTests/HYPHEN_MINUS_in_localName.trig create mode 100644 test/TriGTests/IRIREF_datatype.nq create mode 100644 test/TriGTests/IRIREF_datatype.trig create mode 100644 test/TriGTests/IRI_spo.nq create mode 100644 test/TriGTests/IRI_subject.trig create mode 100644 test/TriGTests/IRI_with_all_punctuation.nq create mode 100644 test/TriGTests/IRI_with_all_punctuation.trig create mode 100644 test/TriGTests/IRI_with_eight_digit_numeric_escape.trig create mode 100644 test/TriGTests/IRI_with_four_digit_numeric_escape.trig create mode 100644 test/TriGTests/LICENSE create mode 100644 test/TriGTests/LITERAL1.nq create mode 100644 test/TriGTests/LITERAL1.trig create mode 100644 test/TriGTests/LITERAL1_all_controls.nq create mode 100644 test/TriGTests/LITERAL1_all_controls.trig create mode 100644 test/TriGTests/LITERAL1_all_punctuation.nq create mode 100644 test/TriGTests/LITERAL1_all_punctuation.trig create mode 100644 test/TriGTests/LITERAL1_ascii_boundaries.nq create mode 100644 test/TriGTests/LITERAL1_ascii_boundaries.trig create mode 100644 test/TriGTests/LITERAL1_with_UTF8_boundaries.trig create mode 100644 test/TriGTests/LITERAL2.trig create mode 100644 test/TriGTests/LITERAL2_ascii_boundaries.nq create mode 100644 test/TriGTests/LITERAL2_ascii_boundaries.trig create mode 100644 test/TriGTests/LITERAL2_with_UTF8_boundaries.trig create mode 100644 test/TriGTests/LITERAL_LONG1.trig create mode 100644 test/TriGTests/LITERAL_LONG1_ascii_boundaries.nq create mode 100644 test/TriGTests/LITERAL_LONG1_ascii_boundaries.trig create mode 100644 test/TriGTests/LITERAL_LONG1_with_1_squote.nq create mode 100644 test/TriGTests/LITERAL_LONG1_with_1_squote.trig create mode 100644 test/TriGTests/LITERAL_LONG1_with_2_squotes.nq create mode 100644 test/TriGTests/LITERAL_LONG1_with_2_squotes.trig create mode 100644 test/TriGTests/LITERAL_LONG1_with_UTF8_boundaries.trig create mode 100644 test/TriGTests/LITERAL_LONG2.trig create mode 100644 test/TriGTests/LITERAL_LONG2_ascii_boundaries.nq create mode 100644 test/TriGTests/LITERAL_LONG2_ascii_boundaries.trig create mode 100644 test/TriGTests/LITERAL_LONG2_with_1_squote.nq create mode 100644 test/TriGTests/LITERAL_LONG2_with_1_squote.trig create mode 100644 test/TriGTests/LITERAL_LONG2_with_2_squotes.nq create mode 100644 test/TriGTests/LITERAL_LONG2_with_2_squotes.trig create mode 100644 test/TriGTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.nq create mode 100644 test/TriGTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.trig create mode 100644 test/TriGTests/LITERAL_LONG2_with_UTF8_boundaries.trig create mode 100644 test/TriGTests/LITERAL_with_UTF8_boundaries.nq create mode 100644 test/TriGTests/README create mode 100644 test/TriGTests/SPARQL_style_base.trig create mode 100644 test/TriGTests/SPARQL_style_prefix.trig create mode 100644 test/TriGTests/alternating_bnode_graphs.nq create mode 100644 test/TriGTests/alternating_bnode_graphs.trig create mode 100644 test/TriGTests/alternating_iri_graphs.nq create mode 100644 test/TriGTests/alternating_iri_graphs.trig create mode 100644 test/TriGTests/anonymous_blank_node_graph.nq create mode 100644 test/TriGTests/anonymous_blank_node_graph.trig create mode 100644 test/TriGTests/anonymous_blank_node_object.nq create mode 100644 test/TriGTests/anonymous_blank_node_object.trig create mode 100644 test/TriGTests/anonymous_blank_node_subject.nq create mode 100644 test/TriGTests/anonymous_blank_node_subject.trig create mode 100644 test/TriGTests/bareword_a_predicate.nq create mode 100644 test/TriGTests/bareword_a_predicate.trig create mode 100644 test/TriGTests/bareword_decimal.nq create mode 100644 test/TriGTests/bareword_decimal.trig create mode 100644 test/TriGTests/bareword_double.nq create mode 100644 test/TriGTests/bareword_double.trig create mode 100644 test/TriGTests/bareword_integer.trig create mode 100644 test/TriGTests/blankNodePropertyList_as_object.nq create mode 100644 test/TriGTests/blankNodePropertyList_as_object.trig create mode 100644 test/TriGTests/blankNodePropertyList_as_subject.nq create mode 100644 test/TriGTests/blankNodePropertyList_as_subject.trig create mode 100644 test/TriGTests/blankNodePropertyList_containing_collection.nq create mode 100644 test/TriGTests/blankNodePropertyList_containing_collection.trig create mode 100644 test/TriGTests/blankNodePropertyList_with_multiple_triples.nq create mode 100644 test/TriGTests/blankNodePropertyList_with_multiple_triples.trig create mode 100644 test/TriGTests/collection_object.nq create mode 100644 test/TriGTests/collection_object.trig create mode 100644 test/TriGTests/collection_subject.nq create mode 100644 test/TriGTests/collection_subject.trig create mode 100644 test/TriGTests/comment_following_PNAME_NS.nq create mode 100644 test/TriGTests/comment_following_PNAME_NS.trig create mode 100644 test/TriGTests/comment_following_localName.trig create mode 100644 test/TriGTests/default_namespace_IRI.trig create mode 100644 test/TriGTests/double_lower_case_e.nq create mode 100644 test/TriGTests/double_lower_case_e.trig create mode 100644 test/TriGTests/empty_collection.nq create mode 100644 test/TriGTests/empty_collection.trig create mode 100644 test/TriGTests/first.nq create mode 100644 test/TriGTests/first.trig create mode 100644 test/TriGTests/labeled_blank_node_graph.nq create mode 100644 test/TriGTests/labeled_blank_node_graph.trig create mode 100644 test/TriGTests/labeled_blank_node_object.nq create mode 100644 test/TriGTests/labeled_blank_node_object.trig create mode 100644 test/TriGTests/labeled_blank_node_subject.nq create mode 100644 test/TriGTests/labeled_blank_node_subject.trig create mode 100644 test/TriGTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.nq create mode 100644 test/TriGTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.trig create mode 100644 test/TriGTests/labeled_blank_node_with_leading_digit.nq create mode 100644 test/TriGTests/labeled_blank_node_with_leading_digit.trig create mode 100644 test/TriGTests/labeled_blank_node_with_leading_underscore.nq create mode 100644 test/TriGTests/labeled_blank_node_with_leading_underscore.trig create mode 100644 test/TriGTests/labeled_blank_node_with_non_leading_extras.nq create mode 100644 test/TriGTests/labeled_blank_node_with_non_leading_extras.trig create mode 100644 test/TriGTests/langtagged_LONG.trig create mode 100644 test/TriGTests/langtagged_LONG_with_subtag.nq create mode 100644 test/TriGTests/langtagged_LONG_with_subtag.trig create mode 100644 test/TriGTests/langtagged_non_LONG.nq create mode 100644 test/TriGTests/langtagged_non_LONG.trig create mode 100644 test/TriGTests/lantag_with_subtag.nq create mode 100644 test/TriGTests/lantag_with_subtag.trig create mode 100644 test/TriGTests/last.nq create mode 100644 test/TriGTests/last.trig create mode 100644 test/TriGTests/literal_false.nq create mode 100644 test/TriGTests/literal_false.trig create mode 100644 test/TriGTests/literal_true.nq create mode 100644 test/TriGTests/literal_true.trig create mode 100644 test/TriGTests/literal_with_BACKSPACE.nq create mode 100644 test/TriGTests/literal_with_BACKSPACE.trig create mode 100644 test/TriGTests/literal_with_CARRIAGE_RETURN.nq create mode 100644 test/TriGTests/literal_with_CARRIAGE_RETURN.trig create mode 100644 test/TriGTests/literal_with_CHARACTER_TABULATION.nq create mode 100644 test/TriGTests/literal_with_CHARACTER_TABULATION.trig create mode 100644 test/TriGTests/literal_with_FORM_FEED.nq create mode 100644 test/TriGTests/literal_with_FORM_FEED.trig create mode 100644 test/TriGTests/literal_with_LINE_FEED.nq create mode 100644 test/TriGTests/literal_with_LINE_FEED.trig create mode 100644 test/TriGTests/literal_with_REVERSE_SOLIDUS.nq create mode 100644 test/TriGTests/literal_with_REVERSE_SOLIDUS.trig create mode 100644 test/TriGTests/literal_with_escaped_BACKSPACE.trig create mode 100644 test/TriGTests/literal_with_escaped_CARRIAGE_RETURN.trig create mode 100644 test/TriGTests/literal_with_escaped_CHARACTER_TABULATION.trig create mode 100644 test/TriGTests/literal_with_escaped_FORM_FEED.trig create mode 100644 test/TriGTests/literal_with_escaped_LINE_FEED.trig create mode 100644 test/TriGTests/literal_with_numeric_escape4.nq create mode 100644 test/TriGTests/literal_with_numeric_escape4.trig create mode 100644 test/TriGTests/literal_with_numeric_escape8.trig create mode 100644 test/TriGTests/localName_with_PN_CHARS_BASE_character_boundaries.nq create mode 100644 test/TriGTests/localName_with_PN_CHARS_BASE_character_boundaries.trig create mode 100644 test/TriGTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nq create mode 100644 test/TriGTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.trig create mode 100644 test/TriGTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nq create mode 100644 test/TriGTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.trig create mode 100644 test/TriGTests/localName_with_leading_digit.nq create mode 100644 test/TriGTests/localName_with_leading_digit.trig create mode 100644 test/TriGTests/localName_with_leading_underscore.nq create mode 100644 test/TriGTests/localName_with_leading_underscore.trig create mode 100644 test/TriGTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.nq create mode 100644 test/TriGTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.trig create mode 100644 test/TriGTests/localName_with_non_leading_extras.nq create mode 100644 test/TriGTests/localName_with_non_leading_extras.trig create mode 100644 test/TriGTests/localname_with_COLON.nq create mode 100644 test/TriGTests/localname_with_COLON.trig create mode 100644 test/TriGTests/manifest.ttl create mode 100644 test/TriGTests/negative_numeric.nq create mode 100644 test/TriGTests/negative_numeric.trig create mode 100644 test/TriGTests/nested_blankNodePropertyLists.nq create mode 100644 test/TriGTests/nested_blankNodePropertyLists.trig create mode 100644 test/TriGTests/nested_collection.nq create mode 100644 test/TriGTests/nested_collection.trig create mode 100644 test/TriGTests/number_sign_following_PNAME_NS.nq create mode 100644 test/TriGTests/number_sign_following_PNAME_NS.trig create mode 100644 test/TriGTests/number_sign_following_localName.nq create mode 100644 test/TriGTests/number_sign_following_localName.trig create mode 100644 test/TriGTests/numeric_with_leading_0.nq create mode 100644 test/TriGTests/numeric_with_leading_0.trig create mode 100644 test/TriGTests/objectList_with_two_objects.nq create mode 100644 test/TriGTests/objectList_with_two_objects.trig create mode 100644 test/TriGTests/old_style_base.trig create mode 100644 test/TriGTests/old_style_prefix.trig create mode 100644 test/TriGTests/percent_escaped_localName.nq create mode 100644 test/TriGTests/percent_escaped_localName.trig create mode 100644 test/TriGTests/positive_numeric.nq create mode 100644 test/TriGTests/positive_numeric.trig create mode 100644 test/TriGTests/predicateObjectList_with_two_objectLists.nq create mode 100644 test/TriGTests/predicateObjectList_with_two_objectLists.trig create mode 100644 test/TriGTests/prefix_only_IRI.trig create mode 100644 test/TriGTests/prefix_reassigned_and_used.nq create mode 100644 test/TriGTests/prefix_reassigned_and_used.trig create mode 100644 test/TriGTests/prefix_with_PN_CHARS_BASE_character_boundaries.trig create mode 100644 test/TriGTests/prefix_with_non_leading_extras.trig create mode 100644 test/TriGTests/prefixed_IRI_object.trig create mode 100644 test/TriGTests/prefixed_IRI_predicate.trig create mode 100644 test/TriGTests/prefixed_name_datatype.trig create mode 100644 test/TriGTests/repeated_semis_at_end.trig create mode 100644 test/TriGTests/repeated_semis_not_at_end.nq create mode 100644 test/TriGTests/repeated_semis_not_at_end.trig create mode 100644 test/TriGTests/reserved_escaped_localName.nq create mode 100644 test/TriGTests/reserved_escaped_localName.trig create mode 100644 test/TriGTests/sole_blankNodePropertyList.nq create mode 100644 test/TriGTests/sole_blankNodePropertyList.trig create mode 100644 test/TriGTests/trig-bnodeplist-graph-bad-01.trig create mode 100644 test/TriGTests/trig-collection-graph-bad-01.trig create mode 100644 test/TriGTests/trig-collection-graph-bad-02.trig create mode 100644 test/TriGTests/trig-eval-bad-01.trig create mode 100644 test/TriGTests/trig-eval-bad-02.trig create mode 100644 test/TriGTests/trig-eval-bad-03.trig create mode 100644 test/TriGTests/trig-eval-bad-04.trig create mode 100644 test/TriGTests/trig-eval-struct-01.nq create mode 100644 test/TriGTests/trig-eval-struct-01.trig create mode 100644 test/TriGTests/trig-eval-struct-02.nq create mode 100644 test/TriGTests/trig-eval-struct-02.trig create mode 100644 test/TriGTests/trig-graph-bad-01.trig create mode 100644 test/TriGTests/trig-graph-bad-02.trig create mode 100644 test/TriGTests/trig-graph-bad-03.trig create mode 100644 test/TriGTests/trig-graph-bad-04.trig create mode 100644 test/TriGTests/trig-graph-bad-05.trig create mode 100644 test/TriGTests/trig-graph-bad-06.trig create mode 100644 test/TriGTests/trig-graph-bad-07.trig create mode 100644 test/TriGTests/trig-graph-bad-08.trig create mode 100644 test/TriGTests/trig-graph-bad-09.trig create mode 100644 test/TriGTests/trig-graph-bad-10.trig create mode 100644 test/TriGTests/trig-graph-bad-11.trig create mode 100644 test/TriGTests/trig-kw-graph-01.trig create mode 100644 test/TriGTests/trig-kw-graph-02.trig create mode 100644 test/TriGTests/trig-kw-graph-03.trig create mode 100644 test/TriGTests/trig-kw-graph-04.trig create mode 100644 test/TriGTests/trig-kw-graph-05.trig create mode 100644 test/TriGTests/trig-kw-graph-06.trig create mode 100644 test/TriGTests/trig-kw-graph-07.trig create mode 100644 test/TriGTests/trig-kw-graph-08.trig create mode 100644 test/TriGTests/trig-kw-graph-09.trig create mode 100644 test/TriGTests/trig-kw-graph-10.trig create mode 100644 test/TriGTests/trig-subm-01.nq create mode 100644 test/TriGTests/trig-subm-01.trig create mode 100644 test/TriGTests/trig-subm-02.nq create mode 100644 test/TriGTests/trig-subm-02.trig create mode 100644 test/TriGTests/trig-subm-03.nq create mode 100644 test/TriGTests/trig-subm-03.trig create mode 100644 test/TriGTests/trig-subm-04.nq create mode 100644 test/TriGTests/trig-subm-04.trig create mode 100644 test/TriGTests/trig-subm-05.nq create mode 100644 test/TriGTests/trig-subm-05.trig create mode 100644 test/TriGTests/trig-subm-06.nq create mode 100644 test/TriGTests/trig-subm-06.trig create mode 100644 test/TriGTests/trig-subm-07.nq create mode 100644 test/TriGTests/trig-subm-07.trig create mode 100644 test/TriGTests/trig-subm-08.nq create mode 100644 test/TriGTests/trig-subm-08.trig create mode 100644 test/TriGTests/trig-subm-09.nq create mode 100644 test/TriGTests/trig-subm-09.trig create mode 100644 test/TriGTests/trig-subm-10.nq create mode 100644 test/TriGTests/trig-subm-10.trig create mode 100644 test/TriGTests/trig-subm-11.nq create mode 100644 test/TriGTests/trig-subm-11.trig create mode 100644 test/TriGTests/trig-subm-12.nq create mode 100644 test/TriGTests/trig-subm-12.trig create mode 100644 test/TriGTests/trig-subm-13.nq create mode 100644 test/TriGTests/trig-subm-13.trig create mode 100644 test/TriGTests/trig-subm-14.nq create mode 100644 test/TriGTests/trig-subm-14.trig create mode 100644 test/TriGTests/trig-subm-15.nq create mode 100644 test/TriGTests/trig-subm-15.trig create mode 100644 test/TriGTests/trig-subm-16.nq create mode 100644 test/TriGTests/trig-subm-16.trig create mode 100644 test/TriGTests/trig-subm-17.nq create mode 100644 test/TriGTests/trig-subm-17.trig create mode 100644 test/TriGTests/trig-subm-18.nq create mode 100644 test/TriGTests/trig-subm-18.trig create mode 100644 test/TriGTests/trig-subm-19.nq create mode 100644 test/TriGTests/trig-subm-19.trig create mode 100644 test/TriGTests/trig-subm-20.nq create mode 100644 test/TriGTests/trig-subm-20.trig create mode 100644 test/TriGTests/trig-subm-21.nq create mode 100644 test/TriGTests/trig-subm-21.trig create mode 100644 test/TriGTests/trig-subm-22.nq create mode 100644 test/TriGTests/trig-subm-22.trig create mode 100644 test/TriGTests/trig-subm-23.nq create mode 100644 test/TriGTests/trig-subm-23.trig create mode 100644 test/TriGTests/trig-subm-24.nq create mode 100644 test/TriGTests/trig-subm-24.trig create mode 100644 test/TriGTests/trig-subm-25.nq create mode 100644 test/TriGTests/trig-subm-25.trig create mode 100644 test/TriGTests/trig-subm-26.nq create mode 100644 test/TriGTests/trig-subm-26.trig create mode 100644 test/TriGTests/trig-subm-27.nq create mode 100644 test/TriGTests/trig-subm-27.trig create mode 100644 test/TriGTests/trig-syntax-bad-LITERAL2_with_langtag_and_datatype.trig create mode 100644 test/TriGTests/trig-syntax-bad-base-01.trig create mode 100644 test/TriGTests/trig-syntax-bad-base-02.trig create mode 100644 test/TriGTests/trig-syntax-bad-base-03.trig create mode 100644 test/TriGTests/trig-syntax-bad-base-04.trig create mode 100644 test/TriGTests/trig-syntax-bad-base-05.trig create mode 100644 test/TriGTests/trig-syntax-bad-blank-label-dot-end.trig create mode 100644 test/TriGTests/trig-syntax-bad-esc-01.trig create mode 100644 test/TriGTests/trig-syntax-bad-esc-02.trig create mode 100644 test/TriGTests/trig-syntax-bad-esc-03.trig create mode 100644 test/TriGTests/trig-syntax-bad-esc-04.trig create mode 100644 test/TriGTests/trig-syntax-bad-kw-01.trig create mode 100644 test/TriGTests/trig-syntax-bad-kw-02.trig create mode 100644 test/TriGTests/trig-syntax-bad-kw-03.trig create mode 100644 test/TriGTests/trig-syntax-bad-kw-04.trig create mode 100644 test/TriGTests/trig-syntax-bad-kw-05.trig create mode 100644 test/TriGTests/trig-syntax-bad-lang-01.trig create mode 100644 test/TriGTests/trig-syntax-bad-list-01.trig create mode 100644 test/TriGTests/trig-syntax-bad-list-02.trig create mode 100644 test/TriGTests/trig-syntax-bad-list-03.trig create mode 100644 test/TriGTests/trig-syntax-bad-list-04.trig create mode 100644 test/TriGTests/trig-syntax-bad-ln-dash-start.trig create mode 100644 test/TriGTests/trig-syntax-bad-ln-escape-start.trig create mode 100644 test/TriGTests/trig-syntax-bad-ln-escape.trig create mode 100644 test/TriGTests/trig-syntax-bad-missing-ns-dot-end.trig create mode 100644 test/TriGTests/trig-syntax-bad-missing-ns-dot-start.trig create mode 100644 test/TriGTests/trig-syntax-bad-n3-extras-01.trig create mode 100644 test/TriGTests/trig-syntax-bad-n3-extras-02.trig create mode 100644 test/TriGTests/trig-syntax-bad-n3-extras-03.trig create mode 100644 test/TriGTests/trig-syntax-bad-n3-extras-04.trig create mode 100644 test/TriGTests/trig-syntax-bad-n3-extras-05.trig create mode 100644 test/TriGTests/trig-syntax-bad-n3-extras-06.trig create mode 100644 test/TriGTests/trig-syntax-bad-n3-extras-07.trig create mode 100644 test/TriGTests/trig-syntax-bad-n3-extras-08.trig create mode 100644 test/TriGTests/trig-syntax-bad-n3-extras-09.trig create mode 100644 test/TriGTests/trig-syntax-bad-n3-extras-10.trig create mode 100644 test/TriGTests/trig-syntax-bad-n3-extras-11.trig create mode 100644 test/TriGTests/trig-syntax-bad-n3-extras-12.trig create mode 100644 test/TriGTests/trig-syntax-bad-n3-extras-13.trig create mode 100644 test/TriGTests/trig-syntax-bad-ns-dot-end.trig create mode 100644 test/TriGTests/trig-syntax-bad-ns-dot-start.trig create mode 100644 test/TriGTests/trig-syntax-bad-num-01.trig create mode 100644 test/TriGTests/trig-syntax-bad-num-02.trig create mode 100644 test/TriGTests/trig-syntax-bad-num-03.trig create mode 100644 test/TriGTests/trig-syntax-bad-num-04.trig create mode 100644 test/TriGTests/trig-syntax-bad-num-05.trig create mode 100644 test/TriGTests/trig-syntax-bad-number-dot-in-anon.trig create mode 100644 test/TriGTests/trig-syntax-bad-pname-01.trig create mode 100644 test/TriGTests/trig-syntax-bad-pname-02.trig create mode 100644 test/TriGTests/trig-syntax-bad-pname-03.trig create mode 100644 test/TriGTests/trig-syntax-bad-prefix-01.trig create mode 100644 test/TriGTests/trig-syntax-bad-prefix-02.trig create mode 100644 test/TriGTests/trig-syntax-bad-prefix-03.trig create mode 100644 test/TriGTests/trig-syntax-bad-prefix-04.trig create mode 100644 test/TriGTests/trig-syntax-bad-prefix-05.trig create mode 100644 test/TriGTests/trig-syntax-bad-prefix-06.trig create mode 100644 test/TriGTests/trig-syntax-bad-prefix-07.trig create mode 100644 test/TriGTests/trig-syntax-bad-string-01.trig create mode 100644 test/TriGTests/trig-syntax-bad-string-02.trig create mode 100644 test/TriGTests/trig-syntax-bad-string-03.trig create mode 100644 test/TriGTests/trig-syntax-bad-string-04.trig create mode 100644 test/TriGTests/trig-syntax-bad-string-05.trig create mode 100644 test/TriGTests/trig-syntax-bad-string-06.trig create mode 100644 test/TriGTests/trig-syntax-bad-string-07.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-02.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-03.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-04.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-05.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-06.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-07.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-09.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-10.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-12.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-13.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-14.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-15.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-16.trig create mode 100644 test/TriGTests/trig-syntax-bad-struct-17.trig create mode 100644 test/TriGTests/trig-syntax-bad-uri-01.trig create mode 100644 test/TriGTests/trig-syntax-bad-uri-02.trig create mode 100644 test/TriGTests/trig-syntax-bad-uri-03.trig create mode 100644 test/TriGTests/trig-syntax-bad-uri-04.trig create mode 100644 test/TriGTests/trig-syntax-bad-uri-05.trig create mode 100644 test/TriGTests/trig-syntax-base-01.trig create mode 100644 test/TriGTests/trig-syntax-base-02.trig create mode 100644 test/TriGTests/trig-syntax-base-03.trig create mode 100644 test/TriGTests/trig-syntax-base-04.trig create mode 100644 test/TriGTests/trig-syntax-blank-label.trig create mode 100644 test/TriGTests/trig-syntax-bnode-01.trig create mode 100644 test/TriGTests/trig-syntax-bnode-02.trig create mode 100644 test/TriGTests/trig-syntax-bnode-03.trig create mode 100644 test/TriGTests/trig-syntax-bnode-04.trig create mode 100644 test/TriGTests/trig-syntax-bnode-05.trig create mode 100644 test/TriGTests/trig-syntax-bnode-06.trig create mode 100644 test/TriGTests/trig-syntax-bnode-07.trig create mode 100644 test/TriGTests/trig-syntax-bnode-08.trig create mode 100644 test/TriGTests/trig-syntax-bnode-09.trig create mode 100644 test/TriGTests/trig-syntax-bnode-10.trig create mode 100644 test/TriGTests/trig-syntax-datatypes-01.trig create mode 100644 test/TriGTests/trig-syntax-datatypes-02.trig create mode 100644 test/TriGTests/trig-syntax-file-01.trig create mode 100644 test/TriGTests/trig-syntax-file-02.trig create mode 100644 test/TriGTests/trig-syntax-file-03.trig create mode 100644 test/TriGTests/trig-syntax-kw-01.trig create mode 100644 test/TriGTests/trig-syntax-kw-02.trig create mode 100644 test/TriGTests/trig-syntax-kw-03.trig create mode 100644 test/TriGTests/trig-syntax-lists-01.trig create mode 100644 test/TriGTests/trig-syntax-lists-02.trig create mode 100644 test/TriGTests/trig-syntax-lists-03.trig create mode 100644 test/TriGTests/trig-syntax-lists-04.trig create mode 100644 test/TriGTests/trig-syntax-lists-05.trig create mode 100644 test/TriGTests/trig-syntax-ln-colons.trig create mode 100644 test/TriGTests/trig-syntax-ln-dots.trig create mode 100644 test/TriGTests/trig-syntax-minimal-whitespace-01.trig create mode 100644 test/TriGTests/trig-syntax-ns-dots.trig create mode 100644 test/TriGTests/trig-syntax-number-01.trig create mode 100644 test/TriGTests/trig-syntax-number-02.trig create mode 100644 test/TriGTests/trig-syntax-number-03.trig create mode 100644 test/TriGTests/trig-syntax-number-04.trig create mode 100644 test/TriGTests/trig-syntax-number-05.trig create mode 100644 test/TriGTests/trig-syntax-number-06.trig create mode 100644 test/TriGTests/trig-syntax-number-07.trig create mode 100644 test/TriGTests/trig-syntax-number-08.trig create mode 100644 test/TriGTests/trig-syntax-number-09.trig create mode 100644 test/TriGTests/trig-syntax-number-10.trig create mode 100644 test/TriGTests/trig-syntax-number-11.trig create mode 100644 test/TriGTests/trig-syntax-pname-esc-01.trig create mode 100644 test/TriGTests/trig-syntax-pname-esc-02.trig create mode 100644 test/TriGTests/trig-syntax-pname-esc-03.trig create mode 100644 test/TriGTests/trig-syntax-prefix-01.trig create mode 100644 test/TriGTests/trig-syntax-prefix-02.trig create mode 100644 test/TriGTests/trig-syntax-prefix-03.trig create mode 100644 test/TriGTests/trig-syntax-prefix-04.trig create mode 100644 test/TriGTests/trig-syntax-prefix-05.trig create mode 100644 test/TriGTests/trig-syntax-prefix-06.trig create mode 100644 test/TriGTests/trig-syntax-prefix-07.trig create mode 100644 test/TriGTests/trig-syntax-prefix-08.trig create mode 100644 test/TriGTests/trig-syntax-prefix-09.trig create mode 100644 test/TriGTests/trig-syntax-str-esc-01.trig create mode 100644 test/TriGTests/trig-syntax-str-esc-02.trig create mode 100644 test/TriGTests/trig-syntax-str-esc-03.trig create mode 100644 test/TriGTests/trig-syntax-string-01.trig create mode 100644 test/TriGTests/trig-syntax-string-02.trig create mode 100644 test/TriGTests/trig-syntax-string-03.trig create mode 100644 test/TriGTests/trig-syntax-string-04.trig create mode 100644 test/TriGTests/trig-syntax-string-05.trig create mode 100644 test/TriGTests/trig-syntax-string-06.trig create mode 100644 test/TriGTests/trig-syntax-string-07.trig create mode 100644 test/TriGTests/trig-syntax-string-08.trig create mode 100644 test/TriGTests/trig-syntax-string-09.trig create mode 100644 test/TriGTests/trig-syntax-string-10.trig create mode 100644 test/TriGTests/trig-syntax-string-11.trig create mode 100644 test/TriGTests/trig-syntax-struct-01.trig create mode 100644 test/TriGTests/trig-syntax-struct-02.trig create mode 100644 test/TriGTests/trig-syntax-struct-03.trig create mode 100644 test/TriGTests/trig-syntax-struct-04.trig create mode 100644 test/TriGTests/trig-syntax-struct-05.trig create mode 100644 test/TriGTests/trig-syntax-struct-06.trig create mode 100644 test/TriGTests/trig-syntax-struct-07.trig create mode 100644 test/TriGTests/trig-syntax-uri-01.trig create mode 100644 test/TriGTests/trig-syntax-uri-02.trig create mode 100644 test/TriGTests/trig-syntax-uri-03.trig create mode 100644 test/TriGTests/trig-syntax-uri-04.trig create mode 100644 test/TriGTests/trig-turtle-01.trig create mode 100644 test/TriGTests/trig-turtle-02.trig create mode 100644 test/TriGTests/trig-turtle-03.trig create mode 100644 test/TriGTests/trig-turtle-04.trig create mode 100644 test/TriGTests/trig-turtle-05.trig create mode 100644 test/TriGTests/trig-turtle-06.trig create mode 100644 test/TriGTests/trig-turtle-bad-01.trig create mode 100644 test/TriGTests/trig-turtle-bad-02.trig create mode 100644 test/TriGTests/two_LITERAL_LONG2s.nq create mode 100644 test/TriGTests/two_LITERAL_LONG2s.trig create mode 100644 test/TriGTests/underscore_in_localName.nq create mode 100644 test/TriGTests/underscore_in_localName.trig create mode 100644 test/TurtleTests/HYPHEN_MINUS_in_localName.nt create mode 100644 test/TurtleTests/HYPHEN_MINUS_in_localName.ttl create mode 100644 test/TurtleTests/IRIREF_datatype.nt create mode 100644 test/TurtleTests/IRIREF_datatype.ttl create mode 100644 test/TurtleTests/IRI_spo.nt create mode 100644 test/TurtleTests/IRI_subject.ttl create mode 100644 test/TurtleTests/IRI_with_all_punctuation.nt create mode 100644 test/TurtleTests/IRI_with_all_punctuation.ttl create mode 100644 test/TurtleTests/IRI_with_eight_digit_numeric_escape.ttl create mode 100644 test/TurtleTests/IRI_with_four_digit_numeric_escape.ttl create mode 100644 test/TurtleTests/LICENSE create mode 100644 test/TurtleTests/LITERAL1.nt create mode 100644 test/TurtleTests/LITERAL1.ttl create mode 100644 test/TurtleTests/LITERAL1_all_controls.nt create mode 100644 test/TurtleTests/LITERAL1_all_controls.ttl create mode 100644 test/TurtleTests/LITERAL1_all_punctuation.nt create mode 100644 test/TurtleTests/LITERAL1_all_punctuation.ttl create mode 100644 test/TurtleTests/LITERAL1_ascii_boundaries.nt create mode 100644 test/TurtleTests/LITERAL1_ascii_boundaries.ttl create mode 100644 test/TurtleTests/LITERAL1_with_UTF8_boundaries.ttl create mode 100644 test/TurtleTests/LITERAL2.ttl create mode 100644 test/TurtleTests/LITERAL2_ascii_boundaries.nt create mode 100644 test/TurtleTests/LITERAL2_ascii_boundaries.ttl create mode 100644 test/TurtleTests/LITERAL2_with_UTF8_boundaries.ttl create mode 100644 test/TurtleTests/LITERAL_LONG1.ttl create mode 100644 test/TurtleTests/LITERAL_LONG1_ascii_boundaries.nt create mode 100644 test/TurtleTests/LITERAL_LONG1_ascii_boundaries.ttl create mode 100644 test/TurtleTests/LITERAL_LONG1_with_1_squote.nt create mode 100644 test/TurtleTests/LITERAL_LONG1_with_1_squote.ttl create mode 100644 test/TurtleTests/LITERAL_LONG1_with_2_squotes.nt create mode 100644 test/TurtleTests/LITERAL_LONG1_with_2_squotes.ttl create mode 100644 test/TurtleTests/LITERAL_LONG1_with_UTF8_boundaries.ttl create mode 100644 test/TurtleTests/LITERAL_LONG2.ttl create mode 100644 test/TurtleTests/LITERAL_LONG2_ascii_boundaries.nt create mode 100644 test/TurtleTests/LITERAL_LONG2_ascii_boundaries.ttl create mode 100644 test/TurtleTests/LITERAL_LONG2_with_1_squote.nt create mode 100644 test/TurtleTests/LITERAL_LONG2_with_1_squote.ttl create mode 100644 test/TurtleTests/LITERAL_LONG2_with_2_squotes.nt create mode 100644 test/TurtleTests/LITERAL_LONG2_with_2_squotes.ttl create mode 100644 test/TurtleTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.nt create mode 100644 test/TurtleTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.ttl create mode 100644 test/TurtleTests/LITERAL_LONG2_with_UTF8_boundaries.ttl create mode 100644 test/TurtleTests/LITERAL_with_UTF8_boundaries.nt create mode 100644 test/TurtleTests/README create mode 100644 test/TurtleTests/SPARQL_style_base.ttl create mode 100644 test/TurtleTests/SPARQL_style_prefix.ttl create mode 100644 test/TurtleTests/anonymous_blank_node_object.nt create mode 100644 test/TurtleTests/anonymous_blank_node_object.ttl create mode 100644 test/TurtleTests/anonymous_blank_node_subject.nt create mode 100644 test/TurtleTests/anonymous_blank_node_subject.ttl create mode 100644 test/TurtleTests/bareword_a_predicate.nt create mode 100644 test/TurtleTests/bareword_a_predicate.ttl create mode 100644 test/TurtleTests/bareword_decimal.nt create mode 100644 test/TurtleTests/bareword_decimal.ttl create mode 100644 test/TurtleTests/bareword_double.nt create mode 100644 test/TurtleTests/bareword_double.ttl create mode 100644 test/TurtleTests/bareword_integer.ttl create mode 100644 test/TurtleTests/blankNodePropertyList_as_object.nt create mode 100644 test/TurtleTests/blankNodePropertyList_as_object.ttl create mode 100644 test/TurtleTests/blankNodePropertyList_as_subject.nt create mode 100644 test/TurtleTests/blankNodePropertyList_as_subject.ttl create mode 100644 test/TurtleTests/blankNodePropertyList_containing_collection.nt create mode 100644 test/TurtleTests/blankNodePropertyList_containing_collection.ttl create mode 100644 test/TurtleTests/blankNodePropertyList_with_multiple_triples.nt create mode 100644 test/TurtleTests/blankNodePropertyList_with_multiple_triples.ttl create mode 100644 test/TurtleTests/collection_object.nt create mode 100644 test/TurtleTests/collection_object.ttl create mode 100644 test/TurtleTests/collection_subject.nt create mode 100644 test/TurtleTests/collection_subject.ttl create mode 100644 test/TurtleTests/comment_following_PNAME_NS.nt create mode 100644 test/TurtleTests/comment_following_PNAME_NS.ttl create mode 100644 test/TurtleTests/comment_following_localName.ttl create mode 100644 test/TurtleTests/default_namespace_IRI.ttl create mode 100644 test/TurtleTests/double_lower_case_e.nt create mode 100644 test/TurtleTests/double_lower_case_e.ttl create mode 100644 test/TurtleTests/empty_collection.nt create mode 100644 test/TurtleTests/empty_collection.ttl create mode 100644 test/TurtleTests/first.nt create mode 100644 test/TurtleTests/first.ttl create mode 100644 test/TurtleTests/labeled_blank_node_object.nt create mode 100644 test/TurtleTests/labeled_blank_node_object.ttl create mode 100644 test/TurtleTests/labeled_blank_node_subject.nt create mode 100644 test/TurtleTests/labeled_blank_node_subject.ttl create mode 100644 test/TurtleTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.nt create mode 100644 test/TurtleTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.ttl create mode 100644 test/TurtleTests/labeled_blank_node_with_leading_digit.nt create mode 100644 test/TurtleTests/labeled_blank_node_with_leading_digit.ttl create mode 100644 test/TurtleTests/labeled_blank_node_with_leading_underscore.nt create mode 100644 test/TurtleTests/labeled_blank_node_with_leading_underscore.ttl create mode 100644 test/TurtleTests/labeled_blank_node_with_non_leading_extras.nt create mode 100644 test/TurtleTests/labeled_blank_node_with_non_leading_extras.ttl create mode 100644 test/TurtleTests/langtagged_LONG.ttl create mode 100644 test/TurtleTests/langtagged_LONG_with_subtag.nt create mode 100644 test/TurtleTests/langtagged_LONG_with_subtag.ttl create mode 100644 test/TurtleTests/langtagged_non_LONG.nt create mode 100644 test/TurtleTests/langtagged_non_LONG.ttl create mode 100644 test/TurtleTests/lantag_with_subtag.nt create mode 100644 test/TurtleTests/lantag_with_subtag.ttl create mode 100644 test/TurtleTests/last.nt create mode 100644 test/TurtleTests/last.ttl create mode 100644 test/TurtleTests/literal_false.nt create mode 100644 test/TurtleTests/literal_false.ttl create mode 100644 test/TurtleTests/literal_true.nt create mode 100644 test/TurtleTests/literal_true.ttl create mode 100644 test/TurtleTests/literal_with_BACKSPACE.nt create mode 100644 test/TurtleTests/literal_with_BACKSPACE.ttl create mode 100644 test/TurtleTests/literal_with_CARRIAGE_RETURN.nt create mode 100644 test/TurtleTests/literal_with_CARRIAGE_RETURN.ttl create mode 100644 test/TurtleTests/literal_with_CHARACTER_TABULATION.nt create mode 100644 test/TurtleTests/literal_with_CHARACTER_TABULATION.ttl create mode 100644 test/TurtleTests/literal_with_FORM_FEED.nt create mode 100644 test/TurtleTests/literal_with_FORM_FEED.ttl create mode 100644 test/TurtleTests/literal_with_LINE_FEED.nt create mode 100644 test/TurtleTests/literal_with_LINE_FEED.ttl create mode 100644 test/TurtleTests/literal_with_REVERSE_SOLIDUS.nt create mode 100644 test/TurtleTests/literal_with_REVERSE_SOLIDUS.ttl create mode 100644 test/TurtleTests/literal_with_escaped_BACKSPACE.ttl create mode 100644 test/TurtleTests/literal_with_escaped_CARRIAGE_RETURN.ttl create mode 100644 test/TurtleTests/literal_with_escaped_CHARACTER_TABULATION.ttl create mode 100644 test/TurtleTests/literal_with_escaped_FORM_FEED.ttl create mode 100644 test/TurtleTests/literal_with_escaped_LINE_FEED.ttl create mode 100644 test/TurtleTests/literal_with_numeric_escape4.nt create mode 100644 test/TurtleTests/literal_with_numeric_escape4.ttl create mode 100644 test/TurtleTests/literal_with_numeric_escape8.ttl create mode 100644 test/TurtleTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nt create mode 100644 test/TurtleTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.ttl create mode 100644 test/TurtleTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nt create mode 100644 test/TurtleTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.ttl create mode 100644 test/TurtleTests/localName_with_leading_digit.nt create mode 100644 test/TurtleTests/localName_with_leading_digit.ttl create mode 100644 test/TurtleTests/localName_with_leading_underscore.nt create mode 100644 test/TurtleTests/localName_with_leading_underscore.ttl create mode 100644 test/TurtleTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.nt create mode 100644 test/TurtleTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.ttl create mode 100644 test/TurtleTests/localName_with_non_leading_extras.nt create mode 100644 test/TurtleTests/localName_with_non_leading_extras.ttl create mode 100644 test/TurtleTests/localname_with_COLON.nt create mode 100644 test/TurtleTests/localname_with_COLON.ttl create mode 100644 test/TurtleTests/manifest.ttl create mode 100644 test/TurtleTests/negative_numeric.nt create mode 100644 test/TurtleTests/negative_numeric.ttl create mode 100644 test/TurtleTests/nested_blankNodePropertyLists.nt create mode 100644 test/TurtleTests/nested_blankNodePropertyLists.ttl create mode 100644 test/TurtleTests/nested_collection.nt create mode 100644 test/TurtleTests/nested_collection.ttl create mode 100644 test/TurtleTests/number_sign_following_PNAME_NS.nt create mode 100644 test/TurtleTests/number_sign_following_PNAME_NS.ttl create mode 100644 test/TurtleTests/number_sign_following_localName.nt create mode 100644 test/TurtleTests/number_sign_following_localName.ttl create mode 100644 test/TurtleTests/numeric_with_leading_0.nt create mode 100644 test/TurtleTests/numeric_with_leading_0.ttl create mode 100644 test/TurtleTests/objectList_with_two_objects.nt create mode 100644 test/TurtleTests/objectList_with_two_objects.ttl create mode 100644 test/TurtleTests/old_style_base.ttl create mode 100644 test/TurtleTests/old_style_prefix.ttl create mode 100644 test/TurtleTests/percent_escaped_localName.nt create mode 100644 test/TurtleTests/percent_escaped_localName.ttl create mode 100644 test/TurtleTests/positive_numeric.nt create mode 100644 test/TurtleTests/positive_numeric.ttl create mode 100644 test/TurtleTests/predicateObjectList_with_two_objectLists.nt create mode 100644 test/TurtleTests/predicateObjectList_with_two_objectLists.ttl create mode 100644 test/TurtleTests/prefix_only_IRI.ttl create mode 100644 test/TurtleTests/prefix_reassigned_and_used.nt create mode 100644 test/TurtleTests/prefix_reassigned_and_used.ttl create mode 100644 test/TurtleTests/prefix_with_PN_CHARS_BASE_character_boundaries.ttl create mode 100644 test/TurtleTests/prefix_with_non_leading_extras.ttl create mode 100644 test/TurtleTests/prefixed_IRI_object.ttl create mode 100644 test/TurtleTests/prefixed_IRI_predicate.ttl create mode 100644 test/TurtleTests/prefixed_name_datatype.ttl create mode 100644 test/TurtleTests/repeated_semis_at_end.ttl create mode 100644 test/TurtleTests/repeated_semis_not_at_end.nt create mode 100644 test/TurtleTests/repeated_semis_not_at_end.ttl create mode 100644 test/TurtleTests/reserved_escaped_localName.nt create mode 100644 test/TurtleTests/reserved_escaped_localName.ttl create mode 100644 test/TurtleTests/sole_blankNodePropertyList.nt create mode 100644 test/TurtleTests/sole_blankNodePropertyList.ttl create mode 100644 test/TurtleTests/turtle-eval-bad-01.ttl create mode 100644 test/TurtleTests/turtle-eval-bad-02.ttl create mode 100644 test/TurtleTests/turtle-eval-bad-03.ttl create mode 100644 test/TurtleTests/turtle-eval-bad-04.ttl create mode 100644 test/TurtleTests/turtle-eval-struct-01.nt create mode 100644 test/TurtleTests/turtle-eval-struct-01.ttl create mode 100644 test/TurtleTests/turtle-eval-struct-02.nt create mode 100644 test/TurtleTests/turtle-eval-struct-02.ttl create mode 100644 test/TurtleTests/turtle-subm-01.nt create mode 100644 test/TurtleTests/turtle-subm-01.ttl create mode 100644 test/TurtleTests/turtle-subm-02.nt create mode 100644 test/TurtleTests/turtle-subm-02.ttl create mode 100644 test/TurtleTests/turtle-subm-03.nt create mode 100644 test/TurtleTests/turtle-subm-03.ttl create mode 100644 test/TurtleTests/turtle-subm-04.nt create mode 100644 test/TurtleTests/turtle-subm-04.ttl create mode 100644 test/TurtleTests/turtle-subm-05.nt create mode 100644 test/TurtleTests/turtle-subm-05.ttl create mode 100644 test/TurtleTests/turtle-subm-06.nt create mode 100644 test/TurtleTests/turtle-subm-06.ttl create mode 100644 test/TurtleTests/turtle-subm-07.nt create mode 100644 test/TurtleTests/turtle-subm-07.ttl create mode 100644 test/TurtleTests/turtle-subm-08.nt create mode 100644 test/TurtleTests/turtle-subm-08.ttl create mode 100644 test/TurtleTests/turtle-subm-09.nt create mode 100644 test/TurtleTests/turtle-subm-09.ttl create mode 100644 test/TurtleTests/turtle-subm-10.nt create mode 100644 test/TurtleTests/turtle-subm-10.ttl create mode 100644 test/TurtleTests/turtle-subm-11.nt create mode 100644 test/TurtleTests/turtle-subm-11.ttl create mode 100644 test/TurtleTests/turtle-subm-12.nt create mode 100644 test/TurtleTests/turtle-subm-12.ttl create mode 100644 test/TurtleTests/turtle-subm-13.nt create mode 100644 test/TurtleTests/turtle-subm-13.ttl create mode 100644 test/TurtleTests/turtle-subm-14.nt create mode 100644 test/TurtleTests/turtle-subm-14.ttl create mode 100644 test/TurtleTests/turtle-subm-15.nt create mode 100644 test/TurtleTests/turtle-subm-15.ttl create mode 100644 test/TurtleTests/turtle-subm-16.nt create mode 100644 test/TurtleTests/turtle-subm-16.ttl create mode 100644 test/TurtleTests/turtle-subm-17.nt create mode 100644 test/TurtleTests/turtle-subm-17.ttl create mode 100644 test/TurtleTests/turtle-subm-18.nt create mode 100644 test/TurtleTests/turtle-subm-18.ttl create mode 100644 test/TurtleTests/turtle-subm-19.nt create mode 100644 test/TurtleTests/turtle-subm-19.ttl create mode 100644 test/TurtleTests/turtle-subm-20.nt create mode 100644 test/TurtleTests/turtle-subm-20.ttl create mode 100644 test/TurtleTests/turtle-subm-21.nt create mode 100644 test/TurtleTests/turtle-subm-21.ttl create mode 100644 test/TurtleTests/turtle-subm-22.nt create mode 100644 test/TurtleTests/turtle-subm-22.ttl create mode 100644 test/TurtleTests/turtle-subm-23.nt create mode 100644 test/TurtleTests/turtle-subm-23.ttl create mode 100644 test/TurtleTests/turtle-subm-24.nt create mode 100644 test/TurtleTests/turtle-subm-24.ttl create mode 100644 test/TurtleTests/turtle-subm-25.nt create mode 100644 test/TurtleTests/turtle-subm-25.ttl create mode 100644 test/TurtleTests/turtle-subm-26.nt create mode 100644 test/TurtleTests/turtle-subm-26.ttl create mode 100644 test/TurtleTests/turtle-subm-27.nt create mode 100644 test/TurtleTests/turtle-subm-27.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-LITERAL2_with_langtag_and_datatype.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-base-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-base-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-base-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-blank-label-dot-end.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-esc-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-esc-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-esc-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-esc-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-kw-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-kw-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-kw-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-kw-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-kw-05.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-lang-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-ln-dash-start.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-ln-escape-start.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-ln-escape.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-missing-ns-dot-end.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-missing-ns-dot-start.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-n3-extras-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-n3-extras-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-n3-extras-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-n3-extras-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-n3-extras-05.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-n3-extras-06.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-n3-extras-07.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-n3-extras-08.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-n3-extras-09.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-n3-extras-10.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-n3-extras-11.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-n3-extras-12.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-n3-extras-13.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-ns-dot-end.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-ns-dot-start.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-num-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-num-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-num-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-num-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-num-05.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-number-dot-in-anon.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-pname-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-pname-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-pname-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-prefix-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-prefix-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-prefix-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-prefix-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-prefix-05.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-string-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-string-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-string-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-string-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-string-05.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-string-06.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-string-07.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-05.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-06.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-07.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-08.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-09.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-10.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-11.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-12.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-13.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-14.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-15.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-16.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-struct-17.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-uri-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-uri-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-uri-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-uri-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-bad-uri-05.ttl create mode 100644 test/TurtleTests/turtle-syntax-base-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-base-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-base-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-base-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-blank-label.ttl create mode 100644 test/TurtleTests/turtle-syntax-bnode-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-bnode-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-bnode-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-bnode-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-bnode-05.ttl create mode 100644 test/TurtleTests/turtle-syntax-bnode-06.ttl create mode 100644 test/TurtleTests/turtle-syntax-bnode-07.ttl create mode 100644 test/TurtleTests/turtle-syntax-bnode-08.ttl create mode 100644 test/TurtleTests/turtle-syntax-bnode-09.ttl create mode 100644 test/TurtleTests/turtle-syntax-bnode-10.ttl create mode 100644 test/TurtleTests/turtle-syntax-datatypes-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-datatypes-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-file-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-file-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-file-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-kw-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-kw-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-kw-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-lists-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-lists-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-lists-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-lists-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-lists-05.ttl create mode 100644 test/TurtleTests/turtle-syntax-ln-colons.ttl create mode 100644 test/TurtleTests/turtle-syntax-ln-dots.ttl create mode 100644 test/TurtleTests/turtle-syntax-ns-dots.ttl create mode 100644 test/TurtleTests/turtle-syntax-number-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-number-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-number-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-number-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-number-05.ttl create mode 100644 test/TurtleTests/turtle-syntax-number-06.ttl create mode 100644 test/TurtleTests/turtle-syntax-number-07.ttl create mode 100644 test/TurtleTests/turtle-syntax-number-08.ttl create mode 100644 test/TurtleTests/turtle-syntax-number-09.ttl create mode 100644 test/TurtleTests/turtle-syntax-number-10.ttl create mode 100644 test/TurtleTests/turtle-syntax-number-11.ttl create mode 100644 test/TurtleTests/turtle-syntax-pname-esc-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-pname-esc-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-pname-esc-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-prefix-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-prefix-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-prefix-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-prefix-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-prefix-05.ttl create mode 100644 test/TurtleTests/turtle-syntax-prefix-06.ttl create mode 100644 test/TurtleTests/turtle-syntax-prefix-07.ttl create mode 100644 test/TurtleTests/turtle-syntax-prefix-08.ttl create mode 100644 test/TurtleTests/turtle-syntax-prefix-09.ttl create mode 100644 test/TurtleTests/turtle-syntax-str-esc-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-str-esc-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-str-esc-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-string-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-string-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-string-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-string-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-string-05.ttl create mode 100644 test/TurtleTests/turtle-syntax-string-06.ttl create mode 100644 test/TurtleTests/turtle-syntax-string-07.ttl create mode 100644 test/TurtleTests/turtle-syntax-string-08.ttl create mode 100644 test/TurtleTests/turtle-syntax-string-09.ttl create mode 100644 test/TurtleTests/turtle-syntax-string-10.ttl create mode 100644 test/TurtleTests/turtle-syntax-string-11.ttl create mode 100644 test/TurtleTests/turtle-syntax-struct-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-struct-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-struct-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-struct-04.ttl create mode 100644 test/TurtleTests/turtle-syntax-struct-05.ttl create mode 100644 test/TurtleTests/turtle-syntax-uri-01.ttl create mode 100644 test/TurtleTests/turtle-syntax-uri-02.ttl create mode 100644 test/TurtleTests/turtle-syntax-uri-03.ttl create mode 100644 test/TurtleTests/turtle-syntax-uri-04.ttl create mode 100644 test/TurtleTests/two_LITERAL_LONG2s.nt create mode 100644 test/TurtleTests/two_LITERAL_LONG2s.ttl create mode 100644 test/TurtleTests/underscore_in_localName.nt create mode 100644 test/TurtleTests/underscore_in_localName.ttl create mode 100644 test/bad/bad-00.ttl create mode 100644 test/bad/bad-01.ttl create mode 100644 test/bad/bad-02.ttl create mode 100644 test/bad/bad-03.ttl create mode 100644 test/bad/bad-04.ttl create mode 100644 test/bad/bad-05.ttl create mode 100644 test/bad/bad-06.ttl create mode 100644 test/bad/bad-07.ttl create mode 100644 test/bad/bad-08.ttl create mode 100644 test/bad/bad-09.ttl create mode 100644 test/bad/bad-10.ttl create mode 100644 test/bad/bad-11.ttl create mode 100644 test/bad/bad-12.ttl create mode 100644 test/bad/bad-13.ttl create mode 100644 test/bad/bad-14.ttl create mode 100644 test/bad/bad-base.ttl create mode 100644 test/bad/bad-blank.ttl create mode 100644 test/bad/bad-bom.ttl create mode 100644 test/bad/bad-char-in-local.ttl create mode 100644 test/bad/bad-char-in-prefix.ttl create mode 100644 test/bad/bad-char-in-uri.ttl create mode 100644 test/bad/bad-datatype.ttl create mode 100644 test/bad/bad-dot-after-subject.ttl create mode 100644 test/bad/bad-dot-in-collection.ttl create mode 100644 test/bad/bad-eof-after-quotes.ttl create mode 100644 test/bad/bad-eof-at-string-start.ttl create mode 100644 test/bad/bad-eof-in-blank.ttl create mode 100644 test/bad/bad-eof-in-escape.ttl create mode 100644 test/bad/bad-eof-in-lang-suffix.ttl create mode 100644 test/bad/bad-eof-in-lang.ttl create mode 100644 test/bad/bad-eof-in-list.ttl create mode 100644 test/bad/bad-eof-in-long-string.ttl create mode 100644 test/bad/bad-eof-in-object-list.ttl create mode 100644 test/bad/bad-eof-in-object-list2.ttl create mode 100644 test/bad/bad-eof-in-predicate-list.ttl create mode 100644 test/bad/bad-eof-in-string.ttl create mode 100644 test/bad/bad-eof-in-triple-quote.ttl create mode 100644 test/bad/bad-eof-in-uri-scheme.nt create mode 100644 test/bad/bad-eof-in-uri.ttl create mode 100644 test/bad/bad-escape.ttl create mode 100644 test/bad/bad-ext-namedblank-op.ttl create mode 100644 test/bad/bad-graph-blank-label.trig create mode 100644 test/bad/bad-hex-digit.ttl create mode 100644 test/bad/bad-id-clash.ttl create mode 100644 test/bad/bad-lang.ttl create mode 100644 test/bad/bad-list.ttl create mode 100644 test/bad/bad-list2.ttl create mode 100644 test/bad/bad-long-literal-in-list.ttl create mode 100644 test/bad/bad-missing-semi.ttl create mode 100644 test/bad/bad-missing-uri-scheme.nt create mode 100644 test/bad/bad-misspelled-base.ttl create mode 100644 test/bad/bad-misspelled-prefix.ttl create mode 100644 test/bad/bad-namespace.ttl create mode 100644 test/bad/bad-ns.ttl create mode 100644 test/bad/bad-null-byte.ttl create mode 100644 test/bad/bad-num.ttl create mode 100644 test/bad/bad-object.ttl create mode 100644 test/bad/bad-object2.ttl create mode 100644 test/bad/bad-pn-escape.ttl create mode 100644 test/bad/bad-prefix.ttl create mode 100644 test/bad/bad-semicolon-after-subject.ttl create mode 100644 test/bad/bad-string.ttl create mode 100644 test/bad/bad-subject.ttl create mode 100644 test/bad/bad-uri-escape.ttl create mode 100644 test/bad/bad-uri-scheme-start.nt create mode 100644 test/bad/bad-uri-scheme.nt create mode 100644 test/bad/bad-uri-truncated.nt create mode 100644 test/bad/bad-verb.ttl create mode 100644 test/bad/invalid-char-in-local.ttl create mode 100644 test/bad/invalid-char-in-prefix.ttl create mode 100644 test/bad/manifest.ttl create mode 100644 test/env_test.c create mode 100644 test/free_null_test.c create mode 100644 test/good/README.txt create mode 100644 test/good/UTF-8.nt create mode 100644 test/good/UTF-8.ttl create mode 100644 test/good/base.nt create mode 100644 test/good/base.ttl create mode 100644 test/good/manifest.ttl create mode 100644 test/good/qualify-in.ttl create mode 100644 test/good/qualify-out.ttl create mode 100644 test/good/test-14.nt create mode 100644 test/good/test-14.ttl create mode 100644 test/good/test-15.nt create mode 100644 test/good/test-15.ttl create mode 100644 test/good/test-16.nt create mode 100644 test/good/test-16.ttl create mode 100644 test/good/test-18.nt create mode 100644 test/good/test-18.ttl create mode 100644 test/good/test-30.nt create mode 100644 test/good/test-30.ttl create mode 100644 test/good/test-a-without-whitespace.nt create mode 100644 test/good/test-a-without-whitespace.ttl create mode 100644 test/good/test-backspace.nt create mode 100644 test/good/test-backspace.ttl create mode 100644 test/good/test-base-nopath.nt create mode 100644 test/good/test-base-nopath.ttl create mode 100644 test/good/test-base-query.nt create mode 100644 test/good/test-base-query.ttl create mode 100644 test/good/test-blank-cont.nt create mode 100644 test/good/test-blank-cont.ttl create mode 100644 test/good/test-blank-in-list.nt create mode 100644 test/good/test-blank-in-list.ttl create mode 100644 test/good/test-blank-node-statement.nt create mode 100644 test/good/test-blank-node-statement.ttl create mode 100644 test/good/test-blankdot.nt create mode 100644 test/good/test-blankdot.ttl create mode 100644 test/good/test-bom.nt create mode 100644 test/good/test-bom.ttl create mode 100644 test/good/test-cr.nt create mode 100644 test/good/test-cr.ttl create mode 100644 test/good/test-delete.nt create mode 100644 test/good/test-delete.ttl create mode 100644 test/good/test-digit-start-pname.nt create mode 100644 test/good/test-digit-start-pname.ttl create mode 100644 test/good/test-empty-path-base.nt create mode 100644 test/good/test-empty-path-base.ttl create mode 100644 test/good/test-empty.nt create mode 100644 test/good/test-empty.ttl create mode 100644 test/good/test-eof-at-page-end.nt create mode 100644 test/good/test-eof-at-page-end.ttl create mode 100644 test/good/test-escapes.nt create mode 100644 test/good/test-escapes.ttl create mode 100644 test/good/test-ext-namedblank-iri.nt create mode 100644 test/good/test-ext-namedblank-iri.ttl create mode 100644 test/good/test-ext-namedblank-prefix.nt create mode 100644 test/good/test-ext-namedblank-prefix.ttl create mode 100644 test/good/test-form-feed.nt create mode 100644 test/good/test-form-feed.ttl create mode 100644 test/good/test-id.nt create mode 100644 test/good/test-id.ttl create mode 100644 test/good/test-lang.nt create mode 100644 test/good/test-lang.ttl create mode 100644 test/good/test-list-in-blank.nt create mode 100644 test/good/test-list-in-blank.ttl create mode 100644 test/good/test-list-subject.nt create mode 100644 test/good/test-list-subject.ttl create mode 100644 test/good/test-list.nt create mode 100644 test/good/test-list.ttl create mode 100644 test/good/test-local-name-ends-with-dot.ttl create mode 100644 test/good/test-long-string.nt create mode 100644 test/good/test-long-string.ttl create mode 100644 test/good/test-no-spaces.nt create mode 100644 test/good/test-no-spaces.ttl create mode 100644 test/good/test-non-curie-uri.nt create mode 100644 test/good/test-non-curie-uri.ttl create mode 100644 test/good/test-num.nt create mode 100644 test/good/test-num.ttl create mode 100644 test/good/test-out-of-range-unicode.nt create mode 100644 test/good/test-out-of-range-unicode.ttl create mode 100644 test/good/test-prefix.nt create mode 100644 test/good/test-prefix.ttl create mode 100644 test/good/test-pretty.nt create mode 100644 test/good/test-pretty.ttl create mode 100644 test/good/test-rel.nt create mode 100644 test/good/test-rel.ttl create mode 100644 test/good/test-semi-dot.nt create mode 100644 test/good/test-semi-dot.ttl create mode 100644 test/good/test-several-eaten-dots.nq create mode 100644 test/good/test-several-eaten-dots.trig create mode 100644 test/good/test-uri-escape.nt create mode 100644 test/good/test-uri-escape.ttl create mode 100644 test/good/test-uri.nt create mode 100644 test/good/test-uri.ttl create mode 100644 test/good/test-utf8-uri.nt create mode 100644 test/good/test-utf8-uri.ttl create mode 100644 test/lax/manifest.ttl create mode 100644 test/lax/test-bad-uri.nt create mode 100644 test/lax/test-bad-uri.ttl create mode 100644 test/lax/test-bad-utf8.nt create mode 100644 test/lax/test-bad-utf8.ttl create mode 100644 test/read_chunk_test.c create mode 100644 test/serd_test.c (limited to 'test') diff --git a/test/NQuadsTests/README b/test/NQuadsTests/README new file mode 100644 index 00000000..7aef79dd --- /dev/null +++ b/test/NQuadsTests/README @@ -0,0 +1,25 @@ +This README is for the W3C RDF Working Group's N-Quads test suite. +This test suite contains two kinds of tests: + + Positive syntax (rdft:TestNQuadsPositiveSyntax) - an input N-Quads + file with no syntax errors. + + Negative syntax (rdft:TestNQuadsNegativeSyntax) - an input N-Quads + file with at least one syntax error. + +The manifest.ttl file in this directory lists tests in the +RDF WG's N-Quads test suite. All +tests have a name (mf:name) and an input (mf:action). + +• An implementation passes a positive syntax test if it parses the + input. + +• An implementation passes a negative syntax test if it fails to parse + the input. + +The home of the test suite is . + +See http://www.w3.org/2011/rdf-wg/wiki/RDF_Test_Suites for more details. + +Eric Prud'hommeaux - 11 June 2013. +Gregg Kellogg - 26 June 2013. diff --git a/test/NQuadsTests/comment_following_triple.nq b/test/NQuadsTests/comment_following_triple.nq new file mode 100644 index 00000000..5619459a --- /dev/null +++ b/test/NQuadsTests/comment_following_triple.nq @@ -0,0 +1,5 @@ + . # comment + _:o . # comment + "o" . # comment + "o"^^ . # comment + "o"@en . # comment diff --git a/test/NQuadsTests/langtagged_string.nq b/test/NQuadsTests/langtagged_string.nq new file mode 100644 index 00000000..1bddb04e --- /dev/null +++ b/test/NQuadsTests/langtagged_string.nq @@ -0,0 +1 @@ + "chat"@en . diff --git a/test/NQuadsTests/lantag_with_subtag.nq b/test/NQuadsTests/lantag_with_subtag.nq new file mode 100644 index 00000000..629cbf42 --- /dev/null +++ b/test/NQuadsTests/lantag_with_subtag.nq @@ -0,0 +1 @@ + "Cheers"@en-UK . diff --git a/test/NQuadsTests/literal.nq b/test/NQuadsTests/literal.nq new file mode 100644 index 00000000..3aba89e4 --- /dev/null +++ b/test/NQuadsTests/literal.nq @@ -0,0 +1 @@ + "x" . diff --git a/test/NQuadsTests/literal_all_controls.nq b/test/NQuadsTests/literal_all_controls.nq new file mode 100644 index 00000000..91c8af14 --- /dev/null +++ b/test/NQuadsTests/literal_all_controls.nq @@ -0,0 +1 @@ + "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\t\u000B\u000C\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" . diff --git a/test/NQuadsTests/literal_all_punctuation.nq b/test/NQuadsTests/literal_all_punctuation.nq new file mode 100644 index 00000000..c25d818f --- /dev/null +++ b/test/NQuadsTests/literal_all_punctuation.nq @@ -0,0 +1 @@ + " !\"#$%&():;<=>?@[]^_`{|}~" . diff --git a/test/NQuadsTests/literal_ascii_boundaries.nq b/test/NQuadsTests/literal_ascii_boundaries.nq new file mode 100644 index 00000000..7a4dc717 Binary files /dev/null and b/test/NQuadsTests/literal_ascii_boundaries.nq differ diff --git a/test/NQuadsTests/literal_false.nq b/test/NQuadsTests/literal_false.nq new file mode 100644 index 00000000..5bbbae84 --- /dev/null +++ b/test/NQuadsTests/literal_false.nq @@ -0,0 +1 @@ + "false"^^ . diff --git a/test/NQuadsTests/literal_true.nq b/test/NQuadsTests/literal_true.nq new file mode 100644 index 00000000..054b229f --- /dev/null +++ b/test/NQuadsTests/literal_true.nq @@ -0,0 +1 @@ + "true"^^ . diff --git a/test/NQuadsTests/literal_with_2_dquotes.nq b/test/NQuadsTests/literal_with_2_dquotes.nq new file mode 100644 index 00000000..3e69dc10 --- /dev/null +++ b/test/NQuadsTests/literal_with_2_dquotes.nq @@ -0,0 +1 @@ + "x\"\"y" . diff --git a/test/NQuadsTests/literal_with_2_squotes.nq b/test/NQuadsTests/literal_with_2_squotes.nq new file mode 100644 index 00000000..8ddc52e8 --- /dev/null +++ b/test/NQuadsTests/literal_with_2_squotes.nq @@ -0,0 +1 @@ + "x''y" . diff --git a/test/NQuadsTests/literal_with_BACKSPACE.nq b/test/NQuadsTests/literal_with_BACKSPACE.nq new file mode 100644 index 00000000..339013df --- /dev/null +++ b/test/NQuadsTests/literal_with_BACKSPACE.nq @@ -0,0 +1 @@ + "\b" . diff --git a/test/NQuadsTests/literal_with_CARRIAGE_RETURN.nq b/test/NQuadsTests/literal_with_CARRIAGE_RETURN.nq new file mode 100644 index 00000000..91b85c89 --- /dev/null +++ b/test/NQuadsTests/literal_with_CARRIAGE_RETURN.nq @@ -0,0 +1 @@ + "\r" . diff --git a/test/NQuadsTests/literal_with_CHARACTER_TABULATION.nq b/test/NQuadsTests/literal_with_CHARACTER_TABULATION.nq new file mode 100644 index 00000000..a6a9d9f0 --- /dev/null +++ b/test/NQuadsTests/literal_with_CHARACTER_TABULATION.nq @@ -0,0 +1 @@ + "\t" . diff --git a/test/NQuadsTests/literal_with_FORM_FEED.nq b/test/NQuadsTests/literal_with_FORM_FEED.nq new file mode 100644 index 00000000..10d2c6d7 --- /dev/null +++ b/test/NQuadsTests/literal_with_FORM_FEED.nq @@ -0,0 +1 @@ + "\f" . diff --git a/test/NQuadsTests/literal_with_LINE_FEED.nq b/test/NQuadsTests/literal_with_LINE_FEED.nq new file mode 100644 index 00000000..462f97ac --- /dev/null +++ b/test/NQuadsTests/literal_with_LINE_FEED.nq @@ -0,0 +1 @@ + "\n" . diff --git a/test/NQuadsTests/literal_with_REVERSE_SOLIDUS.nq b/test/NQuadsTests/literal_with_REVERSE_SOLIDUS.nq new file mode 100644 index 00000000..ebc846ed --- /dev/null +++ b/test/NQuadsTests/literal_with_REVERSE_SOLIDUS.nq @@ -0,0 +1 @@ + "\\" . diff --git a/test/NQuadsTests/literal_with_REVERSE_SOLIDUS2.nq b/test/NQuadsTests/literal_with_REVERSE_SOLIDUS2.nq new file mode 100644 index 00000000..586e364d --- /dev/null +++ b/test/NQuadsTests/literal_with_REVERSE_SOLIDUS2.nq @@ -0,0 +1 @@ + "test-\\" . diff --git a/test/NQuadsTests/literal_with_UTF8_boundaries.nq b/test/NQuadsTests/literal_with_UTF8_boundaries.nq new file mode 100644 index 00000000..0e1616db --- /dev/null +++ b/test/NQuadsTests/literal_with_UTF8_boundaries.nq @@ -0,0 +1 @@ + "€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽" . diff --git a/test/NQuadsTests/literal_with_dquote.nq b/test/NQuadsTests/literal_with_dquote.nq new file mode 100644 index 00000000..05a1fd3a --- /dev/null +++ b/test/NQuadsTests/literal_with_dquote.nq @@ -0,0 +1 @@ + "x\"y" . diff --git a/test/NQuadsTests/literal_with_numeric_escape4.nq b/test/NQuadsTests/literal_with_numeric_escape4.nq new file mode 100644 index 00000000..16f0a036 --- /dev/null +++ b/test/NQuadsTests/literal_with_numeric_escape4.nq @@ -0,0 +1 @@ + "\u006F" . diff --git a/test/NQuadsTests/literal_with_numeric_escape8.nq b/test/NQuadsTests/literal_with_numeric_escape8.nq new file mode 100644 index 00000000..e909a79d --- /dev/null +++ b/test/NQuadsTests/literal_with_numeric_escape8.nq @@ -0,0 +1 @@ + "\U0000006F" . diff --git a/test/NQuadsTests/literal_with_squote.nq b/test/NQuadsTests/literal_with_squote.nq new file mode 100644 index 00000000..acf7f58f --- /dev/null +++ b/test/NQuadsTests/literal_with_squote.nq @@ -0,0 +1 @@ + "x'y" . diff --git a/test/NQuadsTests/manifest.ttl b/test/NQuadsTests/manifest.ttl new file mode 100644 index 00000000..eb5f5508 --- /dev/null +++ b/test/NQuadsTests/manifest.ttl @@ -0,0 +1,695 @@ +# N-Quads Syntax tests + +@prefix rdfs: . +@prefix mf: . +@prefix qt: . + +@prefix rdft: . + +<> a mf:Manifest ; + mf:name "N-Quads tests" ; + mf:entries + ( + <#nq-syntax-uri-01> + <#nq-syntax-uri-02> + <#nq-syntax-uri-03> + <#nq-syntax-uri-04> + <#nq-syntax-uri-05> + <#nq-syntax-uri-06> + <#nq-syntax-bnode-01> + <#nq-syntax-bnode-02> + <#nq-syntax-bnode-03> + <#nq-syntax-bnode-04> + <#nq-syntax-bnode-05> + <#nq-syntax-bnode-06> + <#nq-syntax-bad-literal-01> + <#nq-syntax-bad-literal-02> + <#nq-syntax-bad-literal-03> + <#nq-syntax-bad-uri-01> + <#nq-syntax-bad-quint-01> + <#nt-syntax-file-01> + <#nt-syntax-file-02> + <#nt-syntax-file-03> + <#nt-syntax-uri-01> + <#nt-syntax-uri-02> + <#nt-syntax-uri-03> + <#nt-syntax-uri-04> + <#nt-syntax-string-01> + <#nt-syntax-string-02> + <#nt-syntax-string-03> + <#nt-syntax-str-esc-01> + <#nt-syntax-str-esc-02> + <#nt-syntax-str-esc-03> + <#nt-syntax-bnode-01> + <#nt-syntax-bnode-02> + <#nt-syntax-bnode-03> + <#nt-syntax-datatypes-01> + <#nt-syntax-datatypes-02> + <#nt-syntax-bad-uri-01> + <#nt-syntax-bad-uri-02> + <#nt-syntax-bad-uri-03> + <#nt-syntax-bad-uri-04> + <#nt-syntax-bad-uri-05> + <#nt-syntax-bad-uri-06> + <#nt-syntax-bad-uri-07> + <#nt-syntax-bad-uri-08> + <#nt-syntax-bad-uri-09> + <#nt-syntax-bad-prefix-01> + <#nt-syntax-bad-base-01> + <#nt-syntax-bad-struct-01> + <#nt-syntax-bad-struct-02> + <#nt-syntax-bad-lang-01> + <#nt-syntax-bad-esc-01> + <#nt-syntax-bad-esc-02> + <#nt-syntax-bad-esc-03> + <#nt-syntax-bad-string-01> + <#nt-syntax-bad-string-02> + <#nt-syntax-bad-string-03> + <#nt-syntax-bad-string-04> + <#nt-syntax-bad-string-05> + <#nt-syntax-bad-string-06> + <#nt-syntax-bad-string-07> + <#nt-syntax-bad-num-01> + <#nt-syntax-bad-num-02> + <#nt-syntax-bad-num-03> + <#nt-syntax-subm-01> + <#comment_following_triple> + <#literal> + <#literal_all_controls> + <#literal_all_punctuation> + <#literal_ascii_boundaries> + <#literal_with_2_dquotes> + <#literal_with_2_squotes> + <#literal_with_BACKSPACE> + <#literal_with_CARRIAGE_RETURN> + <#literal_with_CHARACTER_TABULATION> + <#literal_with_dquote> + <#literal_with_FORM_FEED> + <#literal_with_LINE_FEED> + <#literal_with_numeric_escape4> + <#literal_with_numeric_escape8> + <#literal_with_REVERSE_SOLIDUS> + <#literal_with_REVERSE_SOLIDUS2> + <#literal_with_squote> + <#literal_with_UTF8_boundaries> + <#langtagged_string> + <#lantag_with_subtag> + <#minimal_whitespace> + ) . + +<#nq-syntax-uri-01> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nq-syntax-uri-01" ; + rdfs:comment "URI graph with URI triple" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-uri-02> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nq-syntax-uri-02" ; + rdfs:comment "URI graph with BNode subject" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-uri-03> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nq-syntax-uri-03" ; + rdfs:comment "URI graph with BNode object" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-uri-04> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nq-syntax-uri-04" ; + rdfs:comment "URI graph with simple literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-uri-05> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nq-syntax-uri-05" ; + rdfs:comment "URI graph with language tagged literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-uri-06> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nq-syntax-uri-06" ; + rdfs:comment "URI graph with datatyped literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-bnode-01> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nq-syntax-bnode-01" ; + rdfs:comment "BNode graph with URI triple" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-bnode-02> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nq-syntax-bnode-02" ; + rdfs:comment "BNode graph with BNode subject" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-bnode-03> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nq-syntax-bnode-03" ; + rdfs:comment "BNode graph with BNode object" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-bnode-04> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nq-syntax-bnode-04" ; + rdfs:comment "BNode graph with simple literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-bnode-05> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nq-syntax-bnode-05" ; + rdfs:comment "BNode graph with language tagged literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-bnode-06> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nq-syntax-bnode-06" ; + rdfs:comment "BNode graph with datatyped literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-bad-literal-01> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nq-syntax-bad-literal-01" ; + rdfs:comment "Graph name may not be a simple literal (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-bad-literal-02> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nq-syntax-bad-literal-02" ; + rdfs:comment "Graph name may not be a language tagged literal (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-bad-literal-03> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nq-syntax-bad-literal-03" ; + rdfs:comment "Graph name may not be a datatyped literal (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-bad-uri-01> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nq-syntax-bad-uri-01" ; + rdfs:comment "Graph name URI must be absolute (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nq-syntax-bad-quint-01> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nq-syntax-bad-quint-01" ; + rdfs:comment "N-Quads does not have a fifth element (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-file-01> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-file-01" ; + rdfs:comment "Empty file" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-file-02> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-file-02" ; + rdfs:comment "Only comment" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-file-03> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-file-03" ; + rdfs:comment "One comment, one empty line" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-uri-01> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-uri-01" ; + rdfs:comment "Only IRIs" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-uri-02> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-uri-02" ; + rdfs:comment "IRIs with Unicode escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-uri-03> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-uri-03" ; + rdfs:comment "IRIs with long Unicode escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-uri-04> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-uri-04" ; + rdfs:comment "Legal IRIs" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-string-01> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-string-01" ; + rdfs:comment "string literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-string-02> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-string-02" ; + rdfs:comment "langString literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-string-03> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-string-03" ; + rdfs:comment "langString literal with region" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-str-esc-01> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-str-esc-01" ; + rdfs:comment "string literal with escaped newline" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-str-esc-02> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-str-esc-02" ; + rdfs:comment "string literal with Unicode escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-str-esc-03> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-str-esc-03" ; + rdfs:comment "string literal with long Unicode escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bnode-01> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-bnode-01" ; + rdfs:comment "bnode subject" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bnode-02> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-bnode-02" ; + rdfs:comment "bnode object" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bnode-03> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-bnode-03" ; + rdfs:comment "Blank node labels may start with a digit" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-datatypes-01> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-datatypes-01" ; + rdfs:comment "xsd:byte literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-datatypes-02> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-datatypes-02" ; + rdfs:comment "integer as xsd:string" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-uri-01> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-uri-01" ; + rdfs:comment "Bad IRI : space (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-uri-02> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-uri-02" ; + rdfs:comment "Bad IRI : bad escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-uri-03> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-uri-03" ; + rdfs:comment "Bad IRI : bad long escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-uri-04> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-uri-04" ; + rdfs:comment "Bad IRI : character escapes not allowed (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-uri-05> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-uri-05" ; + rdfs:comment "Bad IRI : character escapes not allowed (2) (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-uri-06> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-uri-06" ; + rdfs:comment "Bad IRI : relative IRI not allowed in subject (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-uri-07> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-uri-07" ; + rdfs:comment "Bad IRI : relative IRI not allowed in predicate (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-uri-08> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-uri-08" ; + rdfs:comment "Bad IRI : relative IRI not allowed in object (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-uri-09> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-uri-09" ; + rdfs:comment "Bad IRI : relative IRI not allowed in datatype (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-prefix-01> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-prefix-01" ; + rdfs:comment "@prefix not allowed in n-triples (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-base-01> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-base-01" ; + rdfs:comment "@base not allowed in N-Triples (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-struct-01> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-struct-01" ; + rdfs:comment "N-Triples does not have objectList (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-struct-02> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-struct-02" ; + rdfs:comment "N-Triples does not have predicateObjectList (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-lang-01> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-lang-01" ; + rdfs:comment "langString with bad lang (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-esc-01> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-esc-01" ; + rdfs:comment "Bad string escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-esc-02> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-esc-02" ; + rdfs:comment "Bad string escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-esc-03> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-esc-03" ; + rdfs:comment "Bad string escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-string-01> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-string-01" ; + rdfs:comment "mismatching string literal open/close (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-string-02> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-string-02" ; + rdfs:comment "mismatching string literal open/close (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-string-03> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-string-03" ; + rdfs:comment "single quotes (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-string-04> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-string-04" ; + rdfs:comment "long single string literal (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-string-05> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-string-05" ; + rdfs:comment "long double string literal (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-string-06> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-string-06" ; + rdfs:comment "string literal with no end (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-string-07> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-string-07" ; + rdfs:comment "string literal with no start (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-num-01> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-num-01" ; + rdfs:comment "no numbers in N-Triples (integer) (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-num-02> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-num-02" ; + rdfs:comment "no numbers in N-Triples (decimal) (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-bad-num-03> a rdft:TestNQuadsNegativeSyntax ; + mf:name "nt-syntax-bad-num-03" ; + rdfs:comment "no numbers in N-Triples (float) (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#nt-syntax-subm-01> a rdft:TestNQuadsPositiveSyntax ; + mf:name "nt-syntax-subm-01" ; + rdfs:comment "Submission test from Original RDF Test Cases" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#comment_following_triple> a rdft:TestNQuadsPositiveSyntax ; + mf:name "comment_following_triple" ; + rdfs:comment "Tests comments after a triple" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_ascii_boundaries> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_ascii_boundaries" ; + rdfs:comment "literal_ascii_boundaries '\\x00\\x26\\x28...'" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_UTF8_boundaries> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_UTF8_boundaries" ; + rdfs:comment "literal_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_all_controls> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_all_controls" ; + rdfs:comment "literal_all_controls '\\x00\\x01\\x02\\x03\\x04...'" ; + rdft:approval rdft:Approved ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_all_punctuation> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_all_punctuation" ; + rdfs:comment "literal_all_punctuation '!\"#$%&()...'" ; + rdft:approval rdft:Approved ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_squote> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_squote" ; + rdfs:comment "literal with squote \"x'y\"" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_2_squotes> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_2_squotes" ; + rdfs:comment "literal with 2 squotes \"x''y\"" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal" ; + rdfs:comment "literal \"\"\"x\"\"\"" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_dquote> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_dquote" ; + rdfs:comment "literal with dquote \"x\"y\"" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_2_dquotes> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_2_dquotes" ; + rdfs:comment "literal with 2 squotes \"\"\"a\"\"b\"\"\"" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_REVERSE_SOLIDUS2> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_REVERSE_SOLIDUS2" ; + rdfs:comment "REVERSE SOLIDUS at end of literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_CHARACTER_TABULATION> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_CHARACTER_TABULATION" ; + rdfs:comment "literal with CHARACTER TABULATION" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_BACKSPACE> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_BACKSPACE" ; + rdfs:comment "literal with BACKSPACE" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_LINE_FEED> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_LINE_FEED" ; + rdfs:comment "literal with LINE FEED" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_CARRIAGE_RETURN> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_CARRIAGE_RETURN" ; + rdfs:comment "literal with CARRIAGE RETURN" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_FORM_FEED> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_FORM_FEED" ; + rdfs:comment "literal with FORM FEED" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_REVERSE_SOLIDUS> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_REVERSE_SOLIDUS" ; + rdfs:comment "literal with REVERSE SOLIDUS" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_numeric_escape4> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_numeric_escape4" ; + rdfs:comment "literal with numeric escape4 \\u" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_numeric_escape8> a rdft:TestNQuadsPositiveSyntax ; + mf:name "literal_with_numeric_escape8" ; + rdfs:comment "literal with numeric escape8 \\U" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#langtagged_string> a rdft:TestNQuadsPositiveSyntax ; + mf:name "langtagged_string" ; + rdfs:comment "langtagged string \"x\"@en" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#lantag_with_subtag> a rdft:TestNQuadsPositiveSyntax ; + mf:name "lantag_with_subtag" ; + rdfs:comment "lantag with subtag \"x\"@en-us" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#minimal_whitespace> a rdft:TestNQuadsPositiveSyntax ; + mf:name "minimal_whitespace" ; + rdfs:comment "tests absense of whitespace between subject, predicate, object and end-of-statement" ; + rdft:approval rdft:Approved ; + mf:action ; + . diff --git a/test/NQuadsTests/minimal_whitespace.nq b/test/NQuadsTests/minimal_whitespace.nq new file mode 100644 index 00000000..e9e3a801 --- /dev/null +++ b/test/NQuadsTests/minimal_whitespace.nq @@ -0,0 +1,6 @@ +. +"Alice". +_:o. +_:s. +_:s"Alice". +_:s_:bnode1. diff --git a/test/NQuadsTests/nq-syntax-bad-literal-01.nq b/test/NQuadsTests/nq-syntax-bad-literal-01.nq new file mode 100644 index 00000000..bb17eb37 --- /dev/null +++ b/test/NQuadsTests/nq-syntax-bad-literal-01.nq @@ -0,0 +1 @@ + "o" . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-bad-literal-02.nq b/test/NQuadsTests/nq-syntax-bad-literal-02.nq new file mode 100644 index 00000000..ea303b28 --- /dev/null +++ b/test/NQuadsTests/nq-syntax-bad-literal-02.nq @@ -0,0 +1 @@ + "o"@en . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-bad-literal-03.nq b/test/NQuadsTests/nq-syntax-bad-literal-03.nq new file mode 100644 index 00000000..854b867f --- /dev/null +++ b/test/NQuadsTests/nq-syntax-bad-literal-03.nq @@ -0,0 +1 @@ + "o"^^ . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-bad-quint-01.nq b/test/NQuadsTests/nq-syntax-bad-quint-01.nq new file mode 100644 index 00000000..52b7581e --- /dev/null +++ b/test/NQuadsTests/nq-syntax-bad-quint-01.nq @@ -0,0 +1,2 @@ +# N-Quads rejects a quint + . diff --git a/test/NQuadsTests/nq-syntax-bad-uri-01.nq b/test/NQuadsTests/nq-syntax-bad-uri-01.nq new file mode 100644 index 00000000..3bf4dbd0 --- /dev/null +++ b/test/NQuadsTests/nq-syntax-bad-uri-01.nq @@ -0,0 +1,2 @@ +# No relative IRIs in N-Quads + . diff --git a/test/NQuadsTests/nq-syntax-bnode-01.nq b/test/NQuadsTests/nq-syntax-bnode-01.nq new file mode 100644 index 00000000..b7acbd5c --- /dev/null +++ b/test/NQuadsTests/nq-syntax-bnode-01.nq @@ -0,0 +1 @@ + _:g . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-bnode-02.nq b/test/NQuadsTests/nq-syntax-bnode-02.nq new file mode 100644 index 00000000..07c92637 --- /dev/null +++ b/test/NQuadsTests/nq-syntax-bnode-02.nq @@ -0,0 +1 @@ +_:s _:g . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-bnode-03.nq b/test/NQuadsTests/nq-syntax-bnode-03.nq new file mode 100644 index 00000000..5f89bd96 --- /dev/null +++ b/test/NQuadsTests/nq-syntax-bnode-03.nq @@ -0,0 +1 @@ + _:o _:g . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-bnode-04.nq b/test/NQuadsTests/nq-syntax-bnode-04.nq new file mode 100644 index 00000000..f89ca814 --- /dev/null +++ b/test/NQuadsTests/nq-syntax-bnode-04.nq @@ -0,0 +1 @@ + "o" _:g . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-bnode-05.nq b/test/NQuadsTests/nq-syntax-bnode-05.nq new file mode 100644 index 00000000..9bb45ce6 --- /dev/null +++ b/test/NQuadsTests/nq-syntax-bnode-05.nq @@ -0,0 +1 @@ + "o"@en _:g . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-bnode-06.nq b/test/NQuadsTests/nq-syntax-bnode-06.nq new file mode 100644 index 00000000..194ffdc2 --- /dev/null +++ b/test/NQuadsTests/nq-syntax-bnode-06.nq @@ -0,0 +1 @@ + "o"^^ _:g . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-uri-01.nq b/test/NQuadsTests/nq-syntax-uri-01.nq new file mode 100644 index 00000000..3026e122 --- /dev/null +++ b/test/NQuadsTests/nq-syntax-uri-01.nq @@ -0,0 +1 @@ + . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-uri-02.nq b/test/NQuadsTests/nq-syntax-uri-02.nq new file mode 100644 index 00000000..1590ab94 --- /dev/null +++ b/test/NQuadsTests/nq-syntax-uri-02.nq @@ -0,0 +1 @@ +_:s . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-uri-03.nq b/test/NQuadsTests/nq-syntax-uri-03.nq new file mode 100644 index 00000000..4592edcb --- /dev/null +++ b/test/NQuadsTests/nq-syntax-uri-03.nq @@ -0,0 +1 @@ + _:o . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-uri-04.nq b/test/NQuadsTests/nq-syntax-uri-04.nq new file mode 100644 index 00000000..f7b834ab --- /dev/null +++ b/test/NQuadsTests/nq-syntax-uri-04.nq @@ -0,0 +1 @@ + "o" . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-uri-05.nq b/test/NQuadsTests/nq-syntax-uri-05.nq new file mode 100644 index 00000000..cf5a0ee2 --- /dev/null +++ b/test/NQuadsTests/nq-syntax-uri-05.nq @@ -0,0 +1 @@ + "o"@en . \ No newline at end of file diff --git a/test/NQuadsTests/nq-syntax-uri-06.nq b/test/NQuadsTests/nq-syntax-uri-06.nq new file mode 100644 index 00000000..65e77033 --- /dev/null +++ b/test/NQuadsTests/nq-syntax-uri-06.nq @@ -0,0 +1 @@ + "o"^^ . \ No newline at end of file diff --git a/test/NQuadsTests/nt-syntax-bad-base-01.nq b/test/NQuadsTests/nt-syntax-bad-base-01.nq new file mode 100644 index 00000000..dff1b3b4 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-base-01.nq @@ -0,0 +1 @@ +@base . diff --git a/test/NQuadsTests/nt-syntax-bad-esc-01.nq b/test/NQuadsTests/nt-syntax-bad-esc-01.nq new file mode 100644 index 00000000..f7a88add --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-esc-01.nq @@ -0,0 +1,2 @@ +# Bad string escape + "a\zb" . diff --git a/test/NQuadsTests/nt-syntax-bad-esc-02.nq b/test/NQuadsTests/nt-syntax-bad-esc-02.nq new file mode 100644 index 00000000..72711d49 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-esc-02.nq @@ -0,0 +1,2 @@ +# Bad string escape + "\uWXYZ" . diff --git a/test/NQuadsTests/nt-syntax-bad-esc-03.nq b/test/NQuadsTests/nt-syntax-bad-esc-03.nq new file mode 100644 index 00000000..3a4522fc --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-esc-03.nq @@ -0,0 +1,2 @@ +# Bad string escape + "\U0000WXYZ" . diff --git a/test/NQuadsTests/nt-syntax-bad-lang-01.nq b/test/NQuadsTests/nt-syntax-bad-lang-01.nq new file mode 100644 index 00000000..a4d952c8 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-lang-01.nq @@ -0,0 +1,2 @@ +# Bad lang tag + "string"@1 . diff --git a/test/NQuadsTests/nt-syntax-bad-num-01.nq b/test/NQuadsTests/nt-syntax-bad-num-01.nq new file mode 100644 index 00000000..2be6f516 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-num-01.nq @@ -0,0 +1 @@ + 1 . diff --git a/test/NQuadsTests/nt-syntax-bad-num-02.nq b/test/NQuadsTests/nt-syntax-bad-num-02.nq new file mode 100644 index 00000000..e1d5b06c --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-num-02.nq @@ -0,0 +1 @@ + 1.0 . diff --git a/test/NQuadsTests/nt-syntax-bad-num-03.nq b/test/NQuadsTests/nt-syntax-bad-num-03.nq new file mode 100644 index 00000000..a9be82fc --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-num-03.nq @@ -0,0 +1 @@ + 1.0e0 . diff --git a/test/NQuadsTests/nt-syntax-bad-prefix-01.nq b/test/NQuadsTests/nt-syntax-bad-prefix-01.nq new file mode 100644 index 00000000..89e08cc7 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-prefix-01.nq @@ -0,0 +1 @@ +@prefix : . diff --git a/test/NQuadsTests/nt-syntax-bad-string-01.nq b/test/NQuadsTests/nt-syntax-bad-string-01.nq new file mode 100644 index 00000000..988af87a --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-string-01.nq @@ -0,0 +1 @@ + "abc' . diff --git a/test/NQuadsTests/nt-syntax-bad-string-02.nq b/test/NQuadsTests/nt-syntax-bad-string-02.nq new file mode 100644 index 00000000..e1d5b06c --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-string-02.nq @@ -0,0 +1 @@ + 1.0 . diff --git a/test/NQuadsTests/nt-syntax-bad-string-03.nq b/test/NQuadsTests/nt-syntax-bad-string-03.nq new file mode 100644 index 00000000..64d343da --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-string-03.nq @@ -0,0 +1 @@ + 1.0e1 . diff --git a/test/NQuadsTests/nt-syntax-bad-string-04.nq b/test/NQuadsTests/nt-syntax-bad-string-04.nq new file mode 100644 index 00000000..af4ff28f --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-string-04.nq @@ -0,0 +1 @@ + '''abc''' . diff --git a/test/NQuadsTests/nt-syntax-bad-string-05.nq b/test/NQuadsTests/nt-syntax-bad-string-05.nq new file mode 100644 index 00000000..75ad4b2b --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-string-05.nq @@ -0,0 +1 @@ + """abc""" . diff --git a/test/NQuadsTests/nt-syntax-bad-string-06.nq b/test/NQuadsTests/nt-syntax-bad-string-06.nq new file mode 100644 index 00000000..56dcbc60 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-string-06.nq @@ -0,0 +1 @@ + "abc . diff --git a/test/NQuadsTests/nt-syntax-bad-string-07.nq b/test/NQuadsTests/nt-syntax-bad-string-07.nq new file mode 100644 index 00000000..7f1ee800 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-string-07.nq @@ -0,0 +1 @@ + abc" . diff --git a/test/NQuadsTests/nt-syntax-bad-struct-01.nq b/test/NQuadsTests/nt-syntax-bad-struct-01.nq new file mode 100644 index 00000000..d546d564 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-struct-01.nq @@ -0,0 +1 @@ + , . diff --git a/test/NQuadsTests/nt-syntax-bad-struct-02.nq b/test/NQuadsTests/nt-syntax-bad-struct-02.nq new file mode 100644 index 00000000..1f388c6e --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-struct-02.nq @@ -0,0 +1 @@ + ; , . diff --git a/test/NQuadsTests/nt-syntax-bad-uri-01.nq b/test/NQuadsTests/nt-syntax-bad-uri-01.nq new file mode 100644 index 00000000..0e69dc0c --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-uri-01.nq @@ -0,0 +1,2 @@ +# Bad IRI : space. + . diff --git a/test/NQuadsTests/nt-syntax-bad-uri-02.nq b/test/NQuadsTests/nt-syntax-bad-uri-02.nq new file mode 100644 index 00000000..36d91af9 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-uri-02.nq @@ -0,0 +1,2 @@ +# Bad IRI : bad escape + . diff --git a/test/NQuadsTests/nt-syntax-bad-uri-03.nq b/test/NQuadsTests/nt-syntax-bad-uri-03.nq new file mode 100644 index 00000000..f512345f --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-uri-03.nq @@ -0,0 +1,2 @@ +# Bad IRI : bad escape + . diff --git a/test/NQuadsTests/nt-syntax-bad-uri-04.nq b/test/NQuadsTests/nt-syntax-bad-uri-04.nq new file mode 100644 index 00000000..5cab062c --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-uri-04.nq @@ -0,0 +1,2 @@ +# Bad IRI : character escapes not allowed. + . diff --git a/test/NQuadsTests/nt-syntax-bad-uri-05.nq b/test/NQuadsTests/nt-syntax-bad-uri-05.nq new file mode 100644 index 00000000..be0a21e0 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-uri-05.nq @@ -0,0 +1,2 @@ +# Bad IRI : character escapes not allowed. + . diff --git a/test/NQuadsTests/nt-syntax-bad-uri-06.nq b/test/NQuadsTests/nt-syntax-bad-uri-06.nq new file mode 100644 index 00000000..b4e64592 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-uri-06.nq @@ -0,0 +1,2 @@ +# No relative IRIs in N-Triples + . diff --git a/test/NQuadsTests/nt-syntax-bad-uri-07.nq b/test/NQuadsTests/nt-syntax-bad-uri-07.nq new file mode 100644 index 00000000..74534dde --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-uri-07.nq @@ -0,0 +1,2 @@ +# No relative IRIs in N-Triples +

. diff --git a/test/NQuadsTests/nt-syntax-bad-uri-08.nq b/test/NQuadsTests/nt-syntax-bad-uri-08.nq new file mode 100644 index 00000000..41a953d4 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-uri-08.nq @@ -0,0 +1,2 @@ +# No relative IRIs in N-Triples + . diff --git a/test/NQuadsTests/nt-syntax-bad-uri-09.nq b/test/NQuadsTests/nt-syntax-bad-uri-09.nq new file mode 100644 index 00000000..58821da8 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bad-uri-09.nq @@ -0,0 +1,2 @@ +# No relative IRIs in N-Triples + "foo"^^

. diff --git a/test/NQuadsTests/nt-syntax-bnode-01.nq b/test/NQuadsTests/nt-syntax-bnode-01.nq new file mode 100644 index 00000000..5fb0d0f9 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bnode-01.nq @@ -0,0 +1 @@ +_:a . diff --git a/test/NQuadsTests/nt-syntax-bnode-02.nq b/test/NQuadsTests/nt-syntax-bnode-02.nq new file mode 100644 index 00000000..737e81b4 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bnode-02.nq @@ -0,0 +1,2 @@ + _:a . +_:a . diff --git a/test/NQuadsTests/nt-syntax-bnode-03.nq b/test/NQuadsTests/nt-syntax-bnode-03.nq new file mode 100644 index 00000000..1a1f1c9f --- /dev/null +++ b/test/NQuadsTests/nt-syntax-bnode-03.nq @@ -0,0 +1,2 @@ + _:1a . +_:1a . diff --git a/test/NQuadsTests/nt-syntax-datatypes-01.nq b/test/NQuadsTests/nt-syntax-datatypes-01.nq new file mode 100644 index 00000000..91263091 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-datatypes-01.nq @@ -0,0 +1 @@ + "123"^^ . diff --git a/test/NQuadsTests/nt-syntax-datatypes-02.nq b/test/NQuadsTests/nt-syntax-datatypes-02.nq new file mode 100644 index 00000000..d49cc27d --- /dev/null +++ b/test/NQuadsTests/nt-syntax-datatypes-02.nq @@ -0,0 +1 @@ + "123"^^ . diff --git a/test/NQuadsTests/nt-syntax-file-01.nq b/test/NQuadsTests/nt-syntax-file-01.nq new file mode 100644 index 00000000..e69de29b diff --git a/test/NQuadsTests/nt-syntax-file-02.nq b/test/NQuadsTests/nt-syntax-file-02.nq new file mode 100644 index 00000000..e6d327d5 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-file-02.nq @@ -0,0 +1 @@ +#Empty file. diff --git a/test/NQuadsTests/nt-syntax-file-03.nq b/test/NQuadsTests/nt-syntax-file-03.nq new file mode 100644 index 00000000..a9ca0358 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-file-03.nq @@ -0,0 +1,2 @@ +#One comment, one empty line. + diff --git a/test/NQuadsTests/nt-syntax-str-esc-01.nq b/test/NQuadsTests/nt-syntax-str-esc-01.nq new file mode 100644 index 00000000..3925f2ec --- /dev/null +++ b/test/NQuadsTests/nt-syntax-str-esc-01.nq @@ -0,0 +1 @@ + "a\n" . diff --git a/test/NQuadsTests/nt-syntax-str-esc-02.nq b/test/NQuadsTests/nt-syntax-str-esc-02.nq new file mode 100644 index 00000000..e7d032f0 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-str-esc-02.nq @@ -0,0 +1 @@ + "a\u0020b" . diff --git a/test/NQuadsTests/nt-syntax-str-esc-03.nq b/test/NQuadsTests/nt-syntax-str-esc-03.nq new file mode 100644 index 00000000..b8588c79 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-str-esc-03.nq @@ -0,0 +1 @@ + "a\U00000020b" . diff --git a/test/NQuadsTests/nt-syntax-string-01.nq b/test/NQuadsTests/nt-syntax-string-01.nq new file mode 100644 index 00000000..5333aefe --- /dev/null +++ b/test/NQuadsTests/nt-syntax-string-01.nq @@ -0,0 +1 @@ + "string" . diff --git a/test/NQuadsTests/nt-syntax-string-02.nq b/test/NQuadsTests/nt-syntax-string-02.nq new file mode 100644 index 00000000..1ab55a33 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-string-02.nq @@ -0,0 +1 @@ + "string"@en . diff --git a/test/NQuadsTests/nt-syntax-string-03.nq b/test/NQuadsTests/nt-syntax-string-03.nq new file mode 100644 index 00000000..b34ca0f6 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-string-03.nq @@ -0,0 +1 @@ + "string"@en-uk . diff --git a/test/NQuadsTests/nt-syntax-subm-01.nq b/test/NQuadsTests/nt-syntax-subm-01.nq new file mode 100644 index 00000000..91b49889 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-subm-01.nq @@ -0,0 +1,79 @@ +# +# Copyright World Wide Web Consortium, (Massachusetts Institute of +# Technology, Institut National de Recherche en Informatique et en +# Automatique, Keio University). +# +# All Rights Reserved. +# +# Please see the full Copyright clause at +# +# +# Test file with a variety of legal N-Triples +# +# Dave Beckett - http://purl.org/net/dajobe/ +# +# $Id: test.nt,v 1.7 2003/10/06 15:52:19 dbeckett2 Exp $ +# +##################################################################### + +# comment lines + # comment line after whitespace +# empty blank line, then one with spaces and tabs + + + . +_:anon . + _:anon . +# spaces and tabs throughout: + . + +# line ending with CR NL (ASCII 13, ASCII 10) + . + +# 2 statement lines separated by single CR (ASCII 10) + . + . + + +# All literal escapes + "simple literal" . + "backslash:\\" . + "dquote:\"" . + "newline:\n" . + "return\r" . + "tab:\t" . + +# Space is optional before final . + . + "x". + _:anon. + +# \u and \U escapes +# latin small letter e with acute symbol \u00E9 - 3 UTF-8 bytes #xC3 #A9 + "\u00E9" . +# Euro symbol \u20ac - 3 UTF-8 bytes #xE2 #x82 #xAC + "\u20AC" . +# resource18 test removed +# resource19 test removed +# resource20 test removed + +# XML Literals as Datatyped Literals + ""^^ . + " "^^ . + "x"^^ . + "\""^^ . + ""^^ . + "a "^^ . + "a c"^^ . + "a\n\nc"^^ . + "chat"^^ . +# resource28 test removed 2003-08-03 +# resource29 test removed 2003-08-03 + +# Plain literals with languages + "chat"@fr . + "chat"@en . + +# Typed Literals + "abc"^^ . +# resource33 test removed 2003-08-03 diff --git a/test/NQuadsTests/nt-syntax-uri-01.nq b/test/NQuadsTests/nt-syntax-uri-01.nq new file mode 100644 index 00000000..02e6ba98 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-uri-01.nq @@ -0,0 +1 @@ + . diff --git a/test/NQuadsTests/nt-syntax-uri-02.nq b/test/NQuadsTests/nt-syntax-uri-02.nq new file mode 100644 index 00000000..664feea1 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-uri-02.nq @@ -0,0 +1,2 @@ +# x53 is capital S + . diff --git a/test/NQuadsTests/nt-syntax-uri-03.nq b/test/NQuadsTests/nt-syntax-uri-03.nq new file mode 100644 index 00000000..b5aeb26e --- /dev/null +++ b/test/NQuadsTests/nt-syntax-uri-03.nq @@ -0,0 +1,2 @@ +# x53 is capital S + . diff --git a/test/NQuadsTests/nt-syntax-uri-04.nq b/test/NQuadsTests/nt-syntax-uri-04.nq new file mode 100644 index 00000000..49bacca7 --- /dev/null +++ b/test/NQuadsTests/nt-syntax-uri-04.nq @@ -0,0 +1,2 @@ +# IRI with all chars in it. + . diff --git a/test/NTriplesTests/README b/test/NTriplesTests/README new file mode 100644 index 00000000..12d8bf16 --- /dev/null +++ b/test/NTriplesTests/README @@ -0,0 +1,25 @@ +This README is for the W3C RDF Working Group's N-Triples test suite. +This test suite contains two kinds of tests: + + Positive syntax (rdft:TestNTriplesPositiveSyntax) - an input N-Triples + file with no syntax errors. + + Negative syntax (rdft:TestNTriplesNegativeSyntax) - an input N-Triples + file with at least one syntax error. + +The manifest.ttl file in this directory lists tests in the +RDF WG's N-Triples test suite. All +tests have a name (mf:name) and an input (mf:action). + +• An implementation passes a positive syntax test if it parses the + input. + +• An implementation passes a negative syntax test if it fails to parse + the input. + +The home of the test suite is . + +See http://www.w3.org/2011/rdf-wg/wiki/RDF_Test_Suites for more details. + +Eric Prud'hommeaux - 11 June 2013. +Gregg Kellogg - 26 June 2013. diff --git a/test/NTriplesTests/comment_following_triple.nt b/test/NTriplesTests/comment_following_triple.nt new file mode 100644 index 00000000..5619459a --- /dev/null +++ b/test/NTriplesTests/comment_following_triple.nt @@ -0,0 +1,5 @@ + . # comment + _:o . # comment + "o" . # comment + "o"^^ . # comment + "o"@en . # comment diff --git a/test/NTriplesTests/langtagged_string.nt b/test/NTriplesTests/langtagged_string.nt new file mode 100644 index 00000000..1bddb04e --- /dev/null +++ b/test/NTriplesTests/langtagged_string.nt @@ -0,0 +1 @@ + "chat"@en . diff --git a/test/NTriplesTests/lantag_with_subtag.nt b/test/NTriplesTests/lantag_with_subtag.nt new file mode 100644 index 00000000..629cbf42 --- /dev/null +++ b/test/NTriplesTests/lantag_with_subtag.nt @@ -0,0 +1 @@ + "Cheers"@en-UK . diff --git a/test/NTriplesTests/literal.nt b/test/NTriplesTests/literal.nt new file mode 100644 index 00000000..3aba89e4 --- /dev/null +++ b/test/NTriplesTests/literal.nt @@ -0,0 +1 @@ + "x" . diff --git a/test/NTriplesTests/literal_all_controls.nt b/test/NTriplesTests/literal_all_controls.nt new file mode 100644 index 00000000..91c8af14 --- /dev/null +++ b/test/NTriplesTests/literal_all_controls.nt @@ -0,0 +1 @@ + "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\t\u000B\u000C\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" . diff --git a/test/NTriplesTests/literal_all_punctuation.nt b/test/NTriplesTests/literal_all_punctuation.nt new file mode 100644 index 00000000..c25d818f --- /dev/null +++ b/test/NTriplesTests/literal_all_punctuation.nt @@ -0,0 +1 @@ + " !\"#$%&():;<=>?@[]^_`{|}~" . diff --git a/test/NTriplesTests/literal_ascii_boundaries.nt b/test/NTriplesTests/literal_ascii_boundaries.nt new file mode 100644 index 00000000..7a4dc717 Binary files /dev/null and b/test/NTriplesTests/literal_ascii_boundaries.nt differ diff --git a/test/NTriplesTests/literal_false.nt b/test/NTriplesTests/literal_false.nt new file mode 100644 index 00000000..5bbbae84 --- /dev/null +++ b/test/NTriplesTests/literal_false.nt @@ -0,0 +1 @@ + "false"^^ . diff --git a/test/NTriplesTests/literal_true.nt b/test/NTriplesTests/literal_true.nt new file mode 100644 index 00000000..054b229f --- /dev/null +++ b/test/NTriplesTests/literal_true.nt @@ -0,0 +1 @@ + "true"^^ . diff --git a/test/NTriplesTests/literal_with_2_dquotes.nt b/test/NTriplesTests/literal_with_2_dquotes.nt new file mode 100644 index 00000000..3e69dc10 --- /dev/null +++ b/test/NTriplesTests/literal_with_2_dquotes.nt @@ -0,0 +1 @@ + "x\"\"y" . diff --git a/test/NTriplesTests/literal_with_2_squotes.nt b/test/NTriplesTests/literal_with_2_squotes.nt new file mode 100644 index 00000000..8ddc52e8 --- /dev/null +++ b/test/NTriplesTests/literal_with_2_squotes.nt @@ -0,0 +1 @@ + "x''y" . diff --git a/test/NTriplesTests/literal_with_BACKSPACE.nt b/test/NTriplesTests/literal_with_BACKSPACE.nt new file mode 100644 index 00000000..339013df --- /dev/null +++ b/test/NTriplesTests/literal_with_BACKSPACE.nt @@ -0,0 +1 @@ + "\b" . diff --git a/test/NTriplesTests/literal_with_CARRIAGE_RETURN.nt b/test/NTriplesTests/literal_with_CARRIAGE_RETURN.nt new file mode 100644 index 00000000..91b85c89 --- /dev/null +++ b/test/NTriplesTests/literal_with_CARRIAGE_RETURN.nt @@ -0,0 +1 @@ + "\r" . diff --git a/test/NTriplesTests/literal_with_CHARACTER_TABULATION.nt b/test/NTriplesTests/literal_with_CHARACTER_TABULATION.nt new file mode 100644 index 00000000..a6a9d9f0 --- /dev/null +++ b/test/NTriplesTests/literal_with_CHARACTER_TABULATION.nt @@ -0,0 +1 @@ + "\t" . diff --git a/test/NTriplesTests/literal_with_FORM_FEED.nt b/test/NTriplesTests/literal_with_FORM_FEED.nt new file mode 100644 index 00000000..10d2c6d7 --- /dev/null +++ b/test/NTriplesTests/literal_with_FORM_FEED.nt @@ -0,0 +1 @@ + "\f" . diff --git a/test/NTriplesTests/literal_with_LINE_FEED.nt b/test/NTriplesTests/literal_with_LINE_FEED.nt new file mode 100644 index 00000000..462f97ac --- /dev/null +++ b/test/NTriplesTests/literal_with_LINE_FEED.nt @@ -0,0 +1 @@ + "\n" . diff --git a/test/NTriplesTests/literal_with_REVERSE_SOLIDUS.nt b/test/NTriplesTests/literal_with_REVERSE_SOLIDUS.nt new file mode 100644 index 00000000..ebc846ed --- /dev/null +++ b/test/NTriplesTests/literal_with_REVERSE_SOLIDUS.nt @@ -0,0 +1 @@ + "\\" . diff --git a/test/NTriplesTests/literal_with_REVERSE_SOLIDUS2.nt b/test/NTriplesTests/literal_with_REVERSE_SOLIDUS2.nt new file mode 100644 index 00000000..586e364d --- /dev/null +++ b/test/NTriplesTests/literal_with_REVERSE_SOLIDUS2.nt @@ -0,0 +1 @@ + "test-\\" . diff --git a/test/NTriplesTests/literal_with_UTF8_boundaries.nt b/test/NTriplesTests/literal_with_UTF8_boundaries.nt new file mode 100644 index 00000000..0e1616db --- /dev/null +++ b/test/NTriplesTests/literal_with_UTF8_boundaries.nt @@ -0,0 +1 @@ + "€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽" . diff --git a/test/NTriplesTests/literal_with_dquote.nt b/test/NTriplesTests/literal_with_dquote.nt new file mode 100644 index 00000000..05a1fd3a --- /dev/null +++ b/test/NTriplesTests/literal_with_dquote.nt @@ -0,0 +1 @@ + "x\"y" . diff --git a/test/NTriplesTests/literal_with_numeric_escape4.nt b/test/NTriplesTests/literal_with_numeric_escape4.nt new file mode 100644 index 00000000..16f0a036 --- /dev/null +++ b/test/NTriplesTests/literal_with_numeric_escape4.nt @@ -0,0 +1 @@ + "\u006F" . diff --git a/test/NTriplesTests/literal_with_numeric_escape8.nt b/test/NTriplesTests/literal_with_numeric_escape8.nt new file mode 100644 index 00000000..e909a79d --- /dev/null +++ b/test/NTriplesTests/literal_with_numeric_escape8.nt @@ -0,0 +1 @@ + "\U0000006F" . diff --git a/test/NTriplesTests/literal_with_squote.nt b/test/NTriplesTests/literal_with_squote.nt new file mode 100644 index 00000000..acf7f58f --- /dev/null +++ b/test/NTriplesTests/literal_with_squote.nt @@ -0,0 +1 @@ + "x'y" . diff --git a/test/NTriplesTests/manifest.ttl b/test/NTriplesTests/manifest.ttl new file mode 100644 index 00000000..246561cb --- /dev/null +++ b/test/NTriplesTests/manifest.ttl @@ -0,0 +1,512 @@ +# N-Triples Syntax tests + +@prefix rdf: . +@prefix rdfs: . +@prefix mf: . +@prefix qt: . + +@prefix rdft: . + +<> rdf:type mf:Manifest ; + mf:name "N-Triples tests" ; + mf:entries + ( + <#nt-syntax-file-01> + <#nt-syntax-file-02> + <#nt-syntax-file-03> + <#nt-syntax-uri-01> + <#nt-syntax-uri-02> + <#nt-syntax-uri-03> + <#nt-syntax-uri-04> + <#nt-syntax-string-01> + <#nt-syntax-string-02> + <#nt-syntax-string-03> + <#nt-syntax-str-esc-01> + <#nt-syntax-str-esc-02> + <#nt-syntax-str-esc-03> + <#nt-syntax-bnode-01> + <#nt-syntax-bnode-02> + <#nt-syntax-bnode-03> + <#nt-syntax-datatypes-01> + <#nt-syntax-datatypes-02> + <#nt-syntax-bad-uri-01> + <#nt-syntax-bad-uri-02> + <#nt-syntax-bad-uri-03> + <#nt-syntax-bad-uri-04> + <#nt-syntax-bad-uri-05> + <#nt-syntax-bad-uri-06> + <#nt-syntax-bad-uri-07> + <#nt-syntax-bad-uri-08> + <#nt-syntax-bad-uri-09> + <#nt-syntax-bad-prefix-01> + <#nt-syntax-bad-base-01> + <#nt-syntax-bad-struct-01> + <#nt-syntax-bad-struct-02> + <#nt-syntax-bad-lang-01> + <#nt-syntax-bad-esc-01> + <#nt-syntax-bad-esc-02> + <#nt-syntax-bad-esc-03> + <#nt-syntax-bad-string-01> + <#nt-syntax-bad-string-02> + <#nt-syntax-bad-string-03> + <#nt-syntax-bad-string-04> + <#nt-syntax-bad-string-05> + <#nt-syntax-bad-string-06> + <#nt-syntax-bad-string-07> + <#nt-syntax-bad-num-01> + <#nt-syntax-bad-num-02> + <#nt-syntax-bad-num-03> + <#nt-syntax-subm-01> + <#comment_following_triple> + <#literal> + <#literal_all_controls> + <#literal_all_punctuation> + <#literal_ascii_boundaries> + <#literal_with_2_dquotes> + <#literal_with_2_squotes> + <#literal_with_BACKSPACE> + <#literal_with_CARRIAGE_RETURN> + <#literal_with_CHARACTER_TABULATION> + <#literal_with_dquote> + <#literal_with_FORM_FEED> + <#literal_with_LINE_FEED> + <#literal_with_numeric_escape4> + <#literal_with_numeric_escape8> + <#literal_with_REVERSE_SOLIDUS> + <#literal_with_REVERSE_SOLIDUS2> + <#literal_with_squote> + <#literal_with_UTF8_boundaries> + <#langtagged_string> + <#lantag_with_subtag> + <#minimal_whitespace> + ) . + +<#nt-syntax-file-01> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-file-01" ; + rdfs:comment "Empty file" ; + mf:action ; + . + +<#nt-syntax-file-02> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-file-02" ; + rdfs:comment "Only comment" ; + mf:action ; + . + +<#nt-syntax-file-03> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-file-03" ; + rdfs:comment "One comment, one empty line" ; + mf:action ; + . + +<#nt-syntax-uri-01> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-uri-01" ; + rdfs:comment "Only IRIs" ; + mf:action ; + . + +<#nt-syntax-uri-02> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-uri-02" ; + rdfs:comment "IRIs with Unicode escape" ; + mf:action ; + . + +<#nt-syntax-uri-03> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-uri-03" ; + rdfs:comment "IRIs with long Unicode escape" ; + mf:action ; + . + +<#nt-syntax-uri-04> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-uri-04" ; + rdfs:comment "Legal IRIs" ; + mf:action ; + . + +<#nt-syntax-string-01> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-string-01" ; + rdfs:comment "string literal" ; + mf:action ; + . + +<#nt-syntax-string-02> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-string-02" ; + rdfs:comment "langString literal" ; + mf:action ; + . + +<#nt-syntax-string-03> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-string-03" ; + rdfs:comment "langString literal with region" ; + mf:action ; + . + +<#nt-syntax-str-esc-01> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-str-esc-01" ; + rdfs:comment "string literal with escaped newline" ; + mf:action ; + . + +<#nt-syntax-str-esc-02> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-str-esc-02" ; + rdfs:comment "string literal with Unicode escape" ; + mf:action ; + . + +<#nt-syntax-str-esc-03> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-str-esc-03" ; + rdfs:comment "string literal with long Unicode escape" ; + mf:action ; + . + +<#nt-syntax-bnode-01> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-bnode-01" ; + rdfs:comment "bnode subject" ; + mf:action ; + . + +<#nt-syntax-bnode-02> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-bnode-02" ; + rdfs:comment "bnode object" ; + mf:action ; + . + +<#nt-syntax-bnode-03> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-bnode-03" ; + rdfs:comment "Blank node labels may start with a digit" ; + mf:action ; + . + +<#nt-syntax-datatypes-01> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-datatypes-01" ; + rdfs:comment "xsd:byte literal" ; + mf:action ; + . + +<#nt-syntax-datatypes-02> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-datatypes-02" ; + rdfs:comment "integer as xsd:string" ; + mf:action ; + . + +<#nt-syntax-bad-uri-01> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-uri-01" ; + rdfs:comment "Bad IRI : space (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-uri-02> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-uri-02" ; + rdfs:comment "Bad IRI : bad escape (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-uri-03> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-uri-03" ; + rdfs:comment "Bad IRI : bad long escape (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-uri-04> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-uri-04" ; + rdfs:comment "Bad IRI : character escapes not allowed (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-uri-05> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-uri-05" ; + rdfs:comment "Bad IRI : character escapes not allowed (2) (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-uri-06> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-uri-06" ; + rdfs:comment "Bad IRI : relative IRI not allowed in subject (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-uri-07> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-uri-07" ; + rdfs:comment "Bad IRI : relative IRI not allowed in predicate (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-uri-08> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-uri-08" ; + rdfs:comment "Bad IRI : relative IRI not allowed in object (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-uri-09> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-uri-09" ; + rdfs:comment "Bad IRI : relative IRI not allowed in datatype (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-prefix-01> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-prefix-01" ; + rdfs:comment "@prefix not allowed in n-triples (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-base-01> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-base-01" ; + rdfs:comment "@base not allowed in N-Triples (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-struct-01> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-struct-01" ; + rdfs:comment "N-Triples does not have objectList (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-struct-02> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-struct-02" ; + rdfs:comment "N-Triples does not have predicateObjectList (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-lang-01> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-lang-01" ; + rdfs:comment "langString with bad lang (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-esc-01> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-esc-01" ; + rdfs:comment "Bad string escape (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-esc-02> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-esc-02" ; + rdfs:comment "Bad string escape (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-esc-03> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-esc-03" ; + rdfs:comment "Bad string escape (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-string-01> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-string-01" ; + rdfs:comment "mismatching string literal open/close (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-string-02> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-string-02" ; + rdfs:comment "mismatching string literal open/close (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-string-03> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-string-03" ; + rdfs:comment "single quotes (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-string-04> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-string-04" ; + rdfs:comment "long single string literal (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-string-05> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-string-05" ; + rdfs:comment "long double string literal (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-string-06> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-string-06" ; + rdfs:comment "string literal with no end (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-string-07> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-string-07" ; + rdfs:comment "string literal with no start (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-num-01> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-num-01" ; + rdfs:comment "no numbers in N-Triples (integer) (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-num-02> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-num-02" ; + rdfs:comment "no numbers in N-Triples (decimal) (negative test)" ; + mf:action ; + . + +<#nt-syntax-bad-num-03> rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "nt-syntax-bad-num-03" ; + rdfs:comment "no numbers in N-Triples (float) (negative test)" ; + mf:action ; + . + +<#nt-syntax-subm-01> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "nt-syntax-subm-01" ; + rdfs:comment "Submission test from Original RDF Test Cases" ; + mf:action ; + . + +<#comment_following_triple> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "comment_following_triple" ; + rdfs:comment "Tests comments after a triple" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_ascii_boundaries> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_ascii_boundaries" ; + rdfs:comment "literal_ascii_boundaries '\\x00\\x26\\x28...'" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_with_UTF8_boundaries> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_UTF8_boundaries" ; + rdfs:comment "literal_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_all_controls> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_all_controls" ; + rdfs:comment "literal_all_controls '\\x00\\x01\\x02\\x03\\x04...'" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_all_punctuation> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_all_punctuation" ; + rdfs:comment "literal_all_punctuation '!\"#$%&()...'" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#literal_with_squote> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_squote" ; + rdfs:comment "literal with squote \"x'y\"" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_with_2_squotes> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_2_squotes" ; + rdfs:comment "literal with 2 squotes \"x''y\"" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal" ; + rdfs:comment "literal \"\"\"x\"\"\"" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_with_dquote> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_dquote" ; + rdfs:comment "literal with dquote \"x\"y\"" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_with_2_dquotes> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_2_dquotes" ; + rdfs:comment "literal with 2 squotes \"\"\"a\"\"b\"\"\"" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_with_REVERSE_SOLIDUS2> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_REVERSE_SOLIDUS2" ; + rdfs:comment "REVERSE SOLIDUS at end of literal" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_with_CHARACTER_TABULATION> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_CHARACTER_TABULATION" ; + rdfs:comment "literal with CHARACTER TABULATION" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_with_BACKSPACE> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_BACKSPACE" ; + rdfs:comment "literal with BACKSPACE" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_with_LINE_FEED> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_LINE_FEED" ; + rdfs:comment "literal with LINE FEED" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_with_CARRIAGE_RETURN> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_CARRIAGE_RETURN" ; + rdfs:comment "literal with CARRIAGE RETURN" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_with_FORM_FEED> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_FORM_FEED" ; + rdfs:comment "literal with FORM FEED" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_with_REVERSE_SOLIDUS> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_REVERSE_SOLIDUS" ; + rdfs:comment "literal with REVERSE SOLIDUS" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_with_numeric_escape4> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_numeric_escape4" ; + rdfs:comment "literal with numeric escape4 \\u" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#literal_with_numeric_escape8> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "literal_with_numeric_escape8" ; + rdfs:comment "literal with numeric escape8 \\U" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#langtagged_string> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "langtagged_string" ; + rdfs:comment "langtagged string \"x\"@en" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#lantag_with_subtag> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "lantag_with_subtag" ; + rdfs:comment "lantag with subtag \"x\"@en-us" ; + rdft:approval rdft:Proposed ; + mf:action ; + . + +<#minimal_whitespace> rdf:type rdft:TestNTriplesPositiveSyntax ; + mf:name "minimal_whitespace" ; + rdfs:comment "tests absense of whitespace between subject, predicate, object and end-of-statement" ; + rdft:approval rdft:Proposed ; + mf:action ; + . diff --git a/test/NTriplesTests/minimal_whitespace.nt b/test/NTriplesTests/minimal_whitespace.nt new file mode 100644 index 00000000..e9e3a801 --- /dev/null +++ b/test/NTriplesTests/minimal_whitespace.nt @@ -0,0 +1,6 @@ +. +"Alice". +_:o. +_:s. +_:s"Alice". +_:s_:bnode1. diff --git a/test/NTriplesTests/nt-syntax-bad-base-01.nt b/test/NTriplesTests/nt-syntax-bad-base-01.nt new file mode 100644 index 00000000..dff1b3b4 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-base-01.nt @@ -0,0 +1 @@ +@base . diff --git a/test/NTriplesTests/nt-syntax-bad-esc-01.nt b/test/NTriplesTests/nt-syntax-bad-esc-01.nt new file mode 100644 index 00000000..f7a88add --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-esc-01.nt @@ -0,0 +1,2 @@ +# Bad string escape + "a\zb" . diff --git a/test/NTriplesTests/nt-syntax-bad-esc-02.nt b/test/NTriplesTests/nt-syntax-bad-esc-02.nt new file mode 100644 index 00000000..72711d49 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-esc-02.nt @@ -0,0 +1,2 @@ +# Bad string escape + "\uWXYZ" . diff --git a/test/NTriplesTests/nt-syntax-bad-esc-03.nt b/test/NTriplesTests/nt-syntax-bad-esc-03.nt new file mode 100644 index 00000000..3a4522fc --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-esc-03.nt @@ -0,0 +1,2 @@ +# Bad string escape + "\U0000WXYZ" . diff --git a/test/NTriplesTests/nt-syntax-bad-lang-01.nt b/test/NTriplesTests/nt-syntax-bad-lang-01.nt new file mode 100644 index 00000000..a4d952c8 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-lang-01.nt @@ -0,0 +1,2 @@ +# Bad lang tag + "string"@1 . diff --git a/test/NTriplesTests/nt-syntax-bad-num-01.nt b/test/NTriplesTests/nt-syntax-bad-num-01.nt new file mode 100644 index 00000000..2be6f516 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-num-01.nt @@ -0,0 +1 @@ + 1 . diff --git a/test/NTriplesTests/nt-syntax-bad-num-02.nt b/test/NTriplesTests/nt-syntax-bad-num-02.nt new file mode 100644 index 00000000..e1d5b06c --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-num-02.nt @@ -0,0 +1 @@ + 1.0 . diff --git a/test/NTriplesTests/nt-syntax-bad-num-03.nt b/test/NTriplesTests/nt-syntax-bad-num-03.nt new file mode 100644 index 00000000..a9be82fc --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-num-03.nt @@ -0,0 +1 @@ + 1.0e0 . diff --git a/test/NTriplesTests/nt-syntax-bad-prefix-01.nt b/test/NTriplesTests/nt-syntax-bad-prefix-01.nt new file mode 100644 index 00000000..89e08cc7 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-prefix-01.nt @@ -0,0 +1 @@ +@prefix : . diff --git a/test/NTriplesTests/nt-syntax-bad-string-01.nt b/test/NTriplesTests/nt-syntax-bad-string-01.nt new file mode 100644 index 00000000..988af87a --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-string-01.nt @@ -0,0 +1 @@ + "abc' . diff --git a/test/NTriplesTests/nt-syntax-bad-string-02.nt b/test/NTriplesTests/nt-syntax-bad-string-02.nt new file mode 100644 index 00000000..e1d5b06c --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-string-02.nt @@ -0,0 +1 @@ + 1.0 . diff --git a/test/NTriplesTests/nt-syntax-bad-string-03.nt b/test/NTriplesTests/nt-syntax-bad-string-03.nt new file mode 100644 index 00000000..64d343da --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-string-03.nt @@ -0,0 +1 @@ + 1.0e1 . diff --git a/test/NTriplesTests/nt-syntax-bad-string-04.nt b/test/NTriplesTests/nt-syntax-bad-string-04.nt new file mode 100644 index 00000000..af4ff28f --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-string-04.nt @@ -0,0 +1 @@ + '''abc''' . diff --git a/test/NTriplesTests/nt-syntax-bad-string-05.nt b/test/NTriplesTests/nt-syntax-bad-string-05.nt new file mode 100644 index 00000000..75ad4b2b --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-string-05.nt @@ -0,0 +1 @@ + """abc""" . diff --git a/test/NTriplesTests/nt-syntax-bad-string-06.nt b/test/NTriplesTests/nt-syntax-bad-string-06.nt new file mode 100644 index 00000000..56dcbc60 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-string-06.nt @@ -0,0 +1 @@ + "abc . diff --git a/test/NTriplesTests/nt-syntax-bad-string-07.nt b/test/NTriplesTests/nt-syntax-bad-string-07.nt new file mode 100644 index 00000000..7f1ee800 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-string-07.nt @@ -0,0 +1 @@ + abc" . diff --git a/test/NTriplesTests/nt-syntax-bad-struct-01.nt b/test/NTriplesTests/nt-syntax-bad-struct-01.nt new file mode 100644 index 00000000..d546d564 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-struct-01.nt @@ -0,0 +1 @@ + , . diff --git a/test/NTriplesTests/nt-syntax-bad-struct-02.nt b/test/NTriplesTests/nt-syntax-bad-struct-02.nt new file mode 100644 index 00000000..1f388c6e --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-struct-02.nt @@ -0,0 +1 @@ + ; , . diff --git a/test/NTriplesTests/nt-syntax-bad-uri-01.nt b/test/NTriplesTests/nt-syntax-bad-uri-01.nt new file mode 100644 index 00000000..0e69dc0c --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-uri-01.nt @@ -0,0 +1,2 @@ +# Bad IRI : space. + . diff --git a/test/NTriplesTests/nt-syntax-bad-uri-02.nt b/test/NTriplesTests/nt-syntax-bad-uri-02.nt new file mode 100644 index 00000000..36d91af9 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-uri-02.nt @@ -0,0 +1,2 @@ +# Bad IRI : bad escape + . diff --git a/test/NTriplesTests/nt-syntax-bad-uri-03.nt b/test/NTriplesTests/nt-syntax-bad-uri-03.nt new file mode 100644 index 00000000..f512345f --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-uri-03.nt @@ -0,0 +1,2 @@ +# Bad IRI : bad escape + . diff --git a/test/NTriplesTests/nt-syntax-bad-uri-04.nt b/test/NTriplesTests/nt-syntax-bad-uri-04.nt new file mode 100644 index 00000000..5cab062c --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-uri-04.nt @@ -0,0 +1,2 @@ +# Bad IRI : character escapes not allowed. + . diff --git a/test/NTriplesTests/nt-syntax-bad-uri-05.nt b/test/NTriplesTests/nt-syntax-bad-uri-05.nt new file mode 100644 index 00000000..be0a21e0 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-uri-05.nt @@ -0,0 +1,2 @@ +# Bad IRI : character escapes not allowed. + . diff --git a/test/NTriplesTests/nt-syntax-bad-uri-06.nt b/test/NTriplesTests/nt-syntax-bad-uri-06.nt new file mode 100644 index 00000000..b4e64592 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-uri-06.nt @@ -0,0 +1,2 @@ +# No relative IRIs in N-Triples + . diff --git a/test/NTriplesTests/nt-syntax-bad-uri-07.nt b/test/NTriplesTests/nt-syntax-bad-uri-07.nt new file mode 100644 index 00000000..74534dde --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-uri-07.nt @@ -0,0 +1,2 @@ +# No relative IRIs in N-Triples +

. diff --git a/test/NTriplesTests/nt-syntax-bad-uri-08.nt b/test/NTriplesTests/nt-syntax-bad-uri-08.nt new file mode 100644 index 00000000..41a953d4 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-uri-08.nt @@ -0,0 +1,2 @@ +# No relative IRIs in N-Triples + . diff --git a/test/NTriplesTests/nt-syntax-bad-uri-09.nt b/test/NTriplesTests/nt-syntax-bad-uri-09.nt new file mode 100644 index 00000000..58821da8 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bad-uri-09.nt @@ -0,0 +1,2 @@ +# No relative IRIs in N-Triples + "foo"^^

. diff --git a/test/NTriplesTests/nt-syntax-bnode-01.nt b/test/NTriplesTests/nt-syntax-bnode-01.nt new file mode 100644 index 00000000..5fb0d0f9 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bnode-01.nt @@ -0,0 +1 @@ +_:a . diff --git a/test/NTriplesTests/nt-syntax-bnode-02.nt b/test/NTriplesTests/nt-syntax-bnode-02.nt new file mode 100644 index 00000000..737e81b4 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bnode-02.nt @@ -0,0 +1,2 @@ + _:a . +_:a . diff --git a/test/NTriplesTests/nt-syntax-bnode-03.nt b/test/NTriplesTests/nt-syntax-bnode-03.nt new file mode 100644 index 00000000..1a1f1c9f --- /dev/null +++ b/test/NTriplesTests/nt-syntax-bnode-03.nt @@ -0,0 +1,2 @@ + _:1a . +_:1a . diff --git a/test/NTriplesTests/nt-syntax-datatypes-01.nt b/test/NTriplesTests/nt-syntax-datatypes-01.nt new file mode 100644 index 00000000..91263091 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-datatypes-01.nt @@ -0,0 +1 @@ + "123"^^ . diff --git a/test/NTriplesTests/nt-syntax-datatypes-02.nt b/test/NTriplesTests/nt-syntax-datatypes-02.nt new file mode 100644 index 00000000..d49cc27d --- /dev/null +++ b/test/NTriplesTests/nt-syntax-datatypes-02.nt @@ -0,0 +1 @@ + "123"^^ . diff --git a/test/NTriplesTests/nt-syntax-file-01.nt b/test/NTriplesTests/nt-syntax-file-01.nt new file mode 100644 index 00000000..e69de29b diff --git a/test/NTriplesTests/nt-syntax-file-02.nt b/test/NTriplesTests/nt-syntax-file-02.nt new file mode 100644 index 00000000..e6d327d5 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-file-02.nt @@ -0,0 +1 @@ +#Empty file. diff --git a/test/NTriplesTests/nt-syntax-file-03.nt b/test/NTriplesTests/nt-syntax-file-03.nt new file mode 100644 index 00000000..a9ca0358 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-file-03.nt @@ -0,0 +1,2 @@ +#One comment, one empty line. + diff --git a/test/NTriplesTests/nt-syntax-str-esc-01.nt b/test/NTriplesTests/nt-syntax-str-esc-01.nt new file mode 100644 index 00000000..3925f2ec --- /dev/null +++ b/test/NTriplesTests/nt-syntax-str-esc-01.nt @@ -0,0 +1 @@ + "a\n" . diff --git a/test/NTriplesTests/nt-syntax-str-esc-02.nt b/test/NTriplesTests/nt-syntax-str-esc-02.nt new file mode 100644 index 00000000..e7d032f0 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-str-esc-02.nt @@ -0,0 +1 @@ + "a\u0020b" . diff --git a/test/NTriplesTests/nt-syntax-str-esc-03.nt b/test/NTriplesTests/nt-syntax-str-esc-03.nt new file mode 100644 index 00000000..b8588c79 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-str-esc-03.nt @@ -0,0 +1 @@ + "a\U00000020b" . diff --git a/test/NTriplesTests/nt-syntax-string-01.nt b/test/NTriplesTests/nt-syntax-string-01.nt new file mode 100644 index 00000000..5333aefe --- /dev/null +++ b/test/NTriplesTests/nt-syntax-string-01.nt @@ -0,0 +1 @@ + "string" . diff --git a/test/NTriplesTests/nt-syntax-string-02.nt b/test/NTriplesTests/nt-syntax-string-02.nt new file mode 100644 index 00000000..1ab55a33 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-string-02.nt @@ -0,0 +1 @@ + "string"@en . diff --git a/test/NTriplesTests/nt-syntax-string-03.nt b/test/NTriplesTests/nt-syntax-string-03.nt new file mode 100644 index 00000000..b34ca0f6 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-string-03.nt @@ -0,0 +1 @@ + "string"@en-uk . diff --git a/test/NTriplesTests/nt-syntax-subm-01.nt b/test/NTriplesTests/nt-syntax-subm-01.nt new file mode 100644 index 00000000..91b49889 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-subm-01.nt @@ -0,0 +1,79 @@ +# +# Copyright World Wide Web Consortium, (Massachusetts Institute of +# Technology, Institut National de Recherche en Informatique et en +# Automatique, Keio University). +# +# All Rights Reserved. +# +# Please see the full Copyright clause at +# +# +# Test file with a variety of legal N-Triples +# +# Dave Beckett - http://purl.org/net/dajobe/ +# +# $Id: test.nt,v 1.7 2003/10/06 15:52:19 dbeckett2 Exp $ +# +##################################################################### + +# comment lines + # comment line after whitespace +# empty blank line, then one with spaces and tabs + + + . +_:anon . + _:anon . +# spaces and tabs throughout: + . + +# line ending with CR NL (ASCII 13, ASCII 10) + . + +# 2 statement lines separated by single CR (ASCII 10) + . + . + + +# All literal escapes + "simple literal" . + "backslash:\\" . + "dquote:\"" . + "newline:\n" . + "return\r" . + "tab:\t" . + +# Space is optional before final . + . + "x". + _:anon. + +# \u and \U escapes +# latin small letter e with acute symbol \u00E9 - 3 UTF-8 bytes #xC3 #A9 + "\u00E9" . +# Euro symbol \u20ac - 3 UTF-8 bytes #xE2 #x82 #xAC + "\u20AC" . +# resource18 test removed +# resource19 test removed +# resource20 test removed + +# XML Literals as Datatyped Literals + ""^^ . + " "^^ . + "x"^^ . + "\""^^ . + ""^^ . + "a "^^ . + "a c"^^ . + "a\n\nc"^^ . + "chat"^^ . +# resource28 test removed 2003-08-03 +# resource29 test removed 2003-08-03 + +# Plain literals with languages + "chat"@fr . + "chat"@en . + +# Typed Literals + "abc"^^ . +# resource33 test removed 2003-08-03 diff --git a/test/NTriplesTests/nt-syntax-uri-01.nt b/test/NTriplesTests/nt-syntax-uri-01.nt new file mode 100644 index 00000000..02e6ba98 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-uri-01.nt @@ -0,0 +1 @@ + . diff --git a/test/NTriplesTests/nt-syntax-uri-02.nt b/test/NTriplesTests/nt-syntax-uri-02.nt new file mode 100644 index 00000000..664feea1 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-uri-02.nt @@ -0,0 +1,2 @@ +# x53 is capital S + . diff --git a/test/NTriplesTests/nt-syntax-uri-03.nt b/test/NTriplesTests/nt-syntax-uri-03.nt new file mode 100644 index 00000000..b5aeb26e --- /dev/null +++ b/test/NTriplesTests/nt-syntax-uri-03.nt @@ -0,0 +1,2 @@ +# x53 is capital S + . diff --git a/test/NTriplesTests/nt-syntax-uri-04.nt b/test/NTriplesTests/nt-syntax-uri-04.nt new file mode 100644 index 00000000..49bacca7 --- /dev/null +++ b/test/NTriplesTests/nt-syntax-uri-04.nt @@ -0,0 +1,2 @@ +# IRI with all chars in it. + . diff --git a/test/TriGTests/HYPHEN_MINUS_in_localName.nq b/test/TriGTests/HYPHEN_MINUS_in_localName.nq new file mode 100644 index 00000000..2de67fd4 --- /dev/null +++ b/test/TriGTests/HYPHEN_MINUS_in_localName.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/HYPHEN_MINUS_in_localName.trig b/test/TriGTests/HYPHEN_MINUS_in_localName.trig new file mode 100644 index 00000000..e93280e9 --- /dev/null +++ b/test/TriGTests/HYPHEN_MINUS_in_localName.trig @@ -0,0 +1,3 @@ +@prefix p: . +{p:s- .} + {p:s- .} diff --git a/test/TriGTests/IRIREF_datatype.nq b/test/TriGTests/IRIREF_datatype.nq new file mode 100644 index 00000000..2ddce8e3 --- /dev/null +++ b/test/TriGTests/IRIREF_datatype.nq @@ -0,0 +1,2 @@ + "1"^^ . + "1"^^ . diff --git a/test/TriGTests/IRIREF_datatype.trig b/test/TriGTests/IRIREF_datatype.trig new file mode 100644 index 00000000..f8e89b17 --- /dev/null +++ b/test/TriGTests/IRIREF_datatype.trig @@ -0,0 +1,2 @@ +{ "1"^^ .} + { "1"^^ .} diff --git a/test/TriGTests/IRI_spo.nq b/test/TriGTests/IRI_spo.nq new file mode 100644 index 00000000..9e8bf24d --- /dev/null +++ b/test/TriGTests/IRI_spo.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/IRI_subject.trig b/test/TriGTests/IRI_subject.trig new file mode 100644 index 00000000..0a258598 --- /dev/null +++ b/test/TriGTests/IRI_subject.trig @@ -0,0 +1,2 @@ +{ .} + { .} diff --git a/test/TriGTests/IRI_with_all_punctuation.nq b/test/TriGTests/IRI_with_all_punctuation.nq new file mode 100644 index 00000000..ea278b6c --- /dev/null +++ b/test/TriGTests/IRI_with_all_punctuation.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/IRI_with_all_punctuation.trig b/test/TriGTests/IRI_with_all_punctuation.trig new file mode 100644 index 00000000..4b602a73 --- /dev/null +++ b/test/TriGTests/IRI_with_all_punctuation.trig @@ -0,0 +1,2 @@ +{ .} + { .} diff --git a/test/TriGTests/IRI_with_eight_digit_numeric_escape.trig b/test/TriGTests/IRI_with_eight_digit_numeric_escape.trig new file mode 100644 index 00000000..6042a770 --- /dev/null +++ b/test/TriGTests/IRI_with_eight_digit_numeric_escape.trig @@ -0,0 +1,2 @@ +{ .} + { .} diff --git a/test/TriGTests/IRI_with_four_digit_numeric_escape.trig b/test/TriGTests/IRI_with_four_digit_numeric_escape.trig new file mode 100644 index 00000000..6c659d06 --- /dev/null +++ b/test/TriGTests/IRI_with_four_digit_numeric_escape.trig @@ -0,0 +1,2 @@ +{ .} + { .} diff --git a/test/TriGTests/LICENSE b/test/TriGTests/LICENSE new file mode 100644 index 00000000..3c128537 --- /dev/null +++ b/test/TriGTests/LICENSE @@ -0,0 +1,48 @@ +Summary +======= + +Distributed under both the W3C Test Suite License[1] and the W3C 3-clause BSD License[2]. To contribute to a W3C Test Suite, see the policies and contribution forms [3] + +1. http://www.w3.org/Consortium/Legal/2008/04-testsuite-license +2. http://www.w3.org/Consortium/Legal/2008/03-bsd-license +3. http://www.w3.org/2004/10/27-testcases + +DISCLAIMER + +UNDER BOTH MUTUALLY EXCLUSIVE LICENSES, THIS DOCUMENT AND ALL DOCUMENTS, TESTS AND SOFTWARE THAT LINK THIS STATEMENT ARE PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF. + + +W3C Test Suite License +====================== + +This document, Test Suites and other documents that link to this statement are provided by the copyright holders under the following license: By using and/or copying this document, or the W3C document from which this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions: + +Permission to copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that you use: + +A link or URL to the original W3C document. +The pre-existing copyright notice of the original author, or if it doesn't exist, a notice (hypertext is preferred, but a textual representation is permitted) of the form: "Copyright © [$date-of-document] World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University) and others. All Rights Reserved. http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html" +If it exists, the STATUS of the W3C document. +When space permits, inclusion of the full text of this NOTICE should be provided. We request that authorship attribution be provided in any software, documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof. + +No right to create modifications or derivatives of W3C documents is granted pursuant to this license. However, if additional requirements (documented in the Copyright FAQ) are satisfied, the right to create modifications or derivatives is sometimes granted by the W3C to individuals complying with those requirements. + +If a Test Suite distinguishes the test harness (or, framework for navigation) and the actual tests, permission is given to remove or alter the harness or navigation if the Test Suite in question allows to do so. The tests themselves shall NOT be changed in any way. + +The name and trademarks of W3C and other copyright holders may NOT be used in advertising or publicity pertaining to this document or other documents that link to this statement without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders. Permission is given to use the trademarked string W3C within claims of performance concerning W3C Specifications or features described therein, and there only, if the test suite so authorizes. + +THIS WORK IS PROVIDED BY W3C, MIT, ERCIM, KEIO UNIVERSITY, THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL W3C, MIT, ERCIM, KEIO UNIVERSITY, THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +W3C 3-clause BSD License +======================== +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + Redistributions of works must retain the original copyright notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the original copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + Neither the name of the W3C nor the names of its contributors may be used to endorse or promote products derived from this work without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/test/TriGTests/LITERAL1.nq b/test/TriGTests/LITERAL1.nq new file mode 100644 index 00000000..97b680a5 --- /dev/null +++ b/test/TriGTests/LITERAL1.nq @@ -0,0 +1,2 @@ + "x" . + "x" . diff --git a/test/TriGTests/LITERAL1.trig b/test/TriGTests/LITERAL1.trig new file mode 100644 index 00000000..df544ef8 --- /dev/null +++ b/test/TriGTests/LITERAL1.trig @@ -0,0 +1,2 @@ +{ 'x' .} + { 'x' .} diff --git a/test/TriGTests/LITERAL1_all_controls.nq b/test/TriGTests/LITERAL1_all_controls.nq new file mode 100644 index 00000000..3bfb3bd4 --- /dev/null +++ b/test/TriGTests/LITERAL1_all_controls.nq @@ -0,0 +1,2 @@ + "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\t\u000B\u000C\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" . + "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\t\u000B\u000C\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" . diff --git a/test/TriGTests/LITERAL1_all_controls.trig b/test/TriGTests/LITERAL1_all_controls.trig new file mode 100644 index 00000000..1246b619 Binary files /dev/null and b/test/TriGTests/LITERAL1_all_controls.trig differ diff --git a/test/TriGTests/LITERAL1_all_punctuation.nq b/test/TriGTests/LITERAL1_all_punctuation.nq new file mode 100644 index 00000000..47ef8763 --- /dev/null +++ b/test/TriGTests/LITERAL1_all_punctuation.nq @@ -0,0 +1,2 @@ + " !\"#$%&():;<=>?@[]^_`{|}~" . + " !\"#$%&():;<=>?@[]^_`{|}~" . diff --git a/test/TriGTests/LITERAL1_all_punctuation.trig b/test/TriGTests/LITERAL1_all_punctuation.trig new file mode 100644 index 00000000..456e7972 --- /dev/null +++ b/test/TriGTests/LITERAL1_all_punctuation.trig @@ -0,0 +1,2 @@ +{ ' !"#$%&():;<=>?@[]^_`{|}~' .} + { ' !"#$%&():;<=>?@[]^_`{|}~' .} diff --git a/test/TriGTests/LITERAL1_ascii_boundaries.nq b/test/TriGTests/LITERAL1_ascii_boundaries.nq new file mode 100644 index 00000000..672da9d1 --- /dev/null +++ b/test/TriGTests/LITERAL1_ascii_boundaries.nq @@ -0,0 +1,2 @@ + "\u0000\t\u000B\u000C\u000E&([]\u007F" . + "\u0000\t\u000B\u000C\u000E&([]\u007F" . diff --git a/test/TriGTests/LITERAL1_ascii_boundaries.trig b/test/TriGTests/LITERAL1_ascii_boundaries.trig new file mode 100644 index 00000000..cd14a4e8 Binary files /dev/null and b/test/TriGTests/LITERAL1_ascii_boundaries.trig differ diff --git a/test/TriGTests/LITERAL1_with_UTF8_boundaries.trig b/test/TriGTests/LITERAL1_with_UTF8_boundaries.trig new file mode 100644 index 00000000..b72eb040 --- /dev/null +++ b/test/TriGTests/LITERAL1_with_UTF8_boundaries.trig @@ -0,0 +1 @@ + '€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽' . diff --git a/test/TriGTests/LITERAL2.trig b/test/TriGTests/LITERAL2.trig new file mode 100644 index 00000000..c2b09ff6 --- /dev/null +++ b/test/TriGTests/LITERAL2.trig @@ -0,0 +1,2 @@ +{ "x" .} + { "x" .} diff --git a/test/TriGTests/LITERAL2_ascii_boundaries.nq b/test/TriGTests/LITERAL2_ascii_boundaries.nq new file mode 100644 index 00000000..63402430 --- /dev/null +++ b/test/TriGTests/LITERAL2_ascii_boundaries.nq @@ -0,0 +1,2 @@ + "\u0000\t\u000B\u000C\u000E!#[]\u007F" . + "\u0000\t\u000B\u000C\u000E!#[]\u007F" . diff --git a/test/TriGTests/LITERAL2_ascii_boundaries.trig b/test/TriGTests/LITERAL2_ascii_boundaries.trig new file mode 100644 index 00000000..dd6b3ddf Binary files /dev/null and b/test/TriGTests/LITERAL2_ascii_boundaries.trig differ diff --git a/test/TriGTests/LITERAL2_with_UTF8_boundaries.trig b/test/TriGTests/LITERAL2_with_UTF8_boundaries.trig new file mode 100644 index 00000000..0e1616db --- /dev/null +++ b/test/TriGTests/LITERAL2_with_UTF8_boundaries.trig @@ -0,0 +1 @@ + "€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽" . diff --git a/test/TriGTests/LITERAL_LONG1.trig b/test/TriGTests/LITERAL_LONG1.trig new file mode 100644 index 00000000..5db4af44 --- /dev/null +++ b/test/TriGTests/LITERAL_LONG1.trig @@ -0,0 +1,2 @@ +{ '''x''' .} + { '''x''' .} diff --git a/test/TriGTests/LITERAL_LONG1_ascii_boundaries.nq b/test/TriGTests/LITERAL_LONG1_ascii_boundaries.nq new file mode 100644 index 00000000..5dc9b17a --- /dev/null +++ b/test/TriGTests/LITERAL_LONG1_ascii_boundaries.nq @@ -0,0 +1,2 @@ + "\u0000&([]\u007F" . + "\u0000&([]\u007F" . diff --git a/test/TriGTests/LITERAL_LONG1_ascii_boundaries.trig b/test/TriGTests/LITERAL_LONG1_ascii_boundaries.trig new file mode 100644 index 00000000..25db84dd Binary files /dev/null and b/test/TriGTests/LITERAL_LONG1_ascii_boundaries.trig differ diff --git a/test/TriGTests/LITERAL_LONG1_with_1_squote.nq b/test/TriGTests/LITERAL_LONG1_with_1_squote.nq new file mode 100644 index 00000000..f72af857 --- /dev/null +++ b/test/TriGTests/LITERAL_LONG1_with_1_squote.nq @@ -0,0 +1,2 @@ + "x'y" . + "x'y" . diff --git a/test/TriGTests/LITERAL_LONG1_with_1_squote.trig b/test/TriGTests/LITERAL_LONG1_with_1_squote.trig new file mode 100644 index 00000000..45e742ed --- /dev/null +++ b/test/TriGTests/LITERAL_LONG1_with_1_squote.trig @@ -0,0 +1,2 @@ +{ '''x'y''' .} + { '''x'y''' .} diff --git a/test/TriGTests/LITERAL_LONG1_with_2_squotes.nq b/test/TriGTests/LITERAL_LONG1_with_2_squotes.nq new file mode 100644 index 00000000..5e7a4890 --- /dev/null +++ b/test/TriGTests/LITERAL_LONG1_with_2_squotes.nq @@ -0,0 +1,2 @@ + "x''y" . + "x''y" . diff --git a/test/TriGTests/LITERAL_LONG1_with_2_squotes.trig b/test/TriGTests/LITERAL_LONG1_with_2_squotes.trig new file mode 100644 index 00000000..75f94883 --- /dev/null +++ b/test/TriGTests/LITERAL_LONG1_with_2_squotes.trig @@ -0,0 +1,2 @@ +{ '''x''y''' .} + { '''x''y''' .} diff --git a/test/TriGTests/LITERAL_LONG1_with_UTF8_boundaries.trig b/test/TriGTests/LITERAL_LONG1_with_UTF8_boundaries.trig new file mode 100644 index 00000000..e04b675e --- /dev/null +++ b/test/TriGTests/LITERAL_LONG1_with_UTF8_boundaries.trig @@ -0,0 +1 @@ + '''€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽''' . diff --git a/test/TriGTests/LITERAL_LONG2.trig b/test/TriGTests/LITERAL_LONG2.trig new file mode 100644 index 00000000..2f1a86ec --- /dev/null +++ b/test/TriGTests/LITERAL_LONG2.trig @@ -0,0 +1,2 @@ +{ """x""" .} + { """x""" .} diff --git a/test/TriGTests/LITERAL_LONG2_ascii_boundaries.nq b/test/TriGTests/LITERAL_LONG2_ascii_boundaries.nq new file mode 100644 index 00000000..1dc45f7c --- /dev/null +++ b/test/TriGTests/LITERAL_LONG2_ascii_boundaries.nq @@ -0,0 +1,2 @@ + "\u0000!#[]\u007F" . + "\u0000!#[]\u007F" . diff --git a/test/TriGTests/LITERAL_LONG2_ascii_boundaries.trig b/test/TriGTests/LITERAL_LONG2_ascii_boundaries.trig new file mode 100644 index 00000000..804fe250 Binary files /dev/null and b/test/TriGTests/LITERAL_LONG2_ascii_boundaries.trig differ diff --git a/test/TriGTests/LITERAL_LONG2_with_1_squote.nq b/test/TriGTests/LITERAL_LONG2_with_1_squote.nq new file mode 100644 index 00000000..3cbb9785 --- /dev/null +++ b/test/TriGTests/LITERAL_LONG2_with_1_squote.nq @@ -0,0 +1,2 @@ + "x\"y" . + "x\"y" . diff --git a/test/TriGTests/LITERAL_LONG2_with_1_squote.trig b/test/TriGTests/LITERAL_LONG2_with_1_squote.trig new file mode 100644 index 00000000..fccbe173 --- /dev/null +++ b/test/TriGTests/LITERAL_LONG2_with_1_squote.trig @@ -0,0 +1,2 @@ +{ """x"y""" .} + { """x"y""" .} diff --git a/test/TriGTests/LITERAL_LONG2_with_2_squotes.nq b/test/TriGTests/LITERAL_LONG2_with_2_squotes.nq new file mode 100644 index 00000000..cdab9945 --- /dev/null +++ b/test/TriGTests/LITERAL_LONG2_with_2_squotes.nq @@ -0,0 +1,2 @@ + "x\"\"y" . + "x\"\"y" . diff --git a/test/TriGTests/LITERAL_LONG2_with_2_squotes.trig b/test/TriGTests/LITERAL_LONG2_with_2_squotes.trig new file mode 100644 index 00000000..8d1f3359 --- /dev/null +++ b/test/TriGTests/LITERAL_LONG2_with_2_squotes.trig @@ -0,0 +1,2 @@ +{ """x""y""" .} + { """x""y""" .} diff --git a/test/TriGTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.nq b/test/TriGTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.nq new file mode 100644 index 00000000..43b76993 --- /dev/null +++ b/test/TriGTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.nq @@ -0,0 +1,2 @@ + "test-\\" . + "test-\\" . diff --git a/test/TriGTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.trig b/test/TriGTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.trig new file mode 100644 index 00000000..4dfe5e1f --- /dev/null +++ b/test/TriGTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.trig @@ -0,0 +1,4 @@ +@prefix : . + +{:s :p1 """test-\\""" .} + {:s :p1 """test-\\""" .} diff --git a/test/TriGTests/LITERAL_LONG2_with_UTF8_boundaries.trig b/test/TriGTests/LITERAL_LONG2_with_UTF8_boundaries.trig new file mode 100644 index 00000000..644b32d8 --- /dev/null +++ b/test/TriGTests/LITERAL_LONG2_with_UTF8_boundaries.trig @@ -0,0 +1 @@ + """€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽""" . diff --git a/test/TriGTests/LITERAL_with_UTF8_boundaries.nq b/test/TriGTests/LITERAL_with_UTF8_boundaries.nq new file mode 100644 index 00000000..47a2527a --- /dev/null +++ b/test/TriGTests/LITERAL_with_UTF8_boundaries.nq @@ -0,0 +1 @@ + "\u0080\u07FF\u0800\u0FFF\u1000\uCFFF\uD000\uD7FF\uE000\uFFFD\U00010000\U0003FFFD\U00040000\U000FFFFD\U00100000\U0010FFFD" . diff --git a/test/TriGTests/README b/test/TriGTests/README new file mode 100644 index 00000000..adbb2a3f --- /dev/null +++ b/test/TriGTests/README @@ -0,0 +1,41 @@ +This README is for the W3C RDF Working Group's TriG test suite. +This test suite contains three kinds of tests: + + Evaluation (rdft:TestTriGEval) - a pair of an input trig file + and reference ntriples file. + + Positive syntax (rdft:TestTriGPositiveSyntax) - an input trig + file with no syntax errors. + + Negative syntax (rdft:TestTriGNegativeSyntax) - an input trig + file with at least one syntax error. + +The manifest.ttl file in this directory lists all of the tests in the +RDF WG's TriG test suite. Each test is one of the above tests. All +tests have a name (mf:name) and an input (mf:action). The Evaluation +tests have an expected result (mf:result). + +• An implementation passes an Evaluation test if it parses the input + into a graph, parses the expecte result into another graph, and + those two graphs are isomorphic (see + ). + +• An implementation passes a positive syntax test if it parses the + input. + +• An implementation passes a negative syntax test if it fails to parse + the input. + +The home of the test suite is . +Per RFC 3986 section 5.1.3, the base IRI for parsing each file is the +retrieval IRI for that file. For example, the tests trig-subm-01 and +trig-subm-27 require relative IRI resolution against a base of + and + respectively. + + +See http://www.w3.org/2011/rdf-wg/wiki/TriG_Test_Suite for more details. + + +Eric Prud'hommeaux - 11 June 2013. +Gregg Kellogg - 12 June 2013. diff --git a/test/TriGTests/SPARQL_style_base.trig b/test/TriGTests/SPARQL_style_base.trig new file mode 100644 index 00000000..5697b450 --- /dev/null +++ b/test/TriGTests/SPARQL_style_base.trig @@ -0,0 +1,3 @@ +BASE +{ .} + { .} diff --git a/test/TriGTests/SPARQL_style_prefix.trig b/test/TriGTests/SPARQL_style_prefix.trig new file mode 100644 index 00000000..49bc9737 --- /dev/null +++ b/test/TriGTests/SPARQL_style_prefix.trig @@ -0,0 +1,3 @@ +PREFIX p: +{p:s .} + {p:s .} diff --git a/test/TriGTests/alternating_bnode_graphs.nq b/test/TriGTests/alternating_bnode_graphs.nq new file mode 100644 index 00000000..66124112 --- /dev/null +++ b/test/TriGTests/alternating_bnode_graphs.nq @@ -0,0 +1,4 @@ + . + _:G . + . + _:G . diff --git a/test/TriGTests/alternating_bnode_graphs.trig b/test/TriGTests/alternating_bnode_graphs.trig new file mode 100644 index 00000000..e921099b --- /dev/null +++ b/test/TriGTests/alternating_bnode_graphs.trig @@ -0,0 +1,5 @@ +@prefix : . +{:a :b :c.} +_:G {:a :b :d.} +{:a :b :e.} +_:G {:a :b :f.} diff --git a/test/TriGTests/alternating_iri_graphs.nq b/test/TriGTests/alternating_iri_graphs.nq new file mode 100644 index 00000000..29c063e4 --- /dev/null +++ b/test/TriGTests/alternating_iri_graphs.nq @@ -0,0 +1,4 @@ + . + . + . + . diff --git a/test/TriGTests/alternating_iri_graphs.trig b/test/TriGTests/alternating_iri_graphs.trig new file mode 100644 index 00000000..6ce4d656 --- /dev/null +++ b/test/TriGTests/alternating_iri_graphs.trig @@ -0,0 +1,5 @@ +@prefix : . +{:a :b :c.} +:G {:a :b :d.} +{:a :b :e.} +:G {:a :b :f.} diff --git a/test/TriGTests/anonymous_blank_node_graph.nq b/test/TriGTests/anonymous_blank_node_graph.nq new file mode 100644 index 00000000..0522cbda --- /dev/null +++ b/test/TriGTests/anonymous_blank_node_graph.nq @@ -0,0 +1 @@ + _:b1 . diff --git a/test/TriGTests/anonymous_blank_node_graph.trig b/test/TriGTests/anonymous_blank_node_graph.trig new file mode 100644 index 00000000..6dd8d54e --- /dev/null +++ b/test/TriGTests/anonymous_blank_node_graph.trig @@ -0,0 +1 @@ +[] { .} diff --git a/test/TriGTests/anonymous_blank_node_object.nq b/test/TriGTests/anonymous_blank_node_object.nq new file mode 100644 index 00000000..a2c997f2 --- /dev/null +++ b/test/TriGTests/anonymous_blank_node_object.nq @@ -0,0 +1,2 @@ + _:b1 . + _:b2 . diff --git a/test/TriGTests/anonymous_blank_node_object.trig b/test/TriGTests/anonymous_blank_node_object.trig new file mode 100644 index 00000000..e91e7102 --- /dev/null +++ b/test/TriGTests/anonymous_blank_node_object.trig @@ -0,0 +1,2 @@ +{ [] .} + { [] .} diff --git a/test/TriGTests/anonymous_blank_node_subject.nq b/test/TriGTests/anonymous_blank_node_subject.nq new file mode 100644 index 00000000..b17e189c --- /dev/null +++ b/test/TriGTests/anonymous_blank_node_subject.nq @@ -0,0 +1,2 @@ +_:b1 . +_:b2 . diff --git a/test/TriGTests/anonymous_blank_node_subject.trig b/test/TriGTests/anonymous_blank_node_subject.trig new file mode 100644 index 00000000..e9866f94 --- /dev/null +++ b/test/TriGTests/anonymous_blank_node_subject.trig @@ -0,0 +1,2 @@ +{[] .} + {[] .} diff --git a/test/TriGTests/bareword_a_predicate.nq b/test/TriGTests/bareword_a_predicate.nq new file mode 100644 index 00000000..fd01c46a --- /dev/null +++ b/test/TriGTests/bareword_a_predicate.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/bareword_a_predicate.trig b/test/TriGTests/bareword_a_predicate.trig new file mode 100644 index 00000000..315dc9bb --- /dev/null +++ b/test/TriGTests/bareword_a_predicate.trig @@ -0,0 +1,2 @@ +{ a .} + { a .} diff --git a/test/TriGTests/bareword_decimal.nq b/test/TriGTests/bareword_decimal.nq new file mode 100644 index 00000000..ed5de576 --- /dev/null +++ b/test/TriGTests/bareword_decimal.nq @@ -0,0 +1,2 @@ + "1.0"^^ . + "1.0"^^ . diff --git a/test/TriGTests/bareword_decimal.trig b/test/TriGTests/bareword_decimal.trig new file mode 100644 index 00000000..f862e712 --- /dev/null +++ b/test/TriGTests/bareword_decimal.trig @@ -0,0 +1,2 @@ +{ 1.0 .} + { 1.0 .} diff --git a/test/TriGTests/bareword_double.nq b/test/TriGTests/bareword_double.nq new file mode 100644 index 00000000..f1783256 --- /dev/null +++ b/test/TriGTests/bareword_double.nq @@ -0,0 +1,2 @@ + "1E0"^^ . + "1E0"^^ . diff --git a/test/TriGTests/bareword_double.trig b/test/TriGTests/bareword_double.trig new file mode 100644 index 00000000..788b8cee --- /dev/null +++ b/test/TriGTests/bareword_double.trig @@ -0,0 +1,2 @@ +{ 1E0 .} + { 1E0 .} diff --git a/test/TriGTests/bareword_integer.trig b/test/TriGTests/bareword_integer.trig new file mode 100644 index 00000000..be1fa8ed --- /dev/null +++ b/test/TriGTests/bareword_integer.trig @@ -0,0 +1,2 @@ +{ 1 .} + { 1 .} diff --git a/test/TriGTests/blankNodePropertyList_as_object.nq b/test/TriGTests/blankNodePropertyList_as_object.nq new file mode 100644 index 00000000..8e38d4e4 --- /dev/null +++ b/test/TriGTests/blankNodePropertyList_as_object.nq @@ -0,0 +1,4 @@ + _:b1 . +_:b1 . + _:b2 . +_:b2 . diff --git a/test/TriGTests/blankNodePropertyList_as_object.trig b/test/TriGTests/blankNodePropertyList_as_object.trig new file mode 100644 index 00000000..724d77ba --- /dev/null +++ b/test/TriGTests/blankNodePropertyList_as_object.trig @@ -0,0 +1,2 @@ +{ [ ] .} + { [ ] .} \ No newline at end of file diff --git a/test/TriGTests/blankNodePropertyList_as_subject.nq b/test/TriGTests/blankNodePropertyList_as_subject.nq new file mode 100644 index 00000000..b3c274ce --- /dev/null +++ b/test/TriGTests/blankNodePropertyList_as_subject.nq @@ -0,0 +1,4 @@ +_:b1 . +_:b1 . +_:b2 . +_:b2 . diff --git a/test/TriGTests/blankNodePropertyList_as_subject.trig b/test/TriGTests/blankNodePropertyList_as_subject.trig new file mode 100644 index 00000000..925b680a --- /dev/null +++ b/test/TriGTests/blankNodePropertyList_as_subject.trig @@ -0,0 +1,2 @@ +{[ ] .} + {[ ] .} diff --git a/test/TriGTests/blankNodePropertyList_containing_collection.nq b/test/TriGTests/blankNodePropertyList_containing_collection.nq new file mode 100644 index 00000000..85f272a7 --- /dev/null +++ b/test/TriGTests/blankNodePropertyList_containing_collection.nq @@ -0,0 +1,6 @@ +_:b1 _:b2 . +_:b2 "1"^^ . +_:b2 . +_:b3 _:b4 . +_:b4 "1"^^ . +_:b4 . diff --git a/test/TriGTests/blankNodePropertyList_containing_collection.trig b/test/TriGTests/blankNodePropertyList_containing_collection.trig new file mode 100644 index 00000000..d23b848c --- /dev/null +++ b/test/TriGTests/blankNodePropertyList_containing_collection.trig @@ -0,0 +1,2 @@ +{[ (1) ] .} + {[ (1) ] .} diff --git a/test/TriGTests/blankNodePropertyList_with_multiple_triples.nq b/test/TriGTests/blankNodePropertyList_with_multiple_triples.nq new file mode 100644 index 00000000..ac7e6125 --- /dev/null +++ b/test/TriGTests/blankNodePropertyList_with_multiple_triples.nq @@ -0,0 +1,6 @@ +_:b1 . +_:b1 . +_:b1 . +_:b2 . +_:b2 . +_:b2 . diff --git a/test/TriGTests/blankNodePropertyList_with_multiple_triples.trig b/test/TriGTests/blankNodePropertyList_with_multiple_triples.trig new file mode 100644 index 00000000..dc5b5461 --- /dev/null +++ b/test/TriGTests/blankNodePropertyList_with_multiple_triples.trig @@ -0,0 +1,2 @@ +{[ ; ] .} + {[ ; ] .} diff --git a/test/TriGTests/collection_object.nq b/test/TriGTests/collection_object.nq new file mode 100644 index 00000000..8ced4ad1 --- /dev/null +++ b/test/TriGTests/collection_object.nq @@ -0,0 +1,6 @@ + _:b1 . +_:b1 "1"^^ . +_:b1 . + _:b2 . +_:b2 "1"^^ . +_:b2 . diff --git a/test/TriGTests/collection_object.trig b/test/TriGTests/collection_object.trig new file mode 100644 index 00000000..a86dd42f --- /dev/null +++ b/test/TriGTests/collection_object.trig @@ -0,0 +1,2 @@ +{ (1) .} + { (1) .} \ No newline at end of file diff --git a/test/TriGTests/collection_subject.nq b/test/TriGTests/collection_subject.nq new file mode 100644 index 00000000..26858dc1 --- /dev/null +++ b/test/TriGTests/collection_subject.nq @@ -0,0 +1,6 @@ +_:b1 "1"^^ . +_:b1 . +_:b1 . +_:b2 "1"^^ . +_:b2 . +_:b2 . diff --git a/test/TriGTests/collection_subject.trig b/test/TriGTests/collection_subject.trig new file mode 100644 index 00000000..cb49acd8 --- /dev/null +++ b/test/TriGTests/collection_subject.trig @@ -0,0 +1,2 @@ +{(1) .} + {(1) .} diff --git a/test/TriGTests/comment_following_PNAME_NS.nq b/test/TriGTests/comment_following_PNAME_NS.nq new file mode 100644 index 00000000..a8ca81c5 --- /dev/null +++ b/test/TriGTests/comment_following_PNAME_NS.nq @@ -0,0 +1 @@ + . diff --git a/test/TriGTests/comment_following_PNAME_NS.trig b/test/TriGTests/comment_following_PNAME_NS.trig new file mode 100644 index 00000000..c03124c4 --- /dev/null +++ b/test/TriGTests/comment_following_PNAME_NS.trig @@ -0,0 +1,3 @@ +@prefix p: . + p:#comment +. diff --git a/test/TriGTests/comment_following_localName.trig b/test/TriGTests/comment_following_localName.trig new file mode 100644 index 00000000..649a9a59 --- /dev/null +++ b/test/TriGTests/comment_following_localName.trig @@ -0,0 +1,8 @@ +@prefix p: . + p:o#comment +. + + { + #comment + . +} diff --git a/test/TriGTests/default_namespace_IRI.trig b/test/TriGTests/default_namespace_IRI.trig new file mode 100644 index 00000000..7eccc879 --- /dev/null +++ b/test/TriGTests/default_namespace_IRI.trig @@ -0,0 +1,3 @@ +@prefix : . +{:s .} + {:s .} diff --git a/test/TriGTests/double_lower_case_e.nq b/test/TriGTests/double_lower_case_e.nq new file mode 100644 index 00000000..c19ca11d --- /dev/null +++ b/test/TriGTests/double_lower_case_e.nq @@ -0,0 +1,2 @@ + "1e0"^^ . + "1e0"^^ . diff --git a/test/TriGTests/double_lower_case_e.trig b/test/TriGTests/double_lower_case_e.trig new file mode 100644 index 00000000..588669fa --- /dev/null +++ b/test/TriGTests/double_lower_case_e.trig @@ -0,0 +1,2 @@ +{ 1e0 .} + { 1e0 .} diff --git a/test/TriGTests/empty_collection.nq b/test/TriGTests/empty_collection.nq new file mode 100644 index 00000000..f85ed8fb --- /dev/null +++ b/test/TriGTests/empty_collection.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/empty_collection.trig b/test/TriGTests/empty_collection.trig new file mode 100644 index 00000000..c6aef8b2 --- /dev/null +++ b/test/TriGTests/empty_collection.trig @@ -0,0 +1,2 @@ +{ () .} + { () .} diff --git a/test/TriGTests/first.nq b/test/TriGTests/first.nq new file mode 100644 index 00000000..0ba78d55 --- /dev/null +++ b/test/TriGTests/first.nq @@ -0,0 +1,14 @@ + _:b1 . +_:b1 _:b2 . +_:b2 "1"^^ . +_:b2 . +_:b1 _:b3 . +_:b3 "2"^^ . +_:b3 . + _:b4 . +_:b4 _:b5 . +_:b5 "1"^^ . +_:b5 . +_:b4 _:b6 . +_:b6 "2"^^ . +_:b6 . diff --git a/test/TriGTests/first.trig b/test/TriGTests/first.trig new file mode 100644 index 00000000..0f80aa69 --- /dev/null +++ b/test/TriGTests/first.trig @@ -0,0 +1,2 @@ +{ ((1) 2) .} + { ((1) 2) .} diff --git a/test/TriGTests/labeled_blank_node_graph.nq b/test/TriGTests/labeled_blank_node_graph.nq new file mode 100644 index 00000000..e9d83f4e --- /dev/null +++ b/test/TriGTests/labeled_blank_node_graph.nq @@ -0,0 +1 @@ + _:g1 . diff --git a/test/TriGTests/labeled_blank_node_graph.trig b/test/TriGTests/labeled_blank_node_graph.trig new file mode 100644 index 00000000..a6adbb98 --- /dev/null +++ b/test/TriGTests/labeled_blank_node_graph.trig @@ -0,0 +1 @@ +_:g1 { .} diff --git a/test/TriGTests/labeled_blank_node_object.nq b/test/TriGTests/labeled_blank_node_object.nq new file mode 100644 index 00000000..58b5fad2 --- /dev/null +++ b/test/TriGTests/labeled_blank_node_object.nq @@ -0,0 +1,2 @@ + _:o . + _:o . diff --git a/test/TriGTests/labeled_blank_node_object.trig b/test/TriGTests/labeled_blank_node_object.trig new file mode 100644 index 00000000..1ac7de76 --- /dev/null +++ b/test/TriGTests/labeled_blank_node_object.trig @@ -0,0 +1,2 @@ +{ _:o .} + { _:o .} diff --git a/test/TriGTests/labeled_blank_node_subject.nq b/test/TriGTests/labeled_blank_node_subject.nq new file mode 100644 index 00000000..b1f38d51 --- /dev/null +++ b/test/TriGTests/labeled_blank_node_subject.nq @@ -0,0 +1,2 @@ +_:s . +_:s . diff --git a/test/TriGTests/labeled_blank_node_subject.trig b/test/TriGTests/labeled_blank_node_subject.trig new file mode 100644 index 00000000..4dca0e98 --- /dev/null +++ b/test/TriGTests/labeled_blank_node_subject.trig @@ -0,0 +1,2 @@ +{_:s .} + {_:s .} diff --git a/test/TriGTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.nq b/test/TriGTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.nq new file mode 100644 index 00000000..969c0c2a --- /dev/null +++ b/test/TriGTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.nq @@ -0,0 +1,2 @@ + _:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽 . + _:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽 . diff --git a/test/TriGTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.trig b/test/TriGTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.trig new file mode 100644 index 00000000..8920d476 --- /dev/null +++ b/test/TriGTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.trig @@ -0,0 +1,2 @@ +{ _:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽 .} + { _:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽 .} diff --git a/test/TriGTests/labeled_blank_node_with_leading_digit.nq b/test/TriGTests/labeled_blank_node_with_leading_digit.nq new file mode 100644 index 00000000..24f52035 --- /dev/null +++ b/test/TriGTests/labeled_blank_node_with_leading_digit.nq @@ -0,0 +1,2 @@ + _:0 . + _:0 . diff --git a/test/TriGTests/labeled_blank_node_with_leading_digit.trig b/test/TriGTests/labeled_blank_node_with_leading_digit.trig new file mode 100644 index 00000000..32ff3860 --- /dev/null +++ b/test/TriGTests/labeled_blank_node_with_leading_digit.trig @@ -0,0 +1,2 @@ +{ _:0 .} + { _:0 .} diff --git a/test/TriGTests/labeled_blank_node_with_leading_underscore.nq b/test/TriGTests/labeled_blank_node_with_leading_underscore.nq new file mode 100644 index 00000000..57d0044e --- /dev/null +++ b/test/TriGTests/labeled_blank_node_with_leading_underscore.nq @@ -0,0 +1,2 @@ + _:_ . + _:_ . diff --git a/test/TriGTests/labeled_blank_node_with_leading_underscore.trig b/test/TriGTests/labeled_blank_node_with_leading_underscore.trig new file mode 100644 index 00000000..11bd621c --- /dev/null +++ b/test/TriGTests/labeled_blank_node_with_leading_underscore.trig @@ -0,0 +1,2 @@ +{ _:_ .} + { _:_ .} diff --git a/test/TriGTests/labeled_blank_node_with_non_leading_extras.nq b/test/TriGTests/labeled_blank_node_with_non_leading_extras.nq new file mode 100644 index 00000000..ebf8024c --- /dev/null +++ b/test/TriGTests/labeled_blank_node_with_non_leading_extras.nq @@ -0,0 +1,2 @@ + _:a·̀ͯ‿.⁀ . + _:a·̀ͯ‿.⁀ . diff --git a/test/TriGTests/labeled_blank_node_with_non_leading_extras.trig b/test/TriGTests/labeled_blank_node_with_non_leading_extras.trig new file mode 100644 index 00000000..dad502a4 --- /dev/null +++ b/test/TriGTests/labeled_blank_node_with_non_leading_extras.trig @@ -0,0 +1,2 @@ +{ _:a·̀ͯ‿.⁀ .} + { _:a·̀ͯ‿.⁀ .} diff --git a/test/TriGTests/langtagged_LONG.trig b/test/TriGTests/langtagged_LONG.trig new file mode 100644 index 00000000..d63e0e19 --- /dev/null +++ b/test/TriGTests/langtagged_LONG.trig @@ -0,0 +1,2 @@ +{ """chat"""@en .} + { """chat"""@en .} diff --git a/test/TriGTests/langtagged_LONG_with_subtag.nq b/test/TriGTests/langtagged_LONG_with_subtag.nq new file mode 100644 index 00000000..14b56574 --- /dev/null +++ b/test/TriGTests/langtagged_LONG_with_subtag.nq @@ -0,0 +1,2 @@ + "Cheers"@en-UK . + "Cheers"@en-UK . diff --git a/test/TriGTests/langtagged_LONG_with_subtag.trig b/test/TriGTests/langtagged_LONG_with_subtag.trig new file mode 100644 index 00000000..c7ba8f2d --- /dev/null +++ b/test/TriGTests/langtagged_LONG_with_subtag.trig @@ -0,0 +1,4 @@ +# Test long literal with lang tag +@prefix : . +{:a :b """Cheers"""@en-UK .} + {:a :b """Cheers"""@en-UK .} diff --git a/test/TriGTests/langtagged_non_LONG.nq b/test/TriGTests/langtagged_non_LONG.nq new file mode 100644 index 00000000..7e0a5b9e --- /dev/null +++ b/test/TriGTests/langtagged_non_LONG.nq @@ -0,0 +1,2 @@ + "chat"@en . + "chat"@en . diff --git a/test/TriGTests/langtagged_non_LONG.trig b/test/TriGTests/langtagged_non_LONG.trig new file mode 100644 index 00000000..bebcb884 --- /dev/null +++ b/test/TriGTests/langtagged_non_LONG.trig @@ -0,0 +1,2 @@ +{ "chat"@en .} + { "chat"@en .} diff --git a/test/TriGTests/lantag_with_subtag.nq b/test/TriGTests/lantag_with_subtag.nq new file mode 100644 index 00000000..165aa77c --- /dev/null +++ b/test/TriGTests/lantag_with_subtag.nq @@ -0,0 +1,2 @@ + "chat"@en-us . + "chat"@en-us . diff --git a/test/TriGTests/lantag_with_subtag.trig b/test/TriGTests/lantag_with_subtag.trig new file mode 100644 index 00000000..d25f1039 --- /dev/null +++ b/test/TriGTests/lantag_with_subtag.trig @@ -0,0 +1,2 @@ +{ "chat"@en-us .} + { "chat"@en-us .} diff --git a/test/TriGTests/last.nq b/test/TriGTests/last.nq new file mode 100644 index 00000000..54b3d790 --- /dev/null +++ b/test/TriGTests/last.nq @@ -0,0 +1,14 @@ + _:b1 . +_:b1 "1"^^ . +_:b1 _:b2 . +_:b2 _:b3 . +_:b3 "2"^^ . +_:b3 . +_:b2 . + _:b4 . +_:b4 "1"^^ . +_:b4 _:b5 . +_:b5 _:b6 . +_:b6 "2"^^ . +_:b6 . +_:b5 . diff --git a/test/TriGTests/last.trig b/test/TriGTests/last.trig new file mode 100644 index 00000000..6fd17f7f --- /dev/null +++ b/test/TriGTests/last.trig @@ -0,0 +1,2 @@ +{ (1 (2)) .} + { (1 (2)) .} diff --git a/test/TriGTests/literal_false.nq b/test/TriGTests/literal_false.nq new file mode 100644 index 00000000..9a334557 --- /dev/null +++ b/test/TriGTests/literal_false.nq @@ -0,0 +1,2 @@ + "false"^^ . + "false"^^ . diff --git a/test/TriGTests/literal_false.trig b/test/TriGTests/literal_false.trig new file mode 100644 index 00000000..e1f6f447 --- /dev/null +++ b/test/TriGTests/literal_false.trig @@ -0,0 +1,2 @@ +{ false .} + { false .} diff --git a/test/TriGTests/literal_true.nq b/test/TriGTests/literal_true.nq new file mode 100644 index 00000000..39675c3b --- /dev/null +++ b/test/TriGTests/literal_true.nq @@ -0,0 +1,2 @@ + "true"^^ . + "true"^^ . diff --git a/test/TriGTests/literal_true.trig b/test/TriGTests/literal_true.trig new file mode 100644 index 00000000..b49aa1ac --- /dev/null +++ b/test/TriGTests/literal_true.trig @@ -0,0 +1,2 @@ +{ true .} + { true .} diff --git a/test/TriGTests/literal_with_BACKSPACE.nq b/test/TriGTests/literal_with_BACKSPACE.nq new file mode 100644 index 00000000..e4e9a247 --- /dev/null +++ b/test/TriGTests/literal_with_BACKSPACE.nq @@ -0,0 +1,2 @@ + "\u0008" . + "\u0008" . diff --git a/test/TriGTests/literal_with_BACKSPACE.trig b/test/TriGTests/literal_with_BACKSPACE.trig new file mode 100644 index 00000000..0a3a1cac --- /dev/null +++ b/test/TriGTests/literal_with_BACKSPACE.trig @@ -0,0 +1,2 @@ +{ '' .} + { '' .} diff --git a/test/TriGTests/literal_with_CARRIAGE_RETURN.nq b/test/TriGTests/literal_with_CARRIAGE_RETURN.nq new file mode 100644 index 00000000..d1ecddce --- /dev/null +++ b/test/TriGTests/literal_with_CARRIAGE_RETURN.nq @@ -0,0 +1,2 @@ + "\r" . + "\r" . diff --git a/test/TriGTests/literal_with_CARRIAGE_RETURN.trig b/test/TriGTests/literal_with_CARRIAGE_RETURN.trig new file mode 100644 index 00000000..18d6fe84 --- /dev/null +++ b/test/TriGTests/literal_with_CARRIAGE_RETURN.trig @@ -0,0 +1,2 @@ +{ ''' ''' .} + { ''' ''' .} \ No newline at end of file diff --git a/test/TriGTests/literal_with_CHARACTER_TABULATION.nq b/test/TriGTests/literal_with_CHARACTER_TABULATION.nq new file mode 100644 index 00000000..4baf1754 --- /dev/null +++ b/test/TriGTests/literal_with_CHARACTER_TABULATION.nq @@ -0,0 +1,2 @@ + "\t" . + "\t" . diff --git a/test/TriGTests/literal_with_CHARACTER_TABULATION.trig b/test/TriGTests/literal_with_CHARACTER_TABULATION.trig new file mode 100644 index 00000000..65b4152a --- /dev/null +++ b/test/TriGTests/literal_with_CHARACTER_TABULATION.trig @@ -0,0 +1,2 @@ +{ ' ' .} + { ' ' .} diff --git a/test/TriGTests/literal_with_FORM_FEED.nq b/test/TriGTests/literal_with_FORM_FEED.nq new file mode 100644 index 00000000..c6157bf3 --- /dev/null +++ b/test/TriGTests/literal_with_FORM_FEED.nq @@ -0,0 +1,2 @@ + "\u000C" . + "\u000C" . diff --git a/test/TriGTests/literal_with_FORM_FEED.trig b/test/TriGTests/literal_with_FORM_FEED.trig new file mode 100644 index 00000000..742f7cac --- /dev/null +++ b/test/TriGTests/literal_with_FORM_FEED.trig @@ -0,0 +1,2 @@ +{ ' ' .} + { ' ' .} diff --git a/test/TriGTests/literal_with_LINE_FEED.nq b/test/TriGTests/literal_with_LINE_FEED.nq new file mode 100644 index 00000000..facb59ec --- /dev/null +++ b/test/TriGTests/literal_with_LINE_FEED.nq @@ -0,0 +1,2 @@ + "\n" . + "\n" . diff --git a/test/TriGTests/literal_with_LINE_FEED.trig b/test/TriGTests/literal_with_LINE_FEED.trig new file mode 100644 index 00000000..26c292d9 --- /dev/null +++ b/test/TriGTests/literal_with_LINE_FEED.trig @@ -0,0 +1,4 @@ +{ ''' +''' .} + { ''' +''' .} \ No newline at end of file diff --git a/test/TriGTests/literal_with_REVERSE_SOLIDUS.nq b/test/TriGTests/literal_with_REVERSE_SOLIDUS.nq new file mode 100644 index 00000000..45674069 --- /dev/null +++ b/test/TriGTests/literal_with_REVERSE_SOLIDUS.nq @@ -0,0 +1,2 @@ + "\\" . + "\\" . diff --git a/test/TriGTests/literal_with_REVERSE_SOLIDUS.trig b/test/TriGTests/literal_with_REVERSE_SOLIDUS.trig new file mode 100644 index 00000000..b939dc28 --- /dev/null +++ b/test/TriGTests/literal_with_REVERSE_SOLIDUS.trig @@ -0,0 +1,2 @@ +{ '\\' .} + { '\\' .} diff --git a/test/TriGTests/literal_with_escaped_BACKSPACE.trig b/test/TriGTests/literal_with_escaped_BACKSPACE.trig new file mode 100644 index 00000000..f13d246b --- /dev/null +++ b/test/TriGTests/literal_with_escaped_BACKSPACE.trig @@ -0,0 +1,2 @@ +{ '\b' .} + { '\b' .} diff --git a/test/TriGTests/literal_with_escaped_CARRIAGE_RETURN.trig b/test/TriGTests/literal_with_escaped_CARRIAGE_RETURN.trig new file mode 100644 index 00000000..c2ded66d --- /dev/null +++ b/test/TriGTests/literal_with_escaped_CARRIAGE_RETURN.trig @@ -0,0 +1,2 @@ +{ '\r' .} + { '\r' .} diff --git a/test/TriGTests/literal_with_escaped_CHARACTER_TABULATION.trig b/test/TriGTests/literal_with_escaped_CHARACTER_TABULATION.trig new file mode 100644 index 00000000..60dbac21 --- /dev/null +++ b/test/TriGTests/literal_with_escaped_CHARACTER_TABULATION.trig @@ -0,0 +1,2 @@ +{ '\t' .} + { '\t' .} diff --git a/test/TriGTests/literal_with_escaped_FORM_FEED.trig b/test/TriGTests/literal_with_escaped_FORM_FEED.trig new file mode 100644 index 00000000..63f8dc97 --- /dev/null +++ b/test/TriGTests/literal_with_escaped_FORM_FEED.trig @@ -0,0 +1,2 @@ +{ '\f' .} + { '\f' .} diff --git a/test/TriGTests/literal_with_escaped_LINE_FEED.trig b/test/TriGTests/literal_with_escaped_LINE_FEED.trig new file mode 100644 index 00000000..2c1f89a4 --- /dev/null +++ b/test/TriGTests/literal_with_escaped_LINE_FEED.trig @@ -0,0 +1,2 @@ +{ '\n' .} + { '\n' .} diff --git a/test/TriGTests/literal_with_numeric_escape4.nq b/test/TriGTests/literal_with_numeric_escape4.nq new file mode 100644 index 00000000..84fce641 --- /dev/null +++ b/test/TriGTests/literal_with_numeric_escape4.nq @@ -0,0 +1,2 @@ + "o" . + "o" . diff --git a/test/TriGTests/literal_with_numeric_escape4.trig b/test/TriGTests/literal_with_numeric_escape4.trig new file mode 100644 index 00000000..1c868cc9 --- /dev/null +++ b/test/TriGTests/literal_with_numeric_escape4.trig @@ -0,0 +1,2 @@ +{ '\u006F' .} + { '\u006F' .} diff --git a/test/TriGTests/literal_with_numeric_escape8.trig b/test/TriGTests/literal_with_numeric_escape8.trig new file mode 100644 index 00000000..b36ff3ea --- /dev/null +++ b/test/TriGTests/literal_with_numeric_escape8.trig @@ -0,0 +1,2 @@ +{ '\U0000006F' .} + { '\U0000006F' .} diff --git a/test/TriGTests/localName_with_PN_CHARS_BASE_character_boundaries.nq b/test/TriGTests/localName_with_PN_CHARS_BASE_character_boundaries.nq new file mode 100644 index 00000000..1f93580c --- /dev/null +++ b/test/TriGTests/localName_with_PN_CHARS_BASE_character_boundaries.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/localName_with_PN_CHARS_BASE_character_boundaries.trig b/test/TriGTests/localName_with_PN_CHARS_BASE_character_boundaries.trig new file mode 100644 index 00000000..08221635 --- /dev/null +++ b/test/TriGTests/localName_with_PN_CHARS_BASE_character_boundaries.trig @@ -0,0 +1,3 @@ +@prefix p: . +{ p:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ￯𐀀󯿽 .} + { p:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ￯𐀀󯿽 .} diff --git a/test/TriGTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nq b/test/TriGTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nq new file mode 100644 index 00000000..c347f934 --- /dev/null +++ b/test/TriGTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.trig b/test/TriGTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.trig new file mode 100644 index 00000000..c3f36e9e --- /dev/null +++ b/test/TriGTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.trig @@ -0,0 +1,3 @@ +@prefix p: . +{ p:AZazÀÖØöø˿Ͱͽ΄῾‌‍⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ￯𐀀󠇯 .} + { p:AZazÀÖØöø˿Ͱͽ΄῾‌‍⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ￯𐀀󠇯 .} diff --git a/test/TriGTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nq b/test/TriGTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nq new file mode 100644 index 00000000..988855ef --- /dev/null +++ b/test/TriGTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.trig b/test/TriGTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.trig new file mode 100644 index 00000000..dd48ac12 --- /dev/null +++ b/test/TriGTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.trig @@ -0,0 +1,3 @@ +@prefix p: . +{ p:AZazÀÖØöø˿Ͱͽ΄῾‌‍⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ￯ .} + { p:AZazÀÖØöø˿Ͱͽ΄῾‌‍⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ￯ .} diff --git a/test/TriGTests/localName_with_leading_digit.nq b/test/TriGTests/localName_with_leading_digit.nq new file mode 100644 index 00000000..6f05d1ca --- /dev/null +++ b/test/TriGTests/localName_with_leading_digit.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/localName_with_leading_digit.trig b/test/TriGTests/localName_with_leading_digit.trig new file mode 100644 index 00000000..540aa007 --- /dev/null +++ b/test/TriGTests/localName_with_leading_digit.trig @@ -0,0 +1,3 @@ +@prefix p: . +{p:0 .} + {p:0 .} diff --git a/test/TriGTests/localName_with_leading_underscore.nq b/test/TriGTests/localName_with_leading_underscore.nq new file mode 100644 index 00000000..2cb72818 --- /dev/null +++ b/test/TriGTests/localName_with_leading_underscore.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/localName_with_leading_underscore.trig b/test/TriGTests/localName_with_leading_underscore.trig new file mode 100644 index 00000000..72f2e30b --- /dev/null +++ b/test/TriGTests/localName_with_leading_underscore.trig @@ -0,0 +1,3 @@ +@prefix p: . +{p:_ .} + {p:_ .} diff --git a/test/TriGTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.nq b/test/TriGTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.nq new file mode 100644 index 00000000..9c6a3d4d --- /dev/null +++ b/test/TriGTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.trig b/test/TriGTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.trig new file mode 100644 index 00000000..d998e3d4 --- /dev/null +++ b/test/TriGTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.trig @@ -0,0 +1,3 @@ +@prefix p: . +{ p:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿﨎﷏ﷰ￯𐀀󯿽 .} + { p:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿﨎﷏ﷰ￯𐀀󯿽 .} diff --git a/test/TriGTests/localName_with_non_leading_extras.nq b/test/TriGTests/localName_with_non_leading_extras.nq new file mode 100644 index 00000000..40353439 --- /dev/null +++ b/test/TriGTests/localName_with_non_leading_extras.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/localName_with_non_leading_extras.trig b/test/TriGTests/localName_with_non_leading_extras.trig new file mode 100644 index 00000000..bd1c32c8 --- /dev/null +++ b/test/TriGTests/localName_with_non_leading_extras.trig @@ -0,0 +1,3 @@ +@prefix p: . +{p:a·̀ͯ‿.⁀ .} + {p:a·̀ͯ‿.⁀ .} diff --git a/test/TriGTests/localname_with_COLON.nq b/test/TriGTests/localname_with_COLON.nq new file mode 100644 index 00000000..9a1a0d5a --- /dev/null +++ b/test/TriGTests/localname_with_COLON.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/localname_with_COLON.trig b/test/TriGTests/localname_with_COLON.trig new file mode 100644 index 00000000..e166d575 --- /dev/null +++ b/test/TriGTests/localname_with_COLON.trig @@ -0,0 +1,3 @@ +@prefix p: . +{p:s: .} + {p:s: .} diff --git a/test/TriGTests/manifest.ttl b/test/TriGTests/manifest.ttl new file mode 100644 index 00000000..10a4661f --- /dev/null +++ b/test/TriGTests/manifest.ttl @@ -0,0 +1,2883 @@ +# TriG tests +## Distributed under both the W3C Test Suite License[1] and the W3C 3- +## clause BSD License[2]. To contribute to a W3C Test Suite, see the +## policies and contribution forms [3] +## +## 1. http://www.w3.org/Consortium/Legal/2008/04-testsuite-license +## 2. http://www.w3.org/Consortium/Legal/2008/03-bsd-license +## 3. http://www.w3.org/2004/10/27-testcases + +@prefix rdf: . +@prefix rdfs: . +@prefix mf: . +@prefix qt: . + +@prefix rdft: . + +<> rdf:type mf:Manifest ; + mf:name "TriG tests" ; + mf:entries + ( + # TriG specific tests + <#anonymous_blank_node_graph> + <#labeled_blank_node_graph> + <#alternating_iri_graphs> + <#alternating_bnode_graphs> + <#trig-syntax-bad-base-04> + <#trig-syntax-bad-base-05> + <#trig-syntax-bad-prefix-06> + <#trig-syntax-bad-prefix-07> + <#trig-syntax-struct-06> + <#trig-syntax-struct-07> + <#trig-syntax-minimal-whitespace-01> + + # From Turtle tests + # atomic tests + <#IRI_subject> + <#IRI_with_four_digit_numeric_escape> + <#IRI_with_eight_digit_numeric_escape> + <#IRI_with_all_punctuation> + <#bareword_a_predicate> + <#old_style_prefix> + <#SPARQL_style_prefix> + <#prefixed_IRI_predicate> + <#prefixed_IRI_object> + <#prefix_only_IRI> + <#prefix_with_PN_CHARS_BASE_character_boundaries> + <#prefix_with_non_leading_extras> + <#default_namespace_IRI> + <#prefix_reassigned_and_used> + <#reserved_escaped_localName> + <#percent_escaped_localName> + <#HYPHEN_MINUS_in_localName> + <#underscore_in_localName> + <#localname_with_COLON> + <#localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries> + <#localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries> + <#localName_with_nfc_PN_CHARS_BASE_character_boundaries> + <#localName_with_leading_underscore> + <#localName_with_leading_digit> + <#localName_with_non_leading_extras> + <#old_style_base> + <#SPARQL_style_base> + <#labeled_blank_node_subject> + <#labeled_blank_node_object> + <#labeled_blank_node_with_PN_CHARS_BASE_character_boundaries> + <#labeled_blank_node_with_leading_underscore> + <#labeled_blank_node_with_leading_digit> + <#labeled_blank_node_with_non_leading_extras> + <#anonymous_blank_node_subject> + <#anonymous_blank_node_object> + <#sole_blankNodePropertyList> + <#blankNodePropertyList_as_subject> + <#blankNodePropertyList_as_object> + <#blankNodePropertyList_with_multiple_triples> + <#nested_blankNodePropertyLists> + <#blankNodePropertyList_containing_collection> + <#collection_subject> + <#collection_object> + <#empty_collection> + <#nested_collection> + <#first> + <#last> + <#LITERAL1> + <#LITERAL1_ascii_boundaries> + <#LITERAL1_with_UTF8_boundaries> + <#LITERAL1_all_controls> + <#LITERAL1_all_punctuation> + <#LITERAL_LONG1> + <#LITERAL_LONG1_ascii_boundaries> + <#LITERAL_LONG1_with_UTF8_boundaries> + <#LITERAL_LONG1_with_1_squote> + <#LITERAL_LONG1_with_2_squotes> + <#LITERAL2> + <#LITERAL2_ascii_boundaries> + <#LITERAL2_with_UTF8_boundaries> + <#LITERAL_LONG2> + <#LITERAL_LONG2_ascii_boundaries> + <#LITERAL_LONG2_with_UTF8_boundaries> + <#LITERAL_LONG2_with_1_squote> + <#LITERAL_LONG2_with_2_squotes> + <#literal_with_CHARACTER_TABULATION> + <#literal_with_BACKSPACE> + <#literal_with_LINE_FEED> + <#literal_with_CARRIAGE_RETURN> + <#literal_with_FORM_FEED> + <#literal_with_REVERSE_SOLIDUS> + <#literal_with_escaped_CHARACTER_TABULATION> + <#literal_with_escaped_BACKSPACE> + <#literal_with_escaped_LINE_FEED> + <#literal_with_escaped_CARRIAGE_RETURN> + <#literal_with_escaped_FORM_FEED> + <#literal_with_numeric_escape4> + <#literal_with_numeric_escape8> + <#IRIREF_datatype> + <#prefixed_name_datatype> + <#bareword_integer> + <#bareword_decimal> + <#bareword_double> + <#double_lower_case_e> + <#negative_numeric> + <#positive_numeric> + <#numeric_with_leading_0> + <#literal_true> + <#literal_false> + <#langtagged_non_LONG> + <#langtagged_LONG> + <#lantag_with_subtag> + <#objectList_with_two_objects> + <#predicateObjectList_with_two_objectLists> + <#repeated_semis_at_end> + <#repeated_semis_not_at_end> + + # tests requested by Jeremy Carroll + # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c35 + <#comment_following_localName> + <#number_sign_following_localName> + <#comment_following_PNAME_NS> + <#number_sign_following_PNAME_NS> + + # tests from Dave Beckett + # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c28 + <#LITERAL_LONG2_with_REVERSE_SOLIDUS> + <#trig-syntax-bad-LITERAL2_with_langtag_and_datatype> + <#two_LITERAL_LONG2s> + <#langtagged_LONG_with_subtag> + + # original tests-ttl + <#trig-syntax-file-01> + <#trig-syntax-file-02> + <#trig-syntax-file-03> + <#trig-syntax-uri-01> + <#trig-syntax-uri-02> + <#trig-syntax-uri-03> + <#trig-syntax-uri-04> + <#trig-syntax-base-01> + <#trig-syntax-base-02> + <#trig-syntax-base-03> + <#trig-syntax-base-04> + <#trig-syntax-prefix-01> + <#trig-syntax-prefix-02> + <#trig-syntax-prefix-03> + <#trig-syntax-prefix-04> + <#trig-syntax-prefix-05> + <#trig-syntax-prefix-06> + <#trig-syntax-prefix-07> + <#trig-syntax-prefix-08> + <#trig-syntax-prefix-09> + <#trig-syntax-string-01> + <#trig-syntax-string-02> + <#trig-syntax-string-03> + <#trig-syntax-string-04> + <#trig-syntax-string-05> + <#trig-syntax-string-06> + <#trig-syntax-string-07> + <#trig-syntax-string-08> + <#trig-syntax-string-09> + <#trig-syntax-string-10> + <#trig-syntax-string-11> + <#trig-syntax-str-esc-01> + <#trig-syntax-str-esc-02> + <#trig-syntax-str-esc-03> + <#trig-syntax-pname-esc-01> + <#trig-syntax-pname-esc-02> + <#trig-syntax-pname-esc-03> + <#trig-syntax-bnode-01> + <#trig-syntax-bnode-02> + <#trig-syntax-bnode-03> + <#trig-syntax-bnode-04> + <#trig-syntax-bnode-05> + <#trig-syntax-bnode-06> + <#trig-syntax-bnode-07> + <#trig-syntax-bnode-08> + <#trig-syntax-bnode-09> + <#trig-syntax-bnode-10> + <#trig-syntax-number-01> + <#trig-syntax-number-02> + <#trig-syntax-number-03> + <#trig-syntax-number-04> + <#trig-syntax-number-05> + <#trig-syntax-number-06> + <#trig-syntax-number-07> + <#trig-syntax-number-08> + <#trig-syntax-number-09> + <#trig-syntax-number-10> + <#trig-syntax-number-11> + <#trig-syntax-datatypes-01> + <#trig-syntax-datatypes-02> + <#trig-syntax-kw-01> + <#trig-syntax-kw-02> + <#trig-syntax-kw-03> + <#trig-syntax-struct-01> + <#trig-syntax-struct-02> + <#trig-syntax-struct-03> + <#trig-syntax-struct-04> + <#trig-syntax-struct-05> + <#trig-syntax-lists-01> + <#trig-syntax-lists-02> + <#trig-syntax-lists-03> + <#trig-syntax-lists-04> + <#trig-syntax-lists-05> + <#trig-syntax-bad-uri-01> + <#trig-syntax-bad-uri-02> + <#trig-syntax-bad-uri-03> + <#trig-syntax-bad-uri-04> + <#trig-syntax-bad-uri-05> + <#trig-syntax-bad-prefix-01> + <#trig-syntax-bad-prefix-02> + <#trig-syntax-bad-prefix-03> + <#trig-syntax-bad-prefix-04> + <#trig-syntax-bad-prefix-05> + <#trig-syntax-bad-base-01> + <#trig-syntax-bad-base-02> + <#trig-syntax-bad-base-03> + <#trig-syntax-bad-struct-02> + <#trig-syntax-bad-struct-03> + <#trig-syntax-bad-struct-04> + <#trig-syntax-bad-struct-05> + <#trig-syntax-bad-struct-06> + <#trig-syntax-bad-struct-07> + <#trig-syntax-bad-kw-01> + <#trig-syntax-bad-kw-02> + <#trig-syntax-bad-kw-03> + <#trig-syntax-bad-kw-04> + <#trig-syntax-bad-kw-05> + <#trig-syntax-bad-n3-extras-01> + <#trig-syntax-bad-n3-extras-02> + <#trig-syntax-bad-n3-extras-03> + <#trig-syntax-bad-n3-extras-04> + <#trig-syntax-bad-n3-extras-05> + <#trig-syntax-bad-n3-extras-06> + <#trig-syntax-bad-n3-extras-07> + <#trig-syntax-bad-n3-extras-08> + <#trig-syntax-bad-n3-extras-09> + <#trig-syntax-bad-n3-extras-10> + <#trig-syntax-bad-n3-extras-11> + <#trig-syntax-bad-n3-extras-12> + <#trig-syntax-bad-n3-extras-13> + <#trig-syntax-bad-struct-09> + <#trig-syntax-bad-struct-10> + <#trig-syntax-bad-struct-12> + <#trig-syntax-bad-struct-13> + <#trig-syntax-bad-struct-14> + <#trig-syntax-bad-struct-15> + <#trig-syntax-bad-struct-16> + <#trig-syntax-bad-struct-17> + <#trig-syntax-bad-lang-01> + <#trig-syntax-bad-esc-01> + <#trig-syntax-bad-esc-02> + <#trig-syntax-bad-esc-03> + <#trig-syntax-bad-esc-04> + <#trig-syntax-bad-pname-01> + <#trig-syntax-bad-pname-02> + <#trig-syntax-bad-pname-03> + <#trig-syntax-bad-string-01> + <#trig-syntax-bad-string-02> + <#trig-syntax-bad-string-03> + <#trig-syntax-bad-string-04> + <#trig-syntax-bad-string-05> + <#trig-syntax-bad-string-06> + <#trig-syntax-bad-string-07> + <#trig-syntax-bad-num-01> + <#trig-syntax-bad-num-02> + <#trig-syntax-bad-num-03> + <#trig-syntax-bad-num-04> + <#trig-syntax-bad-num-05> + <#trig-eval-struct-01> + <#trig-eval-struct-02> + <#trig-subm-01> + <#trig-subm-02> + <#trig-subm-03> + <#trig-subm-04> + <#trig-subm-05> + <#trig-subm-06> + <#trig-subm-07> + <#trig-subm-08> + <#trig-subm-09> + <#trig-subm-10> + <#trig-subm-11> + <#trig-subm-12> + <#trig-subm-13> + <#trig-subm-14> + <#trig-subm-15> + <#trig-subm-16> + <#trig-subm-17> + <#trig-subm-18> + <#trig-subm-19> + <#trig-subm-20> + <#trig-subm-21> + <#trig-subm-22> + <#trig-subm-23> + <#trig-subm-24> + <#trig-subm-25> + <#trig-subm-26> + <#trig-subm-27> + <#trig-eval-bad-01> + <#trig-eval-bad-02> + <#trig-eval-bad-03> + <#trig-eval-bad-04> + + # tests from David Robillard + # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c21 + <#trig-syntax-bad-blank-label-dot-end> + <#trig-syntax-bad-ln-dash-start> + <#trig-syntax-bad-ln-escape-start> + <#trig-syntax-bad-ln-escape> + <#trig-syntax-bad-missing-ns-dot-end> + <#trig-syntax-bad-missing-ns-dot-start> + <#trig-syntax-bad-ns-dot-end> + <#trig-syntax-bad-ns-dot-start> + <#trig-syntax-bad-number-dot-in-anon> + <#trig-syntax-bad-list-01> + <#trig-syntax-bad-list-02> + <#trig-syntax-bad-list-03> + <#trig-syntax-bad-list-04> + + <#trig-syntax-blank-label> + <#trig-syntax-ln-colons> + <#trig-syntax-ln-dots> + <#trig-syntax-ns-dots> + + # tests for bnode graph names, optional GRAPH keyword and + # triples outside {} + <#trig-kw-graph-01> + <#trig-kw-graph-02> + <#trig-kw-graph-03> + <#trig-kw-graph-04> + <#trig-kw-graph-05> + + <#trig-kw-graph-06> + <#trig-kw-graph-07> + <#trig-kw-graph-08> + <#trig-kw-graph-09> + + <#trig-kw-graph-10> + + <#trig-graph-bad-01> + <#trig-graph-bad-02> + <#trig-graph-bad-03> + <#trig-graph-bad-04> + <#trig-graph-bad-05> + + <#trig-graph-bad-06> + <#trig-graph-bad-07> + <#trig-graph-bad-08> + <#trig-graph-bad-09> + + <#trig-graph-bad-10> + <#trig-graph-bad-11> + + <#trig-bnodeplist-graph-01> + + <#trig-collection-graph-01> + <#trig-collection-graph-02> + + <#trig-turtle-01> + <#trig-turtle-02> + <#trig-turtle-03> + <#trig-turtle-04> + <#trig-turtle-05> + + <#trig-turtle-06> + + <#trig-turtle-bad-01> + <#trig-turtle-bad-02> + + # Tests from N-Triples/N-Quads + ) . + +# TriG tests +<#anonymous_blank_node_graph> rdf:type rdft:TestTrigEval ; + mf:name "anonymous_blank_node_graph" ; + rdfs:comment "anonymous blank node graph" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#labeled_blank_node_graph> rdf:type rdft:TestTrigEval ; + mf:name "labeled_blank_node_graph" ; + rdfs:comment "labeled blank node graph" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . +<#alternating_iri_graphs> rdf:type rdft:TestTrigEval ; + mf:name "alternating_iri_graphs" ; + rdfs:comment "alternating graphs with IRI names" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#alternating_bnode_graphs> rdf:type rdft:TestTrigEval ; + mf:name "alternating_bnode_graphs" ; + rdfs:comment "alternating graphs with BNode names" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-syntax-bad-base-04> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-base-04" ; + rdfs:comment "@base inside graph (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-base-05> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-base-05" ; + rdfs:comment "BASE inside graph (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-prefix-06> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-prefix-06" ; + rdfs:comment "@prefix inside graph (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-prefix-07> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-prefix-07" ; + rdfs:comment "PREFIX inside graph (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-struct-06> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-struct-06" ; + rdfs:comment "missing '.'" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-struct-07> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-struct-07" ; + rdfs:comment "trailing ';' no '.'" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-minimal-whitespace-01> a rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-minimal-whitespace-01" ; + rdfs:comment "tests absense of whitespace in various positions" ; + rdft:approval rdft:Approved ; + mf:action ; + . +# Original Turtle tests +# atomic tests +<#IRI_subject> rdf:type rdft:TestTrigEval ; + mf:name "IRI_subject" ; + rdfs:comment "IRI subject" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#IRI_with_four_digit_numeric_escape> rdf:type rdft:TestTrigEval ; + mf:name "IRI_with_four_digit_numeric_escape" ; + rdfs:comment "IRI with four digit numeric escape (\\u)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#IRI_with_eight_digit_numeric_escape> rdf:type rdft:TestTrigEval ; + mf:name "IRI_with_eight_digit_numeric_escape" ; + rdfs:comment "IRI with eight digit numeric escape (\\U)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#IRI_with_all_punctuation> rdf:type rdft:TestTrigEval ; + mf:name "IRI_with_all_punctuation" ; + rdfs:comment "IRI with all punctuation" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#bareword_a_predicate> rdf:type rdft:TestTrigEval ; + mf:name "bareword_a_predicate" ; + rdfs:comment "bareword a predicate" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#old_style_prefix> rdf:type rdft:TestTrigEval ; + mf:name "old_style_prefix" ; + rdfs:comment "old-style prefix" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#SPARQL_style_prefix> rdf:type rdft:TestTrigEval ; + mf:name "SPARQL_style_prefix" ; + rdfs:comment "SPARQL-style prefix" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefixed_IRI_predicate> rdf:type rdft:TestTrigEval ; + mf:name "prefixed_IRI_predicate" ; + rdfs:comment "prefixed IRI predicate" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefixed_IRI_object> rdf:type rdft:TestTrigEval ; + mf:name "prefixed_IRI_object" ; + rdfs:comment "prefixed IRI object" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefix_only_IRI> rdf:type rdft:TestTrigEval ; + mf:name "prefix_only_IRI" ; + rdfs:comment "prefix-only IRI (p:)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefix_with_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTrigEval ; + mf:name "prefix_with_PN_CHARS_BASE_character_boundaries" ; + rdfs:comment "prefix with PN CHARS BASE character boundaries (prefix: AZazÀÖØöø...:)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefix_with_non_leading_extras> rdf:type rdft:TestTrigEval ; + mf:name "prefix_with_non_leading_extras" ; + rdfs:comment "prefix with_non_leading_extras (_:a·̀ͯ‿.⁀)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTrigEval ; + mf:name "localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries" ; + rdfs:comment "localName with assigned, NFC-normalized, basic-multilingual-plane PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTrigEval ; + mf:name "localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries" ; + rdfs:comment "localName with assigned, NFC-normalized PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localName_with_nfc_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTrigEval ; + mf:name "localName_with_nfc_PN_CHARS_BASE_character_boundaries" ; + rdfs:comment "localName with nfc-normalize PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#default_namespace_IRI> rdf:type rdft:TestTrigEval ; + mf:name "default_namespace_IRI" ; + rdfs:comment "default namespace IRI (:ln)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefix_reassigned_and_used> rdf:type rdft:TestTrigEval ; + mf:name "prefix_reassigned_and_used" ; + rdfs:comment "prefix reassigned and used" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#reserved_escaped_localName> rdf:type rdft:TestTrigEval ; + mf:name "reserved_escaped_localName" ; + rdfs:comment "reserved-escaped local name" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#percent_escaped_localName> rdf:type rdft:TestTrigEval ; + mf:name "percent_escaped_localName" ; + rdfs:comment "percent-escaped local name" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#HYPHEN_MINUS_in_localName> rdf:type rdft:TestTrigEval ; + mf:name "HYPHEN_MINUS_in_localName" ; + rdfs:comment "HYPHEN-MINUS in local name" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#underscore_in_localName> rdf:type rdft:TestTrigEval ; + mf:name "underscore_in_localName" ; + rdfs:comment "underscore in local name" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localname_with_COLON> rdf:type rdft:TestTrigEval ; + mf:name "localname_with_COLON" ; + rdfs:comment "localname with COLON" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localName_with_leading_underscore> rdf:type rdft:TestTrigEval ; + mf:name "localName_with_leading_underscore" ; + rdfs:comment "localName with leading underscore (p:_)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localName_with_leading_digit> rdf:type rdft:TestTrigEval ; + mf:name "localName_with_leading_digit" ; + rdfs:comment "localName with leading digit (p:_)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localName_with_non_leading_extras> rdf:type rdft:TestTrigEval ; + mf:name "localName_with_non_leading_extras" ; + rdfs:comment "localName with_non_leading_extras (_:a·̀ͯ‿.⁀)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#old_style_base> rdf:type rdft:TestTrigEval ; + mf:name "old_style_base" ; + rdfs:comment "old-style base" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#SPARQL_style_base> rdf:type rdft:TestTrigEval ; + mf:name "SPARQL_style_base" ; + rdfs:comment "SPARQL-style base" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#labeled_blank_node_subject> rdf:type rdft:TestTrigEval ; + mf:name "labeled_blank_node_subject" ; + rdfs:comment "labeled blank node subject" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#labeled_blank_node_object> rdf:type rdft:TestTrigEval ; + mf:name "labeled_blank_node_object" ; + rdfs:comment "labeled blank node object" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#labeled_blank_node_with_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTrigEval ; + mf:name "labeled_blank_node_with_PN_CHARS_BASE_character_boundaries" ; + rdfs:comment "labeled blank node with PN_CHARS_BASE character boundaries (_:AZazÀÖØöø...)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#labeled_blank_node_with_leading_underscore> rdf:type rdft:TestTrigEval ; + mf:name "labeled_blank_node_with_leading_underscore" ; + rdfs:comment "labeled blank node with_leading_underscore (_:_)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#labeled_blank_node_with_leading_digit> rdf:type rdft:TestTrigEval ; + mf:name "labeled_blank_node_with_leading_digit" ; + rdfs:comment "labeled blank node with_leading_digit (_:0)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#labeled_blank_node_with_non_leading_extras> rdf:type rdft:TestTrigEval ; + mf:name "labeled_blank_node_with_non_leading_extras" ; + rdfs:comment "labeled blank node with_non_leading_extras (_:a·̀ͯ‿.⁀)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#anonymous_blank_node_subject> rdf:type rdft:TestTrigEval ; + mf:name "anonymous_blank_node_subject" ; + rdfs:comment "anonymous blank node subject" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#anonymous_blank_node_object> rdf:type rdft:TestTrigEval ; + mf:name "anonymous_blank_node_object" ; + rdfs:comment "anonymous blank node object" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#sole_blankNodePropertyList> rdf:type rdft:TestTrigEval ; + mf:name "sole_blankNodePropertyList" ; + rdfs:comment "sole blankNodePropertyList [

] ." ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#blankNodePropertyList_as_subject> rdf:type rdft:TestTrigEval ; + mf:name "blankNodePropertyList_as_subject" ; + rdfs:comment "blankNodePropertyList as subject [ … ]

." ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#blankNodePropertyList_as_object> rdf:type rdft:TestTrigEval ; + mf:name "blankNodePropertyList_as_object" ; + rdfs:comment "blankNodePropertyList as object

[ … ] ." ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#blankNodePropertyList_with_multiple_triples> rdf:type rdft:TestTrigEval ; + mf:name "blankNodePropertyList_with_multiple_triples" ; + rdfs:comment "blankNodePropertyList with multiple triples [

; ]" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#nested_blankNodePropertyLists> rdf:type rdft:TestTrigEval ; + mf:name "nested_blankNodePropertyLists" ; + rdfs:comment "nested blankNodePropertyLists [ [ ] ; ]" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#blankNodePropertyList_containing_collection> rdf:type rdft:TestTrigEval ; + mf:name "blankNodePropertyList_containing_collection" ; + rdfs:comment "blankNodePropertyList containing collection [ ( … ) ]" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#collection_subject> rdf:type rdft:TestTrigEval ; + mf:name "collection_subject" ; + rdfs:comment "collection subject" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#collection_object> rdf:type rdft:TestTrigEval ; + mf:name "collection_object" ; + rdfs:comment "collection object" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#empty_collection> rdf:type rdft:TestTrigEval ; + mf:name "empty_collection" ; + rdfs:comment "empty collection ()" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#nested_collection> rdf:type rdft:TestTrigEval ; + mf:name "nested_collection" ; + rdfs:comment "nested collection (())" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#first> rdf:type rdft:TestTrigEval ; + mf:name "first" ; + rdfs:comment "first, not last, non-empty nested collection" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#last> rdf:type rdft:TestTrigEval ; + mf:name "last" ; + rdfs:comment "last, not first, non-empty nested collection" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL1> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL1" ; + rdfs:comment "LITERAL1 'x'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL1_ascii_boundaries> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL1_ascii_boundaries" ; + rdfs:comment "LITERAL1_ascii_boundaries '\\x00\\x09\\x0b\\x0c\\x0e\\x26\\x28...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL1_with_UTF8_boundaries> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL1_with_UTF8_boundaries" ; + rdfs:comment "LITERAL1_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL1_all_controls> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL1_all_controls" ; + rdfs:comment "LITERAL1_all_controls '\\x00\\x01\\x02\\x03\\x04...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL1_all_punctuation> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL1_all_punctuation" ; + rdfs:comment "LITERAL1_all_punctuation '!\"#$%&()...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG1> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL_LONG1" ; + rdfs:comment "LITERAL_LONG1 '''x'''" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG1_ascii_boundaries> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL_LONG1_ascii_boundaries" ; + rdfs:comment "LITERAL_LONG1_ascii_boundaries '\\x00\\x26\\x28...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG1_with_UTF8_boundaries> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL_LONG1_with_UTF8_boundaries" ; + rdfs:comment "LITERAL_LONG1_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG1_with_1_squote> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL_LONG1_with_1_squote" ; + rdfs:comment "LITERAL_LONG1 with 1 squote '''a'b'''" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG1_with_2_squotes> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL_LONG1_with_2_squotes" ; + rdfs:comment "LITERAL_LONG1 with 2 squotes '''a''b'''" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL2> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL2" ; + rdfs:comment "LITERAL2 \"x\"" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL2_ascii_boundaries> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL2_ascii_boundaries" ; + rdfs:comment "LITERAL2_ascii_boundaries '\\x00\\x09\\x0b\\x0c\\x0e\\x21\\x23...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL2_with_UTF8_boundaries> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL2_with_UTF8_boundaries" ; + rdfs:comment "LITERAL2_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG2> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL_LONG2" ; + rdfs:comment "LITERAL_LONG2 \"\"\"x\"\"\"" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG2_ascii_boundaries> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL_LONG2_ascii_boundaries" ; + rdfs:comment "LITERAL_LONG2_ascii_boundaries '\\x00\\x21\\x23...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG2_with_UTF8_boundaries> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL_LONG2_with_UTF8_boundaries" ; + rdfs:comment "LITERAL_LONG2_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG2_with_1_squote> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL_LONG2_with_1_squote" ; + rdfs:comment "LITERAL_LONG2 with 1 squote \"\"\"a\"b\"\"\"" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG2_with_2_squotes> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL_LONG2_with_2_squotes" ; + rdfs:comment "LITERAL_LONG2 with 2 squotes \"\"\"a\"\"b\"\"\"" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_CHARACTER_TABULATION> rdf:type rdft:TestTrigEval ; + mf:name "literal_with_CHARACTER_TABULATION" ; + rdfs:comment "literal with CHARACTER TABULATION" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_BACKSPACE> rdf:type rdft:TestTrigEval ; + mf:name "literal_with_BACKSPACE" ; + rdfs:comment "literal with BACKSPACE" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_LINE_FEED> rdf:type rdft:TestTrigEval ; + mf:name "literal_with_LINE_FEED" ; + rdfs:comment "literal with LINE FEED" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_CARRIAGE_RETURN> rdf:type rdft:TestTrigEval ; + mf:name "literal_with_CARRIAGE_RETURN" ; + rdfs:comment "literal with CARRIAGE RETURN" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_FORM_FEED> rdf:type rdft:TestTrigEval ; + mf:name "literal_with_FORM_FEED" ; + rdfs:comment "literal with FORM FEED" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_REVERSE_SOLIDUS> rdf:type rdft:TestTrigEval ; + mf:name "literal_with_REVERSE_SOLIDUS" ; + rdfs:comment "literal with REVERSE SOLIDUS" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_escaped_CHARACTER_TABULATION> rdf:type rdft:TestTrigEval ; + mf:name "literal_with_escaped_CHARACTER_TABULATION" ; + rdfs:comment "literal with escaped CHARACTER TABULATION" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_escaped_BACKSPACE> rdf:type rdft:TestTrigEval ; + mf:name "literal_with_escaped_BACKSPACE" ; + rdfs:comment "literal with escaped BACKSPACE" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_escaped_LINE_FEED> rdf:type rdft:TestTrigEval ; + mf:name "literal_with_escaped_LINE_FEED" ; + rdfs:comment "literal with escaped LINE FEED" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_escaped_CARRIAGE_RETURN> rdf:type rdft:TestTrigEval ; + mf:name "literal_with_escaped_CARRIAGE_RETURN" ; + rdfs:comment "literal with escaped CARRIAGE RETURN" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_escaped_FORM_FEED> rdf:type rdft:TestTrigEval ; + mf:name "literal_with_escaped_FORM_FEED" ; + rdfs:comment "literal with escaped FORM FEED" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_numeric_escape4> rdf:type rdft:TestTrigEval ; + mf:name "literal_with_numeric_escape4" ; + rdfs:comment "literal with numeric escape4 \\u" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_numeric_escape8> rdf:type rdft:TestTrigEval ; + mf:name "literal_with_numeric_escape8" ; + rdfs:comment "literal with numeric escape8 \\U" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#IRIREF_datatype> rdf:type rdft:TestTrigEval ; + mf:name "IRIREF_datatype" ; + rdfs:comment "IRIREF datatype \"\"^^" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefixed_name_datatype> rdf:type rdft:TestTrigEval ; + mf:name "prefixed_name_datatype" ; + rdfs:comment "prefixed name datatype \"\"^^p:t" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#bareword_integer> rdf:type rdft:TestTrigEval ; + mf:name "bareword_integer" ; + rdfs:comment "bareword integer" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#bareword_decimal> rdf:type rdft:TestTrigEval ; + mf:name "bareword_decimal" ; + rdfs:comment "bareword decimal" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#bareword_double> rdf:type rdft:TestTrigEval ; + mf:name "bareword_double" ; + rdfs:comment "bareword double" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#double_lower_case_e> rdf:type rdft:TestTrigEval ; + mf:name "double_lower_case_e" ; + rdfs:comment "double lower case e" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#negative_numeric> rdf:type rdft:TestTrigEval ; + mf:name "negative_numeric" ; + rdfs:comment "negative numeric" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#positive_numeric> rdf:type rdft:TestTrigEval ; + mf:name "positive_numeric" ; + rdfs:comment "positive numeric" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#numeric_with_leading_0> rdf:type rdft:TestTrigEval ; + mf:name "numeric_with_leading_0" ; + rdfs:comment "numeric with leading 0" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_true> rdf:type rdft:TestTrigEval ; + mf:name "literal_true" ; + rdfs:comment "literal true" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_false> rdf:type rdft:TestTrigEval ; + mf:name "literal_false" ; + rdfs:comment "literal false" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#langtagged_non_LONG> rdf:type rdft:TestTrigEval ; + mf:name "langtagged_non_LONG" ; + rdfs:comment "langtagged non-LONG \"x\"@en" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#langtagged_LONG> rdf:type rdft:TestTrigEval ; + mf:name "langtagged_LONG" ; + rdfs:comment "langtagged LONG \"\"\"x\"\"\"@en" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#lantag_with_subtag> rdf:type rdft:TestTrigEval ; + mf:name "lantag_with_subtag" ; + rdfs:comment "lantag with subtag \"x\"@en-us" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#objectList_with_two_objects> rdf:type rdft:TestTrigEval ; + mf:name "objectList_with_two_objects" ; + rdfs:comment "objectList with two objects … ," ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#predicateObjectList_with_two_objectLists> rdf:type rdft:TestTrigEval ; + mf:name "predicateObjectList_with_two_objectLists" ; + rdfs:comment "predicateObjectList with two objectLists … ," ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#repeated_semis_at_end> rdf:type rdft:TestTrigEval ; + mf:name "repeated_semis_at_end" ; + rdfs:comment "repeated semis at end

;; ." ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#repeated_semis_not_at_end> rdf:type rdft:TestTrigEval ; + mf:name "repeated_semis_not_at_end" ; + rdfs:comment "repeated semis not at end

;;." ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +# original tests-ttl +<#trig-syntax-file-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-file-01" ; + rdfs:comment "Empty file" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-file-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-file-02" ; + rdfs:comment "Only comment" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-file-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-file-03" ; + rdfs:comment "One comment, one empty line" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-uri-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-uri-01" ; + rdfs:comment "Only IRIs" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-uri-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-uri-02" ; + rdfs:comment "IRIs with Unicode escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-uri-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-uri-03" ; + rdfs:comment "IRIs with long Unicode escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-uri-04> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-uri-04" ; + rdfs:comment "Legal IRIs" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-base-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-base-01" ; + rdfs:comment "@base" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-base-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-base-02" ; + rdfs:comment "BASE" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-base-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-base-03" ; + rdfs:comment "@base with relative IRIs" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-base-04> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-base-04" ; + rdfs:comment "base with relative IRIs" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-prefix-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-prefix-01" ; + rdfs:comment "@prefix" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-prefix-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-prefix-02" ; + rdfs:comment "PreFIX" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-prefix-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-prefix-03" ; + rdfs:comment "Empty PREFIX" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-prefix-04> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-prefix-04" ; + rdfs:comment "Empty @prefix with % escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-prefix-05> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-prefix-05" ; + rdfs:comment "@prefix with no suffix" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-prefix-06> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-prefix-06" ; + rdfs:comment "colon is a legal pname character" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-prefix-07> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-prefix-07" ; + rdfs:comment "dash is a legal pname character" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-prefix-08> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-prefix-08" ; + rdfs:comment "underscore is a legal pname character" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-prefix-09> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-prefix-09" ; + rdfs:comment "percents in pnames" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-string-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-string-01" ; + rdfs:comment "string literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-string-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-string-02" ; + rdfs:comment "langString literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-string-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-string-03" ; + rdfs:comment "langString literal with region" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-string-04> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-string-04" ; + rdfs:comment "squote string literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-string-05> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-string-05" ; + rdfs:comment "squote langString literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-string-06> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-string-06" ; + rdfs:comment "squote langString literal with region" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-string-07> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-string-07" ; + rdfs:comment "long string literal with embedded single- and double-quotes" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-string-08> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-string-08" ; + rdfs:comment "long string literal with embedded newline" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-string-09> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-string-09" ; + rdfs:comment "squote long string literal with embedded single- and double-quotes" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-string-10> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-string-10" ; + rdfs:comment "long langString literal with embedded newline" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-string-11> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-string-11" ; + rdfs:comment "squote long langString literal with embedded newline" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-str-esc-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-str-esc-01" ; + rdfs:comment "string literal with escaped newline" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-str-esc-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-str-esc-02" ; + rdfs:comment "string literal with Unicode escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-str-esc-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-str-esc-03" ; + rdfs:comment "string literal with long Unicode escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-pname-esc-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-pname-esc-01" ; + rdfs:comment "pname with back-slash escapes" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-pname-esc-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-pname-esc-02" ; + rdfs:comment "pname with back-slash escapes (2)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-pname-esc-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-pname-esc-03" ; + rdfs:comment "pname with back-slash escapes (3)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bnode-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-bnode-01" ; + rdfs:comment "bnode subject" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bnode-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-bnode-02" ; + rdfs:comment "bnode object" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bnode-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-bnode-03" ; + rdfs:comment "bnode property list object" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bnode-04> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-bnode-04" ; + rdfs:comment "bnode property list object (2)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bnode-05> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-bnode-05" ; + rdfs:comment "bnode property list subject" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bnode-06> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-bnode-06" ; + rdfs:comment "labeled bnode subject" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bnode-07> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-bnode-07" ; + rdfs:comment "labeled bnode subject and object" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bnode-08> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-bnode-08" ; + rdfs:comment "bare bnode property list" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bnode-09> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-bnode-09" ; + rdfs:comment "bnode property list" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bnode-10> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-bnode-10" ; + rdfs:comment "mixed bnode property list and triple" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-number-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-number-01" ; + rdfs:comment "integer literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-number-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-number-02" ; + rdfs:comment "negative integer literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-number-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-number-03" ; + rdfs:comment "positive integer literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-number-04> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-number-04" ; + rdfs:comment "decimal literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-number-05> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-number-05" ; + rdfs:comment "decimal literal (no leading digits)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-number-06> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-number-06" ; + rdfs:comment "negative decimal literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-number-07> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-number-07" ; + rdfs:comment "positive decimal literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-number-08> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-number-08" ; + rdfs:comment "integer literal with decimal lexical confusion" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-number-09> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-number-09" ; + rdfs:comment "double literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-number-10> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-number-10" ; + rdfs:comment "negative double literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-number-11> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-number-11" ; + rdfs:comment "double literal no fraction" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-datatypes-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-datatypes-01" ; + rdfs:comment "xsd:byte literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-datatypes-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-datatypes-02" ; + rdfs:comment "integer as xsd:string" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-kw-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-kw-01" ; + rdfs:comment "boolean literal (true)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-kw-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-kw-02" ; + rdfs:comment "boolean literal (false)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-kw-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-kw-03" ; + rdfs:comment "'a' as keyword" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-struct-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-struct-01" ; + rdfs:comment "object list" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-struct-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-struct-02" ; + rdfs:comment "predicate list with object list" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-struct-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-struct-03" ; + rdfs:comment "predicate list with object list and dangling ';'" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-struct-04> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-struct-04" ; + rdfs:comment "predicate list with multiple ;;" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-struct-05> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-struct-05" ; + rdfs:comment "predicate list with multiple ;;" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-lists-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-lists-01" ; + rdfs:comment "empty list" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-lists-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-lists-02" ; + rdfs:comment "mixed list" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-lists-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-lists-03" ; + rdfs:comment "isomorphic list as subject and object" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-lists-04> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-lists-04" ; + rdfs:comment "lists of lists" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-lists-05> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-syntax-lists-05" ; + rdfs:comment "mixed lists with embedded lists" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-uri-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-uri-01" ; + rdfs:comment "Bad IRI : space (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-uri-02> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-uri-02" ; + rdfs:comment "Bad IRI : bad escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-uri-03> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-uri-03" ; + rdfs:comment "Bad IRI : bad long escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-uri-04> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-uri-04" ; + rdfs:comment "Bad IRI : character escapes not allowed (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-uri-05> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-uri-05" ; + rdfs:comment "Bad IRI : character escapes not allowed (2) (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-prefix-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-prefix-01" ; + rdfs:comment "No prefix (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-prefix-02> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-prefix-02" ; + rdfs:comment "No prefix (2) (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-prefix-03> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-prefix-03" ; + rdfs:comment "@prefix without URI (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-prefix-04> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-prefix-04" ; + rdfs:comment "@prefix without prefix name (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-prefix-05> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-prefix-05" ; + rdfs:comment "@prefix without ':' (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-base-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-base-01" ; + rdfs:comment "@base without URI (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-base-02> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-base-02" ; + rdfs:comment "@base in wrong case (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-base-03> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-base-03" ; + rdfs:comment "BASE without URI (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-02> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-02" ; + rdfs:comment "Turtle is not N3 (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-03> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-03" ; + rdfs:comment "Turtle is not NQuads (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-04> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-04" ; + rdfs:comment "Turtle does not allow literals-as-subjects (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-05> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-05" ; + rdfs:comment "Turtle does not allow literals-as-predicates (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-06> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-06" ; + rdfs:comment "Turtle does not allow bnodes-as-predicates (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-07> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-07" ; + rdfs:comment "Turtle does not allow labeled bnodes-as-predicates (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-kw-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-kw-01" ; + rdfs:comment "'A' is not a keyword (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-kw-02> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-kw-02" ; + rdfs:comment "'a' cannot be used as subject (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-kw-03> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-kw-03" ; + rdfs:comment "'a' cannot be used as object (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-kw-04> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-kw-04" ; + rdfs:comment "'true' cannot be used as subject (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-kw-05> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-kw-05" ; + rdfs:comment "'true' cannot be used as object (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-n3-extras-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-n3-extras-01" ; + rdfs:comment "{} fomulae not in Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-n3-extras-02> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-n3-extras-02" ; + rdfs:comment "= is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-n3-extras-03> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-n3-extras-03" ; + rdfs:comment "N3 paths not in Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-n3-extras-04> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-n3-extras-04" ; + rdfs:comment "N3 paths not in Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-n3-extras-05> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-n3-extras-05" ; + rdfs:comment "N3 is...of not in Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-n3-extras-06> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-n3-extras-06" ; + rdfs:comment "N3 paths not in Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-n3-extras-07> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-n3-extras-07" ; + rdfs:comment "@keywords is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-n3-extras-08> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-n3-extras-08" ; + rdfs:comment "@keywords is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-n3-extras-09> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-n3-extras-09" ; + rdfs:comment "=> is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-n3-extras-10> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-n3-extras-10" ; + rdfs:comment "<= is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-n3-extras-11> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-n3-extras-11" ; + rdfs:comment "@forSome is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-n3-extras-12> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-n3-extras-12" ; + rdfs:comment "@forAll is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-n3-extras-13> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-n3-extras-13" ; + rdfs:comment "@keywords is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-09> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-09" ; + rdfs:comment "extra '.' (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-10> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-10" ; + rdfs:comment "extra '.' (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-12> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-12" ; + rdfs:comment "subject, predicate, no object (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-13> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-13" ; + rdfs:comment "subject, predicate, no object (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-14> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-14" ; + rdfs:comment "literal as subject (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-15> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-15" ; + rdfs:comment "literal as predicate (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-16> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-16" ; + rdfs:comment "bnode as predicate (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-struct-17> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-struct-17" ; + rdfs:comment "labeled bnode as predicate (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-lang-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-lang-01" ; + rdfs:comment "langString with bad lang (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-esc-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-esc-01" ; + rdfs:comment "Bad string escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-esc-02> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-esc-02" ; + rdfs:comment "Bad string escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-esc-03> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-esc-03" ; + rdfs:comment "Bad string escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-esc-04> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-esc-04" ; + rdfs:comment "Bad string escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-pname-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-pname-01" ; + rdfs:comment "'~' must be escaped in pname (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-pname-02> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-pname-02" ; + rdfs:comment "Bad %-sequence in pname (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-pname-03> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-pname-03" ; + rdfs:comment "Bad unicode escape in pname (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-string-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-string-01" ; + rdfs:comment "mismatching string literal open/close (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-string-02> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-string-02" ; + rdfs:comment "mismatching string literal open/close (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-string-03> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-string-03" ; + rdfs:comment "mismatching string literal long/short (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-string-04> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-string-04" ; + rdfs:comment "mismatching long string literal open/close (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-string-05> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-string-05" ; + rdfs:comment "Long literal with missing end (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-string-06> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-string-06" ; + rdfs:comment "Long literal with extra quote (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-string-07> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-string-07" ; + rdfs:comment "Long literal with extra squote (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-num-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-num-01" ; + rdfs:comment "Bad number format (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-num-02> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-num-02" ; + rdfs:comment "Bad number format (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-num-03> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-num-03" ; + rdfs:comment "Bad number format (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-num-04> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-num-04" ; + rdfs:comment "Bad number format (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-syntax-bad-num-05> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-num-05" ; + rdfs:comment "Bad number format (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-eval-struct-01> rdf:type rdft:TestTrigEval ; + mf:name "trig-eval-struct-01" ; + rdfs:comment "triple with IRIs" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-eval-struct-02> rdf:type rdft:TestTrigEval ; + mf:name "trig-eval-struct-02" ; + rdfs:comment "triple with IRIs and embedded whitespace" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-01> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-01" ; + rdfs:comment "Blank subject" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-02> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-02" ; + rdfs:comment "@prefix and qnames" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-03> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-03" ; + rdfs:comment ", operator" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-04> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-04" ; + rdfs:comment "; operator" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-05> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-05" ; + rdfs:comment "empty [] as subject and object" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-06> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-06" ; + rdfs:comment "non-empty [] as subject and object" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-07> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-07" ; + rdfs:comment "'a' as predicate" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-08> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-08" ; + rdfs:comment "simple collection" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-09> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-09" ; + rdfs:comment "empty collection" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-10> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-10" ; + rdfs:comment "integer datatyped literal" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-11> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-11" ; + rdfs:comment "decimal integer canonicalization" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-12> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-12" ; + rdfs:comment "- and _ in names and qnames" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-13> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-13" ; + rdfs:comment "tests for rdf:_ and other qnames starting with _" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-14> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-14" ; + rdfs:comment "bare : allowed" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-15> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-15" ; + rdfs:comment "simple long literal" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-16> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-16" ; + rdfs:comment "long literals with escapes" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-17> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-17" ; + rdfs:comment "floating point number" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-18> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-18" ; + rdfs:comment "empty literals, normal and long variant" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-19> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-19" ; + rdfs:comment "positive integer, decimal and doubles" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-20> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-20" ; + rdfs:comment "negative integer, decimal and doubles" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-21> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-21" ; + rdfs:comment "long literal ending in double quote" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-22> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-22" ; + rdfs:comment "boolean literals" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-23> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-23" ; + rdfs:comment "comments" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-24> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-24" ; + rdfs:comment "no final mewline" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-25> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-25" ; + rdfs:comment "repeating a @prefix changes pname definition" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-26> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-26" ; + rdfs:comment "Variations on decimal canonicalization" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-subm-27> rdf:type rdft:TestTrigEval ; + mf:name "trig-subm-27" ; + rdfs:comment "Repeating @base changes base for relative IRI lookup" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-eval-bad-01> rdf:type rdft:TestTrigNegativeEval ; + mf:name "trig-eval-bad-01" ; + rdfs:comment "Bad IRI : good escape, bad charcater (negative evaluation test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-eval-bad-02> rdf:type rdft:TestTrigNegativeEval ; + mf:name "trig-eval-bad-02" ; + rdfs:comment "Bad IRI : hex 3C is < (negative evaluation test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-eval-bad-03> rdf:type rdft:TestTrigNegativeEval ; + mf:name "trig-eval-bad-03" ; + rdfs:comment "Bad IRI : hex 3E is (negative evaluation test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-eval-bad-04> rdf:type rdft:TestTrigNegativeEval ; + mf:name "trig-eval-bad-04" ; + rdfs:comment "Bad IRI : {abc} (negative evaluation test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +# tests requested by Jeremy Carroll +# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c35 +<#comment_following_localName> rdf:type rdft:TestTrigEval ; + mf:name "comment_following_localName" ; + rdfs:comment "comment following localName" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#number_sign_following_localName> rdf:type rdft:TestTrigEval ; + mf:name "number_sign_following_localName" ; + rdfs:comment "number sign following localName" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#comment_following_PNAME_NS> rdf:type rdft:TestTrigEval ; + mf:name "comment_following_PNAME_NS" ; + rdfs:comment "comment following PNAME_NS" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#number_sign_following_PNAME_NS> rdf:type rdft:TestTrigEval ; + mf:name "number_sign_following_PNAME_NS" ; + rdfs:comment "number sign following PNAME_NS" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +# tests from Dave Beckett +# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c28 +<#LITERAL_LONG2_with_REVERSE_SOLIDUS> rdf:type rdft:TestTrigEval ; + mf:name "LITERAL_LONG2_with_REVERSE_SOLIDUS" ; + rdfs:comment "REVERSE SOLIDUS at end of LITERAL_LONG2" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#trig-syntax-bad-LITERAL2_with_langtag_and_datatype> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-syntax-bad-num-05" ; + rdfs:comment "Bad number format (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#two_LITERAL_LONG2s> rdf:type rdft:TestTrigEval ; + mf:name "two_LITERAL_LONG2s" ; + rdfs:comment "two LITERAL_LONG2s testing quote delimiter overrun" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#langtagged_LONG_with_subtag> rdf:type rdft:TestTrigEval ; + mf:name "langtagged_LONG_with_subtag" ; + rdfs:comment "langtagged LONG with subtag \"\"\"Cheers\"\"\"@en-UK" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +# tests from David Robillard +# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c21 +<#trig-syntax-bad-blank-label-dot-end> + rdf:type rdft:TestTrigNegativeSyntax ; + rdfs:comment "Blank node label must not end in dot" ; + mf:name "trig-syntax-bad-blank-label-dot-end" ; + rdft:approval rdft:Approved ; + mf:action . + +<#trig-syntax-bad-number-dot-in-anon> + rdf:type rdft:TestTrigNegativeSyntax ; + rdfs:comment "Dot delimeter may not appear in anonymous nodes" ; + mf:name "trig-syntax-bad-number-dot-in-anon" ; + rdft:approval rdft:Approved ; + mf:action . + +<#trig-syntax-bad-ln-dash-start> + rdf:type rdft:TestTrigNegativeSyntax ; + rdfs:comment "Local name must not begin with dash" ; + mf:name "trig-syntax-bad-ln-dash-start" ; + rdft:approval rdft:Approved ; + mf:action . + +<#trig-syntax-bad-ln-escape> + rdf:type rdft:TestTrigNegativeSyntax ; + rdfs:comment "Bad hex escape in local name" ; + mf:name "trig-syntax-bad-ln-escape" ; + rdft:approval rdft:Approved ; + mf:action . + +<#trig-syntax-bad-ln-escape-start> + rdf:type rdft:TestTrigNegativeSyntax ; + rdfs:comment "Bad hex escape at start of local name" ; + mf:name "trig-syntax-bad-ln-escape-start" ; + rdft:approval rdft:Approved ; + mf:action . + +<#trig-syntax-bad-ns-dot-end> + rdf:type rdft:TestTrigNegativeSyntax ; + rdfs:comment "Prefix must not end in dot" ; + mf:name "trig-syntax-bad-ns-dot-end" ; + rdft:approval rdft:Approved ; + mf:action . + +<#trig-syntax-bad-ns-dot-start> + rdf:type rdft:TestTrigNegativeSyntax ; + rdfs:comment "Prefix must not start with dot" ; + mf:name "trig-syntax-bad-ns-dot-start" ; + rdft:approval rdft:Approved ; + mf:action . + +<#trig-syntax-bad-missing-ns-dot-end> + rdf:type rdft:TestTrigNegativeSyntax ; + rdfs:comment "Prefix must not end in dot (error in triple, not prefix directive like trig-syntax-bad-ns-dot-end)" ; + mf:name "trig-syntax-bad-missing-ns-dot-end" ; + rdft:approval rdft:Approved ; + mf:action . + +<#trig-syntax-bad-missing-ns-dot-start> + rdf:type rdft:TestTrigNegativeSyntax ; + rdfs:comment "Prefix must not start with dot (error in triple, not prefix directive like trig-syntax-bad-ns-dot-end)" ; + mf:name "trig-syntax-bad-missing-ns-dot-start" ; + rdft:approval rdft:Approved ; + mf:action . + +<#trig-syntax-bad-list-01> + rdf:type rdft:TestTrigNegativeSyntax ; + rdfs:comment "Free-standing list outside {} : bad syntax" ; + mf:name "trig-syntax-bad-list-01" ; + rdft:approval rdft:Approved ; + mf:action + . + +<#trig-syntax-bad-list-02> + rdf:type rdft:TestTrigNegativeSyntax ; + rdfs:comment "Free-standing list of zero-elements outside {} : bad syntax" ; + mf:name "trig-syntax-bad-list-02" ; + rdft:approval rdft:Approved ; + mf:action + . + +<#trig-syntax-bad-list-03> + rdf:type rdft:TestTrigNegativeSyntax ; + rdfs:comment "Free-standing list inside {} : bad syntax" ; + mf:name "trig-syntax-bad-list-03" ; + rdft:approval rdft:Approved ; + mf:action + . + +<#trig-syntax-bad-list-04> + rdf:type rdft:TestTrigNegativeSyntax ; + rdfs:comment "Free-standing list of zero elements : bad syntax" ; + mf:name "trig-syntax-bad-list-04" ; + rdft:approval rdft:Approved ; + mf:action + . + +<#trig-syntax-ln-dots> + rdf:type rdft:TestTrigPositiveSyntax ; + rdfs:comment "Dots in pname local names" ; + mf:name "trig-syntax-ln-dots" ; + rdft:approval rdft:Approved ; + mf:action . + +<#trig-syntax-ln-colons> + rdf:type rdft:TestTrigPositiveSyntax ; + rdfs:comment "Colons in pname local names" ; + mf:name "trig-syntax-ln-colons" ; + rdft:approval rdft:Approved ; + mf:action . + +<#trig-syntax-ns-dots> + rdf:type rdft:TestTrigPositiveSyntax ; + rdfs:comment "Dots in namespace names" ; + mf:name "trig-syntax-ns-dots" ; + rdft:approval rdft:Approved ; + mf:action . + +<#trig-syntax-blank-label> + rdf:type rdft:TestTrigPositiveSyntax ; + rdfs:comment "Characters allowed in blank node labels" ; + mf:name "trig-syntax-blank-label" ; + rdft:approval rdft:Approved ; + mf:action . + +# tests for bnode graph names, optional GRAPH keyword and +# triples outside {} + +<#trig-kw-graph-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-kw-graph-01" ; + rdfs:comment "Named graphs can be proceeded by GRAPH" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-kw-graph-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-kw-graph-02" ; + rdfs:comment "Trailing . not necessary inside {}" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-kw-graph-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-kw-graph-03" ; + rdfs:comment "Named graph may be empty" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-kw-graph-04> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-kw-graph-04" ; + rdfs:comment "" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-kw-graph-05> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-kw-graph-05" ; + rdfs:comment "Use of empty prefix inside named graph" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-kw-graph-06> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-kw-graph-06" ; + rdfs:comment "" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-kw-graph-07> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-kw-graph-07" ; + rdfs:comment "Named graph may be named with BNode _:a" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-kw-graph-08> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-kw-graph-08" ; + rdfs:comment "Named graph may be named with BNode []" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-kw-graph-09> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-kw-graph-09" ; + rdfs:comment "Named graph may be named with PNAME" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-kw-graph-10> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-kw-graph-10" ; + rdfs:comment "Named graph with PNAME and empty graph" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-graph-bad-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-graph-bad-01" ; + rdfs:comment "GRAPH but no name - GRAPH is not used with the default graph" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-graph-bad-02> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-graph-bad-02" ; + rdfs:comment "GRAPH not followed by DOT" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-graph-bad-03> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-graph-bad-03" ; + rdfs:comment "GRAPH needs {}" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-graph-bad-04> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-graph-bad-04" ; + rdfs:comment "GRAPH needs {}" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-graph-bad-05> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-graph-bad-05" ; + rdfs:comment "GRAPH and a name, not several" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-graph-bad-06> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-graph-bad-06" ; + rdfs:comment "GRAPH - Must close {}" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-graph-bad-07> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-graph-bad-07" ; + rdfs:comment "GRAPH may not include a GRAPH" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-graph-bad-08> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-graph-bad-08" ; + rdfs:comment "@graph is not a keyword" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-graph-bad-09> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-graph-bad-09" ; + rdfs:comment "Directives not allowed inside GRAPH" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-graph-bad-10> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-graph-bad-10" ; + rdfs:comment "A graph may not be named with an empty collection" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-graph-bad-11> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-graph-bad-11" ; + rdfs:comment "A graph may not be named with a collection" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-bnodeplist-graph-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-bnodeplist-graph-bad-01" ; + rdfs:comment "A graph may not be named with a blankNodePropertyList" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-collection-graph-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-collection-graph-bad-01" ; + rdfs:comment "A graph may not be named with an empty collection" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-collection-graph-02> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-collection-graph-bad-02" ; + rdfs:comment "A graph may not be named with a collection" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-turtle-01> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-turtle-01" ; + rdfs:comment "TriG can parse Turtle" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-turtle-02> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-turtle-02" ; + rdfs:comment "TriG can parse Turtle (repeated PREFIX)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-turtle-03> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-turtle-03" ; + rdfs:comment "TriG can parse Turtle (blankNodePropertyList subject)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-turtle-04> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-turtle-04" ; + rdfs:comment "TriG can parse Turtle (blankNodePropertyList subject)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-turtle-05> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-turtle-05" ; + rdfs:comment "TriG can parse Turtle (bare blankNodePropertyList)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-turtle-06> rdf:type rdft:TestTrigPositiveSyntax ; + mf:name "trig-turtle-06" ; + rdfs:comment "TriG can parse Turtle (collection subject and object)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-turtle-bad-01> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-turtle-bad-01" ; + rdfs:comment "Trailing dot required in Turtle block" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#trig-turtle-bad-02> rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "trig-turtle-bad-02" ; + rdfs:comment "TriG is not N-Quads" ; + rdft:approval rdft:Approved ; + mf:action ; + . diff --git a/test/TriGTests/negative_numeric.nq b/test/TriGTests/negative_numeric.nq new file mode 100644 index 00000000..9c7f8126 --- /dev/null +++ b/test/TriGTests/negative_numeric.nq @@ -0,0 +1,2 @@ + "-1"^^ . + "-1"^^ . diff --git a/test/TriGTests/negative_numeric.trig b/test/TriGTests/negative_numeric.trig new file mode 100644 index 00000000..cbfe85f8 --- /dev/null +++ b/test/TriGTests/negative_numeric.trig @@ -0,0 +1,2 @@ +{ -1 .} + { -1 .} diff --git a/test/TriGTests/nested_blankNodePropertyLists.nq b/test/TriGTests/nested_blankNodePropertyLists.nq new file mode 100644 index 00000000..541cd3b9 --- /dev/null +++ b/test/TriGTests/nested_blankNodePropertyLists.nq @@ -0,0 +1,6 @@ +_:b1 _:b2 . +_:b2 . +_:b1 . +_:b3 _:b4 . +_:b4 . +_:b3 . diff --git a/test/TriGTests/nested_blankNodePropertyLists.trig b/test/TriGTests/nested_blankNodePropertyLists.trig new file mode 100644 index 00000000..5b28195a --- /dev/null +++ b/test/TriGTests/nested_blankNodePropertyLists.trig @@ -0,0 +1,2 @@ +{[ [ ] ; ].} + {[ [ ] ; ].} diff --git a/test/TriGTests/nested_collection.nq b/test/TriGTests/nested_collection.nq new file mode 100644 index 00000000..f504b3aa --- /dev/null +++ b/test/TriGTests/nested_collection.nq @@ -0,0 +1,10 @@ + _:b1 . +_:b1 _:b2 . +_:b2 "1"^^ . +_:b2 . +_:b1 . + _:b3 . +_:b3 _:b4 . +_:b4 "1"^^ . +_:b4 . +_:b3 . diff --git a/test/TriGTests/nested_collection.trig b/test/TriGTests/nested_collection.trig new file mode 100644 index 00000000..5d4a3017 --- /dev/null +++ b/test/TriGTests/nested_collection.trig @@ -0,0 +1,2 @@ +{ ((1)) .} + { ((1)) .} diff --git a/test/TriGTests/number_sign_following_PNAME_NS.nq b/test/TriGTests/number_sign_following_PNAME_NS.nq new file mode 100644 index 00000000..82d9629a --- /dev/null +++ b/test/TriGTests/number_sign_following_PNAME_NS.nq @@ -0,0 +1 @@ + . diff --git a/test/TriGTests/number_sign_following_PNAME_NS.trig b/test/TriGTests/number_sign_following_PNAME_NS.trig new file mode 100644 index 00000000..2003fa4d --- /dev/null +++ b/test/TriGTests/number_sign_following_PNAME_NS.trig @@ -0,0 +1,3 @@ +@prefix p: . + p:\#numbersign +. diff --git a/test/TriGTests/number_sign_following_localName.nq b/test/TriGTests/number_sign_following_localName.nq new file mode 100644 index 00000000..5ae57b8d --- /dev/null +++ b/test/TriGTests/number_sign_following_localName.nq @@ -0,0 +1 @@ + . diff --git a/test/TriGTests/number_sign_following_localName.trig b/test/TriGTests/number_sign_following_localName.trig new file mode 100644 index 00000000..a0e39ecd --- /dev/null +++ b/test/TriGTests/number_sign_following_localName.trig @@ -0,0 +1,3 @@ +@prefix p: . + p:o\#numbersign +. diff --git a/test/TriGTests/numeric_with_leading_0.nq b/test/TriGTests/numeric_with_leading_0.nq new file mode 100644 index 00000000..f028e790 --- /dev/null +++ b/test/TriGTests/numeric_with_leading_0.nq @@ -0,0 +1,2 @@ + "01"^^ . + "01"^^ . diff --git a/test/TriGTests/numeric_with_leading_0.trig b/test/TriGTests/numeric_with_leading_0.trig new file mode 100644 index 00000000..6da8ad89 --- /dev/null +++ b/test/TriGTests/numeric_with_leading_0.trig @@ -0,0 +1,2 @@ +{ 01 .} + { 01 .} diff --git a/test/TriGTests/objectList_with_two_objects.nq b/test/TriGTests/objectList_with_two_objects.nq new file mode 100644 index 00000000..4b4e044b --- /dev/null +++ b/test/TriGTests/objectList_with_two_objects.nq @@ -0,0 +1,4 @@ + . + . + . + . diff --git a/test/TriGTests/objectList_with_two_objects.trig b/test/TriGTests/objectList_with_two_objects.trig new file mode 100644 index 00000000..6dbe9792 --- /dev/null +++ b/test/TriGTests/objectList_with_two_objects.trig @@ -0,0 +1,2 @@ +{ , .} + { , .} diff --git a/test/TriGTests/old_style_base.trig b/test/TriGTests/old_style_base.trig new file mode 100644 index 00000000..d1f5d4a2 --- /dev/null +++ b/test/TriGTests/old_style_base.trig @@ -0,0 +1,3 @@ +@base . +{ .} + { .} diff --git a/test/TriGTests/old_style_prefix.trig b/test/TriGTests/old_style_prefix.trig new file mode 100644 index 00000000..014c1f0d --- /dev/null +++ b/test/TriGTests/old_style_prefix.trig @@ -0,0 +1,3 @@ +@prefix p: . +{p:s .} + {p:s .} diff --git a/test/TriGTests/percent_escaped_localName.nq b/test/TriGTests/percent_escaped_localName.nq new file mode 100644 index 00000000..85273e95 --- /dev/null +++ b/test/TriGTests/percent_escaped_localName.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/percent_escaped_localName.trig b/test/TriGTests/percent_escaped_localName.trig new file mode 100644 index 00000000..a2b55c90 --- /dev/null +++ b/test/TriGTests/percent_escaped_localName.trig @@ -0,0 +1,3 @@ +@prefix p: . +{p:%25 .} + {p:%25 .} diff --git a/test/TriGTests/positive_numeric.nq b/test/TriGTests/positive_numeric.nq new file mode 100644 index 00000000..25337582 --- /dev/null +++ b/test/TriGTests/positive_numeric.nq @@ -0,0 +1,2 @@ + "+1"^^ . + "+1"^^ . diff --git a/test/TriGTests/positive_numeric.trig b/test/TriGTests/positive_numeric.trig new file mode 100644 index 00000000..5c7a166d --- /dev/null +++ b/test/TriGTests/positive_numeric.trig @@ -0,0 +1,2 @@ +{ +1 .} + { +1 .} diff --git a/test/TriGTests/predicateObjectList_with_two_objectLists.nq b/test/TriGTests/predicateObjectList_with_two_objectLists.nq new file mode 100644 index 00000000..0c203403 --- /dev/null +++ b/test/TriGTests/predicateObjectList_with_two_objectLists.nq @@ -0,0 +1,4 @@ + . + . + . + . diff --git a/test/TriGTests/predicateObjectList_with_two_objectLists.trig b/test/TriGTests/predicateObjectList_with_two_objectLists.trig new file mode 100644 index 00000000..0513be26 --- /dev/null +++ b/test/TriGTests/predicateObjectList_with_two_objectLists.trig @@ -0,0 +1,2 @@ +{ ; .} + { ; .} diff --git a/test/TriGTests/prefix_only_IRI.trig b/test/TriGTests/prefix_only_IRI.trig new file mode 100644 index 00000000..c0f4d441 --- /dev/null +++ b/test/TriGTests/prefix_only_IRI.trig @@ -0,0 +1,3 @@ +@prefix p: . +{p: .} + {p: .} diff --git a/test/TriGTests/prefix_reassigned_and_used.nq b/test/TriGTests/prefix_reassigned_and_used.nq new file mode 100644 index 00000000..5e65c13f --- /dev/null +++ b/test/TriGTests/prefix_reassigned_and_used.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/prefix_reassigned_and_used.trig b/test/TriGTests/prefix_reassigned_and_used.trig new file mode 100644 index 00000000..6abd7ea9 --- /dev/null +++ b/test/TriGTests/prefix_reassigned_and_used.trig @@ -0,0 +1,4 @@ +@prefix p: . +@prefix p: . +{p:s .} + {p:s .} diff --git a/test/TriGTests/prefix_with_PN_CHARS_BASE_character_boundaries.trig b/test/TriGTests/prefix_with_PN_CHARS_BASE_character_boundaries.trig new file mode 100644 index 00000000..30b7b8ab --- /dev/null +++ b/test/TriGTests/prefix_with_PN_CHARS_BASE_character_boundaries.trig @@ -0,0 +1,3 @@ +@prefix AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽: . +{ AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽:o} + { AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽:o} diff --git a/test/TriGTests/prefix_with_non_leading_extras.trig b/test/TriGTests/prefix_with_non_leading_extras.trig new file mode 100644 index 00000000..64e86f37 --- /dev/null +++ b/test/TriGTests/prefix_with_non_leading_extras.trig @@ -0,0 +1,3 @@ +@prefix a·̀ͯ‿.⁀: . +{a·̀ͯ‿.⁀:s .} + {a·̀ͯ‿.⁀:s .} \ No newline at end of file diff --git a/test/TriGTests/prefixed_IRI_object.trig b/test/TriGTests/prefixed_IRI_object.trig new file mode 100644 index 00000000..2c04b80b --- /dev/null +++ b/test/TriGTests/prefixed_IRI_object.trig @@ -0,0 +1,3 @@ +@prefix p: . +{ p:o .} + { p:o .} diff --git a/test/TriGTests/prefixed_IRI_predicate.trig b/test/TriGTests/prefixed_IRI_predicate.trig new file mode 100644 index 00000000..f41e7a35 --- /dev/null +++ b/test/TriGTests/prefixed_IRI_predicate.trig @@ -0,0 +1,3 @@ +@prefix p: . +{ p:p .} + { p:p .} diff --git a/test/TriGTests/prefixed_name_datatype.trig b/test/TriGTests/prefixed_name_datatype.trig new file mode 100644 index 00000000..45d53873 --- /dev/null +++ b/test/TriGTests/prefixed_name_datatype.trig @@ -0,0 +1,3 @@ +@prefix xsd: . +{ "1"^^xsd:integer .} + { "1"^^xsd:integer .} diff --git a/test/TriGTests/repeated_semis_at_end.trig b/test/TriGTests/repeated_semis_at_end.trig new file mode 100644 index 00000000..e4131b94 --- /dev/null +++ b/test/TriGTests/repeated_semis_at_end.trig @@ -0,0 +1,2 @@ +{ ;; .} + { ;; .} diff --git a/test/TriGTests/repeated_semis_not_at_end.nq b/test/TriGTests/repeated_semis_not_at_end.nq new file mode 100644 index 00000000..81f01397 --- /dev/null +++ b/test/TriGTests/repeated_semis_not_at_end.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/repeated_semis_not_at_end.trig b/test/TriGTests/repeated_semis_not_at_end.trig new file mode 100644 index 00000000..270ac985 --- /dev/null +++ b/test/TriGTests/repeated_semis_not_at_end.trig @@ -0,0 +1,2 @@ +{ ;; .} + { ;; .} diff --git a/test/TriGTests/reserved_escaped_localName.nq b/test/TriGTests/reserved_escaped_localName.nq new file mode 100644 index 00000000..d965ceb0 --- /dev/null +++ b/test/TriGTests/reserved_escaped_localName.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/reserved_escaped_localName.trig b/test/TriGTests/reserved_escaped_localName.trig new file mode 100644 index 00000000..991594ad --- /dev/null +++ b/test/TriGTests/reserved_escaped_localName.trig @@ -0,0 +1,3 @@ +@prefix p: . +{p:\_\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\%00 .} + {p:\_\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\%00 .} diff --git a/test/TriGTests/sole_blankNodePropertyList.nq b/test/TriGTests/sole_blankNodePropertyList.nq new file mode 100644 index 00000000..ae23b3de --- /dev/null +++ b/test/TriGTests/sole_blankNodePropertyList.nq @@ -0,0 +1,3 @@ +_:b1 . +_:b2 . +_:b3 . diff --git a/test/TriGTests/sole_blankNodePropertyList.trig b/test/TriGTests/sole_blankNodePropertyList.trig new file mode 100644 index 00000000..ae3765f5 --- /dev/null +++ b/test/TriGTests/sole_blankNodePropertyList.trig @@ -0,0 +1,3 @@ +{[ ] .} + { [ ] .} + { [ ] } diff --git a/test/TriGTests/trig-bnodeplist-graph-bad-01.trig b/test/TriGTests/trig-bnodeplist-graph-bad-01.trig new file mode 100644 index 00000000..2b9a8d36 --- /dev/null +++ b/test/TriGTests/trig-bnodeplist-graph-bad-01.trig @@ -0,0 +1,4 @@ +# BlankNodePropertyList as Graph Name +PREFIX : + +[:p1 :o1] {:s :p :o} diff --git a/test/TriGTests/trig-collection-graph-bad-01.trig b/test/TriGTests/trig-collection-graph-bad-01.trig new file mode 100644 index 00000000..e8a7eaeb --- /dev/null +++ b/test/TriGTests/trig-collection-graph-bad-01.trig @@ -0,0 +1,4 @@ +# Collection as Graph Name +PREFIX : + +() {:s :p :o} diff --git a/test/TriGTests/trig-collection-graph-bad-02.trig b/test/TriGTests/trig-collection-graph-bad-02.trig new file mode 100644 index 00000000..ba90bcfd --- /dev/null +++ b/test/TriGTests/trig-collection-graph-bad-02.trig @@ -0,0 +1,4 @@ +# Collection as Graph Name +PREFIX : + +(1 2) {:s :p :o} diff --git a/test/TriGTests/trig-eval-bad-01.trig b/test/TriGTests/trig-eval-bad-01.trig new file mode 100644 index 00000000..36f66252 --- /dev/null +++ b/test/TriGTests/trig-eval-bad-01.trig @@ -0,0 +1,2 @@ +# Bad IRI : good escape, bad charcater +{ .} diff --git a/test/TriGTests/trig-eval-bad-02.trig b/test/TriGTests/trig-eval-bad-02.trig new file mode 100644 index 00000000..2fc1aa3d --- /dev/null +++ b/test/TriGTests/trig-eval-bad-02.trig @@ -0,0 +1,2 @@ +# Bad IRI : hex 3C is < +{ .} diff --git a/test/TriGTests/trig-eval-bad-03.trig b/test/TriGTests/trig-eval-bad-03.trig new file mode 100644 index 00000000..4024af55 --- /dev/null +++ b/test/TriGTests/trig-eval-bad-03.trig @@ -0,0 +1,2 @@ +# Bad IRI : hex 3E is > +{ .} diff --git a/test/TriGTests/trig-eval-bad-04.trig b/test/TriGTests/trig-eval-bad-04.trig new file mode 100644 index 00000000..b43b6814 --- /dev/null +++ b/test/TriGTests/trig-eval-bad-04.trig @@ -0,0 +1,2 @@ +# Bad IRI +{ .} diff --git a/test/TriGTests/trig-eval-struct-01.nq b/test/TriGTests/trig-eval-struct-01.nq new file mode 100644 index 00000000..6106c139 --- /dev/null +++ b/test/TriGTests/trig-eval-struct-01.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/trig-eval-struct-01.trig b/test/TriGTests/trig-eval-struct-01.trig new file mode 100644 index 00000000..c6003461 --- /dev/null +++ b/test/TriGTests/trig-eval-struct-01.trig @@ -0,0 +1,2 @@ +{ .} + { .} diff --git a/test/TriGTests/trig-eval-struct-02.nq b/test/TriGTests/trig-eval-struct-02.nq new file mode 100644 index 00000000..a4e416e9 --- /dev/null +++ b/test/TriGTests/trig-eval-struct-02.nq @@ -0,0 +1,4 @@ + . + . + . + . diff --git a/test/TriGTests/trig-eval-struct-02.trig b/test/TriGTests/trig-eval-struct-02.trig new file mode 100644 index 00000000..332af23c --- /dev/null +++ b/test/TriGTests/trig-eval-struct-02.trig @@ -0,0 +1,13 @@ +{ + + ; + ; + . +} + + { + + ; + ; + . +} diff --git a/test/TriGTests/trig-graph-bad-01.trig b/test/TriGTests/trig-graph-bad-01.trig new file mode 100644 index 00000000..a247a68c --- /dev/null +++ b/test/TriGTests/trig-graph-bad-01.trig @@ -0,0 +1,5 @@ +# GRAPH tests +PREFIX : + +# GRAPH but no name - GRAPH is not used with the default graph +GRAPH { :s :p :o } diff --git a/test/TriGTests/trig-graph-bad-02.trig b/test/TriGTests/trig-graph-bad-02.trig new file mode 100644 index 00000000..47bbda62 --- /dev/null +++ b/test/TriGTests/trig-graph-bad-02.trig @@ -0,0 +1,6 @@ +# GRAPH tests +PREFIX : + +# GRAPH not followed by DOT +GRAPH :g1 { :s :p :o } . +GRAPH :g2 { :s :p :o } . diff --git a/test/TriGTests/trig-graph-bad-03.trig b/test/TriGTests/trig-graph-bad-03.trig new file mode 100644 index 00000000..31af19f8 --- /dev/null +++ b/test/TriGTests/trig-graph-bad-03.trig @@ -0,0 +1,8 @@ +# GRAPH tests +PREFIX : + +# GRAPH needs {} +GRAPH :g + :s :p :o . + + diff --git a/test/TriGTests/trig-graph-bad-04.trig b/test/TriGTests/trig-graph-bad-04.trig new file mode 100644 index 00000000..23e23a21 --- /dev/null +++ b/test/TriGTests/trig-graph-bad-04.trig @@ -0,0 +1,5 @@ +# GRAPH tests +PREFIX : + +# GRAPH needs {} +GRAPH :s :p :o diff --git a/test/TriGTests/trig-graph-bad-05.trig b/test/TriGTests/trig-graph-bad-05.trig new file mode 100644 index 00000000..7bf470a6 --- /dev/null +++ b/test/TriGTests/trig-graph-bad-05.trig @@ -0,0 +1,5 @@ +# GRAPH tests +PREFIX : + +# GRAPH and a name, not several. +GRAPH :g1 :g2 { :s :p :o } diff --git a/test/TriGTests/trig-graph-bad-06.trig b/test/TriGTests/trig-graph-bad-06.trig new file mode 100644 index 00000000..487ae9e0 --- /dev/null +++ b/test/TriGTests/trig-graph-bad-06.trig @@ -0,0 +1,6 @@ +# GRAPH tests +PREFIX : + +# GRAPH - Must close {} +GRAPH :g { :s :p :o + diff --git a/test/TriGTests/trig-graph-bad-07.trig b/test/TriGTests/trig-graph-bad-07.trig new file mode 100644 index 00000000..de618384 --- /dev/null +++ b/test/TriGTests/trig-graph-bad-07.trig @@ -0,0 +1,9 @@ +# GRAPH tests +PREFIX : + +# GRAPH and a triples block. +GRAPH :g { + :s :p :o . + GRAPH :g1 { :s1 :p1 :o1 } +} + diff --git a/test/TriGTests/trig-graph-bad-08.trig b/test/TriGTests/trig-graph-bad-08.trig new file mode 100644 index 00000000..190d2c0f --- /dev/null +++ b/test/TriGTests/trig-graph-bad-08.trig @@ -0,0 +1,5 @@ +# GRAPH tests +PREFIX : + +# GRAPH and a triples block. +@graph :g { :s :p :o } diff --git a/test/TriGTests/trig-graph-bad-09.trig b/test/TriGTests/trig-graph-bad-09.trig new file mode 100644 index 00000000..3cfca535 --- /dev/null +++ b/test/TriGTests/trig-graph-bad-09.trig @@ -0,0 +1,12 @@ +# GRAPH tests +PREFIX : + +# GRAPH - no directives +graph :g { + :s :p :o +prefix x: + x:s1 x:p1 x:o1 . +} + + + diff --git a/test/TriGTests/trig-graph-bad-10.trig b/test/TriGTests/trig-graph-bad-10.trig new file mode 100644 index 00000000..fc0531f8 --- /dev/null +++ b/test/TriGTests/trig-graph-bad-10.trig @@ -0,0 +1,8 @@ +# GRAPH tests +PREFIX : + +# GRAPH - no lists +GRAPH () { :s :p :o } + + + diff --git a/test/TriGTests/trig-graph-bad-11.trig b/test/TriGTests/trig-graph-bad-11.trig new file mode 100644 index 00000000..c7b0ffd5 --- /dev/null +++ b/test/TriGTests/trig-graph-bad-11.trig @@ -0,0 +1,8 @@ +# GRAPH tests +PREFIX : + +# GRAPH - no lists +graph (1 2) { :s :p :o } + + + diff --git a/test/TriGTests/trig-kw-graph-01.trig b/test/TriGTests/trig-kw-graph-01.trig new file mode 100644 index 00000000..acf739bf --- /dev/null +++ b/test/TriGTests/trig-kw-graph-01.trig @@ -0,0 +1,4 @@ +# GRAPH tests +PREFIX : + +GRAPH :g { :s :p :o } \ No newline at end of file diff --git a/test/TriGTests/trig-kw-graph-02.trig b/test/TriGTests/trig-kw-graph-02.trig new file mode 100644 index 00000000..6b4f904b --- /dev/null +++ b/test/TriGTests/trig-kw-graph-02.trig @@ -0,0 +1,4 @@ +# GRAPH tests +PREFIX : + +GRAPH :g { :s :p :o . } diff --git a/test/TriGTests/trig-kw-graph-03.trig b/test/TriGTests/trig-kw-graph-03.trig new file mode 100644 index 00000000..cfb67fe9 --- /dev/null +++ b/test/TriGTests/trig-kw-graph-03.trig @@ -0,0 +1,4 @@ +# GRAPH tests +PREFIX : + +GRAPH :g { } \ No newline at end of file diff --git a/test/TriGTests/trig-kw-graph-04.trig b/test/TriGTests/trig-kw-graph-04.trig new file mode 100644 index 00000000..8a38e30e --- /dev/null +++ b/test/TriGTests/trig-kw-graph-04.trig @@ -0,0 +1,8 @@ +# GRAPH tests +PREFIX : + +GRAPH :g1 { :s :p :o } +GRAPH :g2 { :s :p :o } +:g3 { :s :p :o } +GRAPH :g4 { :s :p :o } +GRAPH :g5 { :s :p :o } diff --git a/test/TriGTests/trig-kw-graph-05.trig b/test/TriGTests/trig-kw-graph-05.trig new file mode 100644 index 00000000..acf739bf --- /dev/null +++ b/test/TriGTests/trig-kw-graph-05.trig @@ -0,0 +1,4 @@ +# GRAPH tests +PREFIX : + +GRAPH :g { :s :p :o } \ No newline at end of file diff --git a/test/TriGTests/trig-kw-graph-06.trig b/test/TriGTests/trig-kw-graph-06.trig new file mode 100644 index 00000000..9c5ca1a6 --- /dev/null +++ b/test/TriGTests/trig-kw-graph-06.trig @@ -0,0 +1,4 @@ +# GRAPH tests +PREFIX : + +GRAPH _:a { :s :p :o } \ No newline at end of file diff --git a/test/TriGTests/trig-kw-graph-07.trig b/test/TriGTests/trig-kw-graph-07.trig new file mode 100644 index 00000000..3cd8aeb7 --- /dev/null +++ b/test/TriGTests/trig-kw-graph-07.trig @@ -0,0 +1,6 @@ +# GRAPH tests +PREFIX : + +GRAPH [] { :s :p :o } +[] { :s :p :o } +GRAPH [] { :s :p :o } diff --git a/test/TriGTests/trig-kw-graph-08.trig b/test/TriGTests/trig-kw-graph-08.trig new file mode 100644 index 00000000..acf739bf --- /dev/null +++ b/test/TriGTests/trig-kw-graph-08.trig @@ -0,0 +1,4 @@ +# GRAPH tests +PREFIX : + +GRAPH :g { :s :p :o } \ No newline at end of file diff --git a/test/TriGTests/trig-kw-graph-09.trig b/test/TriGTests/trig-kw-graph-09.trig new file mode 100644 index 00000000..acf739bf --- /dev/null +++ b/test/TriGTests/trig-kw-graph-09.trig @@ -0,0 +1,4 @@ +# GRAPH tests +PREFIX : + +GRAPH :g { :s :p :o } \ No newline at end of file diff --git a/test/TriGTests/trig-kw-graph-10.trig b/test/TriGTests/trig-kw-graph-10.trig new file mode 100644 index 00000000..cfb67fe9 --- /dev/null +++ b/test/TriGTests/trig-kw-graph-10.trig @@ -0,0 +1,4 @@ +# GRAPH tests +PREFIX : + +GRAPH :g { } \ No newline at end of file diff --git a/test/TriGTests/trig-subm-01.nq b/test/TriGTests/trig-subm-01.nq new file mode 100644 index 00000000..16f21cb9 --- /dev/null +++ b/test/TriGTests/trig-subm-01.nq @@ -0,0 +1,2 @@ +_:b1 . +_:b2 . diff --git a/test/TriGTests/trig-subm-01.trig b/test/TriGTests/trig-subm-01.trig new file mode 100644 index 00000000..9a89c660 --- /dev/null +++ b/test/TriGTests/trig-subm-01.trig @@ -0,0 +1,3 @@ +@prefix : <#> . +{[] :x :y .} + {[] :x :y .} diff --git a/test/TriGTests/trig-subm-02.nq b/test/TriGTests/trig-subm-02.nq new file mode 100644 index 00000000..299f1cd6 --- /dev/null +++ b/test/TriGTests/trig-subm-02.nq @@ -0,0 +1,6 @@ + . + . + . + . + . + . diff --git a/test/TriGTests/trig-subm-02.trig b/test/TriGTests/trig-subm-02.trig new file mode 100644 index 00000000..c94a8039 --- /dev/null +++ b/test/TriGTests/trig-subm-02.trig @@ -0,0 +1,16 @@ +# Test @prefix and qnames +@prefix : . +@prefix a: . +@prefix b: . + +{ + :a :b :c . + a:a a:b a:c . + :a a:a b:a . +} + + { + :a :b :c . + a:a a:b a:c . + :a a:a b:a . +} \ No newline at end of file diff --git a/test/TriGTests/trig-subm-03.nq b/test/TriGTests/trig-subm-03.nq new file mode 100644 index 00000000..aeb54197 --- /dev/null +++ b/test/TriGTests/trig-subm-03.nq @@ -0,0 +1,6 @@ + . + . + . + . + . + . diff --git a/test/TriGTests/trig-subm-03.trig b/test/TriGTests/trig-subm-03.trig new file mode 100644 index 00000000..b52f7c9a --- /dev/null +++ b/test/TriGTests/trig-subm-03.trig @@ -0,0 +1,14 @@ +# Test , operator +@prefix : . + +{ +:a :b :c, + :d, + :e . +} + + { +:a :b :c, + :d, + :e . +} diff --git a/test/TriGTests/trig-subm-04.nq b/test/TriGTests/trig-subm-04.nq new file mode 100644 index 00000000..acf2a1dd --- /dev/null +++ b/test/TriGTests/trig-subm-04.nq @@ -0,0 +1,6 @@ + . + . + . + . + . + . diff --git a/test/TriGTests/trig-subm-04.trig b/test/TriGTests/trig-subm-04.trig new file mode 100644 index 00000000..2f57b30b --- /dev/null +++ b/test/TriGTests/trig-subm-04.trig @@ -0,0 +1,14 @@ +# Test ; operator +@prefix : . + +{ +:a :b :c ; + :d :e ; + :f :g . +} + + { +:a :b :c ; + :d :e ; + :f :g . +} diff --git a/test/TriGTests/trig-subm-05.nq b/test/TriGTests/trig-subm-05.nq new file mode 100644 index 00000000..cf4eb939 --- /dev/null +++ b/test/TriGTests/trig-subm-05.nq @@ -0,0 +1,4 @@ +_:b1 . + _:b2 . +_:b3 . + _:b4 . diff --git a/test/TriGTests/trig-subm-05.trig b/test/TriGTests/trig-subm-05.trig new file mode 100644 index 00000000..8c202b99 --- /dev/null +++ b/test/TriGTests/trig-subm-05.trig @@ -0,0 +1,12 @@ +# Test empty [] operator; not allowed as predicate +@prefix : . + +{ +[] :a :b . +:c :d [] . +} + + { +[] :a :b . +:c :d [] . +} diff --git a/test/TriGTests/trig-subm-06.nq b/test/TriGTests/trig-subm-06.nq new file mode 100644 index 00000000..4ede34b6 --- /dev/null +++ b/test/TriGTests/trig-subm-06.nq @@ -0,0 +1,8 @@ +_:b1 . +_:b1 . + _:b2 . +_:b2 . +_:b3 . +_:b3 . + _:b4 . +_:b4 . diff --git a/test/TriGTests/trig-subm-06.trig b/test/TriGTests/trig-subm-06.trig new file mode 100644 index 00000000..280c48d5 --- /dev/null +++ b/test/TriGTests/trig-subm-06.trig @@ -0,0 +1,12 @@ +# Test non empty [] operator; not allowed as predicate +@prefix : . + +{ +[ :a :b ] :c :d . +:e :f [ :g :h ] . +} + + { +[ :a :b ] :c :d . +:e :f [ :g :h ] . +} diff --git a/test/TriGTests/trig-subm-07.nq b/test/TriGTests/trig-subm-07.nq new file mode 100644 index 00000000..7c96d3ba --- /dev/null +++ b/test/TriGTests/trig-subm-07.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/trig-subm-07.trig b/test/TriGTests/trig-subm-07.trig new file mode 100644 index 00000000..b5e254af --- /dev/null +++ b/test/TriGTests/trig-subm-07.trig @@ -0,0 +1,4 @@ +# 'a' only allowed as a predicate +@prefix : . +{:a a :b .} + {:a a :b .} diff --git a/test/TriGTests/trig-subm-08.nq b/test/TriGTests/trig-subm-08.nq new file mode 100644 index 00000000..fbb430bd --- /dev/null +++ b/test/TriGTests/trig-subm-08.nq @@ -0,0 +1,10 @@ + _:b1 . +_:b1 "apple" . +_:b1 _:b2 . +_:b2 "banana" . +_:b2 . + _:b3 . +_:b3 "apple" . +_:b3 _:b4 . +_:b4 "banana" . +_:b4 . diff --git a/test/TriGTests/trig-subm-08.trig b/test/TriGTests/trig-subm-08.trig new file mode 100644 index 00000000..7e88c18c --- /dev/null +++ b/test/TriGTests/trig-subm-08.trig @@ -0,0 +1,4 @@ +@prefix : . +{:a :b ( "apple" "banana" ) .} + {:a :b ( "apple" "banana" ) .} + diff --git a/test/TriGTests/trig-subm-09.nq b/test/TriGTests/trig-subm-09.nq new file mode 100644 index 00000000..7c2c83b8 --- /dev/null +++ b/test/TriGTests/trig-subm-09.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/trig-subm-09.trig b/test/TriGTests/trig-subm-09.trig new file mode 100644 index 00000000..7cbd40a8 --- /dev/null +++ b/test/TriGTests/trig-subm-09.trig @@ -0,0 +1,4 @@ +@prefix : . +{:a :b ( ) .} + {:a :b ( ) .} + diff --git a/test/TriGTests/trig-subm-10.nq b/test/TriGTests/trig-subm-10.nq new file mode 100644 index 00000000..3a84a4c6 --- /dev/null +++ b/test/TriGTests/trig-subm-10.nq @@ -0,0 +1,8 @@ +_:hasParent . +_:b1 . +_:b1 _:hasParent . +_:b1 "2"^^ . +_:hasParent . +_:b2 . +_:b2 _:hasParent . +_:b2 "2"^^ . diff --git a/test/TriGTests/trig-subm-10.trig b/test/TriGTests/trig-subm-10.trig new file mode 100644 index 00000000..23bd02de --- /dev/null +++ b/test/TriGTests/trig-subm-10.trig @@ -0,0 +1,20 @@ +# Test integer datatyped literals using an OWL cardinality constraint +@prefix owl: . + +# based on examples in the OWL Reference + +{ +_:hasParent a owl:ObjectProperty . + +[] a owl:Restriction ; + owl:onProperty _:hasParent ; + owl:maxCardinality 2 . +} + + { +_:hasParent a owl:ObjectProperty . + +[] a owl:Restriction ; + owl:onProperty _:hasParent ; + owl:maxCardinality 2 . +} diff --git a/test/TriGTests/trig-subm-11.nq b/test/TriGTests/trig-subm-11.nq new file mode 100644 index 00000000..76147a3a --- /dev/null +++ b/test/TriGTests/trig-subm-11.nq @@ -0,0 +1,10 @@ + "000000"^^ . + "0"^^ . + "000001"^^ . + "2"^^ . + "4"^^ . + "000000"^^ . + "0"^^ . + "000001"^^ . + "2"^^ . + "4"^^ . diff --git a/test/TriGTests/trig-subm-11.trig b/test/TriGTests/trig-subm-11.trig new file mode 100644 index 00000000..bb1c4991 --- /dev/null +++ b/test/TriGTests/trig-subm-11.trig @@ -0,0 +1,15 @@ +{ + 000000 . + 0 . + 000001 . + 2 . + 4 . +} + + { + 000000 . + 0 . + 000001 . + 2 . + 4 . +} diff --git a/test/TriGTests/trig-subm-12.nq b/test/TriGTests/trig-subm-12.nq new file mode 100644 index 00000000..32b15c50 --- /dev/null +++ b/test/TriGTests/trig-subm-12.nq @@ -0,0 +1,8 @@ + "a" . + "b" . + "c" . + "d" . + "a" . + "b" . + "c" . + "d" . diff --git a/test/TriGTests/trig-subm-12.trig b/test/TriGTests/trig-subm-12.trig new file mode 100644 index 00000000..b0f8ff83 --- /dev/null +++ b/test/TriGTests/trig-subm-12.trig @@ -0,0 +1,19 @@ +# Tests for - and _ in names, qnames +@prefix ex1: . +@prefix ex-2: . +@prefix ex3_: . +@prefix ex4-: . + +{ +ex1:foo-bar ex1:foo_bar "a" . +ex-2:foo-bar ex-2:foo_bar "b" . +ex3_:foo-bar ex3_:foo_bar "c" . +ex4-:foo-bar ex4-:foo_bar "d" . +} + + { +ex1:foo-bar ex1:foo_bar "a" . +ex-2:foo-bar ex-2:foo_bar "b" . +ex3_:foo-bar ex3_:foo_bar "c" . +ex4-:foo-bar ex4-:foo_bar "d" . +} diff --git a/test/TriGTests/trig-subm-13.nq b/test/TriGTests/trig-subm-13.nq new file mode 100644 index 00000000..84c2a2e5 --- /dev/null +++ b/test/TriGTests/trig-subm-13.nq @@ -0,0 +1,8 @@ + "1" . + "2" . + "def" . + "678" . + "1" . + "2" . + "def" . + "678" . diff --git a/test/TriGTests/trig-subm-13.trig b/test/TriGTests/trig-subm-13.trig new file mode 100644 index 00000000..8d1b44da --- /dev/null +++ b/test/TriGTests/trig-subm-13.trig @@ -0,0 +1,18 @@ +# Tests for rdf:_ and other qnames starting with _ +@prefix rdf: . +@prefix ex: . +@prefix : . + +{ +ex:foo rdf:_1 "1" . +ex:foo rdf:_2 "2" . +ex:foo :_abc "def" . +ex:foo :_345 "678" . +} + + { +ex:foo rdf:_1 "1" . +ex:foo rdf:_2 "2" . +ex:foo :_abc "def" . +ex:foo :_345 "678" . +} diff --git a/test/TriGTests/trig-subm-14.nq b/test/TriGTests/trig-subm-14.nq new file mode 100644 index 00000000..89f5b292 --- /dev/null +++ b/test/TriGTests/trig-subm-14.nq @@ -0,0 +1,4 @@ +_:b1 _:b2 . + . +_:b3 _:b4 . + . diff --git a/test/TriGTests/trig-subm-14.trig b/test/TriGTests/trig-subm-14.trig new file mode 100644 index 00000000..c70300e1 --- /dev/null +++ b/test/TriGTests/trig-subm-14.trig @@ -0,0 +1,16 @@ +# Test for : allowed +@prefix : . + +{ +[] : [] . + +: : : . + +} + + { +[] : [] . + +: : : . + +} diff --git a/test/TriGTests/trig-subm-15.nq b/test/TriGTests/trig-subm-15.nq new file mode 100644 index 00000000..8d01c44f --- /dev/null +++ b/test/TriGTests/trig-subm-15.nq @@ -0,0 +1,2 @@ + "a long\n\tliteral\nwith\nnewlines" . + "a long\n\tliteral\nwith\nnewlines" . diff --git a/test/TriGTests/trig-subm-15.trig b/test/TriGTests/trig-subm-15.trig new file mode 100644 index 00000000..93fbc41a --- /dev/null +++ b/test/TriGTests/trig-subm-15.trig @@ -0,0 +1,16 @@ +# Test long literal +@prefix : . + +{ +:a :b """a long + literal +with +newlines""" . +} + + { +:a :b """a long + literal +with +newlines""" . +} diff --git a/test/TriGTests/trig-subm-16.nq b/test/TriGTests/trig-subm-16.nq new file mode 100644 index 00000000..2e5fac4e --- /dev/null +++ b/test/TriGTests/trig-subm-16.nq @@ -0,0 +1,4 @@ + "\nthis \ris a \U00012451long\t\nliteral\uABCD\n" . + "\tThis \uABCDis\r \U00012451another\n\none\n" . + "\nthis \ris a \U00012451long\t\nliteral\uABCD\n" . + "\tThis \uABCDis\r \U00012451another\n\none\n" . diff --git a/test/TriGTests/trig-subm-16.trig b/test/TriGTests/trig-subm-16.trig new file mode 100644 index 00000000..86cb22d5 --- /dev/null +++ b/test/TriGTests/trig-subm-16.trig @@ -0,0 +1,43 @@ +@prefix : . + +{ +## \U00015678 is a not a legal codepoint +## :a :b """\nthis \ris a \U00015678long\t +## literal\uABCD +## """ . +## +## :d :e """\tThis \uABCDis\r \U00015678another\n +## one +## """ . + +# \U00015678 is a not a legal codepoint +# \U00012451 in Cuneiform numeric ban 3 +:a :b """\nthis \ris a \U00012451long\t +literal\uABCD +""" . + +:d :e """\tThis \uABCDis\r \U00012451another\n +one +""" . +} + + { +## \U00015678 is a not a legal codepoint +## :a :b """\nthis \ris a \U00015678long\t +## literal\uABCD +## """ . +## +## :d :e """\tThis \uABCDis\r \U00015678another\n +## one +## """ . + +# \U00015678 is a not a legal codepoint +# \U00012451 in Cuneiform numeric ban 3 +:a :b """\nthis \ris a \U00012451long\t +literal\uABCD +""" . + +:d :e """\tThis \uABCDis\r \U00012451another\n +one +""" . +} diff --git a/test/TriGTests/trig-subm-17.nq b/test/TriGTests/trig-subm-17.nq new file mode 100644 index 00000000..7c5d273f --- /dev/null +++ b/test/TriGTests/trig-subm-17.nq @@ -0,0 +1,2 @@ + "1.0"^^ . + "1.0"^^ . diff --git a/test/TriGTests/trig-subm-17.trig b/test/TriGTests/trig-subm-17.trig new file mode 100644 index 00000000..345ca231 --- /dev/null +++ b/test/TriGTests/trig-subm-17.trig @@ -0,0 +1,5 @@ +@prefix : . + +{:a :b 1.0 .} + {:a :b 1.0 .} + diff --git a/test/TriGTests/trig-subm-18.nq b/test/TriGTests/trig-subm-18.nq new file mode 100644 index 00000000..58b0a4c4 --- /dev/null +++ b/test/TriGTests/trig-subm-18.nq @@ -0,0 +1,4 @@ + "" . + "" . + "" . + "" . diff --git a/test/TriGTests/trig-subm-18.trig b/test/TriGTests/trig-subm-18.trig new file mode 100644 index 00000000..f5b4a516 --- /dev/null +++ b/test/TriGTests/trig-subm-18.trig @@ -0,0 +1,15 @@ +@prefix : . + +{ +:a :b "" . + +:c :d """""" . + +} + + { +:a :b "" . + +:c :d """""" . + +} diff --git a/test/TriGTests/trig-subm-19.nq b/test/TriGTests/trig-subm-19.nq new file mode 100644 index 00000000..b3cf8075 --- /dev/null +++ b/test/TriGTests/trig-subm-19.nq @@ -0,0 +1,6 @@ + "1.0"^^ . + "1"^^ . + "1.0e0"^^ . + "1.0"^^ . + "1"^^ . + "1.0e0"^^ . diff --git a/test/TriGTests/trig-subm-19.trig b/test/TriGTests/trig-subm-19.trig new file mode 100644 index 00000000..7cd14eee --- /dev/null +++ b/test/TriGTests/trig-subm-19.trig @@ -0,0 +1,13 @@ +@prefix : . + +{ +:a :b 1.0 . +:c :d 1 . +:e :f 1.0e0 . +} + + { +:a :b 1.0 . +:c :d 1 . +:e :f 1.0e0 . +} diff --git a/test/TriGTests/trig-subm-20.nq b/test/TriGTests/trig-subm-20.nq new file mode 100644 index 00000000..46f48c74 --- /dev/null +++ b/test/TriGTests/trig-subm-20.nq @@ -0,0 +1,6 @@ + "-1.0"^^ . + "-1"^^ . + "-1.0e0"^^ . + "-1.0"^^ . + "-1"^^ . + "-1.0e0"^^ . diff --git a/test/TriGTests/trig-subm-20.trig b/test/TriGTests/trig-subm-20.trig new file mode 100644 index 00000000..6e3032e5 --- /dev/null +++ b/test/TriGTests/trig-subm-20.trig @@ -0,0 +1,13 @@ +@prefix : . + +{ +:a :b -1.0 . +:c :d -1 . +:e :f -1.0e0 . +} + + { +:a :b -1.0 . +:c :d -1 . +:e :f -1.0e0 . +} diff --git a/test/TriGTests/trig-subm-21.nq b/test/TriGTests/trig-subm-21.nq new file mode 100644 index 00000000..90aec6da --- /dev/null +++ b/test/TriGTests/trig-subm-21.nq @@ -0,0 +1,2 @@ + "John said: \"Hello World!\"" . + "John said: \"Hello World!\"" . diff --git a/test/TriGTests/trig-subm-21.trig b/test/TriGTests/trig-subm-21.trig new file mode 100644 index 00000000..05870fbd --- /dev/null +++ b/test/TriGTests/trig-subm-21.trig @@ -0,0 +1,4 @@ +# Test long literal +@prefix : . +{:a :b """John said: "Hello World!\"""" .} + {:a :b """John said: "Hello World!\"""" .} diff --git a/test/TriGTests/trig-subm-22.nq b/test/TriGTests/trig-subm-22.nq new file mode 100644 index 00000000..01ab3571 --- /dev/null +++ b/test/TriGTests/trig-subm-22.nq @@ -0,0 +1,4 @@ + "true"^^ . + "false"^^ . + "true"^^ . + "false"^^ . diff --git a/test/TriGTests/trig-subm-22.trig b/test/TriGTests/trig-subm-22.trig new file mode 100644 index 00000000..2b546609 --- /dev/null +++ b/test/TriGTests/trig-subm-22.trig @@ -0,0 +1,11 @@ +@prefix : . + +{ +:a :b true . +:c :d false . +} + + { +:a :b true . +:c :d false . +} diff --git a/test/TriGTests/trig-subm-23.nq b/test/TriGTests/trig-subm-23.nq new file mode 100644 index 00000000..11328c97 --- /dev/null +++ b/test/TriGTests/trig-subm-23.nq @@ -0,0 +1,14 @@ + . + . + . + . + . + . + . + . + . + . + . + . + . + . diff --git a/test/TriGTests/trig-subm-23.trig b/test/TriGTests/trig-subm-23.trig new file mode 100644 index 00000000..3cb24f50 --- /dev/null +++ b/test/TriGTests/trig-subm-23.trig @@ -0,0 +1,32 @@ +# comment test +@prefix : . + +{ +:a :b :c . # end of line comment +:d # ignore me + :e # and me + :f # and me + . +:g :h #ignore me + :i, # and me + :j . # and me + +:k :l :m ; #ignore me + :n :o ; # and me + :p :q . # and me +} + + { +:a :b :c . # end of line comment +:d # ignore me + :e # and me + :f # and me + . +:g :h #ignore me + :i, # and me + :j . # and me + +:k :l :m ; #ignore me + :n :o ; # and me + :p :q . # and me +} diff --git a/test/TriGTests/trig-subm-24.nq b/test/TriGTests/trig-subm-24.nq new file mode 100644 index 00000000..9de4a324 --- /dev/null +++ b/test/TriGTests/trig-subm-24.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/trig-subm-24.trig b/test/TriGTests/trig-subm-24.trig new file mode 100644 index 00000000..22ae97ca --- /dev/null +++ b/test/TriGTests/trig-subm-24.trig @@ -0,0 +1,5 @@ +# comment line with no final newline test +@prefix : . +{:a :b :c .} + {:a :b :c .} +#foo diff --git a/test/TriGTests/trig-subm-25.nq b/test/TriGTests/trig-subm-25.nq new file mode 100644 index 00000000..bcb4647a --- /dev/null +++ b/test/TriGTests/trig-subm-25.nq @@ -0,0 +1,2 @@ + . + . diff --git a/test/TriGTests/trig-subm-25.trig b/test/TriGTests/trig-subm-25.trig new file mode 100644 index 00000000..7c3b9f2a --- /dev/null +++ b/test/TriGTests/trig-subm-25.trig @@ -0,0 +1,5 @@ +@prefix foo: . +@prefix foo: . + +{foo:blah foo:blah foo:blah .} + {foo:blah foo:blah foo:blah .} diff --git a/test/TriGTests/trig-subm-26.nq b/test/TriGTests/trig-subm-26.nq new file mode 100644 index 00000000..7357dd40 --- /dev/null +++ b/test/TriGTests/trig-subm-26.nq @@ -0,0 +1,22 @@ + "2.345"^^ . + "1"^^ . + "1.0"^^ . + "1."^^ . + "1.000000000"^^ . + "2.3"^^ . + "2.234000005"^^ . + "2.2340000005"^^ . + "2.23400000005"^^ . + "2.234000000005"^^ . + "2.2340000000005"^^ . + "2.23400000000005"^^ . + "2.234000000000005"^^ . + "2.2340000000000005"^^ . + "2.23400000000000005"^^ . + "2.234000000000000005"^^ . + "2.2340000000000000005"^^ . + "2.23400000000000000005"^^ . + "2.234000000000000000005"^^ . + "2.2340000000000000000005"^^ . + "2.23400000000000000000005"^^ . + "1.2345678901234567890123457890"^^ . diff --git a/test/TriGTests/trig-subm-26.trig b/test/TriGTests/trig-subm-26.trig new file mode 100644 index 00000000..c590800f --- /dev/null +++ b/test/TriGTests/trig-subm-26.trig @@ -0,0 +1,24 @@ +{ + "2.345"^^ . + "1"^^ . + "1.0"^^ . + "1."^^ . + "1.000000000"^^ . + "2.3"^^ . + "2.234000005"^^ . + "2.2340000005"^^ . + "2.23400000005"^^ . + "2.234000000005"^^ . + "2.2340000000005"^^ . + "2.23400000000005"^^ . + "2.234000000000005"^^ . + "2.2340000000000005"^^ . + "2.23400000000000005"^^ . + "2.234000000000000005"^^ . + "2.2340000000000000005"^^ . + "2.23400000000000000005"^^ . + "2.234000000000000000005"^^ . + "2.2340000000000000000005"^^ . + "2.23400000000000000000005"^^ . + "1.2345678901234567890123457890"^^ . +} diff --git a/test/TriGTests/trig-subm-27.nq b/test/TriGTests/trig-subm-27.nq new file mode 100644 index 00000000..95e9abbc --- /dev/null +++ b/test/TriGTests/trig-subm-27.nq @@ -0,0 +1,5 @@ + . + . + . + . + . diff --git a/test/TriGTests/trig-subm-27.trig b/test/TriGTests/trig-subm-27.trig new file mode 100644 index 00000000..4bb98b8f --- /dev/null +++ b/test/TriGTests/trig-subm-27.trig @@ -0,0 +1,12 @@ +# In-scope base URI is at this point +{ .} +@base . +# In-scope base URI is http://example.org/ns/ at this point +{ .} +@base . +# In-scope base URI is http://example.org/ns/foo/ at this point +{ .} +@prefix : . +{:a4 :b4 :c4 .} +@prefix : . +{:a5 :b5 :c5 .} diff --git a/test/TriGTests/trig-syntax-bad-LITERAL2_with_langtag_and_datatype.trig b/test/TriGTests/trig-syntax-bad-LITERAL2_with_langtag_and_datatype.trig new file mode 100644 index 00000000..7748dd1e --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-LITERAL2_with_langtag_and_datatype.trig @@ -0,0 +1 @@ +{ "value"@en^^ .} diff --git a/test/TriGTests/trig-syntax-bad-base-01.trig b/test/TriGTests/trig-syntax-bad-base-01.trig new file mode 100644 index 00000000..7b0412f8 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-base-01.trig @@ -0,0 +1,2 @@ +# @base without URI. +@base . diff --git a/test/TriGTests/trig-syntax-bad-base-02.trig b/test/TriGTests/trig-syntax-bad-base-02.trig new file mode 100644 index 00000000..1b2e4845 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-base-02.trig @@ -0,0 +1,2 @@ +# @base in wrong case. +@BASE . diff --git a/test/TriGTests/trig-syntax-bad-base-03.trig b/test/TriGTests/trig-syntax-bad-base-03.trig new file mode 100644 index 00000000..b8f587fa --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-base-03.trig @@ -0,0 +1,3 @@ +# FULL STOP used after SPARQL BASE +BASE . +{

.} diff --git a/test/TriGTests/trig-syntax-bad-base-04.trig b/test/TriGTests/trig-syntax-bad-base-04.trig new file mode 100644 index 00000000..83c5789b --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-base-04.trig @@ -0,0 +1,4 @@ +# @base inside graph +{ + @base . +} \ No newline at end of file diff --git a/test/TriGTests/trig-syntax-bad-base-05.trig b/test/TriGTests/trig-syntax-bad-base-05.trig new file mode 100644 index 00000000..fa915d53 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-base-05.trig @@ -0,0 +1,4 @@ +# BASE inside graph +{ + BASE +} \ No newline at end of file diff --git a/test/TriGTests/trig-syntax-bad-blank-label-dot-end.trig b/test/TriGTests/trig-syntax-bad-blank-label-dot-end.trig new file mode 100644 index 00000000..33d5edf2 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-blank-label-dot-end.trig @@ -0,0 +1,2 @@ +@prefix : . +{_:b1. :p :o .} diff --git a/test/TriGTests/trig-syntax-bad-esc-01.trig b/test/TriGTests/trig-syntax-bad-esc-01.trig new file mode 100644 index 00000000..abe7fde0 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-esc-01.trig @@ -0,0 +1,2 @@ +# Bad string escape +{ "a\zb" .} diff --git a/test/TriGTests/trig-syntax-bad-esc-02.trig b/test/TriGTests/trig-syntax-bad-esc-02.trig new file mode 100644 index 00000000..80f18c81 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-esc-02.trig @@ -0,0 +1,2 @@ +# Bad string escape +{ "\uWXYZ" .} diff --git a/test/TriGTests/trig-syntax-bad-esc-03.trig b/test/TriGTests/trig-syntax-bad-esc-03.trig new file mode 100644 index 00000000..b45f7044 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-esc-03.trig @@ -0,0 +1,2 @@ +# Bad string escape +{ "\U0000WXYZ" .} diff --git a/test/TriGTests/trig-syntax-bad-esc-04.trig b/test/TriGTests/trig-syntax-bad-esc-04.trig new file mode 100644 index 00000000..b45f7044 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-esc-04.trig @@ -0,0 +1,2 @@ +# Bad string escape +{ "\U0000WXYZ" .} diff --git a/test/TriGTests/trig-syntax-bad-kw-01.trig b/test/TriGTests/trig-syntax-bad-kw-01.trig new file mode 100644 index 00000000..75753b2d --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-kw-01.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s A :C .} diff --git a/test/TriGTests/trig-syntax-bad-kw-02.trig b/test/TriGTests/trig-syntax-bad-kw-02.trig new file mode 100644 index 00000000..036179dd --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-kw-02.trig @@ -0,0 +1,2 @@ +@prefix : . +{a :p :o .} diff --git a/test/TriGTests/trig-syntax-bad-kw-03.trig b/test/TriGTests/trig-syntax-bad-kw-03.trig new file mode 100644 index 00000000..84f456e5 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-kw-03.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p a .} diff --git a/test/TriGTests/trig-syntax-bad-kw-04.trig b/test/TriGTests/trig-syntax-bad-kw-04.trig new file mode 100644 index 00000000..28d864c4 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-kw-04.trig @@ -0,0 +1,2 @@ +@prefix : . +{true :p :o .} diff --git a/test/TriGTests/trig-syntax-bad-kw-05.trig b/test/TriGTests/trig-syntax-bad-kw-05.trig new file mode 100644 index 00000000..c12694bf --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-kw-05.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s true :o .} diff --git a/test/TriGTests/trig-syntax-bad-lang-01.trig b/test/TriGTests/trig-syntax-bad-lang-01.trig new file mode 100644 index 00000000..a2032634 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-lang-01.trig @@ -0,0 +1,2 @@ +# Bad lang tag +{ "string"@1 .} diff --git a/test/TriGTests/trig-syntax-bad-list-01.trig b/test/TriGTests/trig-syntax-bad-list-01.trig new file mode 100644 index 00000000..15d82710 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-list-01.trig @@ -0,0 +1,2 @@ +# RDF collection without predicate-object-list +( 1 2 3 ) . diff --git a/test/TriGTests/trig-syntax-bad-list-02.trig b/test/TriGTests/trig-syntax-bad-list-02.trig new file mode 100644 index 00000000..15d82710 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-list-02.trig @@ -0,0 +1,2 @@ +# RDF collection without predicate-object-list +( 1 2 3 ) . diff --git a/test/TriGTests/trig-syntax-bad-list-03.trig b/test/TriGTests/trig-syntax-bad-list-03.trig new file mode 100644 index 00000000..6b5269dd --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-list-03.trig @@ -0,0 +1,3 @@ +# RDF collection without predicate-object-list +{ ( 1 2 3 ) } + diff --git a/test/TriGTests/trig-syntax-bad-list-04.trig b/test/TriGTests/trig-syntax-bad-list-04.trig new file mode 100644 index 00000000..377846a9 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-list-04.trig @@ -0,0 +1,3 @@ +# RDF collection without predicate-object-list +{ ( ) } + diff --git a/test/TriGTests/trig-syntax-bad-ln-dash-start.trig b/test/TriGTests/trig-syntax-bad-ln-dash-start.trig new file mode 100644 index 00000000..48f78eed --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-ln-dash-start.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p :-o .} diff --git a/test/TriGTests/trig-syntax-bad-ln-escape-start.trig b/test/TriGTests/trig-syntax-bad-ln-escape-start.trig new file mode 100644 index 00000000..d3e71e4e --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-ln-escape-start.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p :%2o .} diff --git a/test/TriGTests/trig-syntax-bad-ln-escape.trig b/test/TriGTests/trig-syntax-bad-ln-escape.trig new file mode 100644 index 00000000..dcdd0592 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-ln-escape.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p :o%2 .} diff --git a/test/TriGTests/trig-syntax-bad-missing-ns-dot-end.trig b/test/TriGTests/trig-syntax-bad-missing-ns-dot-end.trig new file mode 100644 index 00000000..7fe09943 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-missing-ns-dot-end.trig @@ -0,0 +1 @@ +{valid:s valid:p invalid.:o .} diff --git a/test/TriGTests/trig-syntax-bad-missing-ns-dot-start.trig b/test/TriGTests/trig-syntax-bad-missing-ns-dot-start.trig new file mode 100644 index 00000000..3ae9b6bb --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-missing-ns-dot-start.trig @@ -0,0 +1 @@ +{.undefined:s .undefined:p .undefined:o .} diff --git a/test/TriGTests/trig-syntax-bad-n3-extras-01.trig b/test/TriGTests/trig-syntax-bad-n3-extras-01.trig new file mode 100644 index 00000000..9dbf21e2 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-n3-extras-01.trig @@ -0,0 +1,5 @@ +# {} formulae not in Turtle +@prefix : . + +{ :a :q :c . } :p :z . + diff --git a/test/TriGTests/trig-syntax-bad-n3-extras-02.trig b/test/TriGTests/trig-syntax-bad-n3-extras-02.trig new file mode 100644 index 00000000..8edf2c2b --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-n3-extras-02.trig @@ -0,0 +1,4 @@ +# = is not Turtle +@prefix : . + +{:a = :b .} diff --git a/test/TriGTests/trig-syntax-bad-n3-extras-03.trig b/test/TriGTests/trig-syntax-bad-n3-extras-03.trig new file mode 100644 index 00000000..bb21bf08 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-n3-extras-03.trig @@ -0,0 +1,9 @@ +# N3 paths +@prefix : . +@prefix ns: . + +{ +:x. + ns:p. + ns:q :p :z . +} diff --git a/test/TriGTests/trig-syntax-bad-n3-extras-04.trig b/test/TriGTests/trig-syntax-bad-n3-extras-04.trig new file mode 100644 index 00000000..adee6b55 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-n3-extras-04.trig @@ -0,0 +1,5 @@ +# N3 paths +@prefix : . +@prefix ns: . + +{:x^ns:p :p :z .} diff --git a/test/TriGTests/trig-syntax-bad-n3-extras-05.trig b/test/TriGTests/trig-syntax-bad-n3-extras-05.trig new file mode 100644 index 00000000..2fbf0840 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-n3-extras-05.trig @@ -0,0 +1,4 @@ +# N3 is...of +@prefix : . + +{:z is :p of :x .} diff --git a/test/TriGTests/trig-syntax-bad-n3-extras-06.trig b/test/TriGTests/trig-syntax-bad-n3-extras-06.trig new file mode 100644 index 00000000..d1945544 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-n3-extras-06.trig @@ -0,0 +1,4 @@ +# = is not Turtle +@prefix : . + +{:a.:b.:c .} diff --git a/test/TriGTests/trig-syntax-bad-n3-extras-07.trig b/test/TriGTests/trig-syntax-bad-n3-extras-07.trig new file mode 100644 index 00000000..ece79325 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-n3-extras-07.trig @@ -0,0 +1,3 @@ +# @keywords is not Turtle +@keywords a . +{x a Item .} diff --git a/test/TriGTests/trig-syntax-bad-n3-extras-08.trig b/test/TriGTests/trig-syntax-bad-n3-extras-08.trig new file mode 100644 index 00000000..ece79325 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-n3-extras-08.trig @@ -0,0 +1,3 @@ +# @keywords is not Turtle +@keywords a . +{x a Item .} diff --git a/test/TriGTests/trig-syntax-bad-n3-extras-09.trig b/test/TriGTests/trig-syntax-bad-n3-extras-09.trig new file mode 100644 index 00000000..cc70bc12 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-n3-extras-09.trig @@ -0,0 +1,3 @@ +# => is not Turtle +@prefix : . +{:s => :o .} diff --git a/test/TriGTests/trig-syntax-bad-n3-extras-10.trig b/test/TriGTests/trig-syntax-bad-n3-extras-10.trig new file mode 100644 index 00000000..7470dda3 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-n3-extras-10.trig @@ -0,0 +1,3 @@ +# <= is not Turtle +@prefix : . +{:s <= :o .} diff --git a/test/TriGTests/trig-syntax-bad-n3-extras-11.trig b/test/TriGTests/trig-syntax-bad-n3-extras-11.trig new file mode 100644 index 00000000..dabadf02 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-n3-extras-11.trig @@ -0,0 +1,3 @@ +# @forSome is not Turtle +@prefix : . +@forSome :x . diff --git a/test/TriGTests/trig-syntax-bad-n3-extras-12.trig b/test/TriGTests/trig-syntax-bad-n3-extras-12.trig new file mode 100644 index 00000000..5a6c3562 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-n3-extras-12.trig @@ -0,0 +1,3 @@ +# @forAll is not Turtle +@prefix : . +@forAll :x . diff --git a/test/TriGTests/trig-syntax-bad-n3-extras-13.trig b/test/TriGTests/trig-syntax-bad-n3-extras-13.trig new file mode 100644 index 00000000..c4fe67a0 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-n3-extras-13.trig @@ -0,0 +1,3 @@ +# @keywords is not Turtle +@keywords . +{x @a Item .} diff --git a/test/TriGTests/trig-syntax-bad-ns-dot-end.trig b/test/TriGTests/trig-syntax-bad-ns-dot-end.trig new file mode 100644 index 00000000..d2b53225 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-ns-dot-end.trig @@ -0,0 +1,2 @@ +@prefix eg. : . +{eg.:s eg.:p eg.:o .} diff --git a/test/TriGTests/trig-syntax-bad-ns-dot-start.trig b/test/TriGTests/trig-syntax-bad-ns-dot-start.trig new file mode 100644 index 00000000..9cebce12 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-ns-dot-start.trig @@ -0,0 +1,2 @@ +@prefix .eg : . +{.eg:s .eg:p .eg:o .} diff --git a/test/TriGTests/trig-syntax-bad-num-01.trig b/test/TriGTests/trig-syntax-bad-num-01.trig new file mode 100644 index 00000000..87fa61d4 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-num-01.trig @@ -0,0 +1 @@ +{ 123.abc .} diff --git a/test/TriGTests/trig-syntax-bad-num-02.trig b/test/TriGTests/trig-syntax-bad-num-02.trig new file mode 100644 index 00000000..4e257b08 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-num-02.trig @@ -0,0 +1 @@ +{ 123e .} diff --git a/test/TriGTests/trig-syntax-bad-num-03.trig b/test/TriGTests/trig-syntax-bad-num-03.trig new file mode 100644 index 00000000..72414507 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-num-03.trig @@ -0,0 +1 @@ +{ 123abc .} diff --git a/test/TriGTests/trig-syntax-bad-num-04.trig b/test/TriGTests/trig-syntax-bad-num-04.trig new file mode 100644 index 00000000..c5828732 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-num-04.trig @@ -0,0 +1 @@ +{ 0x123 .} diff --git a/test/TriGTests/trig-syntax-bad-num-05.trig b/test/TriGTests/trig-syntax-bad-num-05.trig new file mode 100644 index 00000000..7de52461 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-num-05.trig @@ -0,0 +1 @@ +{ +-1 .} diff --git a/test/TriGTests/trig-syntax-bad-number-dot-in-anon.trig b/test/TriGTests/trig-syntax-bad-number-dot-in-anon.trig new file mode 100644 index 00000000..3c4b8e45 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-number-dot-in-anon.trig @@ -0,0 +1,8 @@ +@prefix : . + +{ +:s + :p [ + :p1 27. + ] . +} diff --git a/test/TriGTests/trig-syntax-bad-pname-01.trig b/test/TriGTests/trig-syntax-bad-pname-01.trig new file mode 100644 index 00000000..a03be7af --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-pname-01.trig @@ -0,0 +1,3 @@ +# ~ must be escaped. +@prefix : . +{:a~b :p :o .} diff --git a/test/TriGTests/trig-syntax-bad-pname-02.trig b/test/TriGTests/trig-syntax-bad-pname-02.trig new file mode 100644 index 00000000..39d14ee4 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-pname-02.trig @@ -0,0 +1,3 @@ +# Bad %-sequence +@prefix : . +{:a%2 :p :o .} diff --git a/test/TriGTests/trig-syntax-bad-pname-03.trig b/test/TriGTests/trig-syntax-bad-pname-03.trig new file mode 100644 index 00000000..5ed44f65 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-pname-03.trig @@ -0,0 +1,3 @@ +# No \u (x39 is "9") +@prefix : . +{:a\u0039 :p :o .} diff --git a/test/TriGTests/trig-syntax-bad-prefix-01.trig b/test/TriGTests/trig-syntax-bad-prefix-01.trig new file mode 100644 index 00000000..32d781d1 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-prefix-01.trig @@ -0,0 +1,2 @@ +# No prefix +{:s "x" .} diff --git a/test/TriGTests/trig-syntax-bad-prefix-02.trig b/test/TriGTests/trig-syntax-bad-prefix-02.trig new file mode 100644 index 00000000..6d03cf5f --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-prefix-02.trig @@ -0,0 +1,3 @@ +# No prefix +@prefix rdf: . +{ rdf:type :C .} diff --git a/test/TriGTests/trig-syntax-bad-prefix-03.trig b/test/TriGTests/trig-syntax-bad-prefix-03.trig new file mode 100644 index 00000000..1ab01e7b --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-prefix-03.trig @@ -0,0 +1,2 @@ +# @prefix without URI. +@prefix ex: . diff --git a/test/TriGTests/trig-syntax-bad-prefix-04.trig b/test/TriGTests/trig-syntax-bad-prefix-04.trig new file mode 100644 index 00000000..dbbda05b --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-prefix-04.trig @@ -0,0 +1,2 @@ +# @prefix without prefix name . +@prefix . diff --git a/test/TriGTests/trig-syntax-bad-prefix-05.trig b/test/TriGTests/trig-syntax-bad-prefix-05.trig new file mode 100644 index 00000000..6d145e07 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-prefix-05.trig @@ -0,0 +1,2 @@ +# @prefix without : +@prefix x . diff --git a/test/TriGTests/trig-syntax-bad-prefix-06.trig b/test/TriGTests/trig-syntax-bad-prefix-06.trig new file mode 100644 index 00000000..52939065 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-prefix-06.trig @@ -0,0 +1,4 @@ +# @prefix inside graph +{ + @prefix ex: . +} diff --git a/test/TriGTests/trig-syntax-bad-prefix-07.trig b/test/TriGTests/trig-syntax-bad-prefix-07.trig new file mode 100644 index 00000000..1230063a --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-prefix-07.trig @@ -0,0 +1,4 @@ +# PREFIX inside graph +{ + PREFIX ex: +} diff --git a/test/TriGTests/trig-syntax-bad-string-01.trig b/test/TriGTests/trig-syntax-bad-string-01.trig new file mode 100644 index 00000000..9decfb3c --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-string-01.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p "abc' .} diff --git a/test/TriGTests/trig-syntax-bad-string-02.trig b/test/TriGTests/trig-syntax-bad-string-02.trig new file mode 100644 index 00000000..95537104 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-string-02.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p 'abc" .} diff --git a/test/TriGTests/trig-syntax-bad-string-03.trig b/test/TriGTests/trig-syntax-bad-string-03.trig new file mode 100644 index 00000000..b60d18b8 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-string-03.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p '''abc' .} diff --git a/test/TriGTests/trig-syntax-bad-string-04.trig b/test/TriGTests/trig-syntax-bad-string-04.trig new file mode 100644 index 00000000..06173937 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-string-04.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p """abc''' .} diff --git a/test/TriGTests/trig-syntax-bad-string-05.trig b/test/TriGTests/trig-syntax-bad-string-05.trig new file mode 100644 index 00000000..52e3fed4 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-string-05.trig @@ -0,0 +1,6 @@ +# Long literal with missing end +@prefix : . +{ +:s :p """abc +def +} \ No newline at end of file diff --git a/test/TriGTests/trig-syntax-bad-string-06.trig b/test/TriGTests/trig-syntax-bad-string-06.trig new file mode 100644 index 00000000..e4c9d936 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-string-06.trig @@ -0,0 +1,3 @@ +# Long literal with 4" +@prefix : . +{:s :p """abc""""@en .} diff --git a/test/TriGTests/trig-syntax-bad-string-07.trig b/test/TriGTests/trig-syntax-bad-string-07.trig new file mode 100644 index 00000000..de68cb4a --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-string-07.trig @@ -0,0 +1,3 @@ +# Long literal with 4' +@prefix : . +{:s :p '''abc''''@en .} diff --git a/test/TriGTests/trig-syntax-bad-struct-02.trig b/test/TriGTests/trig-syntax-bad-struct-02.trig new file mode 100644 index 00000000..1f38c451 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-02.trig @@ -0,0 +1,2 @@ +# TriG is not N3 + = . diff --git a/test/TriGTests/trig-syntax-bad-struct-03.trig b/test/TriGTests/trig-syntax-bad-struct-03.trig new file mode 100644 index 00000000..b7e97b81 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-03.trig @@ -0,0 +1,2 @@ +# TriG is not NQuads + . diff --git a/test/TriGTests/trig-syntax-bad-struct-04.trig b/test/TriGTests/trig-syntax-bad-struct-04.trig new file mode 100644 index 00000000..319d1067 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-04.trig @@ -0,0 +1,2 @@ +# TriG does not allow literals-as-subjects +{"hello" .} diff --git a/test/TriGTests/trig-syntax-bad-struct-05.trig b/test/TriGTests/trig-syntax-bad-struct-05.trig new file mode 100644 index 00000000..317b6326 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-05.trig @@ -0,0 +1,2 @@ +# TriG does not allow literals-as-predicates +{ "hello" .} diff --git a/test/TriGTests/trig-syntax-bad-struct-06.trig b/test/TriGTests/trig-syntax-bad-struct-06.trig new file mode 100644 index 00000000..8e6e7202 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-06.trig @@ -0,0 +1,2 @@ +# TriG does not allow bnodes-as-predicates +{ [] .} diff --git a/test/TriGTests/trig-syntax-bad-struct-07.trig b/test/TriGTests/trig-syntax-bad-struct-07.trig new file mode 100644 index 00000000..91152ba3 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-07.trig @@ -0,0 +1,2 @@ +# TriG does not allow bnodes-as-predicates +{ _:p .} diff --git a/test/TriGTests/trig-syntax-bad-struct-09.trig b/test/TriGTests/trig-syntax-bad-struct-09.trig new file mode 100644 index 00000000..abc20261 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-09.trig @@ -0,0 +1,2 @@ +# Too many DOTs +{ . .} diff --git a/test/TriGTests/trig-syntax-bad-struct-10.trig b/test/TriGTests/trig-syntax-bad-struct-10.trig new file mode 100644 index 00000000..5d5c58fa --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-10.trig @@ -0,0 +1,5 @@ +# Too many DOTs +{ + . . + . +} diff --git a/test/TriGTests/trig-syntax-bad-struct-12.trig b/test/TriGTests/trig-syntax-bad-struct-12.trig new file mode 100644 index 00000000..b7bdff6a --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-12.trig @@ -0,0 +1 @@ +{ } diff --git a/test/TriGTests/trig-syntax-bad-struct-13.trig b/test/TriGTests/trig-syntax-bad-struct-13.trig new file mode 100644 index 00000000..0712e0f0 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-13.trig @@ -0,0 +1 @@ +{ } diff --git a/test/TriGTests/trig-syntax-bad-struct-14.trig b/test/TriGTests/trig-syntax-bad-struct-14.trig new file mode 100644 index 00000000..69bc9c21 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-14.trig @@ -0,0 +1,2 @@ +# Literal as subject +{"abc" .} diff --git a/test/TriGTests/trig-syntax-bad-struct-15.trig b/test/TriGTests/trig-syntax-bad-struct-15.trig new file mode 100644 index 00000000..27be5519 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-15.trig @@ -0,0 +1,2 @@ +# Literal as predicate +{ "abc" .} diff --git a/test/TriGTests/trig-syntax-bad-struct-16.trig b/test/TriGTests/trig-syntax-bad-struct-16.trig new file mode 100644 index 00000000..b08748f4 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-16.trig @@ -0,0 +1,2 @@ +# BNode as predicate +{ [] .} diff --git a/test/TriGTests/trig-syntax-bad-struct-17.trig b/test/TriGTests/trig-syntax-bad-struct-17.trig new file mode 100644 index 00000000..cdd301a1 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-struct-17.trig @@ -0,0 +1,2 @@ +# BNode as predicate +{ _:a .} diff --git a/test/TriGTests/trig-syntax-bad-uri-01.trig b/test/TriGTests/trig-syntax-bad-uri-01.trig new file mode 100644 index 00000000..ed06b92d --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-uri-01.trig @@ -0,0 +1,2 @@ +# Bad IRI : space. +{ .} diff --git a/test/TriGTests/trig-syntax-bad-uri-02.trig b/test/TriGTests/trig-syntax-bad-uri-02.trig new file mode 100644 index 00000000..fb862172 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-uri-02.trig @@ -0,0 +1,2 @@ +# Bad IRI : bad escape +{ .} diff --git a/test/TriGTests/trig-syntax-bad-uri-03.trig b/test/TriGTests/trig-syntax-bad-uri-03.trig new file mode 100644 index 00000000..7fa62dcc --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-uri-03.trig @@ -0,0 +1,2 @@ +# Bad IRI : bad escape +{ .} diff --git a/test/TriGTests/trig-syntax-bad-uri-04.trig b/test/TriGTests/trig-syntax-bad-uri-04.trig new file mode 100644 index 00000000..ba9cd2d7 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-uri-04.trig @@ -0,0 +1,2 @@ +# Bad IRI : character escapes not allowed. +{ .} diff --git a/test/TriGTests/trig-syntax-bad-uri-05.trig b/test/TriGTests/trig-syntax-bad-uri-05.trig new file mode 100644 index 00000000..d332a6e6 --- /dev/null +++ b/test/TriGTests/trig-syntax-bad-uri-05.trig @@ -0,0 +1,2 @@ +# Bad IRI : character escapes not allowed. +{ .} diff --git a/test/TriGTests/trig-syntax-base-01.trig b/test/TriGTests/trig-syntax-base-01.trig new file mode 100644 index 00000000..dff1b3b4 --- /dev/null +++ b/test/TriGTests/trig-syntax-base-01.trig @@ -0,0 +1 @@ +@base . diff --git a/test/TriGTests/trig-syntax-base-02.trig b/test/TriGTests/trig-syntax-base-02.trig new file mode 100644 index 00000000..04f1bfdb --- /dev/null +++ b/test/TriGTests/trig-syntax-base-02.trig @@ -0,0 +1 @@ +BASE diff --git a/test/TriGTests/trig-syntax-base-03.trig b/test/TriGTests/trig-syntax-base-03.trig new file mode 100644 index 00000000..2b7ae01d --- /dev/null +++ b/test/TriGTests/trig-syntax-base-03.trig @@ -0,0 +1,2 @@ +@base . +{

.} diff --git a/test/TriGTests/trig-syntax-base-04.trig b/test/TriGTests/trig-syntax-base-04.trig new file mode 100644 index 00000000..ad742cff --- /dev/null +++ b/test/TriGTests/trig-syntax-base-04.trig @@ -0,0 +1,2 @@ +base +{

.} diff --git a/test/TriGTests/trig-syntax-blank-label.trig b/test/TriGTests/trig-syntax-blank-label.trig new file mode 100644 index 00000000..2cebf8f5 --- /dev/null +++ b/test/TriGTests/trig-syntax-blank-label.trig @@ -0,0 +1,6 @@ +@prefix : . +{ +_:0b :p :o . # Starts with digit +_:_b :p :o . # Starts with underscore +_:b.0 :p :o . # Contains dot, ends with digit +} diff --git a/test/TriGTests/trig-syntax-bnode-01.trig b/test/TriGTests/trig-syntax-bnode-01.trig new file mode 100644 index 00000000..50c66c4d --- /dev/null +++ b/test/TriGTests/trig-syntax-bnode-01.trig @@ -0,0 +1,2 @@ +@prefix : . +{[] :p :o .} diff --git a/test/TriGTests/trig-syntax-bnode-02.trig b/test/TriGTests/trig-syntax-bnode-02.trig new file mode 100644 index 00000000..745dc11c --- /dev/null +++ b/test/TriGTests/trig-syntax-bnode-02.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p [] .} diff --git a/test/TriGTests/trig-syntax-bnode-03.trig b/test/TriGTests/trig-syntax-bnode-03.trig new file mode 100644 index 00000000..292b2791 --- /dev/null +++ b/test/TriGTests/trig-syntax-bnode-03.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p [ :q :o ] .} diff --git a/test/TriGTests/trig-syntax-bnode-04.trig b/test/TriGTests/trig-syntax-bnode-04.trig new file mode 100644 index 00000000..7bde07d6 --- /dev/null +++ b/test/TriGTests/trig-syntax-bnode-04.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p [ :q1 :o1 ; :q2 :o2 ] .} diff --git a/test/TriGTests/trig-syntax-bnode-05.trig b/test/TriGTests/trig-syntax-bnode-05.trig new file mode 100644 index 00000000..86419083 --- /dev/null +++ b/test/TriGTests/trig-syntax-bnode-05.trig @@ -0,0 +1,2 @@ +@prefix : . +{[ :q1 :o1 ; :q2 :o2 ] :p :o .} diff --git a/test/TriGTests/trig-syntax-bnode-06.trig b/test/TriGTests/trig-syntax-bnode-06.trig new file mode 100644 index 00000000..4f06e5fc --- /dev/null +++ b/test/TriGTests/trig-syntax-bnode-06.trig @@ -0,0 +1,2 @@ +@prefix : . +{_:a :p :o .} diff --git a/test/TriGTests/trig-syntax-bnode-07.trig b/test/TriGTests/trig-syntax-bnode-07.trig new file mode 100644 index 00000000..001e9ba0 --- /dev/null +++ b/test/TriGTests/trig-syntax-bnode-07.trig @@ -0,0 +1,4 @@ +@prefix : . +{:s :p _:a . +_:a :p :o . +} \ No newline at end of file diff --git a/test/TriGTests/trig-syntax-bnode-08.trig b/test/TriGTests/trig-syntax-bnode-08.trig new file mode 100644 index 00000000..853ab8af --- /dev/null +++ b/test/TriGTests/trig-syntax-bnode-08.trig @@ -0,0 +1,2 @@ +@prefix : . +{[ :p :o ] .} diff --git a/test/TriGTests/trig-syntax-bnode-09.trig b/test/TriGTests/trig-syntax-bnode-09.trig new file mode 100644 index 00000000..36b1eca8 --- /dev/null +++ b/test/TriGTests/trig-syntax-bnode-09.trig @@ -0,0 +1,3 @@ +@prefix : . +{[ :p :o1,:2 ] . +:s :p :o .} diff --git a/test/TriGTests/trig-syntax-bnode-10.trig b/test/TriGTests/trig-syntax-bnode-10.trig new file mode 100644 index 00000000..b6d308dd --- /dev/null +++ b/test/TriGTests/trig-syntax-bnode-10.trig @@ -0,0 +1,6 @@ +@prefix : . +{ +:s1 :p :o . +[ :p1 :o1 ; :p2 :o2 ] . +:s2 :p :o . +} \ No newline at end of file diff --git a/test/TriGTests/trig-syntax-datatypes-01.trig b/test/TriGTests/trig-syntax-datatypes-01.trig new file mode 100644 index 00000000..304793af --- /dev/null +++ b/test/TriGTests/trig-syntax-datatypes-01.trig @@ -0,0 +1,2 @@ +@prefix xsd: . +{

"123"^^xsd:byte .} diff --git a/test/TriGTests/trig-syntax-datatypes-02.trig b/test/TriGTests/trig-syntax-datatypes-02.trig new file mode 100644 index 00000000..7daeb166 --- /dev/null +++ b/test/TriGTests/trig-syntax-datatypes-02.trig @@ -0,0 +1,3 @@ +@prefix rdf: . +@prefix xsd: . +{

"123"^^xsd:string .} diff --git a/test/TriGTests/trig-syntax-file-01.trig b/test/TriGTests/trig-syntax-file-01.trig new file mode 100644 index 00000000..e69de29b diff --git a/test/TriGTests/trig-syntax-file-02.trig b/test/TriGTests/trig-syntax-file-02.trig new file mode 100644 index 00000000..e6d327d5 --- /dev/null +++ b/test/TriGTests/trig-syntax-file-02.trig @@ -0,0 +1 @@ +#Empty file. diff --git a/test/TriGTests/trig-syntax-file-03.trig b/test/TriGTests/trig-syntax-file-03.trig new file mode 100644 index 00000000..a9ca0358 --- /dev/null +++ b/test/TriGTests/trig-syntax-file-03.trig @@ -0,0 +1,2 @@ +#One comment, one empty line. + diff --git a/test/TriGTests/trig-syntax-kw-01.trig b/test/TriGTests/trig-syntax-kw-01.trig new file mode 100644 index 00000000..c1a426bb --- /dev/null +++ b/test/TriGTests/trig-syntax-kw-01.trig @@ -0,0 +1 @@ +{

true .} diff --git a/test/TriGTests/trig-syntax-kw-02.trig b/test/TriGTests/trig-syntax-kw-02.trig new file mode 100644 index 00000000..7ceaee70 --- /dev/null +++ b/test/TriGTests/trig-syntax-kw-02.trig @@ -0,0 +1 @@ +{

false .} diff --git a/test/TriGTests/trig-syntax-kw-03.trig b/test/TriGTests/trig-syntax-kw-03.trig new file mode 100644 index 00000000..3c9e1405 --- /dev/null +++ b/test/TriGTests/trig-syntax-kw-03.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s a :C .} diff --git a/test/TriGTests/trig-syntax-lists-01.trig b/test/TriGTests/trig-syntax-lists-01.trig new file mode 100644 index 00000000..ff2de971 --- /dev/null +++ b/test/TriGTests/trig-syntax-lists-01.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p () .} diff --git a/test/TriGTests/trig-syntax-lists-02.trig b/test/TriGTests/trig-syntax-lists-02.trig new file mode 100644 index 00000000..cce118aa --- /dev/null +++ b/test/TriGTests/trig-syntax-lists-02.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p (1 "2" :o) .} diff --git a/test/TriGTests/trig-syntax-lists-03.trig b/test/TriGTests/trig-syntax-lists-03.trig new file mode 100644 index 00000000..ee59d4c1 --- /dev/null +++ b/test/TriGTests/trig-syntax-lists-03.trig @@ -0,0 +1,2 @@ +@prefix : . +{(1) :p (1) .} diff --git a/test/TriGTests/trig-syntax-lists-04.trig b/test/TriGTests/trig-syntax-lists-04.trig new file mode 100644 index 00000000..6b26b478 --- /dev/null +++ b/test/TriGTests/trig-syntax-lists-04.trig @@ -0,0 +1,2 @@ +@prefix : . +{(()) :p (()) .} diff --git a/test/TriGTests/trig-syntax-lists-05.trig b/test/TriGTests/trig-syntax-lists-05.trig new file mode 100644 index 00000000..9e103cdd --- /dev/null +++ b/test/TriGTests/trig-syntax-lists-05.trig @@ -0,0 +1,2 @@ +@prefix : . +{(1 2 (1 2)) :p (( "a") "b" :o) .} diff --git a/test/TriGTests/trig-syntax-ln-colons.trig b/test/TriGTests/trig-syntax-ln-colons.trig new file mode 100644 index 00000000..d0fd5d45 --- /dev/null +++ b/test/TriGTests/trig-syntax-ln-colons.trig @@ -0,0 +1,8 @@ +@prefix : . +{ +:s:1 :p:1 :o:1 . +:s::2 :p::2 :o::2 . +:3:s :3:p :3 . +::s ::p ::o . +::s: ::p: ::o: . +} diff --git a/test/TriGTests/trig-syntax-ln-dots.trig b/test/TriGTests/trig-syntax-ln-dots.trig new file mode 100644 index 00000000..f420e8a9 --- /dev/null +++ b/test/TriGTests/trig-syntax-ln-dots.trig @@ -0,0 +1,6 @@ +@prefix : . +{ +:s.1 :p.1 :o.1 . +:s..2 :p..2 :o..2. +:3.s :3.p :3. +} diff --git a/test/TriGTests/trig-syntax-minimal-whitespace-01.trig b/test/TriGTests/trig-syntax-minimal-whitespace-01.trig new file mode 100644 index 00000000..f53451f8 --- /dev/null +++ b/test/TriGTests/trig-syntax-minimal-whitespace-01.trig @@ -0,0 +1,21 @@ +BASE +@base. +PREFIX : +PREFIX b: +@prefix:. +@prefix +d:. + +{."Alice"._:o.} +{:s :p :o .:s :p"Alice".:s :p _:o.} +{b:s b:p b:o .b:s b:p"Alice".b:s b:p _:o.} +{_:s:p :o ._:s:p"Alice". _:s:p _:o .} +{[:p :o].[:p"Alice"].[:p _:o].} +{[:p(:o)].[:p(_:o)].[:p("Alice")].[:p()].} +{:s :p :o,:o2 .:s :p"Alice","Ted".:s :p _:o,_:o2.} +{:s :p :o;:p2 :o2 .:s :p"Alice";:p2 "Ted".:s :p _:o;:p2 _:o2.} +{:s :p :o .:s :p"Alice".:s :p _:o.} +:s{:s :p :o .:s :p"Alice".:s :p _:o.} +_:s{:s :p :o .:s :p"Alice".:s :p _:o.} +:{: : :}{: : :}:{: : :} +:{():()}{():[]}:{[]:[]} diff --git a/test/TriGTests/trig-syntax-ns-dots.trig b/test/TriGTests/trig-syntax-ns-dots.trig new file mode 100644 index 00000000..7526a125 --- /dev/null +++ b/test/TriGTests/trig-syntax-ns-dots.trig @@ -0,0 +1,2 @@ +@prefix e.g: . +{e.g:s e.g:p e.g:o .} diff --git a/test/TriGTests/trig-syntax-number-01.trig b/test/TriGTests/trig-syntax-number-01.trig new file mode 100644 index 00000000..45d9b177 --- /dev/null +++ b/test/TriGTests/trig-syntax-number-01.trig @@ -0,0 +1 @@ +{

123 .} diff --git a/test/TriGTests/trig-syntax-number-02.trig b/test/TriGTests/trig-syntax-number-02.trig new file mode 100644 index 00000000..6cbb9b49 --- /dev/null +++ b/test/TriGTests/trig-syntax-number-02.trig @@ -0,0 +1 @@ +{

-123 .} diff --git a/test/TriGTests/trig-syntax-number-03.trig b/test/TriGTests/trig-syntax-number-03.trig new file mode 100644 index 00000000..69021b45 --- /dev/null +++ b/test/TriGTests/trig-syntax-number-03.trig @@ -0,0 +1 @@ +{

+123 .} diff --git a/test/TriGTests/trig-syntax-number-04.trig b/test/TriGTests/trig-syntax-number-04.trig new file mode 100644 index 00000000..f826907c --- /dev/null +++ b/test/TriGTests/trig-syntax-number-04.trig @@ -0,0 +1,2 @@ +# This is a decimal. +{

123.0 . } diff --git a/test/TriGTests/trig-syntax-number-05.trig b/test/TriGTests/trig-syntax-number-05.trig new file mode 100644 index 00000000..72d44600 --- /dev/null +++ b/test/TriGTests/trig-syntax-number-05.trig @@ -0,0 +1,2 @@ +# This is a decimal. +{

.1 . } diff --git a/test/TriGTests/trig-syntax-number-06.trig b/test/TriGTests/trig-syntax-number-06.trig new file mode 100644 index 00000000..adcbffd8 --- /dev/null +++ b/test/TriGTests/trig-syntax-number-06.trig @@ -0,0 +1,2 @@ +# This is a decimal. +{

-123.0 . } diff --git a/test/TriGTests/trig-syntax-number-07.trig b/test/TriGTests/trig-syntax-number-07.trig new file mode 100644 index 00000000..a4802735 --- /dev/null +++ b/test/TriGTests/trig-syntax-number-07.trig @@ -0,0 +1,2 @@ +# This is a decimal. +{

+123.0 . } diff --git a/test/TriGTests/trig-syntax-number-08.trig b/test/TriGTests/trig-syntax-number-08.trig new file mode 100644 index 00000000..b0093500 --- /dev/null +++ b/test/TriGTests/trig-syntax-number-08.trig @@ -0,0 +1,2 @@ +# This is an integer +{

123.} diff --git a/test/TriGTests/trig-syntax-number-09.trig b/test/TriGTests/trig-syntax-number-09.trig new file mode 100644 index 00000000..157456d2 --- /dev/null +++ b/test/TriGTests/trig-syntax-number-09.trig @@ -0,0 +1 @@ +{

123.0e1 .} diff --git a/test/TriGTests/trig-syntax-number-10.trig b/test/TriGTests/trig-syntax-number-10.trig new file mode 100644 index 00000000..1426fda6 --- /dev/null +++ b/test/TriGTests/trig-syntax-number-10.trig @@ -0,0 +1 @@ +{

-123e-1 .} diff --git a/test/TriGTests/trig-syntax-number-11.trig b/test/TriGTests/trig-syntax-number-11.trig new file mode 100644 index 00000000..6ec517dd --- /dev/null +++ b/test/TriGTests/trig-syntax-number-11.trig @@ -0,0 +1 @@ +{

123.E+1 .} diff --git a/test/TriGTests/trig-syntax-pname-esc-01.trig b/test/TriGTests/trig-syntax-pname-esc-01.trig new file mode 100644 index 00000000..4c7dd31d --- /dev/null +++ b/test/TriGTests/trig-syntax-pname-esc-01.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p :\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\_\%AA .} diff --git a/test/TriGTests/trig-syntax-pname-esc-02.trig b/test/TriGTests/trig-syntax-pname-esc-02.trig new file mode 100644 index 00000000..2e6bd389 --- /dev/null +++ b/test/TriGTests/trig-syntax-pname-esc-02.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p :0123\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\_\%AA123 .} diff --git a/test/TriGTests/trig-syntax-pname-esc-03.trig b/test/TriGTests/trig-syntax-pname-esc-03.trig new file mode 100644 index 00000000..433b9955 --- /dev/null +++ b/test/TriGTests/trig-syntax-pname-esc-03.trig @@ -0,0 +1,2 @@ +@prefix : . +{:xyz\~ :abc\.: : .} diff --git a/test/TriGTests/trig-syntax-prefix-01.trig b/test/TriGTests/trig-syntax-prefix-01.trig new file mode 100644 index 00000000..89e08cc7 --- /dev/null +++ b/test/TriGTests/trig-syntax-prefix-01.trig @@ -0,0 +1 @@ +@prefix : . diff --git a/test/TriGTests/trig-syntax-prefix-02.trig b/test/TriGTests/trig-syntax-prefix-02.trig new file mode 100644 index 00000000..5869e8bd --- /dev/null +++ b/test/TriGTests/trig-syntax-prefix-02.trig @@ -0,0 +1 @@ +PreFIX : diff --git a/test/TriGTests/trig-syntax-prefix-03.trig b/test/TriGTests/trig-syntax-prefix-03.trig new file mode 100644 index 00000000..beb18c03 --- /dev/null +++ b/test/TriGTests/trig-syntax-prefix-03.trig @@ -0,0 +1,2 @@ +PREFIX : +{:s :p :123 .} diff --git a/test/TriGTests/trig-syntax-prefix-04.trig b/test/TriGTests/trig-syntax-prefix-04.trig new file mode 100644 index 00000000..682cf0ae --- /dev/null +++ b/test/TriGTests/trig-syntax-prefix-04.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p :%20 .} diff --git a/test/TriGTests/trig-syntax-prefix-05.trig b/test/TriGTests/trig-syntax-prefix-05.trig new file mode 100644 index 00000000..7c463e7c --- /dev/null +++ b/test/TriGTests/trig-syntax-prefix-05.trig @@ -0,0 +1,2 @@ +@prefix : . +{: : : .} diff --git a/test/TriGTests/trig-syntax-prefix-06.trig b/test/TriGTests/trig-syntax-prefix-06.trig new file mode 100644 index 00000000..b7a71c9a --- /dev/null +++ b/test/TriGTests/trig-syntax-prefix-06.trig @@ -0,0 +1,4 @@ +# colon is a legal pname character +@prefix : . +@prefix x: . +{:a:b:c x:d:e:f :::: .} diff --git a/test/TriGTests/trig-syntax-prefix-07.trig b/test/TriGTests/trig-syntax-prefix-07.trig new file mode 100644 index 00000000..3337f3eb --- /dev/null +++ b/test/TriGTests/trig-syntax-prefix-07.trig @@ -0,0 +1,3 @@ +# dash is a legal pname character +@prefix x: . +{x:a-b-c x:p x:o .} diff --git a/test/TriGTests/trig-syntax-prefix-08.trig b/test/TriGTests/trig-syntax-prefix-08.trig new file mode 100644 index 00000000..669573aa --- /dev/null +++ b/test/TriGTests/trig-syntax-prefix-08.trig @@ -0,0 +1,3 @@ +# underscore is a legal pname character +@prefix x: . +{x:_ x:p_1 x:o .} diff --git a/test/TriGTests/trig-syntax-prefix-09.trig b/test/TriGTests/trig-syntax-prefix-09.trig new file mode 100644 index 00000000..ba50306c --- /dev/null +++ b/test/TriGTests/trig-syntax-prefix-09.trig @@ -0,0 +1,4 @@ +# percents +@prefix : . +@prefix x: . +{:a%3E x:%25 :a%3Eb .} diff --git a/test/TriGTests/trig-syntax-str-esc-01.trig b/test/TriGTests/trig-syntax-str-esc-01.trig new file mode 100644 index 00000000..5db8be67 --- /dev/null +++ b/test/TriGTests/trig-syntax-str-esc-01.trig @@ -0,0 +1 @@ +{ "a\n" .} diff --git a/test/TriGTests/trig-syntax-str-esc-02.trig b/test/TriGTests/trig-syntax-str-esc-02.trig new file mode 100644 index 00000000..57cbdd6d --- /dev/null +++ b/test/TriGTests/trig-syntax-str-esc-02.trig @@ -0,0 +1 @@ +{ "a\u0020b" .} diff --git a/test/TriGTests/trig-syntax-str-esc-03.trig b/test/TriGTests/trig-syntax-str-esc-03.trig new file mode 100644 index 00000000..55f9b26f --- /dev/null +++ b/test/TriGTests/trig-syntax-str-esc-03.trig @@ -0,0 +1 @@ +{ "a\U00000020b" .} diff --git a/test/TriGTests/trig-syntax-string-01.trig b/test/TriGTests/trig-syntax-string-01.trig new file mode 100644 index 00000000..72230b7f --- /dev/null +++ b/test/TriGTests/trig-syntax-string-01.trig @@ -0,0 +1 @@ +{ "string" .} diff --git a/test/TriGTests/trig-syntax-string-02.trig b/test/TriGTests/trig-syntax-string-02.trig new file mode 100644 index 00000000..a9ca8697 --- /dev/null +++ b/test/TriGTests/trig-syntax-string-02.trig @@ -0,0 +1 @@ +{ "string"@en .} diff --git a/test/TriGTests/trig-syntax-string-03.trig b/test/TriGTests/trig-syntax-string-03.trig new file mode 100644 index 00000000..9dc53ef6 --- /dev/null +++ b/test/TriGTests/trig-syntax-string-03.trig @@ -0,0 +1 @@ +{ "string"@en-uk .} diff --git a/test/TriGTests/trig-syntax-string-04.trig b/test/TriGTests/trig-syntax-string-04.trig new file mode 100644 index 00000000..d5859b22 --- /dev/null +++ b/test/TriGTests/trig-syntax-string-04.trig @@ -0,0 +1 @@ +{ 'string' .} diff --git a/test/TriGTests/trig-syntax-string-05.trig b/test/TriGTests/trig-syntax-string-05.trig new file mode 100644 index 00000000..10292cca --- /dev/null +++ b/test/TriGTests/trig-syntax-string-05.trig @@ -0,0 +1 @@ +{ 'string'@en .} diff --git a/test/TriGTests/trig-syntax-string-06.trig b/test/TriGTests/trig-syntax-string-06.trig new file mode 100644 index 00000000..2ab1e863 --- /dev/null +++ b/test/TriGTests/trig-syntax-string-06.trig @@ -0,0 +1 @@ +{ 'string'@en-uk .} diff --git a/test/TriGTests/trig-syntax-string-07.trig b/test/TriGTests/trig-syntax-string-07.trig new file mode 100644 index 00000000..98edec55 --- /dev/null +++ b/test/TriGTests/trig-syntax-string-07.trig @@ -0,0 +1 @@ +{ """abc""def''ghi""" .} diff --git a/test/TriGTests/trig-syntax-string-08.trig b/test/TriGTests/trig-syntax-string-08.trig new file mode 100644 index 00000000..3612dec1 --- /dev/null +++ b/test/TriGTests/trig-syntax-string-08.trig @@ -0,0 +1,2 @@ +{ """abc +def""" .} diff --git a/test/TriGTests/trig-syntax-string-09.trig b/test/TriGTests/trig-syntax-string-09.trig new file mode 100644 index 00000000..5d98aea6 --- /dev/null +++ b/test/TriGTests/trig-syntax-string-09.trig @@ -0,0 +1,2 @@ +{ '''abc +def''' .} diff --git a/test/TriGTests/trig-syntax-string-10.trig b/test/TriGTests/trig-syntax-string-10.trig new file mode 100644 index 00000000..f6112a2e --- /dev/null +++ b/test/TriGTests/trig-syntax-string-10.trig @@ -0,0 +1,2 @@ +{ """abc +def"""@en .} diff --git a/test/TriGTests/trig-syntax-string-11.trig b/test/TriGTests/trig-syntax-string-11.trig new file mode 100644 index 00000000..450dc549 --- /dev/null +++ b/test/TriGTests/trig-syntax-string-11.trig @@ -0,0 +1,2 @@ +{ '''abc +def'''@en .} diff --git a/test/TriGTests/trig-syntax-struct-01.trig b/test/TriGTests/trig-syntax-struct-01.trig new file mode 100644 index 00000000..52c26c1c --- /dev/null +++ b/test/TriGTests/trig-syntax-struct-01.trig @@ -0,0 +1,2 @@ +@prefix : . +{:s :p :o1 , :o2 .} diff --git a/test/TriGTests/trig-syntax-struct-02.trig b/test/TriGTests/trig-syntax-struct-02.trig new file mode 100644 index 00000000..24535fad --- /dev/null +++ b/test/TriGTests/trig-syntax-struct-02.trig @@ -0,0 +1,4 @@ +@prefix : . +{:s :p1 :o1 ; + :p2 :o2 . +} \ No newline at end of file diff --git a/test/TriGTests/trig-syntax-struct-03.trig b/test/TriGTests/trig-syntax-struct-03.trig new file mode 100644 index 00000000..43d81074 --- /dev/null +++ b/test/TriGTests/trig-syntax-struct-03.trig @@ -0,0 +1,5 @@ +@prefix : . +{:s :p1 :o1 ; + :p2 :o2 ; + . +} \ No newline at end of file diff --git a/test/TriGTests/trig-syntax-struct-04.trig b/test/TriGTests/trig-syntax-struct-04.trig new file mode 100644 index 00000000..5a80fdf7 --- /dev/null +++ b/test/TriGTests/trig-syntax-struct-04.trig @@ -0,0 +1,5 @@ +@prefix : . +{:s :p1 :o1 ;; + :p2 :o2 + . +} \ No newline at end of file diff --git a/test/TriGTests/trig-syntax-struct-05.trig b/test/TriGTests/trig-syntax-struct-05.trig new file mode 100644 index 00000000..3a756523 --- /dev/null +++ b/test/TriGTests/trig-syntax-struct-05.trig @@ -0,0 +1,5 @@ +@prefix : . +{:s :p1 :o1 ; + :p2 :o2 ;; + . +} \ No newline at end of file diff --git a/test/TriGTests/trig-syntax-struct-06.trig b/test/TriGTests/trig-syntax-struct-06.trig new file mode 100644 index 00000000..81a5135c --- /dev/null +++ b/test/TriGTests/trig-syntax-struct-06.trig @@ -0,0 +1,2 @@ +# No DOT +{ } diff --git a/test/TriGTests/trig-syntax-struct-07.trig b/test/TriGTests/trig-syntax-struct-07.trig new file mode 100644 index 00000000..45f09d34 --- /dev/null +++ b/test/TriGTests/trig-syntax-struct-07.trig @@ -0,0 +1,2 @@ +# Trailing ; +{ ;} diff --git a/test/TriGTests/trig-syntax-uri-01.trig b/test/TriGTests/trig-syntax-uri-01.trig new file mode 100644 index 00000000..2f634298 --- /dev/null +++ b/test/TriGTests/trig-syntax-uri-01.trig @@ -0,0 +1 @@ +{ .} diff --git a/test/TriGTests/trig-syntax-uri-02.trig b/test/TriGTests/trig-syntax-uri-02.trig new file mode 100644 index 00000000..2276868e --- /dev/null +++ b/test/TriGTests/trig-syntax-uri-02.trig @@ -0,0 +1,2 @@ +# x53 is capital S +{ .} diff --git a/test/TriGTests/trig-syntax-uri-03.trig b/test/TriGTests/trig-syntax-uri-03.trig new file mode 100644 index 00000000..6467687a --- /dev/null +++ b/test/TriGTests/trig-syntax-uri-03.trig @@ -0,0 +1,2 @@ +# x53 is capital S +{ .} diff --git a/test/TriGTests/trig-syntax-uri-04.trig b/test/TriGTests/trig-syntax-uri-04.trig new file mode 100644 index 00000000..d4a6ed29 --- /dev/null +++ b/test/TriGTests/trig-syntax-uri-04.trig @@ -0,0 +1,3 @@ +# IRI with all chars in it. +{ + .} diff --git a/test/TriGTests/trig-turtle-01.trig b/test/TriGTests/trig-turtle-01.trig new file mode 100644 index 00000000..785f04cb --- /dev/null +++ b/test/TriGTests/trig-turtle-01.trig @@ -0,0 +1,8 @@ +# Turtle is TriG +PREFIX : + +:s :p :o ; + :q 123 , 456 . + +:s1 :p1 "more" . + diff --git a/test/TriGTests/trig-turtle-02.trig b/test/TriGTests/trig-turtle-02.trig new file mode 100644 index 00000000..4dd160b6 --- /dev/null +++ b/test/TriGTests/trig-turtle-02.trig @@ -0,0 +1,9 @@ +# Turtle is TriG +PREFIX : + +:s :p :o ; + :q 123 , 456 . + +PREFIX : + +:s :p :o . diff --git a/test/TriGTests/trig-turtle-03.trig b/test/TriGTests/trig-turtle-03.trig new file mode 100644 index 00000000..b58574d1 --- /dev/null +++ b/test/TriGTests/trig-turtle-03.trig @@ -0,0 +1,5 @@ +# Turtle is TriG +prefix : + +[ :p 123 ; :q 456 ] :r 1 . + diff --git a/test/TriGTests/trig-turtle-04.trig b/test/TriGTests/trig-turtle-04.trig new file mode 100644 index 00000000..50ed5133 --- /dev/null +++ b/test/TriGTests/trig-turtle-04.trig @@ -0,0 +1,5 @@ +# Turtle is TriG +prefix : + +[] :p :o . + diff --git a/test/TriGTests/trig-turtle-05.trig b/test/TriGTests/trig-turtle-05.trig new file mode 100644 index 00000000..06aaf659 --- /dev/null +++ b/test/TriGTests/trig-turtle-05.trig @@ -0,0 +1,6 @@ +# Turtle is TriG +prefix : + +[ :p :o ] . + + diff --git a/test/TriGTests/trig-turtle-06.trig b/test/TriGTests/trig-turtle-06.trig new file mode 100644 index 00000000..b69fddeb --- /dev/null +++ b/test/TriGTests/trig-turtle-06.trig @@ -0,0 +1,4 @@ +# Turtle is TriG +prefix : + +( 1 2 3 ) :p ( 4 5 6 ) . \ No newline at end of file diff --git a/test/TriGTests/trig-turtle-bad-01.trig b/test/TriGTests/trig-turtle-bad-01.trig new file mode 100644 index 00000000..1bad23f5 --- /dev/null +++ b/test/TriGTests/trig-turtle-bad-01.trig @@ -0,0 +1,5 @@ +# Turtle is TriG + +# Trailing dot required in Turtle block. + +:s :p :o diff --git a/test/TriGTests/trig-turtle-bad-02.trig b/test/TriGTests/trig-turtle-bad-02.trig new file mode 100644 index 00000000..f46fc1c5 --- /dev/null +++ b/test/TriGTests/trig-turtle-bad-02.trig @@ -0,0 +1,6 @@ +# Turtle is TriG + +# N-Quads. + +:s :p :o :g . + diff --git a/test/TriGTests/two_LITERAL_LONG2s.nq b/test/TriGTests/two_LITERAL_LONG2s.nq new file mode 100644 index 00000000..af94fe6a --- /dev/null +++ b/test/TriGTests/two_LITERAL_LONG2s.nq @@ -0,0 +1,2 @@ + "first long literal" . + "second long literal" . diff --git a/test/TriGTests/two_LITERAL_LONG2s.trig b/test/TriGTests/two_LITERAL_LONG2s.trig new file mode 100644 index 00000000..93aea524 --- /dev/null +++ b/test/TriGTests/two_LITERAL_LONG2s.trig @@ -0,0 +1,6 @@ +# Test long literal twice to ensure it does not over-quote +@prefix : . +{ +:a :b """first long literal""" . +:c :d """second long literal""" . +} diff --git a/test/TriGTests/underscore_in_localName.nq b/test/TriGTests/underscore_in_localName.nq new file mode 100644 index 00000000..f9d0c4f1 --- /dev/null +++ b/test/TriGTests/underscore_in_localName.nq @@ -0,0 +1 @@ + . diff --git a/test/TriGTests/underscore_in_localName.trig b/test/TriGTests/underscore_in_localName.trig new file mode 100644 index 00000000..e10726bd --- /dev/null +++ b/test/TriGTests/underscore_in_localName.trig @@ -0,0 +1,2 @@ +@prefix p: . +{p:s_ .} diff --git a/test/TurtleTests/HYPHEN_MINUS_in_localName.nt b/test/TurtleTests/HYPHEN_MINUS_in_localName.nt new file mode 100644 index 00000000..25546b38 --- /dev/null +++ b/test/TurtleTests/HYPHEN_MINUS_in_localName.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/HYPHEN_MINUS_in_localName.ttl b/test/TurtleTests/HYPHEN_MINUS_in_localName.ttl new file mode 100644 index 00000000..0340b8c8 --- /dev/null +++ b/test/TurtleTests/HYPHEN_MINUS_in_localName.ttl @@ -0,0 +1,2 @@ +@prefix p: . +p:s- . diff --git a/test/TurtleTests/IRIREF_datatype.nt b/test/TurtleTests/IRIREF_datatype.nt new file mode 100644 index 00000000..c333a5f6 --- /dev/null +++ b/test/TurtleTests/IRIREF_datatype.nt @@ -0,0 +1 @@ + "1"^^ . diff --git a/test/TurtleTests/IRIREF_datatype.ttl b/test/TurtleTests/IRIREF_datatype.ttl new file mode 100644 index 00000000..c333a5f6 --- /dev/null +++ b/test/TurtleTests/IRIREF_datatype.ttl @@ -0,0 +1 @@ + "1"^^ . diff --git a/test/TurtleTests/IRI_spo.nt b/test/TurtleTests/IRI_spo.nt new file mode 100644 index 00000000..01125e50 --- /dev/null +++ b/test/TurtleTests/IRI_spo.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/IRI_subject.ttl b/test/TurtleTests/IRI_subject.ttl new file mode 100644 index 00000000..01125e50 --- /dev/null +++ b/test/TurtleTests/IRI_subject.ttl @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/IRI_with_all_punctuation.nt b/test/TurtleTests/IRI_with_all_punctuation.nt new file mode 100644 index 00000000..94158773 --- /dev/null +++ b/test/TurtleTests/IRI_with_all_punctuation.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/IRI_with_all_punctuation.ttl b/test/TurtleTests/IRI_with_all_punctuation.ttl new file mode 100644 index 00000000..94158773 --- /dev/null +++ b/test/TurtleTests/IRI_with_all_punctuation.ttl @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/IRI_with_eight_digit_numeric_escape.ttl b/test/TurtleTests/IRI_with_eight_digit_numeric_escape.ttl new file mode 100644 index 00000000..434034e7 --- /dev/null +++ b/test/TurtleTests/IRI_with_eight_digit_numeric_escape.ttl @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/IRI_with_four_digit_numeric_escape.ttl b/test/TurtleTests/IRI_with_four_digit_numeric_escape.ttl new file mode 100644 index 00000000..4163636e --- /dev/null +++ b/test/TurtleTests/IRI_with_four_digit_numeric_escape.ttl @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/LICENSE b/test/TurtleTests/LICENSE new file mode 100644 index 00000000..1ac8f4e1 --- /dev/null +++ b/test/TurtleTests/LICENSE @@ -0,0 +1,117 @@ +Summary +======= + +Distributed under both the W3C Test Suite License[1] and the W3C 3-clause BSD +License[2]. To contribute to a W3C Test Suite, see the policies and contribution +forms [3] + +1. http://www.w3.org/Consortium/Legal/2008/04-testsuite-license +2. http://www.w3.org/Consortium/Legal/2008/03-bsd-license +3. http://www.w3.org/2004/10/27-testcases + +DISCLAIMER + +UNDER BOTH MUTUALLY EXCLUSIVE LICENSES, THIS DOCUMENT AND ALL DOCUMENTS, TESTS +AND SOFTWARE THAT LINK THIS STATEMENT ARE PROVIDED "AS IS," AND COPYRIGHT +HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, +BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE +SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT +INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE +OR IMPLEMENTATION OF THE CONTENTS THEREOF. + + +W3C Test Suite License +====================== + +This document, Test Suites and other documents that link to this statement are +provided by the copyright holders under the following license: By using and/or +copying this document, or the W3C document from which this statement is linked, +you (the licensee) agree that you have read, understood, and will comply with +the following terms and conditions: + +Permission to copy, and distribute the contents of this document, or the W3C +document from which this statement is linked, in any medium for any purpose and +without fee or royalty is hereby granted, provided that you include the +following on ALL copies of the document, or portions thereof, that you use: + +1 A link or URL to the original W3C document. + +2 The pre-existing copyright notice of the original author, or if it doesn't + exist, a notice (hypertext is preferred, but a textual representation is + permitted) of the form: "Copyright © [$date-of-document] World Wide Web + Consortium, (Massachusetts Institute of Technology, European Research + Consortium for Informatics and Mathematics, Keio University) and others. All + Rights + Reserved. http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html" + +3 If it exists, the STATUS of the W3C document. + +4 When space permits, inclusion of the full text of this NOTICE should be + provided. We request that authorship attribution be provided in any software, + documents, or other items or products that you create pursuant to the + implementation of the contents of this document, or any portion thereof. + + +No right to create modifications or derivatives of W3C documents is granted +pursuant to this license. However, if additional requirements (documented in the +Copyright FAQ) are satisfied, the right to create modifications or derivatives +is sometimes granted by the W3C to individuals complying with those +requirements. + +If a Test Suite distinguishes the test harness (or, framework for navigation) +and the actual tests, permission is given to remove or alter the harness or +navigation if the Test Suite in question allows to do so. The tests themselves +shall NOT be changed in any way. + +The name and trademarks of W3C and other copyright holders may NOT be used in +advertising or publicity pertaining to this document or other documents that +link to this statement without specific, written prior permission. Title to +copyright in this document will at all times remain with copyright +holders. Permission is given to use the trademarked string W3C within claims of +performance concerning W3C Specifications or features described therein, and +there only, if the test suite so authorizes. + +THIS WORK IS PROVIDED BY W3C, MIT, ERCIM, KEIO UNIVERSITY, THE COPYRIGHT HOLDERS +AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT +NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL W3C, MIT, ERCIM, KEIO +UNIVERSITY, THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +W3C 3-clause BSD License +======================== + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1 Redistributions of works must retain the original copyright notice, this list + of conditions and the following disclaimer. + +2 Redistributions in binary form must reproduce the original copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3 Neither the name of the W3C nor the names of its contributors may be used to + endorse or promote products derived from this work without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/test/TurtleTests/LITERAL1.nt b/test/TurtleTests/LITERAL1.nt new file mode 100644 index 00000000..3aba89e4 --- /dev/null +++ b/test/TurtleTests/LITERAL1.nt @@ -0,0 +1 @@ + "x" . diff --git a/test/TurtleTests/LITERAL1.ttl b/test/TurtleTests/LITERAL1.ttl new file mode 100644 index 00000000..725a2403 --- /dev/null +++ b/test/TurtleTests/LITERAL1.ttl @@ -0,0 +1 @@ + 'x' . diff --git a/test/TurtleTests/LITERAL1_all_controls.nt b/test/TurtleTests/LITERAL1_all_controls.nt new file mode 100644 index 00000000..91c8af14 --- /dev/null +++ b/test/TurtleTests/LITERAL1_all_controls.nt @@ -0,0 +1 @@ + "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\t\u000B\u000C\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" . diff --git a/test/TurtleTests/LITERAL1_all_controls.ttl b/test/TurtleTests/LITERAL1_all_controls.ttl new file mode 100644 index 00000000..dbf3721c Binary files /dev/null and b/test/TurtleTests/LITERAL1_all_controls.ttl differ diff --git a/test/TurtleTests/LITERAL1_all_punctuation.nt b/test/TurtleTests/LITERAL1_all_punctuation.nt new file mode 100644 index 00000000..c25d818f --- /dev/null +++ b/test/TurtleTests/LITERAL1_all_punctuation.nt @@ -0,0 +1 @@ + " !\"#$%&():;<=>?@[]^_`{|}~" . diff --git a/test/TurtleTests/LITERAL1_all_punctuation.ttl b/test/TurtleTests/LITERAL1_all_punctuation.ttl new file mode 100644 index 00000000..7b1d9e54 --- /dev/null +++ b/test/TurtleTests/LITERAL1_all_punctuation.ttl @@ -0,0 +1 @@ + ' !"#$%&():;<=>?@[]^_`{|}~' . diff --git a/test/TurtleTests/LITERAL1_ascii_boundaries.nt b/test/TurtleTests/LITERAL1_ascii_boundaries.nt new file mode 100644 index 00000000..69c41447 --- /dev/null +++ b/test/TurtleTests/LITERAL1_ascii_boundaries.nt @@ -0,0 +1 @@ + "\u0000\t\u000B\u000C\u000E&([]\u007F" . diff --git a/test/TurtleTests/LITERAL1_ascii_boundaries.ttl b/test/TurtleTests/LITERAL1_ascii_boundaries.ttl new file mode 100644 index 00000000..7d65396f Binary files /dev/null and b/test/TurtleTests/LITERAL1_ascii_boundaries.ttl differ diff --git a/test/TurtleTests/LITERAL1_with_UTF8_boundaries.ttl b/test/TurtleTests/LITERAL1_with_UTF8_boundaries.ttl new file mode 100644 index 00000000..b72eb040 --- /dev/null +++ b/test/TurtleTests/LITERAL1_with_UTF8_boundaries.ttl @@ -0,0 +1 @@ + '€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽' . diff --git a/test/TurtleTests/LITERAL2.ttl b/test/TurtleTests/LITERAL2.ttl new file mode 100644 index 00000000..3aba89e4 --- /dev/null +++ b/test/TurtleTests/LITERAL2.ttl @@ -0,0 +1 @@ + "x" . diff --git a/test/TurtleTests/LITERAL2_ascii_boundaries.nt b/test/TurtleTests/LITERAL2_ascii_boundaries.nt new file mode 100644 index 00000000..270a51e3 --- /dev/null +++ b/test/TurtleTests/LITERAL2_ascii_boundaries.nt @@ -0,0 +1 @@ + "\u0000\t\u000B\u000C\u000E!#[]\u007F" . diff --git a/test/TurtleTests/LITERAL2_ascii_boundaries.ttl b/test/TurtleTests/LITERAL2_ascii_boundaries.ttl new file mode 100644 index 00000000..90b4cd69 Binary files /dev/null and b/test/TurtleTests/LITERAL2_ascii_boundaries.ttl differ diff --git a/test/TurtleTests/LITERAL2_with_UTF8_boundaries.ttl b/test/TurtleTests/LITERAL2_with_UTF8_boundaries.ttl new file mode 100644 index 00000000..0e1616db --- /dev/null +++ b/test/TurtleTests/LITERAL2_with_UTF8_boundaries.ttl @@ -0,0 +1 @@ + "€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽" . diff --git a/test/TurtleTests/LITERAL_LONG1.ttl b/test/TurtleTests/LITERAL_LONG1.ttl new file mode 100644 index 00000000..ab6baa93 --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG1.ttl @@ -0,0 +1 @@ + '''x''' . diff --git a/test/TurtleTests/LITERAL_LONG1_ascii_boundaries.nt b/test/TurtleTests/LITERAL_LONG1_ascii_boundaries.nt new file mode 100644 index 00000000..a592b4a1 --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG1_ascii_boundaries.nt @@ -0,0 +1 @@ + "\u0000&([]\u007F" . diff --git a/test/TurtleTests/LITERAL_LONG1_ascii_boundaries.ttl b/test/TurtleTests/LITERAL_LONG1_ascii_boundaries.ttl new file mode 100644 index 00000000..f943e249 Binary files /dev/null and b/test/TurtleTests/LITERAL_LONG1_ascii_boundaries.ttl differ diff --git a/test/TurtleTests/LITERAL_LONG1_with_1_squote.nt b/test/TurtleTests/LITERAL_LONG1_with_1_squote.nt new file mode 100644 index 00000000..acf7f58f --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG1_with_1_squote.nt @@ -0,0 +1 @@ + "x'y" . diff --git a/test/TurtleTests/LITERAL_LONG1_with_1_squote.ttl b/test/TurtleTests/LITERAL_LONG1_with_1_squote.ttl new file mode 100644 index 00000000..3b93046b --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG1_with_1_squote.ttl @@ -0,0 +1 @@ + '''x'y''' . diff --git a/test/TurtleTests/LITERAL_LONG1_with_2_squotes.nt b/test/TurtleTests/LITERAL_LONG1_with_2_squotes.nt new file mode 100644 index 00000000..8ddc52e8 --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG1_with_2_squotes.nt @@ -0,0 +1 @@ + "x''y" . diff --git a/test/TurtleTests/LITERAL_LONG1_with_2_squotes.ttl b/test/TurtleTests/LITERAL_LONG1_with_2_squotes.ttl new file mode 100644 index 00000000..1219bad3 --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG1_with_2_squotes.ttl @@ -0,0 +1 @@ + '''x''y''' . diff --git a/test/TurtleTests/LITERAL_LONG1_with_UTF8_boundaries.ttl b/test/TurtleTests/LITERAL_LONG1_with_UTF8_boundaries.ttl new file mode 100644 index 00000000..e04b675e --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG1_with_UTF8_boundaries.ttl @@ -0,0 +1 @@ + '''€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽''' . diff --git a/test/TurtleTests/LITERAL_LONG2.ttl b/test/TurtleTests/LITERAL_LONG2.ttl new file mode 100644 index 00000000..e37bf4a3 --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG2.ttl @@ -0,0 +1 @@ + """x""" . diff --git a/test/TurtleTests/LITERAL_LONG2_ascii_boundaries.nt b/test/TurtleTests/LITERAL_LONG2_ascii_boundaries.nt new file mode 100644 index 00000000..28785039 --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG2_ascii_boundaries.nt @@ -0,0 +1 @@ + "\u0000!#[]\u007F" . diff --git a/test/TurtleTests/LITERAL_LONG2_ascii_boundaries.ttl b/test/TurtleTests/LITERAL_LONG2_ascii_boundaries.ttl new file mode 100644 index 00000000..e919865f Binary files /dev/null and b/test/TurtleTests/LITERAL_LONG2_ascii_boundaries.ttl differ diff --git a/test/TurtleTests/LITERAL_LONG2_with_1_squote.nt b/test/TurtleTests/LITERAL_LONG2_with_1_squote.nt new file mode 100644 index 00000000..05a1fd3a --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG2_with_1_squote.nt @@ -0,0 +1 @@ + "x\"y" . diff --git a/test/TurtleTests/LITERAL_LONG2_with_1_squote.ttl b/test/TurtleTests/LITERAL_LONG2_with_1_squote.ttl new file mode 100644 index 00000000..80e389b8 --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG2_with_1_squote.ttl @@ -0,0 +1 @@ + """x"y""" . diff --git a/test/TurtleTests/LITERAL_LONG2_with_2_squotes.nt b/test/TurtleTests/LITERAL_LONG2_with_2_squotes.nt new file mode 100644 index 00000000..3e69dc10 --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG2_with_2_squotes.nt @@ -0,0 +1 @@ + "x\"\"y" . diff --git a/test/TurtleTests/LITERAL_LONG2_with_2_squotes.ttl b/test/TurtleTests/LITERAL_LONG2_with_2_squotes.ttl new file mode 100644 index 00000000..2f14f5b3 --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG2_with_2_squotes.ttl @@ -0,0 +1 @@ + """x""y""" . diff --git a/test/TurtleTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.nt b/test/TurtleTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.nt new file mode 100644 index 00000000..586e364d --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.nt @@ -0,0 +1 @@ + "test-\\" . diff --git a/test/TurtleTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.ttl b/test/TurtleTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.ttl new file mode 100644 index 00000000..2206e33b --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG2_with_REVERSE_SOLIDUS.ttl @@ -0,0 +1,3 @@ +@prefix : . + +:s :p1 """test-\\""" . diff --git a/test/TurtleTests/LITERAL_LONG2_with_UTF8_boundaries.ttl b/test/TurtleTests/LITERAL_LONG2_with_UTF8_boundaries.ttl new file mode 100644 index 00000000..644b32d8 --- /dev/null +++ b/test/TurtleTests/LITERAL_LONG2_with_UTF8_boundaries.ttl @@ -0,0 +1 @@ + """€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽""" . diff --git a/test/TurtleTests/LITERAL_with_UTF8_boundaries.nt b/test/TurtleTests/LITERAL_with_UTF8_boundaries.nt new file mode 100644 index 00000000..47a2527a --- /dev/null +++ b/test/TurtleTests/LITERAL_with_UTF8_boundaries.nt @@ -0,0 +1 @@ + "\u0080\u07FF\u0800\u0FFF\u1000\uCFFF\uD000\uD7FF\uE000\uFFFD\U00010000\U0003FFFD\U00040000\U000FFFFD\U00100000\U0010FFFD" . diff --git a/test/TurtleTests/README b/test/TurtleTests/README new file mode 100644 index 00000000..1b049b9c --- /dev/null +++ b/test/TurtleTests/README @@ -0,0 +1,65 @@ +This README is for the W3C RDF Working Group's Turtle test suite. +This test suite contains four kinds of tests: + + 132 Evaluation (rdft:TestTurtleEval) - a pair of an input turtle + file and reference ntriples file. + + 77 Positive syntax (rdft:TestTurtlePositiveSyntax) - an input turtle + file with no syntax errors. + + 78 Negative syntax (rdft:TestTurtleNegativeSyntax) - an input turtle + file with at least one syntax error. + + 4 Negative Evaluation (rdft:TestTurtleNegativeEval) - a pair of an + input turtle file and reference ntriples file. These tests have the + same properties as rdft:TestTurtleNegativeSyntax. + +The manifest.ttl file in this directory lists all of the tests in the +RDF WG's Turtle test suite. Each test is one of the above tests. All +tests have a name (mf:name) and an input (mf:action). The Evaluation +tests have an expected result (mf:result). + +• An implementation passes an Evaluation test if it parses the input + into a graph, parses the expecte result into another graph, and + those two graphs are isomorphic (see + ). + +• An implementation passes a positive syntax test if it parses the + input. + +• An implementation passes a negative syntax test if it fails to parse + the input. + + +RELATIVE IRI RESOLUTION: + +The home of the test suite is . +Per RFC 3986 section 5.1.3, the base IRI for parsing each file is the +retrieval IRI for that file. For example, the tests turtle-subm-01 and +turtle-subm-27 require relative IRI resolution against a base of + and + respectively. + + +CHARACTER ENCODING: + +The Turtle language uses UTF-8 encoding. The following tests include +non-ascii characters: + localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries + localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries * + localName_with_nfc_PN_CHARS_BASE_character_boundaries * + labeled_blank_node_with_PN_CHARS_BASE_character_boundaries * + LITERAL1_with_UTF8_boundaries * + LITERAL_LONG1_with_UTF8_boundaries * + LITERAL2_with_UTF8_boundaries * + LITERAL_LONG2_with_UTF8_boundaries * + +Those marked with a * include characters with codepoints greater than +U+FFFD and are thus expressed as a pair of surrogate characters when +represented in UCS2. + + +See http://www.w3.org/2011/rdf-wg/wiki/Turtle_Test_Suite for more details. + + +Eric Prud'hommeaux - 11 June 2013. diff --git a/test/TurtleTests/SPARQL_style_base.ttl b/test/TurtleTests/SPARQL_style_base.ttl new file mode 100644 index 00000000..d134ea81 --- /dev/null +++ b/test/TurtleTests/SPARQL_style_base.ttl @@ -0,0 +1,2 @@ +BASE + . diff --git a/test/TurtleTests/SPARQL_style_prefix.ttl b/test/TurtleTests/SPARQL_style_prefix.ttl new file mode 100644 index 00000000..e7e4a3da --- /dev/null +++ b/test/TurtleTests/SPARQL_style_prefix.ttl @@ -0,0 +1,2 @@ +PREFIX p: +p:s . diff --git a/test/TurtleTests/anonymous_blank_node_object.nt b/test/TurtleTests/anonymous_blank_node_object.nt new file mode 100644 index 00000000..89e88f63 --- /dev/null +++ b/test/TurtleTests/anonymous_blank_node_object.nt @@ -0,0 +1 @@ + _:b1 . diff --git a/test/TurtleTests/anonymous_blank_node_object.ttl b/test/TurtleTests/anonymous_blank_node_object.ttl new file mode 100644 index 00000000..0b2ce436 --- /dev/null +++ b/test/TurtleTests/anonymous_blank_node_object.ttl @@ -0,0 +1 @@ + [] . diff --git a/test/TurtleTests/anonymous_blank_node_subject.nt b/test/TurtleTests/anonymous_blank_node_subject.nt new file mode 100644 index 00000000..b48df9a7 --- /dev/null +++ b/test/TurtleTests/anonymous_blank_node_subject.nt @@ -0,0 +1 @@ +_:b1 . diff --git a/test/TurtleTests/anonymous_blank_node_subject.ttl b/test/TurtleTests/anonymous_blank_node_subject.ttl new file mode 100644 index 00000000..17b378c2 --- /dev/null +++ b/test/TurtleTests/anonymous_blank_node_subject.ttl @@ -0,0 +1 @@ +[] . diff --git a/test/TurtleTests/bareword_a_predicate.nt b/test/TurtleTests/bareword_a_predicate.nt new file mode 100644 index 00000000..afe14252 --- /dev/null +++ b/test/TurtleTests/bareword_a_predicate.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/bareword_a_predicate.ttl b/test/TurtleTests/bareword_a_predicate.ttl new file mode 100644 index 00000000..66fa0d0c --- /dev/null +++ b/test/TurtleTests/bareword_a_predicate.ttl @@ -0,0 +1 @@ + a . diff --git a/test/TurtleTests/bareword_decimal.nt b/test/TurtleTests/bareword_decimal.nt new file mode 100644 index 00000000..e177a9c6 --- /dev/null +++ b/test/TurtleTests/bareword_decimal.nt @@ -0,0 +1 @@ + "1.0"^^ . diff --git a/test/TurtleTests/bareword_decimal.ttl b/test/TurtleTests/bareword_decimal.ttl new file mode 100644 index 00000000..20955d51 --- /dev/null +++ b/test/TurtleTests/bareword_decimal.ttl @@ -0,0 +1 @@ + 1.0 . diff --git a/test/TurtleTests/bareword_double.nt b/test/TurtleTests/bareword_double.nt new file mode 100644 index 00000000..dd8be2fd --- /dev/null +++ b/test/TurtleTests/bareword_double.nt @@ -0,0 +1 @@ + "1E0"^^ . diff --git a/test/TurtleTests/bareword_double.ttl b/test/TurtleTests/bareword_double.ttl new file mode 100644 index 00000000..7ce25b11 --- /dev/null +++ b/test/TurtleTests/bareword_double.ttl @@ -0,0 +1 @@ + 1E0 . diff --git a/test/TurtleTests/bareword_integer.ttl b/test/TurtleTests/bareword_integer.ttl new file mode 100644 index 00000000..087e71b6 --- /dev/null +++ b/test/TurtleTests/bareword_integer.ttl @@ -0,0 +1 @@ + 1 . diff --git a/test/TurtleTests/blankNodePropertyList_as_object.nt b/test/TurtleTests/blankNodePropertyList_as_object.nt new file mode 100644 index 00000000..528bd844 --- /dev/null +++ b/test/TurtleTests/blankNodePropertyList_as_object.nt @@ -0,0 +1,2 @@ + _:b1 . +_:b1 . diff --git a/test/TurtleTests/blankNodePropertyList_as_object.ttl b/test/TurtleTests/blankNodePropertyList_as_object.ttl new file mode 100644 index 00000000..aa85a746 --- /dev/null +++ b/test/TurtleTests/blankNodePropertyList_as_object.ttl @@ -0,0 +1 @@ + [ ] . diff --git a/test/TurtleTests/blankNodePropertyList_as_subject.nt b/test/TurtleTests/blankNodePropertyList_as_subject.nt new file mode 100644 index 00000000..f0768879 --- /dev/null +++ b/test/TurtleTests/blankNodePropertyList_as_subject.nt @@ -0,0 +1,2 @@ +_:b1 . +_:b1 . diff --git a/test/TurtleTests/blankNodePropertyList_as_subject.ttl b/test/TurtleTests/blankNodePropertyList_as_subject.ttl new file mode 100644 index 00000000..cb2e52aa --- /dev/null +++ b/test/TurtleTests/blankNodePropertyList_as_subject.ttl @@ -0,0 +1 @@ +[ ] . diff --git a/test/TurtleTests/blankNodePropertyList_containing_collection.nt b/test/TurtleTests/blankNodePropertyList_containing_collection.nt new file mode 100644 index 00000000..e590826b --- /dev/null +++ b/test/TurtleTests/blankNodePropertyList_containing_collection.nt @@ -0,0 +1,3 @@ +_:b1 _:b2 . +_:b2 "1"^^ . +_:b2 . diff --git a/test/TurtleTests/blankNodePropertyList_containing_collection.ttl b/test/TurtleTests/blankNodePropertyList_containing_collection.ttl new file mode 100644 index 00000000..bf164c83 --- /dev/null +++ b/test/TurtleTests/blankNodePropertyList_containing_collection.ttl @@ -0,0 +1 @@ +[ (1) ] . diff --git a/test/TurtleTests/blankNodePropertyList_with_multiple_triples.nt b/test/TurtleTests/blankNodePropertyList_with_multiple_triples.nt new file mode 100644 index 00000000..8f3fc507 --- /dev/null +++ b/test/TurtleTests/blankNodePropertyList_with_multiple_triples.nt @@ -0,0 +1,3 @@ +_:b1 . +_:b1 . +_:b1 . diff --git a/test/TurtleTests/blankNodePropertyList_with_multiple_triples.ttl b/test/TurtleTests/blankNodePropertyList_with_multiple_triples.ttl new file mode 100644 index 00000000..6153c13d --- /dev/null +++ b/test/TurtleTests/blankNodePropertyList_with_multiple_triples.ttl @@ -0,0 +1 @@ +[ ; ] . diff --git a/test/TurtleTests/collection_object.nt b/test/TurtleTests/collection_object.nt new file mode 100644 index 00000000..391162e0 --- /dev/null +++ b/test/TurtleTests/collection_object.nt @@ -0,0 +1,3 @@ + _:b1 . +_:b1 "1"^^ . +_:b1 . diff --git a/test/TurtleTests/collection_object.ttl b/test/TurtleTests/collection_object.ttl new file mode 100644 index 00000000..6af34715 --- /dev/null +++ b/test/TurtleTests/collection_object.ttl @@ -0,0 +1 @@ + (1) . diff --git a/test/TurtleTests/collection_subject.nt b/test/TurtleTests/collection_subject.nt new file mode 100644 index 00000000..502768c8 --- /dev/null +++ b/test/TurtleTests/collection_subject.nt @@ -0,0 +1,3 @@ +_:b1 "1"^^ . +_:b1 . +_:b1 . diff --git a/test/TurtleTests/collection_subject.ttl b/test/TurtleTests/collection_subject.ttl new file mode 100644 index 00000000..00a4c0bc --- /dev/null +++ b/test/TurtleTests/collection_subject.ttl @@ -0,0 +1 @@ +(1) . diff --git a/test/TurtleTests/comment_following_PNAME_NS.nt b/test/TurtleTests/comment_following_PNAME_NS.nt new file mode 100644 index 00000000..a8ca81c5 --- /dev/null +++ b/test/TurtleTests/comment_following_PNAME_NS.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/comment_following_PNAME_NS.ttl b/test/TurtleTests/comment_following_PNAME_NS.ttl new file mode 100644 index 00000000..c03124c4 --- /dev/null +++ b/test/TurtleTests/comment_following_PNAME_NS.ttl @@ -0,0 +1,3 @@ +@prefix p: . + p:#comment +. diff --git a/test/TurtleTests/comment_following_localName.ttl b/test/TurtleTests/comment_following_localName.ttl new file mode 100644 index 00000000..919f876b --- /dev/null +++ b/test/TurtleTests/comment_following_localName.ttl @@ -0,0 +1,3 @@ +@prefix p: . + p:o#comment +. diff --git a/test/TurtleTests/default_namespace_IRI.ttl b/test/TurtleTests/default_namespace_IRI.ttl new file mode 100644 index 00000000..f1f83fd5 --- /dev/null +++ b/test/TurtleTests/default_namespace_IRI.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s . diff --git a/test/TurtleTests/double_lower_case_e.nt b/test/TurtleTests/double_lower_case_e.nt new file mode 100644 index 00000000..49a792b9 --- /dev/null +++ b/test/TurtleTests/double_lower_case_e.nt @@ -0,0 +1 @@ + "1e0"^^ . diff --git a/test/TurtleTests/double_lower_case_e.ttl b/test/TurtleTests/double_lower_case_e.ttl new file mode 100644 index 00000000..5f4552bf --- /dev/null +++ b/test/TurtleTests/double_lower_case_e.ttl @@ -0,0 +1 @@ + 1e0 . diff --git a/test/TurtleTests/empty_collection.nt b/test/TurtleTests/empty_collection.nt new file mode 100644 index 00000000..82726a3f --- /dev/null +++ b/test/TurtleTests/empty_collection.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/empty_collection.ttl b/test/TurtleTests/empty_collection.ttl new file mode 100644 index 00000000..02f9cc07 --- /dev/null +++ b/test/TurtleTests/empty_collection.ttl @@ -0,0 +1 @@ + () . diff --git a/test/TurtleTests/first.nt b/test/TurtleTests/first.nt new file mode 100644 index 00000000..d50539f6 --- /dev/null +++ b/test/TurtleTests/first.nt @@ -0,0 +1,7 @@ + _:b1 . +_:b1 _:b2 . +_:b2 "1"^^ . +_:b2 . +_:b1 _:b3 . +_:b3 "2"^^ . +_:b3 . diff --git a/test/TurtleTests/first.ttl b/test/TurtleTests/first.ttl new file mode 100644 index 00000000..44f496cb --- /dev/null +++ b/test/TurtleTests/first.ttl @@ -0,0 +1 @@ + ((1) 2) . diff --git a/test/TurtleTests/labeled_blank_node_object.nt b/test/TurtleTests/labeled_blank_node_object.nt new file mode 100644 index 00000000..2645d4ee --- /dev/null +++ b/test/TurtleTests/labeled_blank_node_object.nt @@ -0,0 +1 @@ + _:o . diff --git a/test/TurtleTests/labeled_blank_node_object.ttl b/test/TurtleTests/labeled_blank_node_object.ttl new file mode 100644 index 00000000..2645d4ee --- /dev/null +++ b/test/TurtleTests/labeled_blank_node_object.ttl @@ -0,0 +1 @@ + _:o . diff --git a/test/TurtleTests/labeled_blank_node_subject.nt b/test/TurtleTests/labeled_blank_node_subject.nt new file mode 100644 index 00000000..d0c7f458 --- /dev/null +++ b/test/TurtleTests/labeled_blank_node_subject.nt @@ -0,0 +1 @@ +_:s . diff --git a/test/TurtleTests/labeled_blank_node_subject.ttl b/test/TurtleTests/labeled_blank_node_subject.ttl new file mode 100644 index 00000000..d0c7f458 --- /dev/null +++ b/test/TurtleTests/labeled_blank_node_subject.ttl @@ -0,0 +1 @@ +_:s . diff --git a/test/TurtleTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.nt b/test/TurtleTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.nt new file mode 100644 index 00000000..50be8d6f --- /dev/null +++ b/test/TurtleTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.nt @@ -0,0 +1 @@ + _:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽 . diff --git a/test/TurtleTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.ttl b/test/TurtleTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.ttl new file mode 100644 index 00000000..50be8d6f --- /dev/null +++ b/test/TurtleTests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.ttl @@ -0,0 +1 @@ + _:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽 . diff --git a/test/TurtleTests/labeled_blank_node_with_leading_digit.nt b/test/TurtleTests/labeled_blank_node_with_leading_digit.nt new file mode 100644 index 00000000..7244d806 --- /dev/null +++ b/test/TurtleTests/labeled_blank_node_with_leading_digit.nt @@ -0,0 +1 @@ + _:0 . diff --git a/test/TurtleTests/labeled_blank_node_with_leading_digit.ttl b/test/TurtleTests/labeled_blank_node_with_leading_digit.ttl new file mode 100644 index 00000000..7244d806 --- /dev/null +++ b/test/TurtleTests/labeled_blank_node_with_leading_digit.ttl @@ -0,0 +1 @@ + _:0 . diff --git a/test/TurtleTests/labeled_blank_node_with_leading_underscore.nt b/test/TurtleTests/labeled_blank_node_with_leading_underscore.nt new file mode 100644 index 00000000..15d9ffc8 --- /dev/null +++ b/test/TurtleTests/labeled_blank_node_with_leading_underscore.nt @@ -0,0 +1 @@ + _:_ . diff --git a/test/TurtleTests/labeled_blank_node_with_leading_underscore.ttl b/test/TurtleTests/labeled_blank_node_with_leading_underscore.ttl new file mode 100644 index 00000000..15d9ffc8 --- /dev/null +++ b/test/TurtleTests/labeled_blank_node_with_leading_underscore.ttl @@ -0,0 +1 @@ + _:_ . diff --git a/test/TurtleTests/labeled_blank_node_with_non_leading_extras.nt b/test/TurtleTests/labeled_blank_node_with_non_leading_extras.nt new file mode 100644 index 00000000..5ae09b7c --- /dev/null +++ b/test/TurtleTests/labeled_blank_node_with_non_leading_extras.nt @@ -0,0 +1 @@ + _:a·̀ͯ‿.⁀ . diff --git a/test/TurtleTests/labeled_blank_node_with_non_leading_extras.ttl b/test/TurtleTests/labeled_blank_node_with_non_leading_extras.ttl new file mode 100644 index 00000000..5ae09b7c --- /dev/null +++ b/test/TurtleTests/labeled_blank_node_with_non_leading_extras.ttl @@ -0,0 +1 @@ + _:a·̀ͯ‿.⁀ . diff --git a/test/TurtleTests/langtagged_LONG.ttl b/test/TurtleTests/langtagged_LONG.ttl new file mode 100644 index 00000000..2baefe5d --- /dev/null +++ b/test/TurtleTests/langtagged_LONG.ttl @@ -0,0 +1 @@ + """chat"""@en . diff --git a/test/TurtleTests/langtagged_LONG_with_subtag.nt b/test/TurtleTests/langtagged_LONG_with_subtag.nt new file mode 100644 index 00000000..629cbf42 --- /dev/null +++ b/test/TurtleTests/langtagged_LONG_with_subtag.nt @@ -0,0 +1 @@ + "Cheers"@en-UK . diff --git a/test/TurtleTests/langtagged_LONG_with_subtag.ttl b/test/TurtleTests/langtagged_LONG_with_subtag.ttl new file mode 100644 index 00000000..7fd527c4 --- /dev/null +++ b/test/TurtleTests/langtagged_LONG_with_subtag.ttl @@ -0,0 +1,3 @@ +# Test long literal with lang tag +@prefix : . +:a :b """Cheers"""@en-UK . diff --git a/test/TurtleTests/langtagged_non_LONG.nt b/test/TurtleTests/langtagged_non_LONG.nt new file mode 100644 index 00000000..1bddb04e --- /dev/null +++ b/test/TurtleTests/langtagged_non_LONG.nt @@ -0,0 +1 @@ + "chat"@en . diff --git a/test/TurtleTests/langtagged_non_LONG.ttl b/test/TurtleTests/langtagged_non_LONG.ttl new file mode 100644 index 00000000..1bddb04e --- /dev/null +++ b/test/TurtleTests/langtagged_non_LONG.ttl @@ -0,0 +1 @@ + "chat"@en . diff --git a/test/TurtleTests/lantag_with_subtag.nt b/test/TurtleTests/lantag_with_subtag.nt new file mode 100644 index 00000000..46c9d53a --- /dev/null +++ b/test/TurtleTests/lantag_with_subtag.nt @@ -0,0 +1 @@ + "chat"@en-us . diff --git a/test/TurtleTests/lantag_with_subtag.ttl b/test/TurtleTests/lantag_with_subtag.ttl new file mode 100644 index 00000000..46c9d53a --- /dev/null +++ b/test/TurtleTests/lantag_with_subtag.ttl @@ -0,0 +1 @@ + "chat"@en-us . diff --git a/test/TurtleTests/last.nt b/test/TurtleTests/last.nt new file mode 100644 index 00000000..27c21b3d --- /dev/null +++ b/test/TurtleTests/last.nt @@ -0,0 +1,7 @@ + _:b1 . +_:b1 "1"^^ . +_:b1 _:b2 . +_:b2 _:b3 . +_:b3 "2"^^ . +_:b3 . +_:b2 . diff --git a/test/TurtleTests/last.ttl b/test/TurtleTests/last.ttl new file mode 100644 index 00000000..1254c261 --- /dev/null +++ b/test/TurtleTests/last.ttl @@ -0,0 +1 @@ + (1 (2)) . diff --git a/test/TurtleTests/literal_false.nt b/test/TurtleTests/literal_false.nt new file mode 100644 index 00000000..5bbbae84 --- /dev/null +++ b/test/TurtleTests/literal_false.nt @@ -0,0 +1 @@ + "false"^^ . diff --git a/test/TurtleTests/literal_false.ttl b/test/TurtleTests/literal_false.ttl new file mode 100644 index 00000000..6a32e362 --- /dev/null +++ b/test/TurtleTests/literal_false.ttl @@ -0,0 +1 @@ + false . diff --git a/test/TurtleTests/literal_true.nt b/test/TurtleTests/literal_true.nt new file mode 100644 index 00000000..054b229f --- /dev/null +++ b/test/TurtleTests/literal_true.nt @@ -0,0 +1 @@ + "true"^^ . diff --git a/test/TurtleTests/literal_true.ttl b/test/TurtleTests/literal_true.ttl new file mode 100644 index 00000000..6c5bb742 --- /dev/null +++ b/test/TurtleTests/literal_true.ttl @@ -0,0 +1 @@ + true . diff --git a/test/TurtleTests/literal_with_BACKSPACE.nt b/test/TurtleTests/literal_with_BACKSPACE.nt new file mode 100644 index 00000000..7dba113b --- /dev/null +++ b/test/TurtleTests/literal_with_BACKSPACE.nt @@ -0,0 +1 @@ + "\u0008" . diff --git a/test/TurtleTests/literal_with_BACKSPACE.ttl b/test/TurtleTests/literal_with_BACKSPACE.ttl new file mode 100644 index 00000000..17b2880f --- /dev/null +++ b/test/TurtleTests/literal_with_BACKSPACE.ttl @@ -0,0 +1 @@ + '' . diff --git a/test/TurtleTests/literal_with_CARRIAGE_RETURN.nt b/test/TurtleTests/literal_with_CARRIAGE_RETURN.nt new file mode 100644 index 00000000..91b85c89 --- /dev/null +++ b/test/TurtleTests/literal_with_CARRIAGE_RETURN.nt @@ -0,0 +1 @@ + "\r" . diff --git a/test/TurtleTests/literal_with_CARRIAGE_RETURN.ttl b/test/TurtleTests/literal_with_CARRIAGE_RETURN.ttl new file mode 100644 index 00000000..3cd1d89c --- /dev/null +++ b/test/TurtleTests/literal_with_CARRIAGE_RETURN.ttl @@ -0,0 +1 @@ + ''' ''' . diff --git a/test/TurtleTests/literal_with_CHARACTER_TABULATION.nt b/test/TurtleTests/literal_with_CHARACTER_TABULATION.nt new file mode 100644 index 00000000..a6a9d9f0 --- /dev/null +++ b/test/TurtleTests/literal_with_CHARACTER_TABULATION.nt @@ -0,0 +1 @@ + "\t" . diff --git a/test/TurtleTests/literal_with_CHARACTER_TABULATION.ttl b/test/TurtleTests/literal_with_CHARACTER_TABULATION.ttl new file mode 100644 index 00000000..37fbd9d1 --- /dev/null +++ b/test/TurtleTests/literal_with_CHARACTER_TABULATION.ttl @@ -0,0 +1 @@ + ' ' . diff --git a/test/TurtleTests/literal_with_FORM_FEED.nt b/test/TurtleTests/literal_with_FORM_FEED.nt new file mode 100644 index 00000000..2a4490b3 --- /dev/null +++ b/test/TurtleTests/literal_with_FORM_FEED.nt @@ -0,0 +1 @@ + "\u000C" . diff --git a/test/TurtleTests/literal_with_FORM_FEED.ttl b/test/TurtleTests/literal_with_FORM_FEED.ttl new file mode 100644 index 00000000..76d6ee77 --- /dev/null +++ b/test/TurtleTests/literal_with_FORM_FEED.ttl @@ -0,0 +1 @@ + ' ' . diff --git a/test/TurtleTests/literal_with_LINE_FEED.nt b/test/TurtleTests/literal_with_LINE_FEED.nt new file mode 100644 index 00000000..462f97ac --- /dev/null +++ b/test/TurtleTests/literal_with_LINE_FEED.nt @@ -0,0 +1 @@ + "\n" . diff --git a/test/TurtleTests/literal_with_LINE_FEED.ttl b/test/TurtleTests/literal_with_LINE_FEED.ttl new file mode 100644 index 00000000..50cc8a8b --- /dev/null +++ b/test/TurtleTests/literal_with_LINE_FEED.ttl @@ -0,0 +1,2 @@ + ''' +''' . diff --git a/test/TurtleTests/literal_with_REVERSE_SOLIDUS.nt b/test/TurtleTests/literal_with_REVERSE_SOLIDUS.nt new file mode 100644 index 00000000..ebc846ed --- /dev/null +++ b/test/TurtleTests/literal_with_REVERSE_SOLIDUS.nt @@ -0,0 +1 @@ + "\\" . diff --git a/test/TurtleTests/literal_with_REVERSE_SOLIDUS.ttl b/test/TurtleTests/literal_with_REVERSE_SOLIDUS.ttl new file mode 100644 index 00000000..380a3d04 --- /dev/null +++ b/test/TurtleTests/literal_with_REVERSE_SOLIDUS.ttl @@ -0,0 +1 @@ + '\\' . diff --git a/test/TurtleTests/literal_with_escaped_BACKSPACE.ttl b/test/TurtleTests/literal_with_escaped_BACKSPACE.ttl new file mode 100644 index 00000000..5284b9b6 --- /dev/null +++ b/test/TurtleTests/literal_with_escaped_BACKSPACE.ttl @@ -0,0 +1 @@ + '\b' . diff --git a/test/TurtleTests/literal_with_escaped_CARRIAGE_RETURN.ttl b/test/TurtleTests/literal_with_escaped_CARRIAGE_RETURN.ttl new file mode 100644 index 00000000..a28e7c0b --- /dev/null +++ b/test/TurtleTests/literal_with_escaped_CARRIAGE_RETURN.ttl @@ -0,0 +1 @@ + '\r' . diff --git a/test/TurtleTests/literal_with_escaped_CHARACTER_TABULATION.ttl b/test/TurtleTests/literal_with_escaped_CHARACTER_TABULATION.ttl new file mode 100644 index 00000000..67966f78 --- /dev/null +++ b/test/TurtleTests/literal_with_escaped_CHARACTER_TABULATION.ttl @@ -0,0 +1 @@ + '\t' . diff --git a/test/TurtleTests/literal_with_escaped_FORM_FEED.ttl b/test/TurtleTests/literal_with_escaped_FORM_FEED.ttl new file mode 100644 index 00000000..21acace9 --- /dev/null +++ b/test/TurtleTests/literal_with_escaped_FORM_FEED.ttl @@ -0,0 +1 @@ + '\f' . diff --git a/test/TurtleTests/literal_with_escaped_LINE_FEED.ttl b/test/TurtleTests/literal_with_escaped_LINE_FEED.ttl new file mode 100644 index 00000000..b53f49ec --- /dev/null +++ b/test/TurtleTests/literal_with_escaped_LINE_FEED.ttl @@ -0,0 +1 @@ + '\n' . diff --git a/test/TurtleTests/literal_with_numeric_escape4.nt b/test/TurtleTests/literal_with_numeric_escape4.nt new file mode 100644 index 00000000..0b35a89a --- /dev/null +++ b/test/TurtleTests/literal_with_numeric_escape4.nt @@ -0,0 +1 @@ + "o" . diff --git a/test/TurtleTests/literal_with_numeric_escape4.ttl b/test/TurtleTests/literal_with_numeric_escape4.ttl new file mode 100644 index 00000000..2b4e0175 --- /dev/null +++ b/test/TurtleTests/literal_with_numeric_escape4.ttl @@ -0,0 +1 @@ + '\u006F' . diff --git a/test/TurtleTests/literal_with_numeric_escape8.ttl b/test/TurtleTests/literal_with_numeric_escape8.ttl new file mode 100644 index 00000000..8d0e4ef2 --- /dev/null +++ b/test/TurtleTests/literal_with_numeric_escape8.ttl @@ -0,0 +1 @@ + '\U0000006F' . diff --git a/test/TurtleTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nt b/test/TurtleTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nt new file mode 100644 index 00000000..4b60c9e1 --- /dev/null +++ b/test/TurtleTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.ttl b/test/TurtleTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.ttl new file mode 100644 index 00000000..c532e3d0 --- /dev/null +++ b/test/TurtleTests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.ttl @@ -0,0 +1,2 @@ +@prefix p: . + p:AZazÀÖØöø˿Ͱͽ΄῾‌‍⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ￯𐀀󠇯 . diff --git a/test/TurtleTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nt b/test/TurtleTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nt new file mode 100644 index 00000000..78ef1086 --- /dev/null +++ b/test/TurtleTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.ttl b/test/TurtleTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.ttl new file mode 100644 index 00000000..15b23dd8 --- /dev/null +++ b/test/TurtleTests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.ttl @@ -0,0 +1,2 @@ +@prefix p: . + p:AZazÀÖØöø˿Ͱͽ΄῾‌‍⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ￯ . diff --git a/test/TurtleTests/localName_with_leading_digit.nt b/test/TurtleTests/localName_with_leading_digit.nt new file mode 100644 index 00000000..a9e101e5 --- /dev/null +++ b/test/TurtleTests/localName_with_leading_digit.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/localName_with_leading_digit.ttl b/test/TurtleTests/localName_with_leading_digit.ttl new file mode 100644 index 00000000..65da2499 --- /dev/null +++ b/test/TurtleTests/localName_with_leading_digit.ttl @@ -0,0 +1,2 @@ +@prefix p: . +p:0 . diff --git a/test/TurtleTests/localName_with_leading_underscore.nt b/test/TurtleTests/localName_with_leading_underscore.nt new file mode 100644 index 00000000..e042a7b9 --- /dev/null +++ b/test/TurtleTests/localName_with_leading_underscore.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/localName_with_leading_underscore.ttl b/test/TurtleTests/localName_with_leading_underscore.ttl new file mode 100644 index 00000000..762ace98 --- /dev/null +++ b/test/TurtleTests/localName_with_leading_underscore.ttl @@ -0,0 +1,2 @@ +@prefix p: . +p:_ . diff --git a/test/TurtleTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.nt b/test/TurtleTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.nt new file mode 100644 index 00000000..5b346919 --- /dev/null +++ b/test/TurtleTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.ttl b/test/TurtleTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.ttl new file mode 100644 index 00000000..0922d95d --- /dev/null +++ b/test/TurtleTests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.ttl @@ -0,0 +1,2 @@ +@prefix p: . + p:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿﨎﷏ﷰ￯𐀀󯿽 . diff --git a/test/TurtleTests/localName_with_non_leading_extras.nt b/test/TurtleTests/localName_with_non_leading_extras.nt new file mode 100644 index 00000000..749b98cd --- /dev/null +++ b/test/TurtleTests/localName_with_non_leading_extras.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/localName_with_non_leading_extras.ttl b/test/TurtleTests/localName_with_non_leading_extras.ttl new file mode 100644 index 00000000..db25a8a6 --- /dev/null +++ b/test/TurtleTests/localName_with_non_leading_extras.ttl @@ -0,0 +1,2 @@ +@prefix p: . +p:a·̀ͯ‿.⁀ . diff --git a/test/TurtleTests/localname_with_COLON.nt b/test/TurtleTests/localname_with_COLON.nt new file mode 100644 index 00000000..eb966ca3 --- /dev/null +++ b/test/TurtleTests/localname_with_COLON.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/localname_with_COLON.ttl b/test/TurtleTests/localname_with_COLON.ttl new file mode 100644 index 00000000..1d45f20f --- /dev/null +++ b/test/TurtleTests/localname_with_COLON.ttl @@ -0,0 +1,2 @@ +@prefix p: . +p:s: . diff --git a/test/TurtleTests/manifest.ttl b/test/TurtleTests/manifest.ttl new file mode 100644 index 00000000..0a24655e --- /dev/null +++ b/test/TurtleTests/manifest.ttl @@ -0,0 +1,2503 @@ +## Distributed under both the W3C Test Suite License[1] and the W3C 3- +## clause BSD License[2]. To contribute to a W3C Test Suite, see the +## policies and contribution forms [3] +## +## 1. http://www.w3.org/Consortium/Legal/2008/04-testsuite-license +## 2. http://www.w3.org/Consortium/Legal/2008/03-bsd-license +## 3. http://www.w3.org/2004/10/27-testcases + +# Test named *subm* are (c) W3C and taken from the Turtle submission. + +@prefix rdf: . +@prefix rdfs: . +@prefix mf: . +@prefix qt: . + +@prefix rdft: . + +<> rdf:type mf:Manifest ; + rdfs:comment "Turtle tests" ; + mf:entries + ( + + # atomic tests + <#IRI_subject> + <#IRI_with_four_digit_numeric_escape> + <#IRI_with_eight_digit_numeric_escape> + <#IRI_with_all_punctuation> + <#bareword_a_predicate> + <#old_style_prefix> + <#SPARQL_style_prefix> + <#prefixed_IRI_predicate> + <#prefixed_IRI_object> + <#prefix_only_IRI> + <#prefix_with_PN_CHARS_BASE_character_boundaries> + <#prefix_with_non_leading_extras> + <#default_namespace_IRI> + <#prefix_reassigned_and_used> + <#reserved_escaped_localName> + <#percent_escaped_localName> + <#HYPHEN_MINUS_in_localName> + <#underscore_in_localName> + <#localname_with_COLON> + <#localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries> + <#localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries> + <#localName_with_nfc_PN_CHARS_BASE_character_boundaries> + <#localName_with_leading_underscore> + <#localName_with_leading_digit> + <#localName_with_non_leading_extras> + <#old_style_base> + <#SPARQL_style_base> + <#labeled_blank_node_subject> + <#labeled_blank_node_object> + <#labeled_blank_node_with_PN_CHARS_BASE_character_boundaries> + <#labeled_blank_node_with_leading_underscore> + <#labeled_blank_node_with_leading_digit> + <#labeled_blank_node_with_non_leading_extras> + <#anonymous_blank_node_subject> + <#anonymous_blank_node_object> + <#sole_blankNodePropertyList> + <#blankNodePropertyList_as_subject> + <#blankNodePropertyList_as_object> + <#blankNodePropertyList_with_multiple_triples> + <#nested_blankNodePropertyLists> + <#blankNodePropertyList_containing_collection> + <#collection_subject> + <#collection_object> + <#empty_collection> + <#nested_collection> + <#first> + <#last> + <#LITERAL1> + <#LITERAL1_ascii_boundaries> + <#LITERAL1_with_UTF8_boundaries> + <#LITERAL1_all_controls> + <#LITERAL1_all_punctuation> + <#LITERAL_LONG1> + <#LITERAL_LONG1_ascii_boundaries> + <#LITERAL_LONG1_with_UTF8_boundaries> + <#LITERAL_LONG1_with_1_squote> + <#LITERAL_LONG1_with_2_squotes> + <#LITERAL2> + <#LITERAL2_ascii_boundaries> + <#LITERAL2_with_UTF8_boundaries> + <#LITERAL_LONG2> + <#LITERAL_LONG2_ascii_boundaries> + <#LITERAL_LONG2_with_UTF8_boundaries> + <#LITERAL_LONG2_with_1_squote> + <#LITERAL_LONG2_with_2_squotes> + <#literal_with_CHARACTER_TABULATION> + <#literal_with_BACKSPACE> + <#literal_with_LINE_FEED> + <#literal_with_CARRIAGE_RETURN> + <#literal_with_FORM_FEED> + <#literal_with_REVERSE_SOLIDUS> + <#literal_with_escaped_CHARACTER_TABULATION> + <#literal_with_escaped_BACKSPACE> + <#literal_with_escaped_LINE_FEED> + <#literal_with_escaped_CARRIAGE_RETURN> + <#literal_with_escaped_FORM_FEED> + <#literal_with_numeric_escape4> + <#literal_with_numeric_escape8> + <#IRIREF_datatype> + <#prefixed_name_datatype> + <#bareword_integer> + <#bareword_decimal> + <#bareword_double> + <#double_lower_case_e> + <#negative_numeric> + <#positive_numeric> + <#numeric_with_leading_0> + <#literal_true> + <#literal_false> + <#langtagged_non_LONG> + <#langtagged_LONG> + <#lantag_with_subtag> + <#objectList_with_two_objects> + <#predicateObjectList_with_two_objectLists> + <#repeated_semis_at_end> + <#repeated_semis_not_at_end> + + # tests requested by Jeremy Carroll + # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c35 + <#comment_following_localName> + <#number_sign_following_localName> + <#comment_following_PNAME_NS> + <#number_sign_following_PNAME_NS> + + # tests from Dave Beckett + # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c28 + <#LITERAL_LONG2_with_REVERSE_SOLIDUS> + <#turtle-syntax-bad-LITERAL2_with_langtag_and_datatype> + <#two_LITERAL_LONG2s> + <#langtagged_LONG_with_subtag> + + # original tests-ttl + <#turtle-syntax-file-01> + <#turtle-syntax-file-02> + <#turtle-syntax-file-03> + <#turtle-syntax-uri-01> + <#turtle-syntax-uri-02> + <#turtle-syntax-uri-03> + <#turtle-syntax-uri-04> + <#turtle-syntax-base-01> + <#turtle-syntax-base-02> + <#turtle-syntax-base-03> + <#turtle-syntax-base-04> + <#turtle-syntax-prefix-01> + <#turtle-syntax-prefix-02> + <#turtle-syntax-prefix-03> + <#turtle-syntax-prefix-04> + <#turtle-syntax-prefix-05> + <#turtle-syntax-prefix-06> + <#turtle-syntax-prefix-07> + <#turtle-syntax-prefix-08> + <#turtle-syntax-prefix-09> + <#turtle-syntax-string-01> + <#turtle-syntax-string-02> + <#turtle-syntax-string-03> + <#turtle-syntax-string-04> + <#turtle-syntax-string-05> + <#turtle-syntax-string-06> + <#turtle-syntax-string-07> + <#turtle-syntax-string-08> + <#turtle-syntax-string-09> + <#turtle-syntax-string-10> + <#turtle-syntax-string-11> + <#turtle-syntax-str-esc-01> + <#turtle-syntax-str-esc-02> + <#turtle-syntax-str-esc-03> + <#turtle-syntax-pname-esc-01> + <#turtle-syntax-pname-esc-02> + <#turtle-syntax-pname-esc-03> + <#turtle-syntax-bnode-01> + <#turtle-syntax-bnode-02> + <#turtle-syntax-bnode-03> + <#turtle-syntax-bnode-04> + <#turtle-syntax-bnode-05> + <#turtle-syntax-bnode-06> + <#turtle-syntax-bnode-07> + <#turtle-syntax-bnode-08> + <#turtle-syntax-bnode-09> + <#turtle-syntax-bnode-10> + <#turtle-syntax-number-01> + <#turtle-syntax-number-02> + <#turtle-syntax-number-03> + <#turtle-syntax-number-04> + <#turtle-syntax-number-05> + <#turtle-syntax-number-06> + <#turtle-syntax-number-07> + <#turtle-syntax-number-08> + <#turtle-syntax-number-09> + <#turtle-syntax-number-10> + <#turtle-syntax-number-11> + <#turtle-syntax-datatypes-01> + <#turtle-syntax-datatypes-02> + <#turtle-syntax-kw-01> + <#turtle-syntax-kw-02> + <#turtle-syntax-kw-03> + <#turtle-syntax-struct-01> + <#turtle-syntax-struct-02> + <#turtle-syntax-struct-03> + <#turtle-syntax-struct-04> + <#turtle-syntax-struct-05> + <#turtle-syntax-lists-01> + <#turtle-syntax-lists-02> + <#turtle-syntax-lists-03> + <#turtle-syntax-lists-04> + <#turtle-syntax-lists-05> + <#turtle-syntax-bad-uri-01> + <#turtle-syntax-bad-uri-02> + <#turtle-syntax-bad-uri-03> + <#turtle-syntax-bad-uri-04> + <#turtle-syntax-bad-uri-05> + <#turtle-syntax-bad-prefix-01> + <#turtle-syntax-bad-prefix-02> + <#turtle-syntax-bad-prefix-03> + <#turtle-syntax-bad-prefix-04> + <#turtle-syntax-bad-prefix-05> + <#turtle-syntax-bad-base-01> + <#turtle-syntax-bad-base-02> + <#turtle-syntax-bad-base-03> + <#turtle-syntax-bad-struct-01> + <#turtle-syntax-bad-struct-02> + <#turtle-syntax-bad-struct-03> + <#turtle-syntax-bad-struct-04> + <#turtle-syntax-bad-struct-05> + <#turtle-syntax-bad-struct-06> + <#turtle-syntax-bad-struct-07> + <#turtle-syntax-bad-kw-01> + <#turtle-syntax-bad-kw-02> + <#turtle-syntax-bad-kw-03> + <#turtle-syntax-bad-kw-04> + <#turtle-syntax-bad-kw-05> + <#turtle-syntax-bad-n3-extras-01> + <#turtle-syntax-bad-n3-extras-02> + <#turtle-syntax-bad-n3-extras-03> + <#turtle-syntax-bad-n3-extras-04> + <#turtle-syntax-bad-n3-extras-05> + <#turtle-syntax-bad-n3-extras-06> + <#turtle-syntax-bad-n3-extras-07> + <#turtle-syntax-bad-n3-extras-08> + <#turtle-syntax-bad-n3-extras-09> + <#turtle-syntax-bad-n3-extras-10> + <#turtle-syntax-bad-n3-extras-11> + <#turtle-syntax-bad-n3-extras-12> + <#turtle-syntax-bad-n3-extras-13> + <#turtle-syntax-bad-struct-08> + <#turtle-syntax-bad-struct-09> + <#turtle-syntax-bad-struct-10> + <#turtle-syntax-bad-struct-11> + <#turtle-syntax-bad-struct-12> + <#turtle-syntax-bad-struct-13> + <#turtle-syntax-bad-struct-14> + <#turtle-syntax-bad-struct-15> + <#turtle-syntax-bad-struct-16> + <#turtle-syntax-bad-struct-17> + <#turtle-syntax-bad-lang-01> + <#turtle-syntax-bad-esc-01> + <#turtle-syntax-bad-esc-02> + <#turtle-syntax-bad-esc-03> + <#turtle-syntax-bad-esc-04> + <#turtle-syntax-bad-pname-01> + <#turtle-syntax-bad-pname-02> + <#turtle-syntax-bad-pname-03> + <#turtle-syntax-bad-string-01> + <#turtle-syntax-bad-string-02> + <#turtle-syntax-bad-string-03> + <#turtle-syntax-bad-string-04> + <#turtle-syntax-bad-string-05> + <#turtle-syntax-bad-string-06> + <#turtle-syntax-bad-string-07> + <#turtle-syntax-bad-num-01> + <#turtle-syntax-bad-num-02> + <#turtle-syntax-bad-num-03> + <#turtle-syntax-bad-num-04> + <#turtle-syntax-bad-num-05> + <#turtle-eval-struct-01> + <#turtle-eval-struct-02> + <#turtle-subm-01> + <#turtle-subm-02> + <#turtle-subm-03> + <#turtle-subm-04> + <#turtle-subm-05> + <#turtle-subm-06> + <#turtle-subm-07> + <#turtle-subm-08> + <#turtle-subm-09> + <#turtle-subm-10> + <#turtle-subm-11> + <#turtle-subm-12> + <#turtle-subm-13> + <#turtle-subm-14> + <#turtle-subm-15> + <#turtle-subm-16> + <#turtle-subm-17> + <#turtle-subm-18> + <#turtle-subm-19> + <#turtle-subm-20> + <#turtle-subm-21> + <#turtle-subm-22> + <#turtle-subm-23> + <#turtle-subm-24> + <#turtle-subm-25> + <#turtle-subm-26> + <#turtle-subm-27> + <#turtle-eval-bad-01> + <#turtle-eval-bad-02> + <#turtle-eval-bad-03> + <#turtle-eval-bad-04> + + # tests from David Robillard + # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c21 + <#turtle-syntax-bad-blank-label-dot-end> + <#turtle-syntax-bad-ln-dash-start> + <#turtle-syntax-bad-ln-escape-start> + <#turtle-syntax-bad-ln-escape> + <#turtle-syntax-bad-missing-ns-dot-end> + <#turtle-syntax-bad-missing-ns-dot-start> + <#turtle-syntax-bad-ns-dot-end> + <#turtle-syntax-bad-ns-dot-start> + <#turtle-syntax-bad-number-dot-in-anon> + <#turtle-syntax-blank-label> + <#turtle-syntax-ln-colons> + <#turtle-syntax-ln-dots> + <#turtle-syntax-ns-dots> + ) . + +# atomic tests +<#IRI_subject> rdf:type rdft:TestTurtleEval ; + mf:name "IRI_subject" ; + rdfs:comment "IRI subject" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#IRI_with_four_digit_numeric_escape> rdf:type rdft:TestTurtleEval ; + mf:name "IRI_with_four_digit_numeric_escape" ; + rdfs:comment "IRI with four digit numeric escape (\\u)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#IRI_with_eight_digit_numeric_escape> rdf:type rdft:TestTurtleEval ; + mf:name "IRI_with_eight_digit_numeric_escape" ; + rdfs:comment "IRI with eight digit numeric escape (\\U)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#IRI_with_all_punctuation> rdf:type rdft:TestTurtleEval ; + mf:name "IRI_with_all_punctuation" ; + rdfs:comment "IRI with all punctuation" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#bareword_a_predicate> rdf:type rdft:TestTurtleEval ; + mf:name "bareword_a_predicate" ; + rdfs:comment "bareword a predicate" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#old_style_prefix> rdf:type rdft:TestTurtleEval ; + mf:name "old_style_prefix" ; + rdfs:comment "old-style prefix" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#SPARQL_style_prefix> rdf:type rdft:TestTurtleEval ; + mf:name "SPARQL_style_prefix" ; + rdfs:comment "SPARQL-style prefix" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefixed_IRI_predicate> rdf:type rdft:TestTurtleEval ; + mf:name "prefixed_IRI_predicate" ; + rdfs:comment "prefixed IRI predicate" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefixed_IRI_object> rdf:type rdft:TestTurtleEval ; + mf:name "prefixed_IRI_object" ; + rdfs:comment "prefixed IRI object" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefix_only_IRI> rdf:type rdft:TestTurtleEval ; + mf:name "prefix_only_IRI" ; + rdfs:comment "prefix-only IRI (p:)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefix_with_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ; + mf:name "prefix_with_PN_CHARS_BASE_character_boundaries" ; + rdfs:comment "prefix with PN CHARS BASE character boundaries (prefix: AZazÀÖØöø...:)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefix_with_non_leading_extras> rdf:type rdft:TestTurtleEval ; + mf:name "prefix_with_non_leading_extras" ; + rdfs:comment "prefix with_non_leading_extras (_:a·̀ͯ‿.⁀)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ; + mf:name "localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries" ; + rdfs:comment "localName with assigned, NFC-normalized, basic-multilingual-plane PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ; + mf:name "localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries" ; + rdfs:comment "localName with assigned, NFC-normalized PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localName_with_nfc_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ; + mf:name "localName_with_nfc_PN_CHARS_BASE_character_boundaries" ; + rdfs:comment "localName with nfc-normalize PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#default_namespace_IRI> rdf:type rdft:TestTurtleEval ; + mf:name "default_namespace_IRI" ; + rdfs:comment "default namespace IRI (:ln)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefix_reassigned_and_used> rdf:type rdft:TestTurtleEval ; + mf:name "prefix_reassigned_and_used" ; + rdfs:comment "prefix reassigned and used" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#reserved_escaped_localName> rdf:type rdft:TestTurtleEval ; + mf:name "reserved_escaped_localName" ; + rdfs:comment "reserved-escaped local name" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#percent_escaped_localName> rdf:type rdft:TestTurtleEval ; + mf:name "percent_escaped_localName" ; + rdfs:comment "percent-escaped local name" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#HYPHEN_MINUS_in_localName> rdf:type rdft:TestTurtleEval ; + mf:name "HYPHEN_MINUS_in_localName" ; + rdfs:comment "HYPHEN-MINUS in local name" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#underscore_in_localName> rdf:type rdft:TestTurtleEval ; + mf:name "underscore_in_localName" ; + rdfs:comment "underscore in local name" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localname_with_COLON> rdf:type rdft:TestTurtleEval ; + mf:name "localname_with_COLON" ; + rdfs:comment "localname with COLON" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localName_with_leading_underscore> rdf:type rdft:TestTurtleEval ; + mf:name "localName_with_leading_underscore" ; + rdfs:comment "localName with leading underscore (p:_)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localName_with_leading_digit> rdf:type rdft:TestTurtleEval ; + mf:name "localName_with_leading_digit" ; + rdfs:comment "localName with leading digit (p:_)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#localName_with_non_leading_extras> rdf:type rdft:TestTurtleEval ; + mf:name "localName_with_non_leading_extras" ; + rdfs:comment "localName with_non_leading_extras (_:a·̀ͯ‿.⁀)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#old_style_base> rdf:type rdft:TestTurtleEval ; + mf:name "old_style_base" ; + rdfs:comment "old-style base" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#SPARQL_style_base> rdf:type rdft:TestTurtleEval ; + mf:name "SPARQL_style_base" ; + rdfs:comment "SPARQL-style base" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#labeled_blank_node_subject> rdf:type rdft:TestTurtleEval ; + mf:name "labeled_blank_node_subject" ; + rdfs:comment "labeled blank node subject" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#labeled_blank_node_object> rdf:type rdft:TestTurtleEval ; + mf:name "labeled_blank_node_object" ; + rdfs:comment "labeled blank node object" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#labeled_blank_node_with_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ; + mf:name "labeled_blank_node_with_PN_CHARS_BASE_character_boundaries" ; + rdfs:comment "labeled blank node with PN_CHARS_BASE character boundaries (_:AZazÀÖØöø...)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#labeled_blank_node_with_leading_underscore> rdf:type rdft:TestTurtleEval ; + mf:name "labeled_blank_node_with_leading_underscore" ; + rdfs:comment "labeled blank node with_leading_underscore (_:_)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#labeled_blank_node_with_leading_digit> rdf:type rdft:TestTurtleEval ; + mf:name "labeled_blank_node_with_leading_digit" ; + rdfs:comment "labeled blank node with_leading_digit (_:0)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#labeled_blank_node_with_non_leading_extras> rdf:type rdft:TestTurtleEval ; + mf:name "labeled_blank_node_with_non_leading_extras" ; + rdfs:comment "labeled blank node with_non_leading_extras (_:a·̀ͯ‿.⁀)" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#anonymous_blank_node_subject> rdf:type rdft:TestTurtleEval ; + mf:name "anonymous_blank_node_subject" ; + rdfs:comment "anonymous blank node subject" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#anonymous_blank_node_object> rdf:type rdft:TestTurtleEval ; + mf:name "anonymous_blank_node_object" ; + rdfs:comment "anonymous blank node object" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#sole_blankNodePropertyList> rdf:type rdft:TestTurtleEval ; + mf:name "sole_blankNodePropertyList" ; + rdfs:comment "sole blankNodePropertyList [

] ." ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#blankNodePropertyList_as_subject> rdf:type rdft:TestTurtleEval ; + mf:name "blankNodePropertyList_as_subject" ; + rdfs:comment "blankNodePropertyList as subject [ … ]

." ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#blankNodePropertyList_as_object> rdf:type rdft:TestTurtleEval ; + mf:name "blankNodePropertyList_as_object" ; + rdfs:comment "blankNodePropertyList as object

[ … ] ." ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#blankNodePropertyList_with_multiple_triples> rdf:type rdft:TestTurtleEval ; + mf:name "blankNodePropertyList_with_multiple_triples" ; + rdfs:comment "blankNodePropertyList with multiple triples [

; ]" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#nested_blankNodePropertyLists> rdf:type rdft:TestTurtleEval ; + mf:name "nested_blankNodePropertyLists" ; + rdfs:comment "nested blankNodePropertyLists [ [ ] ; ]" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#blankNodePropertyList_containing_collection> rdf:type rdft:TestTurtleEval ; + mf:name "blankNodePropertyList_containing_collection" ; + rdfs:comment "blankNodePropertyList containing collection [ ( … ) ]" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#collection_subject> rdf:type rdft:TestTurtleEval ; + mf:name "collection_subject" ; + rdfs:comment "collection subject" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#collection_object> rdf:type rdft:TestTurtleEval ; + mf:name "collection_object" ; + rdfs:comment "collection object" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#empty_collection> rdf:type rdft:TestTurtleEval ; + mf:name "empty_collection" ; + rdfs:comment "empty collection ()" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#nested_collection> rdf:type rdft:TestTurtleEval ; + mf:name "nested_collection" ; + rdfs:comment "nested collection (())" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#first> rdf:type rdft:TestTurtleEval ; + mf:name "first" ; + rdfs:comment "first, not last, non-empty nested collection" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#last> rdf:type rdft:TestTurtleEval ; + mf:name "last" ; + rdfs:comment "last, not first, non-empty nested collection" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL1> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL1" ; + rdfs:comment "LITERAL1 'x'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL1_ascii_boundaries> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL1_ascii_boundaries" ; + rdfs:comment "LITERAL1_ascii_boundaries '\\x00\\x09\\x0b\\x0c\\x0e\\x26\\x28...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL1_with_UTF8_boundaries> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL1_with_UTF8_boundaries" ; + rdfs:comment "LITERAL1_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL1_all_controls> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL1_all_controls" ; + rdfs:comment "LITERAL1_all_controls '\\x00\\x01\\x02\\x03\\x04...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL1_all_punctuation> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL1_all_punctuation" ; + rdfs:comment "LITERAL1_all_punctuation '!\"#$%&()...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG1> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL_LONG1" ; + rdfs:comment "LITERAL_LONG1 '''x'''" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG1_ascii_boundaries> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL_LONG1_ascii_boundaries" ; + rdfs:comment "LITERAL_LONG1_ascii_boundaries '\\x00\\x26\\x28...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG1_with_UTF8_boundaries> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL_LONG1_with_UTF8_boundaries" ; + rdfs:comment "LITERAL_LONG1_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG1_with_1_squote> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL_LONG1_with_1_squote" ; + rdfs:comment "LITERAL_LONG1 with 1 squote '''a'b'''" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG1_with_2_squotes> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL_LONG1_with_2_squotes" ; + rdfs:comment "LITERAL_LONG1 with 2 squotes '''a''b'''" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL2> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL2" ; + rdfs:comment "LITERAL2 \"x\"" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL2_ascii_boundaries> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL2_ascii_boundaries" ; + rdfs:comment "LITERAL2_ascii_boundaries '\\x00\\x09\\x0b\\x0c\\x0e\\x21\\x23...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL2_with_UTF8_boundaries> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL2_with_UTF8_boundaries" ; + rdfs:comment "LITERAL2_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG2> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL_LONG2" ; + rdfs:comment "LITERAL_LONG2 \"\"\"x\"\"\"" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG2_ascii_boundaries> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL_LONG2_ascii_boundaries" ; + rdfs:comment "LITERAL_LONG2_ascii_boundaries '\\x00\\x21\\x23...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG2_with_UTF8_boundaries> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL_LONG2_with_UTF8_boundaries" ; + rdfs:comment "LITERAL_LONG2_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG2_with_1_squote> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL_LONG2_with_1_squote" ; + rdfs:comment "LITERAL_LONG2 with 1 squote \"\"\"a\"b\"\"\"" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#LITERAL_LONG2_with_2_squotes> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL_LONG2_with_2_squotes" ; + rdfs:comment "LITERAL_LONG2 with 2 squotes \"\"\"a\"\"b\"\"\"" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_CHARACTER_TABULATION> rdf:type rdft:TestTurtleEval ; + mf:name "literal_with_CHARACTER_TABULATION" ; + rdfs:comment "literal with CHARACTER TABULATION" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_BACKSPACE> rdf:type rdft:TestTurtleEval ; + mf:name "literal_with_BACKSPACE" ; + rdfs:comment "literal with BACKSPACE" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_LINE_FEED> rdf:type rdft:TestTurtleEval ; + mf:name "literal_with_LINE_FEED" ; + rdfs:comment "literal with LINE FEED" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_CARRIAGE_RETURN> rdf:type rdft:TestTurtleEval ; + mf:name "literal_with_CARRIAGE_RETURN" ; + rdfs:comment "literal with CARRIAGE RETURN" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_FORM_FEED> rdf:type rdft:TestTurtleEval ; + mf:name "literal_with_FORM_FEED" ; + rdfs:comment "literal with FORM FEED" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_REVERSE_SOLIDUS> rdf:type rdft:TestTurtleEval ; + mf:name "literal_with_REVERSE_SOLIDUS" ; + rdfs:comment "literal with REVERSE SOLIDUS" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_escaped_CHARACTER_TABULATION> rdf:type rdft:TestTurtleEval ; + mf:name "literal_with_escaped_CHARACTER_TABULATION" ; + rdfs:comment "literal with escaped CHARACTER TABULATION" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_escaped_BACKSPACE> rdf:type rdft:TestTurtleEval ; + mf:name "literal_with_escaped_BACKSPACE" ; + rdfs:comment "literal with escaped BACKSPACE" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_escaped_LINE_FEED> rdf:type rdft:TestTurtleEval ; + mf:name "literal_with_escaped_LINE_FEED" ; + rdfs:comment "literal with escaped LINE FEED" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_escaped_CARRIAGE_RETURN> rdf:type rdft:TestTurtleEval ; + mf:name "literal_with_escaped_CARRIAGE_RETURN" ; + rdfs:comment "literal with escaped CARRIAGE RETURN" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_escaped_FORM_FEED> rdf:type rdft:TestTurtleEval ; + mf:name "literal_with_escaped_FORM_FEED" ; + rdfs:comment "literal with escaped FORM FEED" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_numeric_escape4> rdf:type rdft:TestTurtleEval ; + mf:name "literal_with_numeric_escape4" ; + rdfs:comment "literal with numeric escape4 \\u" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_with_numeric_escape8> rdf:type rdft:TestTurtleEval ; + mf:name "literal_with_numeric_escape8" ; + rdfs:comment "literal with numeric escape8 \\U" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#IRIREF_datatype> rdf:type rdft:TestTurtleEval ; + mf:name "IRIREF_datatype" ; + rdfs:comment "IRIREF datatype \"\"^^" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#prefixed_name_datatype> rdf:type rdft:TestTurtleEval ; + mf:name "prefixed_name_datatype" ; + rdfs:comment "prefixed name datatype \"\"^^p:t" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#bareword_integer> rdf:type rdft:TestTurtleEval ; + mf:name "bareword_integer" ; + rdfs:comment "bareword integer" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#bareword_decimal> rdf:type rdft:TestTurtleEval ; + mf:name "bareword_decimal" ; + rdfs:comment "bareword decimal" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#bareword_double> rdf:type rdft:TestTurtleEval ; + mf:name "bareword_double" ; + rdfs:comment "bareword double" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#double_lower_case_e> rdf:type rdft:TestTurtleEval ; + mf:name "double_lower_case_e" ; + rdfs:comment "double lower case e" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#negative_numeric> rdf:type rdft:TestTurtleEval ; + mf:name "negative_numeric" ; + rdfs:comment "negative numeric" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#positive_numeric> rdf:type rdft:TestTurtleEval ; + mf:name "positive_numeric" ; + rdfs:comment "positive numeric" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#numeric_with_leading_0> rdf:type rdft:TestTurtleEval ; + mf:name "numeric_with_leading_0" ; + rdfs:comment "numeric with leading 0" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_true> rdf:type rdft:TestTurtleEval ; + mf:name "literal_true" ; + rdfs:comment "literal true" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#literal_false> rdf:type rdft:TestTurtleEval ; + mf:name "literal_false" ; + rdfs:comment "literal false" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#langtagged_non_LONG> rdf:type rdft:TestTurtleEval ; + mf:name "langtagged_non_LONG" ; + rdfs:comment "langtagged non-LONG \"x\"@en" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#langtagged_LONG> rdf:type rdft:TestTurtleEval ; + mf:name "langtagged_LONG" ; + rdfs:comment "langtagged LONG \"\"\"x\"\"\"@en" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#lantag_with_subtag> rdf:type rdft:TestTurtleEval ; + mf:name "lantag_with_subtag" ; + rdfs:comment "lantag with subtag \"x\"@en-us" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#objectList_with_two_objects> rdf:type rdft:TestTurtleEval ; + mf:name "objectList_with_two_objects" ; + rdfs:comment "objectList with two objects … ," ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#predicateObjectList_with_two_objectLists> rdf:type rdft:TestTurtleEval ; + mf:name "predicateObjectList_with_two_objectLists" ; + rdfs:comment "predicateObjectList with two objectLists … ," ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#repeated_semis_at_end> rdf:type rdft:TestTurtleEval ; + mf:name "repeated_semis_at_end" ; + rdfs:comment "repeated semis at end

;; ." ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#repeated_semis_not_at_end> rdf:type rdft:TestTurtleEval ; + mf:name "repeated_semis_not_at_end" ; + rdfs:comment "repeated semis not at end

;;." ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +# original tests-ttl +<#turtle-syntax-file-01> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-file-01" ; + rdfs:comment "Empty file" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-file-02> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-file-02" ; + rdfs:comment "Only comment" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-file-03> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-file-03" ; + rdfs:comment "One comment, one empty line" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-uri-01> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-uri-01" ; + rdfs:comment "Only IRIs" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-uri-02> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-uri-02" ; + rdfs:comment "IRIs with Unicode escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-uri-03> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-uri-03" ; + rdfs:comment "IRIs with long Unicode escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-uri-04> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-uri-04" ; + rdfs:comment "Legal IRIs" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-base-01> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-base-01" ; + rdfs:comment "@base" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-base-02> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-base-02" ; + rdfs:comment "BASE" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-base-03> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-base-03" ; + rdfs:comment "@base with relative IRIs" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-base-04> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-base-04" ; + rdfs:comment "base with relative IRIs" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-prefix-01> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-prefix-01" ; + rdfs:comment "@prefix" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-prefix-02> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-prefix-02" ; + rdfs:comment "PreFIX" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-prefix-03> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-prefix-03" ; + rdfs:comment "Empty PREFIX" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-prefix-04> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-prefix-04" ; + rdfs:comment "Empty @prefix with % escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-prefix-05> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-prefix-05" ; + rdfs:comment "@prefix with no suffix" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-prefix-06> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-prefix-06" ; + rdfs:comment "colon is a legal pname character" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-prefix-07> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-prefix-07" ; + rdfs:comment "dash is a legal pname character" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-prefix-08> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-prefix-08" ; + rdfs:comment "underscore is a legal pname character" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-prefix-09> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-prefix-09" ; + rdfs:comment "percents in pnames" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-string-01> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-string-01" ; + rdfs:comment "string literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-string-02> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-string-02" ; + rdfs:comment "langString literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-string-03> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-string-03" ; + rdfs:comment "langString literal with region" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-string-04> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-string-04" ; + rdfs:comment "squote string literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-string-05> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-string-05" ; + rdfs:comment "squote langString literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-string-06> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-string-06" ; + rdfs:comment "squote langString literal with region" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-string-07> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-string-07" ; + rdfs:comment "long string literal with embedded single- and double-quotes" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-string-08> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-string-08" ; + rdfs:comment "long string literal with embedded newline" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-string-09> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-string-09" ; + rdfs:comment "squote long string literal with embedded single- and double-quotes" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-string-10> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-string-10" ; + rdfs:comment "long langString literal with embedded newline" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-string-11> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-string-11" ; + rdfs:comment "squote long langString literal with embedded newline" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-str-esc-01> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-str-esc-01" ; + rdfs:comment "string literal with escaped newline" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-str-esc-02> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-str-esc-02" ; + rdfs:comment "string literal with Unicode escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-str-esc-03> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-str-esc-03" ; + rdfs:comment "string literal with long Unicode escape" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-pname-esc-01> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-pname-esc-01" ; + rdfs:comment "pname with back-slash escapes" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-pname-esc-02> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-pname-esc-02" ; + rdfs:comment "pname with back-slash escapes (2)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-pname-esc-03> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-pname-esc-03" ; + rdfs:comment "pname with back-slash escapes (3)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bnode-01> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-bnode-01" ; + rdfs:comment "bnode subject" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bnode-02> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-bnode-02" ; + rdfs:comment "bnode object" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bnode-03> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-bnode-03" ; + rdfs:comment "bnode property list object" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bnode-04> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-bnode-04" ; + rdfs:comment "bnode property list object (2)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bnode-05> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-bnode-05" ; + rdfs:comment "bnode property list subject" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bnode-06> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-bnode-06" ; + rdfs:comment "labeled bnode subject" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bnode-07> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-bnode-07" ; + rdfs:comment "labeled bnode subject and object" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bnode-08> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-bnode-08" ; + rdfs:comment "bare bnode property list" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bnode-09> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-bnode-09" ; + rdfs:comment "bnode property list" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bnode-10> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-bnode-10" ; + rdfs:comment "mixed bnode property list and triple" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-number-01> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-number-01" ; + rdfs:comment "integer literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-number-02> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-number-02" ; + rdfs:comment "negative integer literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-number-03> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-number-03" ; + rdfs:comment "positive integer literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-number-04> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-number-04" ; + rdfs:comment "decimal literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-number-05> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-number-05" ; + rdfs:comment "decimal literal (no leading digits)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-number-06> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-number-06" ; + rdfs:comment "negative decimal literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-number-07> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-number-07" ; + rdfs:comment "positive decimal literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-number-08> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-number-08" ; + rdfs:comment "integer literal with decimal lexical confusion" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-number-09> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-number-09" ; + rdfs:comment "double literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-number-10> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-number-10" ; + rdfs:comment "negative double literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-number-11> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-number-11" ; + rdfs:comment "double literal no fraction" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-datatypes-01> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-datatypes-01" ; + rdfs:comment "xsd:byte literal" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-datatypes-02> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-datatypes-02" ; + rdfs:comment "integer as xsd:string" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-kw-01> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-kw-01" ; + rdfs:comment "boolean literal (true)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-kw-02> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-kw-02" ; + rdfs:comment "boolean literal (false)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-kw-03> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-kw-03" ; + rdfs:comment "'a' as keyword" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-struct-01> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-struct-01" ; + rdfs:comment "object list" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-struct-02> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-struct-02" ; + rdfs:comment "predicate list with object list" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-struct-03> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-struct-03" ; + rdfs:comment "predicate list with object list and dangling ';'" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-struct-04> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-struct-04" ; + rdfs:comment "predicate list with multiple ;;" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-struct-05> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-struct-05" ; + rdfs:comment "predicate list with multiple ;;" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-lists-01> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-lists-01" ; + rdfs:comment "empty list" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-lists-02> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-lists-02" ; + rdfs:comment "mixed list" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-lists-03> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-lists-03" ; + rdfs:comment "isomorphic list as subject and object" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-lists-04> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-lists-04" ; + rdfs:comment "lists of lists" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-lists-05> rdf:type rdft:TestTurtlePositiveSyntax ; + mf:name "turtle-syntax-lists-05" ; + rdfs:comment "mixed lists with embedded lists" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-uri-01> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-uri-01" ; + rdfs:comment "Bad IRI : space (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-uri-02> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-uri-02" ; + rdfs:comment "Bad IRI : bad escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-uri-03> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-uri-03" ; + rdfs:comment "Bad IRI : bad long escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-uri-04> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-uri-04" ; + rdfs:comment "Bad IRI : character escapes not allowed (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-uri-05> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-uri-05" ; + rdfs:comment "Bad IRI : character escapes not allowed (2) (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-prefix-01> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-prefix-01" ; + rdfs:comment "No prefix (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-prefix-02> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-prefix-02" ; + rdfs:comment "No prefix (2) (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-prefix-03> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-prefix-03" ; + rdfs:comment "@prefix without URI (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-prefix-04> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-prefix-04" ; + rdfs:comment "@prefix without prefix name (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-prefix-05> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-prefix-05" ; + rdfs:comment "@prefix without ':' (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-base-01> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-base-01" ; + rdfs:comment "@base without URI (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-base-02> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-base-02" ; + rdfs:comment "@base in wrong case (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-base-03> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-base-03" ; + rdfs:comment "BASE without URI (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-01> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-01" ; + rdfs:comment "Turtle is not TriG (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-02> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-02" ; + rdfs:comment "Turtle is not N3 (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-03> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-03" ; + rdfs:comment "Turtle is not NQuads (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-04> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-04" ; + rdfs:comment "Turtle does not allow literals-as-subjects (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-05> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-05" ; + rdfs:comment "Turtle does not allow literals-as-predicates (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-06> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-06" ; + rdfs:comment "Turtle does not allow bnodes-as-predicates (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-07> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-07" ; + rdfs:comment "Turtle does not allow labeled bnodes-as-predicates (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-kw-01> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-kw-01" ; + rdfs:comment "'A' is not a keyword (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-kw-02> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-kw-02" ; + rdfs:comment "'a' cannot be used as subject (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-kw-03> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-kw-03" ; + rdfs:comment "'a' cannot be used as object (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-kw-04> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-kw-04" ; + rdfs:comment "'true' cannot be used as subject (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-kw-05> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-kw-05" ; + rdfs:comment "'true' cannot be used as object (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-n3-extras-01> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-n3-extras-01" ; + rdfs:comment "{} fomulae not in Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-n3-extras-02> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-n3-extras-02" ; + rdfs:comment "= is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-n3-extras-03> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-n3-extras-03" ; + rdfs:comment "N3 paths not in Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-n3-extras-04> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-n3-extras-04" ; + rdfs:comment "N3 paths not in Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-n3-extras-05> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-n3-extras-05" ; + rdfs:comment "N3 is...of not in Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-n3-extras-06> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-n3-extras-06" ; + rdfs:comment "N3 paths not in Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-n3-extras-07> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-n3-extras-07" ; + rdfs:comment "@keywords is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-n3-extras-08> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-n3-extras-08" ; + rdfs:comment "@keywords is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-n3-extras-09> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-n3-extras-09" ; + rdfs:comment "=> is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-n3-extras-10> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-n3-extras-10" ; + rdfs:comment "<= is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-n3-extras-11> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-n3-extras-11" ; + rdfs:comment "@forSome is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-n3-extras-12> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-n3-extras-12" ; + rdfs:comment "@forAll is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-n3-extras-13> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-n3-extras-13" ; + rdfs:comment "@keywords is not Turtle (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-08> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-08" ; + rdfs:comment "missing '.' (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-09> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-09" ; + rdfs:comment "extra '.' (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-10> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-10" ; + rdfs:comment "extra '.' (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-11> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-11" ; + rdfs:comment "trailing ';' no '.' (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-12> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-12" ; + rdfs:comment "subject, predicate, no object (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-13> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-13" ; + rdfs:comment "subject, predicate, no object (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-14> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-14" ; + rdfs:comment "literal as subject (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-15> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-15" ; + rdfs:comment "literal as predicate (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-16> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-16" ; + rdfs:comment "bnode as predicate (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-struct-17> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-struct-17" ; + rdfs:comment "labeled bnode as predicate (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-lang-01> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-lang-01" ; + rdfs:comment "langString with bad lang (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-esc-01> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-esc-01" ; + rdfs:comment "Bad string escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-esc-02> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-esc-02" ; + rdfs:comment "Bad string escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-esc-03> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-esc-03" ; + rdfs:comment "Bad string escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-esc-04> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-esc-04" ; + rdfs:comment "Bad string escape (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-pname-01> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-pname-01" ; + rdfs:comment "'~' must be escaped in pname (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-pname-02> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-pname-02" ; + rdfs:comment "Bad %-sequence in pname (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-pname-03> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-pname-03" ; + rdfs:comment "Bad unicode escape in pname (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-string-01> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-string-01" ; + rdfs:comment "mismatching string literal open/close (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-string-02> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-string-02" ; + rdfs:comment "mismatching string literal open/close (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-string-03> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-string-03" ; + rdfs:comment "mismatching string literal long/short (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-string-04> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-string-04" ; + rdfs:comment "mismatching long string literal open/close (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-string-05> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-string-05" ; + rdfs:comment "Long literal with missing end (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-string-06> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-string-06" ; + rdfs:comment "Long literal with extra quote (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-string-07> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-string-07" ; + rdfs:comment "Long literal with extra squote (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-num-01> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-num-01" ; + rdfs:comment "Bad number format (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-num-02> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-num-02" ; + rdfs:comment "Bad number format (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-num-03> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-num-03" ; + rdfs:comment "Bad number format (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-num-04> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-num-04" ; + rdfs:comment "Bad number format (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-syntax-bad-num-05> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-num-05" ; + rdfs:comment "Bad number format (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-eval-struct-01> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-eval-struct-01" ; + rdfs:comment "triple with IRIs" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-eval-struct-02> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-eval-struct-02" ; + rdfs:comment "triple with IRIs and embedded whitespace" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-01> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-01" ; + rdfs:comment "Blank subject" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-02> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-02" ; + rdfs:comment "@prefix and qnames" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-03> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-03" ; + rdfs:comment ", operator" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-04> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-04" ; + rdfs:comment "; operator" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-05> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-05" ; + rdfs:comment "empty [] as subject and object" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-06> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-06" ; + rdfs:comment "non-empty [] as subject and object" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-07> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-07" ; + rdfs:comment "'a' as predicate" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-08> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-08" ; + rdfs:comment "simple collection" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-09> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-09" ; + rdfs:comment "empty collection" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-10> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-10" ; + rdfs:comment "integer datatyped literal" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-11> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-11" ; + rdfs:comment "decimal integer canonicalization" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-12> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-12" ; + rdfs:comment "- and _ in names and qnames" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-13> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-13" ; + rdfs:comment "tests for rdf:_ and other qnames starting with _" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-14> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-14" ; + rdfs:comment "bare : allowed" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-15> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-15" ; + rdfs:comment "simple long literal" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-16> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-16" ; + rdfs:comment "long literals with escapes" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-17> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-17" ; + rdfs:comment "floating point number" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-18> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-18" ; + rdfs:comment "empty literals, normal and long variant" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-19> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-19" ; + rdfs:comment "positive integer, decimal and doubles" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-20> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-20" ; + rdfs:comment "negative integer, decimal and doubles" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-21> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-21" ; + rdfs:comment "long literal ending in double quote" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-22> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-22" ; + rdfs:comment "boolean literals" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-23> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-23" ; + rdfs:comment "comments" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-24> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-24" ; + rdfs:comment "no final mewline" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-25> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-25" ; + rdfs:comment "repeating a @prefix changes pname definition" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-26> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-26" ; + rdfs:comment "Variations on decimal canonicalization" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-subm-27> rdf:type rdft:TestTurtleEval ; + mf:name "turtle-subm-27" ; + rdfs:comment "Repeating @base changes base for relative IRI lookup" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-eval-bad-01> rdf:type rdft:TestTurtleNegativeEval ; + mf:name "turtle-eval-bad-01" ; + rdfs:comment "Bad IRI : good escape, bad charcater (negative evaluation test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-eval-bad-02> rdf:type rdft:TestTurtleNegativeEval ; + mf:name "turtle-eval-bad-02" ; + rdfs:comment "Bad IRI : hex 3C is < (negative evaluation test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-eval-bad-03> rdf:type rdft:TestTurtleNegativeEval ; + mf:name "turtle-eval-bad-03" ; + rdfs:comment "Bad IRI : hex 3E is (negative evaluation test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#turtle-eval-bad-04> rdf:type rdft:TestTurtleNegativeEval ; + mf:name "turtle-eval-bad-04" ; + rdfs:comment "Bad IRI : {abc} (negative evaluation test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +# tests requested by Jeremy Carroll +# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c35 +<#comment_following_localName> rdf:type rdft:TestTurtleEval ; + mf:name "comment_following_localName" ; + rdfs:comment "comment following localName" ; + rdft:approval rdft:Proposed ; + mf:action ; + mf:result ; + . + +<#number_sign_following_localName> rdf:type rdft:TestTurtleEval ; + mf:name "number_sign_following_localName" ; + rdfs:comment "number sign following localName" ; + rdft:approval rdft:Proposed ; + mf:action ; + mf:result ; + . + +<#comment_following_PNAME_NS> rdf:type rdft:TestTurtleEval ; + mf:name "comment_following_PNAME_NS" ; + rdfs:comment "comment following PNAME_NS" ; + rdft:approval rdft:Proposed ; + mf:action ; + mf:result ; + . + +<#number_sign_following_PNAME_NS> rdf:type rdft:TestTurtleEval ; + mf:name "number_sign_following_PNAME_NS" ; + rdfs:comment "number sign following PNAME_NS" ; + rdft:approval rdft:Proposed ; + mf:action ; + mf:result ; + . + +# tests from Dave Beckett +# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c28 +<#LITERAL_LONG2_with_REVERSE_SOLIDUS> rdf:type rdft:TestTurtleEval ; + mf:name "LITERAL_LONG2_with_REVERSE_SOLIDUS" ; + rdfs:comment "REVERSE SOLIDUS at end of LITERAL_LONG2" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#turtle-syntax-bad-LITERAL2_with_langtag_and_datatype> rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "turtle-syntax-bad-num-05" ; + rdfs:comment "Bad number format (negative test)" ; + rdft:approval rdft:Approved ; + mf:action ; + . + +<#two_LITERAL_LONG2s> rdf:type rdft:TestTurtleEval ; + mf:name "two_LITERAL_LONG2s" ; + rdfs:comment "two LITERAL_LONG2s testing quote delimiter overrun" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +<#langtagged_LONG_with_subtag> rdf:type rdft:TestTurtleEval ; + mf:name "langtagged_LONG_with_subtag" ; + rdfs:comment "langtagged LONG with subtag \"\"\"Cheers\"\"\"@en-UK" ; + rdft:approval rdft:Approved ; + mf:action ; + mf:result ; + . + +# tests from David Robillard +# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c21 +<#turtle-syntax-bad-blank-label-dot-end> + rdf:type rdft:TestTurtleNegativeSyntax ; + rdfs:comment "Blank node label must not end in dot" ; + mf:name "turtle-syntax-bad-blank-label-dot-end" ; + rdft:approval rdft:Approved ; + mf:action . + +<#turtle-syntax-bad-number-dot-in-anon> + rdf:type rdft:TestTurtleNegativeSyntax ; + rdfs:comment "Dot delimeter may not appear in anonymous nodes" ; + mf:name "turtle-syntax-bad-number-dot-in-anon" ; + rdft:approval rdft:Approved ; + mf:action . + +<#turtle-syntax-bad-ln-dash-start> + rdf:type rdft:TestTurtleNegativeSyntax ; + rdfs:comment "Local name must not begin with dash" ; + mf:name "turtle-syntax-bad-ln-dash-start" ; + rdft:approval rdft:Approved ; + mf:action . + +<#turtle-syntax-bad-ln-escape> + rdf:type rdft:TestTurtleNegativeSyntax ; + rdfs:comment "Bad hex escape in local name" ; + mf:name "turtle-syntax-bad-ln-escape" ; + rdft:approval rdft:Approved ; + mf:action . + +<#turtle-syntax-bad-ln-escape-start> + rdf:type rdft:TestTurtleNegativeSyntax ; + rdfs:comment "Bad hex escape at start of local name" ; + mf:name "turtle-syntax-bad-ln-escape-start" ; + rdft:approval rdft:Approved ; + mf:action . + +<#turtle-syntax-bad-ns-dot-end> + rdf:type rdft:TestTurtleNegativeSyntax ; + rdfs:comment "Prefix must not end in dot" ; + mf:name "turtle-syntax-bad-ns-dot-end" ; + rdft:approval rdft:Approved ; + mf:action . + +<#turtle-syntax-bad-ns-dot-start> + rdf:type rdft:TestTurtleNegativeSyntax ; + rdfs:comment "Prefix must not start with dot" ; + mf:name "turtle-syntax-bad-ns-dot-start" ; + rdft:approval rdft:Approved ; + mf:action . + +<#turtle-syntax-bad-missing-ns-dot-end> + rdf:type rdft:TestTurtleNegativeSyntax ; + rdfs:comment "Prefix must not end in dot (error in triple, not prefix directive like turtle-syntax-bad-ns-dot-end)" ; + mf:name "turtle-syntax-bad-missing-ns-dot-end" ; + rdft:approval rdft:Approved ; + mf:action . + +<#turtle-syntax-bad-missing-ns-dot-start> + rdf:type rdft:TestTurtleNegativeSyntax ; + rdfs:comment "Prefix must not start with dot (error in triple, not prefix directive like turtle-syntax-bad-ns-dot-end)" ; + mf:name "turtle-syntax-bad-missing-ns-dot-start" ; + rdft:approval rdft:Approved ; + mf:action . + +<#turtle-syntax-ln-dots> + rdf:type rdft:TestTurtlePositiveSyntax ; + rdfs:comment "Dots in pname local names" ; + mf:name "turtle-syntax-ln-dots" ; + rdft:approval rdft:Approved ; + mf:action . + +<#turtle-syntax-ln-colons> + rdf:type rdft:TestTurtlePositiveSyntax ; + rdfs:comment "Colons in pname local names" ; + mf:name "turtle-syntax-ln-colons" ; + rdft:approval rdft:Approved ; + mf:action . + +<#turtle-syntax-ns-dots> + rdf:type rdft:TestTurtlePositiveSyntax ; + rdfs:comment "Dots in namespace names" ; + mf:name "turtle-syntax-ns-dots" ; + rdft:approval rdft:Approved ; + mf:action . + +<#turtle-syntax-blank-label> + rdf:type rdft:TestTurtlePositiveSyntax ; + rdfs:comment "Characters allowed in blank node labels" ; + mf:name "turtle-syntax-blank-label" ; + rdft:approval rdft:Approved ; + mf:action . diff --git a/test/TurtleTests/negative_numeric.nt b/test/TurtleTests/negative_numeric.nt new file mode 100644 index 00000000..4baf628d --- /dev/null +++ b/test/TurtleTests/negative_numeric.nt @@ -0,0 +1 @@ + "-1"^^ . diff --git a/test/TurtleTests/negative_numeric.ttl b/test/TurtleTests/negative_numeric.ttl new file mode 100644 index 00000000..a6a7f57b --- /dev/null +++ b/test/TurtleTests/negative_numeric.ttl @@ -0,0 +1 @@ + -1 . diff --git a/test/TurtleTests/nested_blankNodePropertyLists.nt b/test/TurtleTests/nested_blankNodePropertyLists.nt new file mode 100644 index 00000000..5284c007 --- /dev/null +++ b/test/TurtleTests/nested_blankNodePropertyLists.nt @@ -0,0 +1,3 @@ +_:b1 _:b2 . +_:b2 . +_:b1 . diff --git a/test/TurtleTests/nested_blankNodePropertyLists.ttl b/test/TurtleTests/nested_blankNodePropertyLists.ttl new file mode 100644 index 00000000..a3e4681c --- /dev/null +++ b/test/TurtleTests/nested_blankNodePropertyLists.ttl @@ -0,0 +1 @@ +[ [ ] ; ]. diff --git a/test/TurtleTests/nested_collection.nt b/test/TurtleTests/nested_collection.nt new file mode 100644 index 00000000..eaea2847 --- /dev/null +++ b/test/TurtleTests/nested_collection.nt @@ -0,0 +1,5 @@ + _:b1 . +_:b1 _:b2 . +_:b2 "1"^^ . +_:b2 . +_:b1 . diff --git a/test/TurtleTests/nested_collection.ttl b/test/TurtleTests/nested_collection.ttl new file mode 100644 index 00000000..944e7c6b --- /dev/null +++ b/test/TurtleTests/nested_collection.ttl @@ -0,0 +1 @@ + ((1)) . diff --git a/test/TurtleTests/number_sign_following_PNAME_NS.nt b/test/TurtleTests/number_sign_following_PNAME_NS.nt new file mode 100644 index 00000000..82d9629a --- /dev/null +++ b/test/TurtleTests/number_sign_following_PNAME_NS.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/number_sign_following_PNAME_NS.ttl b/test/TurtleTests/number_sign_following_PNAME_NS.ttl new file mode 100644 index 00000000..2003fa4d --- /dev/null +++ b/test/TurtleTests/number_sign_following_PNAME_NS.ttl @@ -0,0 +1,3 @@ +@prefix p: . + p:\#numbersign +. diff --git a/test/TurtleTests/number_sign_following_localName.nt b/test/TurtleTests/number_sign_following_localName.nt new file mode 100644 index 00000000..5ae57b8d --- /dev/null +++ b/test/TurtleTests/number_sign_following_localName.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/number_sign_following_localName.ttl b/test/TurtleTests/number_sign_following_localName.ttl new file mode 100644 index 00000000..a0e39ecd --- /dev/null +++ b/test/TurtleTests/number_sign_following_localName.ttl @@ -0,0 +1,3 @@ +@prefix p: . + p:o\#numbersign +. diff --git a/test/TurtleTests/numeric_with_leading_0.nt b/test/TurtleTests/numeric_with_leading_0.nt new file mode 100644 index 00000000..1df5c472 --- /dev/null +++ b/test/TurtleTests/numeric_with_leading_0.nt @@ -0,0 +1 @@ + "01"^^ . diff --git a/test/TurtleTests/numeric_with_leading_0.ttl b/test/TurtleTests/numeric_with_leading_0.ttl new file mode 100644 index 00000000..a5eac209 --- /dev/null +++ b/test/TurtleTests/numeric_with_leading_0.ttl @@ -0,0 +1 @@ + 01 . diff --git a/test/TurtleTests/objectList_with_two_objects.nt b/test/TurtleTests/objectList_with_two_objects.nt new file mode 100644 index 00000000..7f8e9c0f --- /dev/null +++ b/test/TurtleTests/objectList_with_two_objects.nt @@ -0,0 +1,2 @@ + . + . diff --git a/test/TurtleTests/objectList_with_two_objects.ttl b/test/TurtleTests/objectList_with_two_objects.ttl new file mode 100644 index 00000000..b12f02d1 --- /dev/null +++ b/test/TurtleTests/objectList_with_two_objects.ttl @@ -0,0 +1 @@ + , . diff --git a/test/TurtleTests/old_style_base.ttl b/test/TurtleTests/old_style_base.ttl new file mode 100644 index 00000000..f0f4c03c --- /dev/null +++ b/test/TurtleTests/old_style_base.ttl @@ -0,0 +1,2 @@ +@base . + . diff --git a/test/TurtleTests/old_style_prefix.ttl b/test/TurtleTests/old_style_prefix.ttl new file mode 100644 index 00000000..59595672 --- /dev/null +++ b/test/TurtleTests/old_style_prefix.ttl @@ -0,0 +1,2 @@ +@prefix p: . +p:s . diff --git a/test/TurtleTests/percent_escaped_localName.nt b/test/TurtleTests/percent_escaped_localName.nt new file mode 100644 index 00000000..e0af4b62 --- /dev/null +++ b/test/TurtleTests/percent_escaped_localName.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/percent_escaped_localName.ttl b/test/TurtleTests/percent_escaped_localName.ttl new file mode 100644 index 00000000..0564ccab --- /dev/null +++ b/test/TurtleTests/percent_escaped_localName.ttl @@ -0,0 +1,2 @@ +@prefix p: . +p:%25 . diff --git a/test/TurtleTests/positive_numeric.nt b/test/TurtleTests/positive_numeric.nt new file mode 100644 index 00000000..96e6086a --- /dev/null +++ b/test/TurtleTests/positive_numeric.nt @@ -0,0 +1 @@ + "+1"^^ . diff --git a/test/TurtleTests/positive_numeric.ttl b/test/TurtleTests/positive_numeric.ttl new file mode 100644 index 00000000..606691d9 --- /dev/null +++ b/test/TurtleTests/positive_numeric.ttl @@ -0,0 +1 @@ + +1 . diff --git a/test/TurtleTests/predicateObjectList_with_two_objectLists.nt b/test/TurtleTests/predicateObjectList_with_two_objectLists.nt new file mode 100644 index 00000000..274182c7 --- /dev/null +++ b/test/TurtleTests/predicateObjectList_with_two_objectLists.nt @@ -0,0 +1,2 @@ + . + . diff --git a/test/TurtleTests/predicateObjectList_with_two_objectLists.ttl b/test/TurtleTests/predicateObjectList_with_two_objectLists.ttl new file mode 100644 index 00000000..337b132f --- /dev/null +++ b/test/TurtleTests/predicateObjectList_with_two_objectLists.ttl @@ -0,0 +1 @@ + ; . diff --git a/test/TurtleTests/prefix_only_IRI.ttl b/test/TurtleTests/prefix_only_IRI.ttl new file mode 100644 index 00000000..9ff66603 --- /dev/null +++ b/test/TurtleTests/prefix_only_IRI.ttl @@ -0,0 +1,2 @@ +@prefix p: . +p: . diff --git a/test/TurtleTests/prefix_reassigned_and_used.nt b/test/TurtleTests/prefix_reassigned_and_used.nt new file mode 100644 index 00000000..68bc9efe --- /dev/null +++ b/test/TurtleTests/prefix_reassigned_and_used.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/prefix_reassigned_and_used.ttl b/test/TurtleTests/prefix_reassigned_and_used.ttl new file mode 100644 index 00000000..1f948597 --- /dev/null +++ b/test/TurtleTests/prefix_reassigned_and_used.ttl @@ -0,0 +1,3 @@ +@prefix p: . +@prefix p: . +p:s . diff --git a/test/TurtleTests/prefix_with_PN_CHARS_BASE_character_boundaries.ttl b/test/TurtleTests/prefix_with_PN_CHARS_BASE_character_boundaries.ttl new file mode 100644 index 00000000..bc436bd2 --- /dev/null +++ b/test/TurtleTests/prefix_with_PN_CHARS_BASE_character_boundaries.ttl @@ -0,0 +1,2 @@ +@prefix AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽: . + AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽:o . diff --git a/test/TurtleTests/prefix_with_non_leading_extras.ttl b/test/TurtleTests/prefix_with_non_leading_extras.ttl new file mode 100644 index 00000000..193460a8 --- /dev/null +++ b/test/TurtleTests/prefix_with_non_leading_extras.ttl @@ -0,0 +1,2 @@ +@prefix a·̀ͯ‿.⁀: . +a·̀ͯ‿.⁀:s . diff --git a/test/TurtleTests/prefixed_IRI_object.ttl b/test/TurtleTests/prefixed_IRI_object.ttl new file mode 100644 index 00000000..c2d50362 --- /dev/null +++ b/test/TurtleTests/prefixed_IRI_object.ttl @@ -0,0 +1,2 @@ +@prefix p: . + p:o . diff --git a/test/TurtleTests/prefixed_IRI_predicate.ttl b/test/TurtleTests/prefixed_IRI_predicate.ttl new file mode 100644 index 00000000..2c1e5cc7 --- /dev/null +++ b/test/TurtleTests/prefixed_IRI_predicate.ttl @@ -0,0 +1,2 @@ +@prefix p: . + p:p . diff --git a/test/TurtleTests/prefixed_name_datatype.ttl b/test/TurtleTests/prefixed_name_datatype.ttl new file mode 100644 index 00000000..4a526073 --- /dev/null +++ b/test/TurtleTests/prefixed_name_datatype.ttl @@ -0,0 +1,2 @@ +@prefix xsd: . + "1"^^xsd:integer . diff --git a/test/TurtleTests/repeated_semis_at_end.ttl b/test/TurtleTests/repeated_semis_at_end.ttl new file mode 100644 index 00000000..8a4d9356 --- /dev/null +++ b/test/TurtleTests/repeated_semis_at_end.ttl @@ -0,0 +1 @@ + ;; . diff --git a/test/TurtleTests/repeated_semis_not_at_end.nt b/test/TurtleTests/repeated_semis_not_at_end.nt new file mode 100644 index 00000000..9ac6005f --- /dev/null +++ b/test/TurtleTests/repeated_semis_not_at_end.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/repeated_semis_not_at_end.ttl b/test/TurtleTests/repeated_semis_not_at_end.ttl new file mode 100644 index 00000000..3c8144f3 --- /dev/null +++ b/test/TurtleTests/repeated_semis_not_at_end.ttl @@ -0,0 +1 @@ + ;; . diff --git a/test/TurtleTests/reserved_escaped_localName.nt b/test/TurtleTests/reserved_escaped_localName.nt new file mode 100644 index 00000000..1ee4f32e --- /dev/null +++ b/test/TurtleTests/reserved_escaped_localName.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/reserved_escaped_localName.ttl b/test/TurtleTests/reserved_escaped_localName.ttl new file mode 100644 index 00000000..ae97f8af --- /dev/null +++ b/test/TurtleTests/reserved_escaped_localName.ttl @@ -0,0 +1,2 @@ +@prefix p: . +p:\_\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\%00 . diff --git a/test/TurtleTests/sole_blankNodePropertyList.nt b/test/TurtleTests/sole_blankNodePropertyList.nt new file mode 100644 index 00000000..b48df9a7 --- /dev/null +++ b/test/TurtleTests/sole_blankNodePropertyList.nt @@ -0,0 +1 @@ +_:b1 . diff --git a/test/TurtleTests/sole_blankNodePropertyList.ttl b/test/TurtleTests/sole_blankNodePropertyList.ttl new file mode 100644 index 00000000..5cc300f3 --- /dev/null +++ b/test/TurtleTests/sole_blankNodePropertyList.ttl @@ -0,0 +1 @@ +[ ] . diff --git a/test/TurtleTests/turtle-eval-bad-01.ttl b/test/TurtleTests/turtle-eval-bad-01.ttl new file mode 100644 index 00000000..c9c458e8 --- /dev/null +++ b/test/TurtleTests/turtle-eval-bad-01.ttl @@ -0,0 +1,2 @@ +# Bad IRI : good escape, bad charcater + . diff --git a/test/TurtleTests/turtle-eval-bad-02.ttl b/test/TurtleTests/turtle-eval-bad-02.ttl new file mode 100644 index 00000000..f2be6ea5 --- /dev/null +++ b/test/TurtleTests/turtle-eval-bad-02.ttl @@ -0,0 +1,2 @@ +# Bad IRI : hex 3C is < + . diff --git a/test/TurtleTests/turtle-eval-bad-03.ttl b/test/TurtleTests/turtle-eval-bad-03.ttl new file mode 100644 index 00000000..1aec7ff9 --- /dev/null +++ b/test/TurtleTests/turtle-eval-bad-03.ttl @@ -0,0 +1,2 @@ +# Bad IRI : hex 3E is > + . diff --git a/test/TurtleTests/turtle-eval-bad-04.ttl b/test/TurtleTests/turtle-eval-bad-04.ttl new file mode 100644 index 00000000..4b7601b3 --- /dev/null +++ b/test/TurtleTests/turtle-eval-bad-04.ttl @@ -0,0 +1,2 @@ +# Bad IRI + . diff --git a/test/TurtleTests/turtle-eval-struct-01.nt b/test/TurtleTests/turtle-eval-struct-01.nt new file mode 100644 index 00000000..2e2d5baf --- /dev/null +++ b/test/TurtleTests/turtle-eval-struct-01.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/turtle-eval-struct-01.ttl b/test/TurtleTests/turtle-eval-struct-01.ttl new file mode 100644 index 00000000..2e2d5baf --- /dev/null +++ b/test/TurtleTests/turtle-eval-struct-01.ttl @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/turtle-eval-struct-02.nt b/test/TurtleTests/turtle-eval-struct-02.nt new file mode 100644 index 00000000..6cdc856a --- /dev/null +++ b/test/TurtleTests/turtle-eval-struct-02.nt @@ -0,0 +1,2 @@ + . + . diff --git a/test/TurtleTests/turtle-eval-struct-02.ttl b/test/TurtleTests/turtle-eval-struct-02.ttl new file mode 100644 index 00000000..45b9ea05 --- /dev/null +++ b/test/TurtleTests/turtle-eval-struct-02.ttl @@ -0,0 +1,4 @@ + + ; + ; + . diff --git a/test/TurtleTests/turtle-subm-01.nt b/test/TurtleTests/turtle-subm-01.nt new file mode 100644 index 00000000..9efa50de --- /dev/null +++ b/test/TurtleTests/turtle-subm-01.nt @@ -0,0 +1 @@ +_:b1 . diff --git a/test/TurtleTests/turtle-subm-01.ttl b/test/TurtleTests/turtle-subm-01.ttl new file mode 100644 index 00000000..78da35e6 --- /dev/null +++ b/test/TurtleTests/turtle-subm-01.ttl @@ -0,0 +1,2 @@ +@prefix : <#> . +[] :x :y . diff --git a/test/TurtleTests/turtle-subm-02.nt b/test/TurtleTests/turtle-subm-02.nt new file mode 100644 index 00000000..5ccb5bd2 --- /dev/null +++ b/test/TurtleTests/turtle-subm-02.nt @@ -0,0 +1,3 @@ + . + . + . diff --git a/test/TurtleTests/turtle-subm-02.ttl b/test/TurtleTests/turtle-subm-02.ttl new file mode 100644 index 00000000..9070d2c4 --- /dev/null +++ b/test/TurtleTests/turtle-subm-02.ttl @@ -0,0 +1,7 @@ +# Test @prefix and qnames +@prefix : . +@prefix a: . +@prefix b: . +:a :b :c . +a:a a:b a:c . +:a a:a b:a . diff --git a/test/TurtleTests/turtle-subm-03.nt b/test/TurtleTests/turtle-subm-03.nt new file mode 100644 index 00000000..99732ab3 --- /dev/null +++ b/test/TurtleTests/turtle-subm-03.nt @@ -0,0 +1,3 @@ + . + . + . diff --git a/test/TurtleTests/turtle-subm-03.ttl b/test/TurtleTests/turtle-subm-03.ttl new file mode 100644 index 00000000..a623f3c1 --- /dev/null +++ b/test/TurtleTests/turtle-subm-03.ttl @@ -0,0 +1,5 @@ +# Test , operator +@prefix : . +:a :b :c, + :d, + :e . diff --git a/test/TurtleTests/turtle-subm-04.nt b/test/TurtleTests/turtle-subm-04.nt new file mode 100644 index 00000000..d6ce9e8f --- /dev/null +++ b/test/TurtleTests/turtle-subm-04.nt @@ -0,0 +1,3 @@ + . + . + . diff --git a/test/TurtleTests/turtle-subm-04.ttl b/test/TurtleTests/turtle-subm-04.ttl new file mode 100644 index 00000000..9179fa50 --- /dev/null +++ b/test/TurtleTests/turtle-subm-04.ttl @@ -0,0 +1,5 @@ +# Test ; operator +@prefix : . +:a :b :c ; + :d :e ; + :f :g . diff --git a/test/TurtleTests/turtle-subm-05.nt b/test/TurtleTests/turtle-subm-05.nt new file mode 100644 index 00000000..d5d01526 --- /dev/null +++ b/test/TurtleTests/turtle-subm-05.nt @@ -0,0 +1,2 @@ +_:b1 . + _:b2 . diff --git a/test/TurtleTests/turtle-subm-05.ttl b/test/TurtleTests/turtle-subm-05.ttl new file mode 100644 index 00000000..c5181479 --- /dev/null +++ b/test/TurtleTests/turtle-subm-05.ttl @@ -0,0 +1,4 @@ +# Test empty [] operator; not allowed as predicate +@prefix : . +[] :a :b . +:c :d [] . diff --git a/test/TurtleTests/turtle-subm-06.nt b/test/TurtleTests/turtle-subm-06.nt new file mode 100644 index 00000000..d440197f --- /dev/null +++ b/test/TurtleTests/turtle-subm-06.nt @@ -0,0 +1,4 @@ +_:b1 . +_:b1 . + _:b2 . +_:b2 . diff --git a/test/TurtleTests/turtle-subm-06.ttl b/test/TurtleTests/turtle-subm-06.ttl new file mode 100644 index 00000000..adcbcabd --- /dev/null +++ b/test/TurtleTests/turtle-subm-06.ttl @@ -0,0 +1,4 @@ +# Test non empty [] operator; not allowed as predicate +@prefix : . +[ :a :b ] :c :d . +:e :f [ :g :h ] . diff --git a/test/TurtleTests/turtle-subm-07.nt b/test/TurtleTests/turtle-subm-07.nt new file mode 100644 index 00000000..49961ea6 --- /dev/null +++ b/test/TurtleTests/turtle-subm-07.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/turtle-subm-07.ttl b/test/TurtleTests/turtle-subm-07.ttl new file mode 100644 index 00000000..9c1005cc --- /dev/null +++ b/test/TurtleTests/turtle-subm-07.ttl @@ -0,0 +1,3 @@ +# 'a' only allowed as a predicate +@prefix : . +:a a :b . diff --git a/test/TurtleTests/turtle-subm-08.nt b/test/TurtleTests/turtle-subm-08.nt new file mode 100644 index 00000000..e62cede5 --- /dev/null +++ b/test/TurtleTests/turtle-subm-08.nt @@ -0,0 +1,5 @@ + _:b1 . +_:b1 "apple" . +_:b1 _:b2 . +_:b2 "banana" . +_:b2 . diff --git a/test/TurtleTests/turtle-subm-08.ttl b/test/TurtleTests/turtle-subm-08.ttl new file mode 100644 index 00000000..84559403 --- /dev/null +++ b/test/TurtleTests/turtle-subm-08.ttl @@ -0,0 +1,3 @@ +@prefix : . +:a :b ( "apple" "banana" ) . + diff --git a/test/TurtleTests/turtle-subm-09.nt b/test/TurtleTests/turtle-subm-09.nt new file mode 100644 index 00000000..a77939cd --- /dev/null +++ b/test/TurtleTests/turtle-subm-09.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/turtle-subm-09.ttl b/test/TurtleTests/turtle-subm-09.ttl new file mode 100644 index 00000000..adce0a20 --- /dev/null +++ b/test/TurtleTests/turtle-subm-09.ttl @@ -0,0 +1,3 @@ +@prefix : . +:a :b ( ) . + diff --git a/test/TurtleTests/turtle-subm-10.nt b/test/TurtleTests/turtle-subm-10.nt new file mode 100644 index 00000000..c7164085 --- /dev/null +++ b/test/TurtleTests/turtle-subm-10.nt @@ -0,0 +1,4 @@ +_:hasParent . +_:b1 . +_:b1 _:hasParent . +_:b1 "2"^^ . diff --git a/test/TurtleTests/turtle-subm-10.ttl b/test/TurtleTests/turtle-subm-10.ttl new file mode 100644 index 00000000..0afe1b0a --- /dev/null +++ b/test/TurtleTests/turtle-subm-10.ttl @@ -0,0 +1,10 @@ +# Test integer datatyped literals using an OWL cardinality constraint +@prefix owl: . + +# based on examples in the OWL Reference + +_:hasParent a owl:ObjectProperty . + +[] a owl:Restriction ; + owl:onProperty _:hasParent ; + owl:maxCardinality 2 . diff --git a/test/TurtleTests/turtle-subm-11.nt b/test/TurtleTests/turtle-subm-11.nt new file mode 100644 index 00000000..ff88aa6f --- /dev/null +++ b/test/TurtleTests/turtle-subm-11.nt @@ -0,0 +1,5 @@ + "000000"^^ . + "0"^^ . + "000001"^^ . + "2"^^ . + "4"^^ . diff --git a/test/TurtleTests/turtle-subm-11.ttl b/test/TurtleTests/turtle-subm-11.ttl new file mode 100644 index 00000000..5d36360e --- /dev/null +++ b/test/TurtleTests/turtle-subm-11.ttl @@ -0,0 +1,5 @@ + 000000 . + 0 . + 000001 . + 2 . + 4 . diff --git a/test/TurtleTests/turtle-subm-12.nt b/test/TurtleTests/turtle-subm-12.nt new file mode 100644 index 00000000..f936a5b6 --- /dev/null +++ b/test/TurtleTests/turtle-subm-12.nt @@ -0,0 +1,4 @@ + "a" . + "b" . + "c" . + "d" . diff --git a/test/TurtleTests/turtle-subm-12.ttl b/test/TurtleTests/turtle-subm-12.ttl new file mode 100644 index 00000000..3de1a43f --- /dev/null +++ b/test/TurtleTests/turtle-subm-12.ttl @@ -0,0 +1,10 @@ +# Tests for - and _ in names, qnames +@prefix ex1: . +@prefix ex-2: . +@prefix ex3_: . +@prefix ex4-: . + +ex1:foo-bar ex1:foo_bar "a" . +ex-2:foo-bar ex-2:foo_bar "b" . +ex3_:foo-bar ex3_:foo_bar "c" . +ex4-:foo-bar ex4-:foo_bar "d" . diff --git a/test/TurtleTests/turtle-subm-13.nt b/test/TurtleTests/turtle-subm-13.nt new file mode 100644 index 00000000..67404a59 --- /dev/null +++ b/test/TurtleTests/turtle-subm-13.nt @@ -0,0 +1,4 @@ + "1" . + "2" . + "def" . + "678" . diff --git a/test/TurtleTests/turtle-subm-13.ttl b/test/TurtleTests/turtle-subm-13.ttl new file mode 100644 index 00000000..1fed9f5e --- /dev/null +++ b/test/TurtleTests/turtle-subm-13.ttl @@ -0,0 +1,9 @@ +# Tests for rdf:_ and other qnames starting with _ +@prefix rdf: . +@prefix ex: . +@prefix : . + +ex:foo rdf:_1 "1" . +ex:foo rdf:_2 "2" . +ex:foo :_abc "def" . +ex:foo :_345 "678" . diff --git a/test/TurtleTests/turtle-subm-14.nt b/test/TurtleTests/turtle-subm-14.nt new file mode 100644 index 00000000..195a1af7 --- /dev/null +++ b/test/TurtleTests/turtle-subm-14.nt @@ -0,0 +1,2 @@ +_:b1 _:b2 . + . diff --git a/test/TurtleTests/turtle-subm-14.ttl b/test/TurtleTests/turtle-subm-14.ttl new file mode 100644 index 00000000..a8be95be --- /dev/null +++ b/test/TurtleTests/turtle-subm-14.ttl @@ -0,0 +1,7 @@ +# Test for : allowed +@prefix : . + +[] : [] . + +: : : . + diff --git a/test/TurtleTests/turtle-subm-15.nt b/test/TurtleTests/turtle-subm-15.nt new file mode 100644 index 00000000..466edbb2 --- /dev/null +++ b/test/TurtleTests/turtle-subm-15.nt @@ -0,0 +1 @@ + "a long\n\tliteral\nwith\nnewlines" . diff --git a/test/TurtleTests/turtle-subm-15.ttl b/test/TurtleTests/turtle-subm-15.ttl new file mode 100644 index 00000000..86c453bd --- /dev/null +++ b/test/TurtleTests/turtle-subm-15.ttl @@ -0,0 +1,6 @@ +# Test long literal +@prefix : . +:a :b """a long + literal +with +newlines""" . diff --git a/test/TurtleTests/turtle-subm-16.nt b/test/TurtleTests/turtle-subm-16.nt new file mode 100644 index 00000000..7726bbfc --- /dev/null +++ b/test/TurtleTests/turtle-subm-16.nt @@ -0,0 +1,2 @@ + "\nthis \ris a \U00012451long\t\nliteral\uABCD\n" . + "\tThis \uABCDis\r \U00012451another\n\none\n" . diff --git a/test/TurtleTests/turtle-subm-16.ttl b/test/TurtleTests/turtle-subm-16.ttl new file mode 100644 index 00000000..f5482d4a --- /dev/null +++ b/test/TurtleTests/turtle-subm-16.ttl @@ -0,0 +1,20 @@ +@prefix : . + +## \U00015678 is a not a legal codepoint +## :a :b """\nthis \ris a \U00015678long\t +## literal\uABCD +## """ . +## +## :d :e """\tThis \uABCDis\r \U00015678another\n +## one +## """ . + +# \U00015678 is a not a legal codepoint +# \U00012451 in Cuneiform numeric ban 3 +:a :b """\nthis \ris a \U00012451long\t +literal\uABCD +""" . + +:d :e """\tThis \uABCDis\r \U00012451another\n +one +""" . diff --git a/test/TurtleTests/turtle-subm-17.nt b/test/TurtleTests/turtle-subm-17.nt new file mode 100644 index 00000000..2e2dbe40 --- /dev/null +++ b/test/TurtleTests/turtle-subm-17.nt @@ -0,0 +1 @@ + "1.0"^^ . diff --git a/test/TurtleTests/turtle-subm-17.ttl b/test/TurtleTests/turtle-subm-17.ttl new file mode 100644 index 00000000..9de0c07b --- /dev/null +++ b/test/TurtleTests/turtle-subm-17.ttl @@ -0,0 +1,4 @@ +@prefix : . + +:a :b 1.0 . + diff --git a/test/TurtleTests/turtle-subm-18.nt b/test/TurtleTests/turtle-subm-18.nt new file mode 100644 index 00000000..fff2da56 --- /dev/null +++ b/test/TurtleTests/turtle-subm-18.nt @@ -0,0 +1,2 @@ + "" . + "" . diff --git a/test/TurtleTests/turtle-subm-18.ttl b/test/TurtleTests/turtle-subm-18.ttl new file mode 100644 index 00000000..37a9a4f3 --- /dev/null +++ b/test/TurtleTests/turtle-subm-18.ttl @@ -0,0 +1,6 @@ +@prefix : . + +:a :b "" . + +:c :d """""" . + diff --git a/test/TurtleTests/turtle-subm-19.nt b/test/TurtleTests/turtle-subm-19.nt new file mode 100644 index 00000000..d5dca690 --- /dev/null +++ b/test/TurtleTests/turtle-subm-19.nt @@ -0,0 +1,3 @@ + "1.0"^^ . + "1"^^ . + "1.0e0"^^ . diff --git a/test/TurtleTests/turtle-subm-19.ttl b/test/TurtleTests/turtle-subm-19.ttl new file mode 100644 index 00000000..a8e8dc15 --- /dev/null +++ b/test/TurtleTests/turtle-subm-19.ttl @@ -0,0 +1,4 @@ +@prefix : . +:a :b 1.0 . +:c :d 1 . +:e :f 1.0e0 . diff --git a/test/TurtleTests/turtle-subm-20.nt b/test/TurtleTests/turtle-subm-20.nt new file mode 100644 index 00000000..3d0f970e --- /dev/null +++ b/test/TurtleTests/turtle-subm-20.nt @@ -0,0 +1,3 @@ + "-1.0"^^ . + "-1"^^ . + "-1.0e0"^^ . diff --git a/test/TurtleTests/turtle-subm-20.ttl b/test/TurtleTests/turtle-subm-20.ttl new file mode 100644 index 00000000..9b1a725a --- /dev/null +++ b/test/TurtleTests/turtle-subm-20.ttl @@ -0,0 +1,4 @@ +@prefix : . +:a :b -1.0 . +:c :d -1 . +:e :f -1.0e0 . diff --git a/test/TurtleTests/turtle-subm-21.nt b/test/TurtleTests/turtle-subm-21.nt new file mode 100644 index 00000000..fde31312 --- /dev/null +++ b/test/TurtleTests/turtle-subm-21.nt @@ -0,0 +1 @@ + "John said: \"Hello World!\"" . diff --git a/test/TurtleTests/turtle-subm-21.ttl b/test/TurtleTests/turtle-subm-21.ttl new file mode 100644 index 00000000..9f5360af --- /dev/null +++ b/test/TurtleTests/turtle-subm-21.ttl @@ -0,0 +1,3 @@ +# Test long literal +@prefix : . +:a :b """John said: "Hello World!\"""" . diff --git a/test/TurtleTests/turtle-subm-22.nt b/test/TurtleTests/turtle-subm-22.nt new file mode 100644 index 00000000..5a70bff1 --- /dev/null +++ b/test/TurtleTests/turtle-subm-22.nt @@ -0,0 +1,2 @@ + "true"^^ . + "false"^^ . diff --git a/test/TurtleTests/turtle-subm-22.ttl b/test/TurtleTests/turtle-subm-22.ttl new file mode 100644 index 00000000..25f3b757 --- /dev/null +++ b/test/TurtleTests/turtle-subm-22.ttl @@ -0,0 +1,3 @@ +@prefix : . +:a :b true . +:c :d false . diff --git a/test/TurtleTests/turtle-subm-23.nt b/test/TurtleTests/turtle-subm-23.nt new file mode 100644 index 00000000..1a38415f --- /dev/null +++ b/test/TurtleTests/turtle-subm-23.nt @@ -0,0 +1,7 @@ + . + . + . + . + . + . + . diff --git a/test/TurtleTests/turtle-subm-23.ttl b/test/TurtleTests/turtle-subm-23.ttl new file mode 100644 index 00000000..310349da --- /dev/null +++ b/test/TurtleTests/turtle-subm-23.ttl @@ -0,0 +1,14 @@ +# comment test +@prefix : . +:a :b :c . # end of line comment +:d # ignore me + :e # and me + :f # and me + . +:g :h #ignore me + :i, # and me + :j . # and me + +:k :l :m ; #ignore me + :n :o ; # and me + :p :q . # and me diff --git a/test/TurtleTests/turtle-subm-24.nt b/test/TurtleTests/turtle-subm-24.nt new file mode 100644 index 00000000..ad105cf4 --- /dev/null +++ b/test/TurtleTests/turtle-subm-24.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/turtle-subm-24.ttl b/test/TurtleTests/turtle-subm-24.ttl new file mode 100644 index 00000000..0667c6b4 --- /dev/null +++ b/test/TurtleTests/turtle-subm-24.ttl @@ -0,0 +1,4 @@ +# comment line with no final newline test +@prefix : . +:a :b :c . +#foo diff --git a/test/TurtleTests/turtle-subm-25.nt b/test/TurtleTests/turtle-subm-25.nt new file mode 100644 index 00000000..7da0635b --- /dev/null +++ b/test/TurtleTests/turtle-subm-25.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/turtle-subm-25.ttl b/test/TurtleTests/turtle-subm-25.ttl new file mode 100644 index 00000000..569023c8 --- /dev/null +++ b/test/TurtleTests/turtle-subm-25.ttl @@ -0,0 +1,5 @@ +@prefix foo: . +@prefix foo: . + +foo:blah foo:blah foo:blah . + diff --git a/test/TurtleTests/turtle-subm-26.nt b/test/TurtleTests/turtle-subm-26.nt new file mode 100644 index 00000000..7357dd40 --- /dev/null +++ b/test/TurtleTests/turtle-subm-26.nt @@ -0,0 +1,22 @@ + "2.345"^^ . + "1"^^ . + "1.0"^^ . + "1."^^ . + "1.000000000"^^ . + "2.3"^^ . + "2.234000005"^^ . + "2.2340000005"^^ . + "2.23400000005"^^ . + "2.234000000005"^^ . + "2.2340000000005"^^ . + "2.23400000000005"^^ . + "2.234000000000005"^^ . + "2.2340000000000005"^^ . + "2.23400000000000005"^^ . + "2.234000000000000005"^^ . + "2.2340000000000000005"^^ . + "2.23400000000000000005"^^ . + "2.234000000000000000005"^^ . + "2.2340000000000000000005"^^ . + "2.23400000000000000000005"^^ . + "1.2345678901234567890123457890"^^ . diff --git a/test/TurtleTests/turtle-subm-26.ttl b/test/TurtleTests/turtle-subm-26.ttl new file mode 100644 index 00000000..7357dd40 --- /dev/null +++ b/test/TurtleTests/turtle-subm-26.ttl @@ -0,0 +1,22 @@ + "2.345"^^ . + "1"^^ . + "1.0"^^ . + "1."^^ . + "1.000000000"^^ . + "2.3"^^ . + "2.234000005"^^ . + "2.2340000005"^^ . + "2.23400000005"^^ . + "2.234000000005"^^ . + "2.2340000000005"^^ . + "2.23400000000005"^^ . + "2.234000000000005"^^ . + "2.2340000000000005"^^ . + "2.23400000000000005"^^ . + "2.234000000000000005"^^ . + "2.2340000000000000005"^^ . + "2.23400000000000000005"^^ . + "2.234000000000000000005"^^ . + "2.2340000000000000000005"^^ . + "2.23400000000000000000005"^^ . + "1.2345678901234567890123457890"^^ . diff --git a/test/TurtleTests/turtle-subm-27.nt b/test/TurtleTests/turtle-subm-27.nt new file mode 100644 index 00000000..f9ebfef1 --- /dev/null +++ b/test/TurtleTests/turtle-subm-27.nt @@ -0,0 +1,5 @@ + . + . + . + . + . diff --git a/test/TurtleTests/turtle-subm-27.ttl b/test/TurtleTests/turtle-subm-27.ttl new file mode 100644 index 00000000..ad39c024 --- /dev/null +++ b/test/TurtleTests/turtle-subm-27.ttl @@ -0,0 +1,12 @@ +# In-scope base URI is at this point + . +@base . +# In-scope base URI is http://example.org/ns/ at this point + . +@base . +# In-scope base URI is http://example.org/ns/foo/ at this point + . +@prefix : . +:a4 :b4 :c4 . +@prefix : . +:a5 :b5 :c5 . diff --git a/test/TurtleTests/turtle-syntax-bad-LITERAL2_with_langtag_and_datatype.ttl b/test/TurtleTests/turtle-syntax-bad-LITERAL2_with_langtag_and_datatype.ttl new file mode 100644 index 00000000..56180417 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-LITERAL2_with_langtag_and_datatype.ttl @@ -0,0 +1 @@ + "value"@en^^ . diff --git a/test/TurtleTests/turtle-syntax-bad-base-01.ttl b/test/TurtleTests/turtle-syntax-bad-base-01.ttl new file mode 100644 index 00000000..7b0412f8 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-base-01.ttl @@ -0,0 +1,2 @@ +# @base without URI. +@base . diff --git a/test/TurtleTests/turtle-syntax-bad-base-02.ttl b/test/TurtleTests/turtle-syntax-bad-base-02.ttl new file mode 100644 index 00000000..8893b652 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-base-02.ttl @@ -0,0 +1,2 @@ +# @base in wrong case. +@BASE . diff --git a/test/TurtleTests/turtle-syntax-bad-base-03.ttl b/test/TurtleTests/turtle-syntax-bad-base-03.ttl new file mode 100644 index 00000000..013f9f2b --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-base-03.ttl @@ -0,0 +1,3 @@ +# FULL STOP used after SPARQL BASE +BASE . +

. diff --git a/test/TurtleTests/turtle-syntax-bad-blank-label-dot-end.ttl b/test/TurtleTests/turtle-syntax-bad-blank-label-dot-end.ttl new file mode 100644 index 00000000..58c0aa20 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-blank-label-dot-end.ttl @@ -0,0 +1,2 @@ +@prefix : . +_:b1. :p :o . diff --git a/test/TurtleTests/turtle-syntax-bad-esc-01.ttl b/test/TurtleTests/turtle-syntax-bad-esc-01.ttl new file mode 100644 index 00000000..6daa1b58 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-esc-01.ttl @@ -0,0 +1,2 @@ +# Bad string escape + "a\zb" . diff --git a/test/TurtleTests/turtle-syntax-bad-esc-02.ttl b/test/TurtleTests/turtle-syntax-bad-esc-02.ttl new file mode 100644 index 00000000..62457ebf --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-esc-02.ttl @@ -0,0 +1,2 @@ +# Bad string escape + "\uWXYZ" . diff --git a/test/TurtleTests/turtle-syntax-bad-esc-03.ttl b/test/TurtleTests/turtle-syntax-bad-esc-03.ttl new file mode 100644 index 00000000..a9b9f1c0 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-esc-03.ttl @@ -0,0 +1,2 @@ +# Bad string escape + "\U0000WXYZ" . diff --git a/test/TurtleTests/turtle-syntax-bad-esc-04.ttl b/test/TurtleTests/turtle-syntax-bad-esc-04.ttl new file mode 100644 index 00000000..a9b9f1c0 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-esc-04.ttl @@ -0,0 +1,2 @@ +# Bad string escape + "\U0000WXYZ" . diff --git a/test/TurtleTests/turtle-syntax-bad-kw-01.ttl b/test/TurtleTests/turtle-syntax-bad-kw-01.ttl new file mode 100644 index 00000000..f85448d6 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-kw-01.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s A :C . diff --git a/test/TurtleTests/turtle-syntax-bad-kw-02.ttl b/test/TurtleTests/turtle-syntax-bad-kw-02.ttl new file mode 100644 index 00000000..d25986cd --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-kw-02.ttl @@ -0,0 +1,2 @@ +@prefix : . +a :p :o . diff --git a/test/TurtleTests/turtle-syntax-bad-kw-03.ttl b/test/TurtleTests/turtle-syntax-bad-kw-03.ttl new file mode 100644 index 00000000..3d54b929 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-kw-03.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p a . diff --git a/test/TurtleTests/turtle-syntax-bad-kw-04.ttl b/test/TurtleTests/turtle-syntax-bad-kw-04.ttl new file mode 100644 index 00000000..229491ed --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-kw-04.ttl @@ -0,0 +1,2 @@ +@prefix : . +true :p :o . diff --git a/test/TurtleTests/turtle-syntax-bad-kw-05.ttl b/test/TurtleTests/turtle-syntax-bad-kw-05.ttl new file mode 100644 index 00000000..c2420af5 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-kw-05.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s true :o . diff --git a/test/TurtleTests/turtle-syntax-bad-lang-01.ttl b/test/TurtleTests/turtle-syntax-bad-lang-01.ttl new file mode 100644 index 00000000..80685aae --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-lang-01.ttl @@ -0,0 +1,2 @@ +# Bad lang tag + "string"@1 . diff --git a/test/TurtleTests/turtle-syntax-bad-ln-dash-start.ttl b/test/TurtleTests/turtle-syntax-bad-ln-dash-start.ttl new file mode 100644 index 00000000..9af36a1e --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-ln-dash-start.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p :-o . diff --git a/test/TurtleTests/turtle-syntax-bad-ln-escape-start.ttl b/test/TurtleTests/turtle-syntax-bad-ln-escape-start.ttl new file mode 100644 index 00000000..9c7a4352 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-ln-escape-start.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p :%2o . diff --git a/test/TurtleTests/turtle-syntax-bad-ln-escape.ttl b/test/TurtleTests/turtle-syntax-bad-ln-escape.ttl new file mode 100644 index 00000000..212d43a0 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-ln-escape.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p :o%2 . diff --git a/test/TurtleTests/turtle-syntax-bad-missing-ns-dot-end.ttl b/test/TurtleTests/turtle-syntax-bad-missing-ns-dot-end.ttl new file mode 100644 index 00000000..d06f4e69 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-missing-ns-dot-end.ttl @@ -0,0 +1 @@ +valid:s valid:p invalid.:o . diff --git a/test/TurtleTests/turtle-syntax-bad-missing-ns-dot-start.ttl b/test/TurtleTests/turtle-syntax-bad-missing-ns-dot-start.ttl new file mode 100644 index 00000000..23514bcc --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-missing-ns-dot-start.ttl @@ -0,0 +1 @@ +.undefined:s .undefined:p .undefined:o . diff --git a/test/TurtleTests/turtle-syntax-bad-n3-extras-01.ttl b/test/TurtleTests/turtle-syntax-bad-n3-extras-01.ttl new file mode 100644 index 00000000..f7b19b72 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-n3-extras-01.ttl @@ -0,0 +1,5 @@ +# {} fomulae not in Turtle +@prefix : . + +{ :a :q :c . } :p :z . + diff --git a/test/TurtleTests/turtle-syntax-bad-n3-extras-02.ttl b/test/TurtleTests/turtle-syntax-bad-n3-extras-02.ttl new file mode 100644 index 00000000..e834f15f --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-n3-extras-02.ttl @@ -0,0 +1,4 @@ +# = is not Turtle +@prefix : . + +:a = :b . diff --git a/test/TurtleTests/turtle-syntax-bad-n3-extras-03.ttl b/test/TurtleTests/turtle-syntax-bad-n3-extras-03.ttl new file mode 100644 index 00000000..ad5d6ad4 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-n3-extras-03.ttl @@ -0,0 +1,7 @@ +# N3 paths +@prefix : . +@prefix ns: . + +:x. + ns:p. + ns:q :p :z . diff --git a/test/TurtleTests/turtle-syntax-bad-n3-extras-04.ttl b/test/TurtleTests/turtle-syntax-bad-n3-extras-04.ttl new file mode 100644 index 00000000..895f9ec6 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-n3-extras-04.ttl @@ -0,0 +1,5 @@ +# N3 paths +@prefix : . +@prefix ns: . + +:x^ns:p :p :z . diff --git a/test/TurtleTests/turtle-syntax-bad-n3-extras-05.ttl b/test/TurtleTests/turtle-syntax-bad-n3-extras-05.ttl new file mode 100644 index 00000000..de879b15 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-n3-extras-05.ttl @@ -0,0 +1,4 @@ +# N3 is...of +@prefix : . + +:z is :p of :x . diff --git a/test/TurtleTests/turtle-syntax-bad-n3-extras-06.ttl b/test/TurtleTests/turtle-syntax-bad-n3-extras-06.ttl new file mode 100644 index 00000000..56610f67 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-n3-extras-06.ttl @@ -0,0 +1,4 @@ +# = is not Turtle +@prefix : . + +:a.:b.:c . diff --git a/test/TurtleTests/turtle-syntax-bad-n3-extras-07.ttl b/test/TurtleTests/turtle-syntax-bad-n3-extras-07.ttl new file mode 100644 index 00000000..419f7cad --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-n3-extras-07.ttl @@ -0,0 +1,3 @@ +# @keywords is not Turtle +@keywords a . +x a Item . diff --git a/test/TurtleTests/turtle-syntax-bad-n3-extras-08.ttl b/test/TurtleTests/turtle-syntax-bad-n3-extras-08.ttl new file mode 100644 index 00000000..419f7cad --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-n3-extras-08.ttl @@ -0,0 +1,3 @@ +# @keywords is not Turtle +@keywords a . +x a Item . diff --git a/test/TurtleTests/turtle-syntax-bad-n3-extras-09.ttl b/test/TurtleTests/turtle-syntax-bad-n3-extras-09.ttl new file mode 100644 index 00000000..f093b588 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-n3-extras-09.ttl @@ -0,0 +1,3 @@ +# => is not Turtle +@prefix : . +:s => :o . diff --git a/test/TurtleTests/turtle-syntax-bad-n3-extras-10.ttl b/test/TurtleTests/turtle-syntax-bad-n3-extras-10.ttl new file mode 100644 index 00000000..974252f0 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-n3-extras-10.ttl @@ -0,0 +1,3 @@ +# <= is not Turtle +@prefix : . +:s <= :o . diff --git a/test/TurtleTests/turtle-syntax-bad-n3-extras-11.ttl b/test/TurtleTests/turtle-syntax-bad-n3-extras-11.ttl new file mode 100644 index 00000000..b74d74a3 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-n3-extras-11.ttl @@ -0,0 +1,3 @@ +# @forSome is not Turtle +@prefix : . +@forSome :x . diff --git a/test/TurtleTests/turtle-syntax-bad-n3-extras-12.ttl b/test/TurtleTests/turtle-syntax-bad-n3-extras-12.ttl new file mode 100644 index 00000000..dc2c5b03 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-n3-extras-12.ttl @@ -0,0 +1,3 @@ +# @forAll is not Turtle +@prefix : . +@forAll :x . diff --git a/test/TurtleTests/turtle-syntax-bad-n3-extras-13.ttl b/test/TurtleTests/turtle-syntax-bad-n3-extras-13.ttl new file mode 100644 index 00000000..5f719a24 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-n3-extras-13.ttl @@ -0,0 +1,3 @@ +# @keywords is not Turtle +@keywords . +x @a Item . diff --git a/test/TurtleTests/turtle-syntax-bad-ns-dot-end.ttl b/test/TurtleTests/turtle-syntax-bad-ns-dot-end.ttl new file mode 100644 index 00000000..fa67031e --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-ns-dot-end.ttl @@ -0,0 +1,2 @@ +@prefix eg. : . +eg.:s eg.:p eg.:o . diff --git a/test/TurtleTests/turtle-syntax-bad-ns-dot-start.ttl b/test/TurtleTests/turtle-syntax-bad-ns-dot-start.ttl new file mode 100644 index 00000000..e09d5954 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-ns-dot-start.ttl @@ -0,0 +1,2 @@ +@prefix .eg : . +.eg:s .eg:p .eg:o . diff --git a/test/TurtleTests/turtle-syntax-bad-num-01.ttl b/test/TurtleTests/turtle-syntax-bad-num-01.ttl new file mode 100644 index 00000000..cb4730cb --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-num-01.ttl @@ -0,0 +1 @@ + 123.abc . diff --git a/test/TurtleTests/turtle-syntax-bad-num-02.ttl b/test/TurtleTests/turtle-syntax-bad-num-02.ttl new file mode 100644 index 00000000..1c8cbb25 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-num-02.ttl @@ -0,0 +1 @@ + 123e . diff --git a/test/TurtleTests/turtle-syntax-bad-num-03.ttl b/test/TurtleTests/turtle-syntax-bad-num-03.ttl new file mode 100644 index 00000000..7c8fa2cf --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-num-03.ttl @@ -0,0 +1 @@ + 123abc . diff --git a/test/TurtleTests/turtle-syntax-bad-num-04.ttl b/test/TurtleTests/turtle-syntax-bad-num-04.ttl new file mode 100644 index 00000000..ad8e0cfd --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-num-04.ttl @@ -0,0 +1 @@ + 0x123 . diff --git a/test/TurtleTests/turtle-syntax-bad-num-05.ttl b/test/TurtleTests/turtle-syntax-bad-num-05.ttl new file mode 100644 index 00000000..2ee461a0 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-num-05.ttl @@ -0,0 +1 @@ + +-1 . diff --git a/test/TurtleTests/turtle-syntax-bad-number-dot-in-anon.ttl b/test/TurtleTests/turtle-syntax-bad-number-dot-in-anon.ttl new file mode 100644 index 00000000..779cbece --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-number-dot-in-anon.ttl @@ -0,0 +1,6 @@ +@prefix : . + +:s + :p [ + :p1 27. + ] . diff --git a/test/TurtleTests/turtle-syntax-bad-pname-01.ttl b/test/TurtleTests/turtle-syntax-bad-pname-01.ttl new file mode 100644 index 00000000..5f3098da --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-pname-01.ttl @@ -0,0 +1,3 @@ +# ~ must be escaped. +@prefix : . +:a~b :p :o . diff --git a/test/TurtleTests/turtle-syntax-bad-pname-02.ttl b/test/TurtleTests/turtle-syntax-bad-pname-02.ttl new file mode 100644 index 00000000..fb30823c --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-pname-02.ttl @@ -0,0 +1,3 @@ +# Bad %-sequence +@prefix : . +:a%2 :p :o . diff --git a/test/TurtleTests/turtle-syntax-bad-pname-03.ttl b/test/TurtleTests/turtle-syntax-bad-pname-03.ttl new file mode 100644 index 00000000..b9af59e5 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-pname-03.ttl @@ -0,0 +1,3 @@ +# No \u (x39 is "9") +@prefix : . +:a\u0039 :p :o . diff --git a/test/TurtleTests/turtle-syntax-bad-prefix-01.ttl b/test/TurtleTests/turtle-syntax-bad-prefix-01.ttl new file mode 100644 index 00000000..b1b80df1 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-prefix-01.ttl @@ -0,0 +1,2 @@ +# No prefix +:s "x" . diff --git a/test/TurtleTests/turtle-syntax-bad-prefix-02.ttl b/test/TurtleTests/turtle-syntax-bad-prefix-02.ttl new file mode 100644 index 00000000..6e7269f2 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-prefix-02.ttl @@ -0,0 +1,3 @@ +# No prefix +@prefix rdf: . + rdf:type :C . diff --git a/test/TurtleTests/turtle-syntax-bad-prefix-03.ttl b/test/TurtleTests/turtle-syntax-bad-prefix-03.ttl new file mode 100644 index 00000000..1ab01e7b --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-prefix-03.ttl @@ -0,0 +1,2 @@ +# @prefix without URI. +@prefix ex: . diff --git a/test/TurtleTests/turtle-syntax-bad-prefix-04.ttl b/test/TurtleTests/turtle-syntax-bad-prefix-04.ttl new file mode 100644 index 00000000..5f338f33 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-prefix-04.ttl @@ -0,0 +1,2 @@ +# @prefix without prefix name . +@prefix . diff --git a/test/TurtleTests/turtle-syntax-bad-prefix-05.ttl b/test/TurtleTests/turtle-syntax-bad-prefix-05.ttl new file mode 100644 index 00000000..efb86c59 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-prefix-05.ttl @@ -0,0 +1,2 @@ +# @prefix without : +@prefix x . diff --git a/test/TurtleTests/turtle-syntax-bad-string-01.ttl b/test/TurtleTests/turtle-syntax-bad-string-01.ttl new file mode 100644 index 00000000..ef62a6c0 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-string-01.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p "abc' . diff --git a/test/TurtleTests/turtle-syntax-bad-string-02.ttl b/test/TurtleTests/turtle-syntax-bad-string-02.ttl new file mode 100644 index 00000000..2335d529 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-string-02.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p 'abc" . diff --git a/test/TurtleTests/turtle-syntax-bad-string-03.ttl b/test/TurtleTests/turtle-syntax-bad-string-03.ttl new file mode 100644 index 00000000..8a9e7ffe --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-string-03.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p '''abc' . diff --git a/test/TurtleTests/turtle-syntax-bad-string-04.ttl b/test/TurtleTests/turtle-syntax-bad-string-04.ttl new file mode 100644 index 00000000..9911defe --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-string-04.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p """abc''' . diff --git a/test/TurtleTests/turtle-syntax-bad-string-05.ttl b/test/TurtleTests/turtle-syntax-bad-string-05.ttl new file mode 100644 index 00000000..f5de7403 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-string-05.ttl @@ -0,0 +1,4 @@ +# Long literal with missing end +@prefix : . +:s :p """abc +def diff --git a/test/TurtleTests/turtle-syntax-bad-string-06.ttl b/test/TurtleTests/turtle-syntax-bad-string-06.ttl new file mode 100644 index 00000000..6bcbc936 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-string-06.ttl @@ -0,0 +1,3 @@ +# Long literal with 4" +@prefix : . +:s :p """abc""""@en . diff --git a/test/TurtleTests/turtle-syntax-bad-string-07.ttl b/test/TurtleTests/turtle-syntax-bad-string-07.ttl new file mode 100644 index 00000000..534614d4 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-string-07.ttl @@ -0,0 +1,3 @@ +# Long literal with 4' +@prefix : . +:s :p '''abc''''@en . diff --git a/test/TurtleTests/turtle-syntax-bad-struct-01.ttl b/test/TurtleTests/turtle-syntax-bad-struct-01.ttl new file mode 100644 index 00000000..7b8b8529 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-01.ttl @@ -0,0 +1,2 @@ +# Turtle is not TriG +{ } diff --git a/test/TurtleTests/turtle-syntax-bad-struct-02.ttl b/test/TurtleTests/turtle-syntax-bad-struct-02.ttl new file mode 100644 index 00000000..cb86b9dd --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-02.ttl @@ -0,0 +1,2 @@ +# Turtle is not N3 + = . diff --git a/test/TurtleTests/turtle-syntax-bad-struct-03.ttl b/test/TurtleTests/turtle-syntax-bad-struct-03.ttl new file mode 100644 index 00000000..98d9c7ec --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-03.ttl @@ -0,0 +1,2 @@ +# Turtle is not NQuads + . diff --git a/test/TurtleTests/turtle-syntax-bad-struct-04.ttl b/test/TurtleTests/turtle-syntax-bad-struct-04.ttl new file mode 100644 index 00000000..40cd7b71 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-04.ttl @@ -0,0 +1,2 @@ +# Turtle does not allow literals-as-subjects +"hello" . diff --git a/test/TurtleTests/turtle-syntax-bad-struct-05.ttl b/test/TurtleTests/turtle-syntax-bad-struct-05.ttl new file mode 100644 index 00000000..e1a3afbc --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-05.ttl @@ -0,0 +1,2 @@ +# Turtle does not allow literals-as-predicates + "hello" . diff --git a/test/TurtleTests/turtle-syntax-bad-struct-06.ttl b/test/TurtleTests/turtle-syntax-bad-struct-06.ttl new file mode 100644 index 00000000..2680229a --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-06.ttl @@ -0,0 +1,2 @@ +# Turtle does not allow bnodes-as-predicates + [] . diff --git a/test/TurtleTests/turtle-syntax-bad-struct-07.ttl b/test/TurtleTests/turtle-syntax-bad-struct-07.ttl new file mode 100644 index 00000000..5f74a8b7 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-07.ttl @@ -0,0 +1,2 @@ +# Turtle does not allow bnodes-as-predicates + _:p . diff --git a/test/TurtleTests/turtle-syntax-bad-struct-08.ttl b/test/TurtleTests/turtle-syntax-bad-struct-08.ttl new file mode 100644 index 00000000..86aaf4be --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-08.ttl @@ -0,0 +1,2 @@ +# No DOT + diff --git a/test/TurtleTests/turtle-syntax-bad-struct-09.ttl b/test/TurtleTests/turtle-syntax-bad-struct-09.ttl new file mode 100644 index 00000000..92aae4c2 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-09.ttl @@ -0,0 +1,2 @@ +# Too many DOT + . . diff --git a/test/TurtleTests/turtle-syntax-bad-struct-10.ttl b/test/TurtleTests/turtle-syntax-bad-struct-10.ttl new file mode 100644 index 00000000..eb893b24 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-10.ttl @@ -0,0 +1,3 @@ +# Too many DOT + . . + . diff --git a/test/TurtleTests/turtle-syntax-bad-struct-11.ttl b/test/TurtleTests/turtle-syntax-bad-struct-11.ttl new file mode 100644 index 00000000..fc6bb993 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-11.ttl @@ -0,0 +1,2 @@ +# Trailing ; + ; diff --git a/test/TurtleTests/turtle-syntax-bad-struct-12.ttl b/test/TurtleTests/turtle-syntax-bad-struct-12.ttl new file mode 100644 index 00000000..1038da86 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-12.ttl @@ -0,0 +1 @@ + diff --git a/test/TurtleTests/turtle-syntax-bad-struct-13.ttl b/test/TurtleTests/turtle-syntax-bad-struct-13.ttl new file mode 100644 index 00000000..1038da86 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-13.ttl @@ -0,0 +1 @@ + diff --git a/test/TurtleTests/turtle-syntax-bad-struct-14.ttl b/test/TurtleTests/turtle-syntax-bad-struct-14.ttl new file mode 100644 index 00000000..44db7be2 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-14.ttl @@ -0,0 +1,2 @@ +# Literal as subject +"abc" . diff --git a/test/TurtleTests/turtle-syntax-bad-struct-15.ttl b/test/TurtleTests/turtle-syntax-bad-struct-15.ttl new file mode 100644 index 00000000..788cfd67 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-15.ttl @@ -0,0 +1,2 @@ +# Literal as predicate + "abc" . diff --git a/test/TurtleTests/turtle-syntax-bad-struct-16.ttl b/test/TurtleTests/turtle-syntax-bad-struct-16.ttl new file mode 100644 index 00000000..d30a80be --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-16.ttl @@ -0,0 +1,2 @@ +# BNode as predicate + [] . diff --git a/test/TurtleTests/turtle-syntax-bad-struct-17.ttl b/test/TurtleTests/turtle-syntax-bad-struct-17.ttl new file mode 100644 index 00000000..50ea2656 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-struct-17.ttl @@ -0,0 +1,2 @@ +# BNode as predicate + _:a . diff --git a/test/TurtleTests/turtle-syntax-bad-uri-01.ttl b/test/TurtleTests/turtle-syntax-bad-uri-01.ttl new file mode 100644 index 00000000..ebea3f25 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-uri-01.ttl @@ -0,0 +1,2 @@ +# Bad IRI : space. + . diff --git a/test/TurtleTests/turtle-syntax-bad-uri-02.ttl b/test/TurtleTests/turtle-syntax-bad-uri-02.ttl new file mode 100644 index 00000000..e9096bc7 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-uri-02.ttl @@ -0,0 +1,2 @@ +# Bad IRI : bad escape + . diff --git a/test/TurtleTests/turtle-syntax-bad-uri-03.ttl b/test/TurtleTests/turtle-syntax-bad-uri-03.ttl new file mode 100644 index 00000000..7fe2bf03 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-uri-03.ttl @@ -0,0 +1,2 @@ +# Bad IRI : bad escape + . diff --git a/test/TurtleTests/turtle-syntax-bad-uri-04.ttl b/test/TurtleTests/turtle-syntax-bad-uri-04.ttl new file mode 100644 index 00000000..258997cb --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-uri-04.ttl @@ -0,0 +1,2 @@ +# Bad IRI : character escapes not allowed. + . diff --git a/test/TurtleTests/turtle-syntax-bad-uri-05.ttl b/test/TurtleTests/turtle-syntax-bad-uri-05.ttl new file mode 100644 index 00000000..542b2b64 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bad-uri-05.ttl @@ -0,0 +1,2 @@ +# Bad IRI : character escapes not allowed. + . diff --git a/test/TurtleTests/turtle-syntax-base-01.ttl b/test/TurtleTests/turtle-syntax-base-01.ttl new file mode 100644 index 00000000..108ceaf5 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-base-01.ttl @@ -0,0 +1 @@ +@base . diff --git a/test/TurtleTests/turtle-syntax-base-02.ttl b/test/TurtleTests/turtle-syntax-base-02.ttl new file mode 100644 index 00000000..7a2724f7 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-base-02.ttl @@ -0,0 +1 @@ +BASE diff --git a/test/TurtleTests/turtle-syntax-base-03.ttl b/test/TurtleTests/turtle-syntax-base-03.ttl new file mode 100644 index 00000000..e90dc14a --- /dev/null +++ b/test/TurtleTests/turtle-syntax-base-03.ttl @@ -0,0 +1,2 @@ +@base . +

. diff --git a/test/TurtleTests/turtle-syntax-base-04.ttl b/test/TurtleTests/turtle-syntax-base-04.ttl new file mode 100644 index 00000000..b0bb4226 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-base-04.ttl @@ -0,0 +1,2 @@ +base +

. diff --git a/test/TurtleTests/turtle-syntax-blank-label.ttl b/test/TurtleTests/turtle-syntax-blank-label.ttl new file mode 100644 index 00000000..b7fae10d --- /dev/null +++ b/test/TurtleTests/turtle-syntax-blank-label.ttl @@ -0,0 +1,4 @@ +@prefix : . +_:0b :p :o . # Starts with digit +_:_b :p :o . # Starts with underscore +_:b.0 :p :o . # Contains dot, ends with digit diff --git a/test/TurtleTests/turtle-syntax-bnode-01.ttl b/test/TurtleTests/turtle-syntax-bnode-01.ttl new file mode 100644 index 00000000..274a478c --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bnode-01.ttl @@ -0,0 +1,2 @@ +@prefix : . +[] :p :o . diff --git a/test/TurtleTests/turtle-syntax-bnode-02.ttl b/test/TurtleTests/turtle-syntax-bnode-02.ttl new file mode 100644 index 00000000..91b9c16e --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bnode-02.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p [] . diff --git a/test/TurtleTests/turtle-syntax-bnode-03.ttl b/test/TurtleTests/turtle-syntax-bnode-03.ttl new file mode 100644 index 00000000..36c8450f --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bnode-03.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p [ :q :o ] . diff --git a/test/TurtleTests/turtle-syntax-bnode-04.ttl b/test/TurtleTests/turtle-syntax-bnode-04.ttl new file mode 100644 index 00000000..942dedd7 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bnode-04.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p [ :q1 :o1 ; :q2 :o2 ] . diff --git a/test/TurtleTests/turtle-syntax-bnode-05.ttl b/test/TurtleTests/turtle-syntax-bnode-05.ttl new file mode 100644 index 00000000..c2f4169c --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bnode-05.ttl @@ -0,0 +1,2 @@ +@prefix : . +[ :q1 :o1 ; :q2 :o2 ] :p :o . diff --git a/test/TurtleTests/turtle-syntax-bnode-06.ttl b/test/TurtleTests/turtle-syntax-bnode-06.ttl new file mode 100644 index 00000000..f9ffec8c --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bnode-06.ttl @@ -0,0 +1,2 @@ +@prefix : . +_:a :p :o . diff --git a/test/TurtleTests/turtle-syntax-bnode-07.ttl b/test/TurtleTests/turtle-syntax-bnode-07.ttl new file mode 100644 index 00000000..c0dba051 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bnode-07.ttl @@ -0,0 +1,3 @@ +@prefix : . +:s :p _:a . +_:a :p :o . diff --git a/test/TurtleTests/turtle-syntax-bnode-08.ttl b/test/TurtleTests/turtle-syntax-bnode-08.ttl new file mode 100644 index 00000000..630843b0 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bnode-08.ttl @@ -0,0 +1,2 @@ +@prefix : . +[ :p :o ] . diff --git a/test/TurtleTests/turtle-syntax-bnode-09.ttl b/test/TurtleTests/turtle-syntax-bnode-09.ttl new file mode 100644 index 00000000..cd75e3a3 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bnode-09.ttl @@ -0,0 +1,3 @@ +@prefix : . +[ :p :o1,:2 ] . +:s :p :o . diff --git a/test/TurtleTests/turtle-syntax-bnode-10.ttl b/test/TurtleTests/turtle-syntax-bnode-10.ttl new file mode 100644 index 00000000..03fa67ca --- /dev/null +++ b/test/TurtleTests/turtle-syntax-bnode-10.ttl @@ -0,0 +1,5 @@ +@prefix : . + +:s1 :p :o . +[ :p1 :o1 ; :p2 :o2 ] . +:s2 :p :o . diff --git a/test/TurtleTests/turtle-syntax-datatypes-01.ttl b/test/TurtleTests/turtle-syntax-datatypes-01.ttl new file mode 100644 index 00000000..9e273c51 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-datatypes-01.ttl @@ -0,0 +1,2 @@ +@prefix xsd: . +

"123"^^xsd:byte . diff --git a/test/TurtleTests/turtle-syntax-datatypes-02.ttl b/test/TurtleTests/turtle-syntax-datatypes-02.ttl new file mode 100644 index 00000000..477bd73c --- /dev/null +++ b/test/TurtleTests/turtle-syntax-datatypes-02.ttl @@ -0,0 +1,3 @@ +@prefix rdf: . +@prefix xsd: . +

"123"^^xsd:string . diff --git a/test/TurtleTests/turtle-syntax-file-01.ttl b/test/TurtleTests/turtle-syntax-file-01.ttl new file mode 100644 index 00000000..e69de29b diff --git a/test/TurtleTests/turtle-syntax-file-02.ttl b/test/TurtleTests/turtle-syntax-file-02.ttl new file mode 100644 index 00000000..e6d327d5 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-file-02.ttl @@ -0,0 +1 @@ +#Empty file. diff --git a/test/TurtleTests/turtle-syntax-file-03.ttl b/test/TurtleTests/turtle-syntax-file-03.ttl new file mode 100644 index 00000000..a9ca0358 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-file-03.ttl @@ -0,0 +1,2 @@ +#One comment, one empty line. + diff --git a/test/TurtleTests/turtle-syntax-kw-01.ttl b/test/TurtleTests/turtle-syntax-kw-01.ttl new file mode 100644 index 00000000..854c7568 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-kw-01.ttl @@ -0,0 +1 @@ +

true . diff --git a/test/TurtleTests/turtle-syntax-kw-02.ttl b/test/TurtleTests/turtle-syntax-kw-02.ttl new file mode 100644 index 00000000..c948160b --- /dev/null +++ b/test/TurtleTests/turtle-syntax-kw-02.ttl @@ -0,0 +1 @@ +

false . diff --git a/test/TurtleTests/turtle-syntax-kw-03.ttl b/test/TurtleTests/turtle-syntax-kw-03.ttl new file mode 100644 index 00000000..bb479bfa --- /dev/null +++ b/test/TurtleTests/turtle-syntax-kw-03.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s a :C . diff --git a/test/TurtleTests/turtle-syntax-lists-01.ttl b/test/TurtleTests/turtle-syntax-lists-01.ttl new file mode 100644 index 00000000..c6ee0fbe --- /dev/null +++ b/test/TurtleTests/turtle-syntax-lists-01.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p () . diff --git a/test/TurtleTests/turtle-syntax-lists-02.ttl b/test/TurtleTests/turtle-syntax-lists-02.ttl new file mode 100644 index 00000000..06a0cd1e --- /dev/null +++ b/test/TurtleTests/turtle-syntax-lists-02.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p (1 "2" :o) . diff --git a/test/TurtleTests/turtle-syntax-lists-03.ttl b/test/TurtleTests/turtle-syntax-lists-03.ttl new file mode 100644 index 00000000..e71f0273 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-lists-03.ttl @@ -0,0 +1,2 @@ +@prefix : . +(1) :p (1) . diff --git a/test/TurtleTests/turtle-syntax-lists-04.ttl b/test/TurtleTests/turtle-syntax-lists-04.ttl new file mode 100644 index 00000000..a9885389 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-lists-04.ttl @@ -0,0 +1,2 @@ +@prefix : . +(()) :p (()) . diff --git a/test/TurtleTests/turtle-syntax-lists-05.ttl b/test/TurtleTests/turtle-syntax-lists-05.ttl new file mode 100644 index 00000000..43e68a44 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-lists-05.ttl @@ -0,0 +1,2 @@ +@prefix : . +(1 2 (1 2)) :p (( "a") "b" :o) . diff --git a/test/TurtleTests/turtle-syntax-ln-colons.ttl b/test/TurtleTests/turtle-syntax-ln-colons.ttl new file mode 100644 index 00000000..80a2e3df --- /dev/null +++ b/test/TurtleTests/turtle-syntax-ln-colons.ttl @@ -0,0 +1,6 @@ +@prefix : . +:s:1 :p:1 :o:1 . +:s::2 :p::2 :o::2 . +:3:s :3:p :3 . +::s ::p ::o . +::s: ::p: ::o: . diff --git a/test/TurtleTests/turtle-syntax-ln-dots.ttl b/test/TurtleTests/turtle-syntax-ln-dots.ttl new file mode 100644 index 00000000..ca5bba97 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-ln-dots.ttl @@ -0,0 +1,4 @@ +@prefix : . +:s.1 :p.1 :o.1 . +:s..2 :p..2 :o..2. +:3.s :3.p :3. diff --git a/test/TurtleTests/turtle-syntax-ns-dots.ttl b/test/TurtleTests/turtle-syntax-ns-dots.ttl new file mode 100644 index 00000000..1059b576 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-ns-dots.ttl @@ -0,0 +1,2 @@ +@prefix e.g: . +e.g:s e.g:p e.g:o . diff --git a/test/TurtleTests/turtle-syntax-number-01.ttl b/test/TurtleTests/turtle-syntax-number-01.ttl new file mode 100644 index 00000000..016fa8f2 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-number-01.ttl @@ -0,0 +1 @@ +

123 . diff --git a/test/TurtleTests/turtle-syntax-number-02.ttl b/test/TurtleTests/turtle-syntax-number-02.ttl new file mode 100644 index 00000000..66d1b389 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-number-02.ttl @@ -0,0 +1 @@ +

-123 . diff --git a/test/TurtleTests/turtle-syntax-number-03.ttl b/test/TurtleTests/turtle-syntax-number-03.ttl new file mode 100644 index 00000000..44142857 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-number-03.ttl @@ -0,0 +1 @@ +

+123 . diff --git a/test/TurtleTests/turtle-syntax-number-04.ttl b/test/TurtleTests/turtle-syntax-number-04.ttl new file mode 100644 index 00000000..ab48cbc6 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-number-04.ttl @@ -0,0 +1,2 @@ +# This is a decimal. +

123.0 . diff --git a/test/TurtleTests/turtle-syntax-number-05.ttl b/test/TurtleTests/turtle-syntax-number-05.ttl new file mode 100644 index 00000000..a8d5845a --- /dev/null +++ b/test/TurtleTests/turtle-syntax-number-05.ttl @@ -0,0 +1,2 @@ +# This is a decimal. +

.1 . diff --git a/test/TurtleTests/turtle-syntax-number-06.ttl b/test/TurtleTests/turtle-syntax-number-06.ttl new file mode 100644 index 00000000..cb3a2b06 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-number-06.ttl @@ -0,0 +1,2 @@ +# This is a decimal. +

-123.0 . diff --git a/test/TurtleTests/turtle-syntax-number-07.ttl b/test/TurtleTests/turtle-syntax-number-07.ttl new file mode 100644 index 00000000..8b0050e6 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-number-07.ttl @@ -0,0 +1,2 @@ +# This is a decimal. +

+123.0 . diff --git a/test/TurtleTests/turtle-syntax-number-08.ttl b/test/TurtleTests/turtle-syntax-number-08.ttl new file mode 100644 index 00000000..70ddeed3 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-number-08.ttl @@ -0,0 +1,2 @@ +# This is an integer +

123. diff --git a/test/TurtleTests/turtle-syntax-number-09.ttl b/test/TurtleTests/turtle-syntax-number-09.ttl new file mode 100644 index 00000000..386b819f --- /dev/null +++ b/test/TurtleTests/turtle-syntax-number-09.ttl @@ -0,0 +1 @@ +

123.0e1 . diff --git a/test/TurtleTests/turtle-syntax-number-10.ttl b/test/TurtleTests/turtle-syntax-number-10.ttl new file mode 100644 index 00000000..46875e94 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-number-10.ttl @@ -0,0 +1 @@ +

-123e-1 . diff --git a/test/TurtleTests/turtle-syntax-number-11.ttl b/test/TurtleTests/turtle-syntax-number-11.ttl new file mode 100644 index 00000000..1d8c367e --- /dev/null +++ b/test/TurtleTests/turtle-syntax-number-11.ttl @@ -0,0 +1 @@ +

123.E+1 . diff --git a/test/TurtleTests/turtle-syntax-pname-esc-01.ttl b/test/TurtleTests/turtle-syntax-pname-esc-01.ttl new file mode 100644 index 00000000..5a3a5fd7 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-pname-esc-01.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p :\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\_\%AA . diff --git a/test/TurtleTests/turtle-syntax-pname-esc-02.ttl b/test/TurtleTests/turtle-syntax-pname-esc-02.ttl new file mode 100644 index 00000000..5d806cf4 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-pname-esc-02.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p :0123\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\_\%AA123 . diff --git a/test/TurtleTests/turtle-syntax-pname-esc-03.ttl b/test/TurtleTests/turtle-syntax-pname-esc-03.ttl new file mode 100644 index 00000000..9949c52b --- /dev/null +++ b/test/TurtleTests/turtle-syntax-pname-esc-03.ttl @@ -0,0 +1,2 @@ +@prefix : . +:xyz\~ :abc\.: : . diff --git a/test/TurtleTests/turtle-syntax-prefix-01.ttl b/test/TurtleTests/turtle-syntax-prefix-01.ttl new file mode 100644 index 00000000..7fd69327 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-prefix-01.ttl @@ -0,0 +1 @@ +@prefix : . diff --git a/test/TurtleTests/turtle-syntax-prefix-02.ttl b/test/TurtleTests/turtle-syntax-prefix-02.ttl new file mode 100644 index 00000000..99d4ae45 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-prefix-02.ttl @@ -0,0 +1 @@ +PreFIX : diff --git a/test/TurtleTests/turtle-syntax-prefix-03.ttl b/test/TurtleTests/turtle-syntax-prefix-03.ttl new file mode 100644 index 00000000..c834d10f --- /dev/null +++ b/test/TurtleTests/turtle-syntax-prefix-03.ttl @@ -0,0 +1,2 @@ +PREFIX : +:s :p :123 . diff --git a/test/TurtleTests/turtle-syntax-prefix-04.ttl b/test/TurtleTests/turtle-syntax-prefix-04.ttl new file mode 100644 index 00000000..4ff94dc0 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-prefix-04.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p :%20 . diff --git a/test/TurtleTests/turtle-syntax-prefix-05.ttl b/test/TurtleTests/turtle-syntax-prefix-05.ttl new file mode 100644 index 00000000..30441026 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-prefix-05.ttl @@ -0,0 +1,2 @@ +@prefix : . +: : : . diff --git a/test/TurtleTests/turtle-syntax-prefix-06.ttl b/test/TurtleTests/turtle-syntax-prefix-06.ttl new file mode 100644 index 00000000..7044be5a --- /dev/null +++ b/test/TurtleTests/turtle-syntax-prefix-06.ttl @@ -0,0 +1,4 @@ +# colon is a legal pname character +@prefix : . +@prefix x: . +:a:b:c x:d:e:f :::: . diff --git a/test/TurtleTests/turtle-syntax-prefix-07.ttl b/test/TurtleTests/turtle-syntax-prefix-07.ttl new file mode 100644 index 00000000..1db61e8a --- /dev/null +++ b/test/TurtleTests/turtle-syntax-prefix-07.ttl @@ -0,0 +1,3 @@ +# dash is a legal pname character +@prefix x: . +x:a-b-c x:p x:o . diff --git a/test/TurtleTests/turtle-syntax-prefix-08.ttl b/test/TurtleTests/turtle-syntax-prefix-08.ttl new file mode 100644 index 00000000..f969a4af --- /dev/null +++ b/test/TurtleTests/turtle-syntax-prefix-08.ttl @@ -0,0 +1,3 @@ +# underscore is a legal pname character +@prefix x: . +x:_ x:p_1 x:o . diff --git a/test/TurtleTests/turtle-syntax-prefix-09.ttl b/test/TurtleTests/turtle-syntax-prefix-09.ttl new file mode 100644 index 00000000..5c57ebea --- /dev/null +++ b/test/TurtleTests/turtle-syntax-prefix-09.ttl @@ -0,0 +1,4 @@ +# percents +@prefix : . +@prefix x: . +:a%3E x:%25 :a%3Eb . diff --git a/test/TurtleTests/turtle-syntax-str-esc-01.ttl b/test/TurtleTests/turtle-syntax-str-esc-01.ttl new file mode 100644 index 00000000..f11f2827 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-str-esc-01.ttl @@ -0,0 +1 @@ + "a\n" . diff --git a/test/TurtleTests/turtle-syntax-str-esc-02.ttl b/test/TurtleTests/turtle-syntax-str-esc-02.ttl new file mode 100644 index 00000000..0b77f95a --- /dev/null +++ b/test/TurtleTests/turtle-syntax-str-esc-02.ttl @@ -0,0 +1 @@ + "a\u0020b" . diff --git a/test/TurtleTests/turtle-syntax-str-esc-03.ttl b/test/TurtleTests/turtle-syntax-str-esc-03.ttl new file mode 100644 index 00000000..af1e3281 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-str-esc-03.ttl @@ -0,0 +1 @@ + "a\U00000020b" . diff --git a/test/TurtleTests/turtle-syntax-string-01.ttl b/test/TurtleTests/turtle-syntax-string-01.ttl new file mode 100644 index 00000000..7bf8a6d4 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-string-01.ttl @@ -0,0 +1 @@ + "string" . diff --git a/test/TurtleTests/turtle-syntax-string-02.ttl b/test/TurtleTests/turtle-syntax-string-02.ttl new file mode 100644 index 00000000..8cb89e98 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-string-02.ttl @@ -0,0 +1 @@ + "string"@en . diff --git a/test/TurtleTests/turtle-syntax-string-03.ttl b/test/TurtleTests/turtle-syntax-string-03.ttl new file mode 100644 index 00000000..312d1d67 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-string-03.ttl @@ -0,0 +1 @@ + "string"@en-uk . diff --git a/test/TurtleTests/turtle-syntax-string-04.ttl b/test/TurtleTests/turtle-syntax-string-04.ttl new file mode 100644 index 00000000..3ecdea3a --- /dev/null +++ b/test/TurtleTests/turtle-syntax-string-04.ttl @@ -0,0 +1 @@ + 'string' . diff --git a/test/TurtleTests/turtle-syntax-string-05.ttl b/test/TurtleTests/turtle-syntax-string-05.ttl new file mode 100644 index 00000000..f32b6d02 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-string-05.ttl @@ -0,0 +1 @@ + 'string'@en . diff --git a/test/TurtleTests/turtle-syntax-string-06.ttl b/test/TurtleTests/turtle-syntax-string-06.ttl new file mode 100644 index 00000000..77399380 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-string-06.ttl @@ -0,0 +1 @@ + 'string'@en-uk . diff --git a/test/TurtleTests/turtle-syntax-string-07.ttl b/test/TurtleTests/turtle-syntax-string-07.ttl new file mode 100644 index 00000000..6c3e6a44 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-string-07.ttl @@ -0,0 +1 @@ + """abc""def''ghi""" . diff --git a/test/TurtleTests/turtle-syntax-string-08.ttl b/test/TurtleTests/turtle-syntax-string-08.ttl new file mode 100644 index 00000000..2fb0227b --- /dev/null +++ b/test/TurtleTests/turtle-syntax-string-08.ttl @@ -0,0 +1,2 @@ + """abc +def""" . diff --git a/test/TurtleTests/turtle-syntax-string-09.ttl b/test/TurtleTests/turtle-syntax-string-09.ttl new file mode 100644 index 00000000..390c8af9 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-string-09.ttl @@ -0,0 +1,2 @@ + '''abc +def''' . diff --git a/test/TurtleTests/turtle-syntax-string-10.ttl b/test/TurtleTests/turtle-syntax-string-10.ttl new file mode 100644 index 00000000..5b6e5c35 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-string-10.ttl @@ -0,0 +1,2 @@ + """abc +def"""@en . diff --git a/test/TurtleTests/turtle-syntax-string-11.ttl b/test/TurtleTests/turtle-syntax-string-11.ttl new file mode 100644 index 00000000..7b78abf1 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-string-11.ttl @@ -0,0 +1,2 @@ + '''abc +def'''@en . diff --git a/test/TurtleTests/turtle-syntax-struct-01.ttl b/test/TurtleTests/turtle-syntax-struct-01.ttl new file mode 100644 index 00000000..990e5160 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-struct-01.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p :o1 , :o2 . diff --git a/test/TurtleTests/turtle-syntax-struct-02.ttl b/test/TurtleTests/turtle-syntax-struct-02.ttl new file mode 100644 index 00000000..0684b2fe --- /dev/null +++ b/test/TurtleTests/turtle-syntax-struct-02.ttl @@ -0,0 +1,3 @@ +@prefix : . +:s :p1 :o1 ; + :p2 :o2 . diff --git a/test/TurtleTests/turtle-syntax-struct-03.ttl b/test/TurtleTests/turtle-syntax-struct-03.ttl new file mode 100644 index 00000000..1e303515 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-struct-03.ttl @@ -0,0 +1,4 @@ +@prefix : . +:s :p1 :o1 ; + :p2 :o2 ; + . diff --git a/test/TurtleTests/turtle-syntax-struct-04.ttl b/test/TurtleTests/turtle-syntax-struct-04.ttl new file mode 100644 index 00000000..3d1bf3b0 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-struct-04.ttl @@ -0,0 +1,4 @@ +@prefix : . +:s :p1 :o1 ;; + :p2 :o2 + . diff --git a/test/TurtleTests/turtle-syntax-struct-05.ttl b/test/TurtleTests/turtle-syntax-struct-05.ttl new file mode 100644 index 00000000..c39e0411 --- /dev/null +++ b/test/TurtleTests/turtle-syntax-struct-05.ttl @@ -0,0 +1,4 @@ +@prefix : . +:s :p1 :o1 ; + :p2 :o2 ;; + . diff --git a/test/TurtleTests/turtle-syntax-uri-01.ttl b/test/TurtleTests/turtle-syntax-uri-01.ttl new file mode 100644 index 00000000..2e2d5baf --- /dev/null +++ b/test/TurtleTests/turtle-syntax-uri-01.ttl @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/turtle-syntax-uri-02.ttl b/test/TurtleTests/turtle-syntax-uri-02.ttl new file mode 100644 index 00000000..f355d38c --- /dev/null +++ b/test/TurtleTests/turtle-syntax-uri-02.ttl @@ -0,0 +1,2 @@ +# x53 is capital S + . diff --git a/test/TurtleTests/turtle-syntax-uri-03.ttl b/test/TurtleTests/turtle-syntax-uri-03.ttl new file mode 100644 index 00000000..0ea581af --- /dev/null +++ b/test/TurtleTests/turtle-syntax-uri-03.ttl @@ -0,0 +1,2 @@ +# x53 is capital S + . diff --git a/test/TurtleTests/turtle-syntax-uri-04.ttl b/test/TurtleTests/turtle-syntax-uri-04.ttl new file mode 100644 index 00000000..db805c8f --- /dev/null +++ b/test/TurtleTests/turtle-syntax-uri-04.ttl @@ -0,0 +1,3 @@ +# IRI with all chars in it. + + . diff --git a/test/TurtleTests/two_LITERAL_LONG2s.nt b/test/TurtleTests/two_LITERAL_LONG2s.nt new file mode 100644 index 00000000..af94fe6a --- /dev/null +++ b/test/TurtleTests/two_LITERAL_LONG2s.nt @@ -0,0 +1,2 @@ + "first long literal" . + "second long literal" . diff --git a/test/TurtleTests/two_LITERAL_LONG2s.ttl b/test/TurtleTests/two_LITERAL_LONG2s.ttl new file mode 100644 index 00000000..ceaad3d4 --- /dev/null +++ b/test/TurtleTests/two_LITERAL_LONG2s.ttl @@ -0,0 +1,4 @@ +# Test long literal twice to ensure it does not over-quote +@prefix : . +:a :b """first long literal""" . +:c :d """second long literal""" . diff --git a/test/TurtleTests/underscore_in_localName.nt b/test/TurtleTests/underscore_in_localName.nt new file mode 100644 index 00000000..f9d0c4f1 --- /dev/null +++ b/test/TurtleTests/underscore_in_localName.nt @@ -0,0 +1 @@ + . diff --git a/test/TurtleTests/underscore_in_localName.ttl b/test/TurtleTests/underscore_in_localName.ttl new file mode 100644 index 00000000..34596fdf --- /dev/null +++ b/test/TurtleTests/underscore_in_localName.ttl @@ -0,0 +1,2 @@ +@prefix p: . +p:s_ . diff --git a/test/bad/bad-00.ttl b/test/bad/bad-00.ttl new file mode 100644 index 00000000..b1a1b361 --- /dev/null +++ b/test/bad/bad-00.ttl @@ -0,0 +1,2 @@ +# prefix name must end in a : +@prefix a <#> . diff --git a/test/bad/bad-01.ttl b/test/bad/bad-01.ttl new file mode 100644 index 00000000..533bc21d --- /dev/null +++ b/test/bad/bad-01.ttl @@ -0,0 +1,3 @@ +# Forbidden by RDF - predicate cannot be blank +@prefix : . +:a [ :b :c ] :d . diff --git a/test/bad/bad-02.ttl b/test/bad/bad-02.ttl new file mode 100644 index 00000000..fd2014d0 --- /dev/null +++ b/test/bad/bad-02.ttl @@ -0,0 +1,3 @@ +# Forbidden by RDF - predicate cannot be blank +@prefix : . +:a [] :b . diff --git a/test/bad/bad-03.ttl b/test/bad/bad-03.ttl new file mode 100644 index 00000000..07a372f1 --- /dev/null +++ b/test/bad/bad-03.ttl @@ -0,0 +1,3 @@ +# 'a' only allowed as a predicate +@prefix : . +a :a :b . diff --git a/test/bad/bad-04.ttl b/test/bad/bad-04.ttl new file mode 100644 index 00000000..ee7246c8 --- /dev/null +++ b/test/bad/bad-04.ttl @@ -0,0 +1,3 @@ +# No comma is allowed in collections +@prefix : . +:a :b ( "apple", "banana" ) . diff --git a/test/bad/bad-05.ttl b/test/bad/bad-05.ttl new file mode 100644 index 00000000..387015fe --- /dev/null +++ b/test/bad/bad-05.ttl @@ -0,0 +1,4 @@ +# N3 {}s are not in Turtle +@prefix : . +{ :a :b :c . } :d :e . + diff --git a/test/bad/bad-06.ttl b/test/bad/bad-06.ttl new file mode 100644 index 00000000..a8f1a0fc --- /dev/null +++ b/test/bad/bad-06.ttl @@ -0,0 +1,3 @@ +# is and of are not in turtle +@prefix : . +:a is :b of :c . diff --git a/test/bad/bad-07.ttl b/test/bad/bad-07.ttl new file mode 100644 index 00000000..18ea4fa6 --- /dev/null +++ b/test/bad/bad-07.ttl @@ -0,0 +1,4 @@ +# paths are not in turtle +@prefix : . +:a.:b.:c . +:a^:b^:c . diff --git a/test/bad/bad-08.ttl b/test/bad/bad-08.ttl new file mode 100644 index 00000000..07918f9a --- /dev/null +++ b/test/bad/bad-08.ttl @@ -0,0 +1,2 @@ +@keywords something. +# @keywords is not in turtle diff --git a/test/bad/bad-09.ttl b/test/bad/bad-09.ttl new file mode 100644 index 00000000..d2d76c13 --- /dev/null +++ b/test/bad/bad-09.ttl @@ -0,0 +1,3 @@ +# implies is not in turtle +@prefix : . +:a => :b . diff --git a/test/bad/bad-10.ttl b/test/bad/bad-10.ttl new file mode 100644 index 00000000..b5ef1f55 --- /dev/null +++ b/test/bad/bad-10.ttl @@ -0,0 +1,3 @@ +# equivalence is not in turtle +@prefix : . +:a = :b . diff --git a/test/bad/bad-11.ttl b/test/bad/bad-11.ttl new file mode 100644 index 00000000..09e7b6a0 --- /dev/null +++ b/test/bad/bad-11.ttl @@ -0,0 +1,3 @@ +# @forAll is not in turtle +@prefix : . +@forAll :x . diff --git a/test/bad/bad-12.ttl b/test/bad/bad-12.ttl new file mode 100644 index 00000000..cef48ff8 --- /dev/null +++ b/test/bad/bad-12.ttl @@ -0,0 +1,3 @@ +# @forSome is not in turtle +@prefix : . +@forSome :x . diff --git a/test/bad/bad-13.ttl b/test/bad/bad-13.ttl new file mode 100644 index 00000000..91accf2b --- /dev/null +++ b/test/bad/bad-13.ttl @@ -0,0 +1,3 @@ +# <= is not in turtle +@prefix : . +:a <= :b . diff --git a/test/bad/bad-14.ttl b/test/bad/bad-14.ttl new file mode 100644 index 00000000..f4a7acf5 --- /dev/null +++ b/test/bad/bad-14.ttl @@ -0,0 +1,6 @@ +# Test long literals with missing end +@prefix : . +:a :b """a long + literal +with +newlines diff --git a/test/bad/bad-base.ttl b/test/bad/bad-base.ttl new file mode 100644 index 00000000..85421999 --- /dev/null +++ b/test/bad/bad-base.ttl @@ -0,0 +1 @@ +@base "I'm quite certain this is not a URI" . \ No newline at end of file diff --git a/test/bad/bad-blank.ttl b/test/bad/bad-blank.ttl new file mode 100644 index 00000000..a6543f2d --- /dev/null +++ b/test/bad/bad-blank.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +_:.bad a eg:Thing . \ No newline at end of file diff --git a/test/bad/bad-bom.ttl b/test/bad/bad-bom.ttl new file mode 100644 index 00000000..67993884 --- /dev/null +++ b/test/bad/bad-bom.ttl @@ -0,0 +1,3 @@ +ﻴ# This file starts with the first two bytes of the UTF-8 Byte Order Mark + + a . diff --git a/test/bad/bad-char-in-local.ttl b/test/bad/bad-char-in-local.ttl new file mode 100644 index 00000000..973cc0a2 --- /dev/null +++ b/test/bad/bad-char-in-local.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +eg:bad . diff --git a/test/bad/bad-char-in-prefix.ttl b/test/bad/bad-char-in-prefix.ttl new file mode 100644 index 00000000..b54e0274 --- /dev/null +++ b/test/bad/bad-char-in-prefix.ttl @@ -0,0 +1 @@ +bad:s . diff --git a/test/bad/bad-char-in-uri.ttl b/test/bad/bad-char-in-uri.ttl new file mode 100644 index 00000000..49f9c0d4 --- /dev/null +++ b/test/bad/bad-char-in-uri.ttl @@ -0,0 +1 @@ +<://a.example/s> "\u0006!#[]\u007F" . diff --git a/test/bad/bad-datatype.ttl b/test/bad/bad-datatype.ttl new file mode 100644 index 00000000..0dd6018f --- /dev/null +++ b/test/bad/bad-datatype.ttl @@ -0,0 +1 @@ +<> "hello"^^"not-a-uri" . \ No newline at end of file diff --git a/test/bad/bad-dot-after-subject.ttl b/test/bad/bad-dot-after-subject.ttl new file mode 100644 index 00000000..e76e0ea2 --- /dev/null +++ b/test/bad/bad-dot-after-subject.ttl @@ -0,0 +1 @@ + . . diff --git a/test/bad/bad-dot-in-collection.ttl b/test/bad/bad-dot-in-collection.ttl new file mode 100644 index 00000000..d2d35bc2 --- /dev/null +++ b/test/bad/bad-dot-in-collection.ttl @@ -0,0 +1 @@ +[ (1. diff --git a/test/bad/bad-eof-after-quotes.ttl b/test/bad/bad-eof-after-quotes.ttl new file mode 100644 index 00000000..40e429cb --- /dev/null +++ b/test/bad/bad-eof-after-quotes.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +<> eg:comment "" \ No newline at end of file diff --git a/test/bad/bad-eof-at-string-start.ttl b/test/bad/bad-eof-at-string-start.ttl new file mode 100644 index 00000000..93d20bcc --- /dev/null +++ b/test/bad/bad-eof-at-string-start.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +<> eg:comment " \ No newline at end of file diff --git a/test/bad/bad-eof-in-blank.ttl b/test/bad/bad-eof-in-blank.ttl new file mode 100644 index 00000000..8cf4ee84 --- /dev/null +++ b/test/bad/bad-eof-in-blank.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +<> eg:thing [ eg:comment "Thing" \ No newline at end of file diff --git a/test/bad/bad-eof-in-escape.ttl b/test/bad/bad-eof-in-escape.ttl new file mode 100644 index 00000000..24b4eec6 --- /dev/null +++ b/test/bad/bad-eof-in-escape.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +<> eg:comment """\uA \ No newline at end of file diff --git a/test/bad/bad-eof-in-lang-suffix.ttl b/test/bad/bad-eof-in-lang-suffix.ttl new file mode 100644 index 00000000..f46a7763 --- /dev/null +++ b/test/bad/bad-eof-in-lang-suffix.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +<> eg:comment "That ain't no language"@en-x \ No newline at end of file diff --git a/test/bad/bad-eof-in-lang.ttl b/test/bad/bad-eof-in-lang.ttl new file mode 100644 index 00000000..bfdffd02 --- /dev/null +++ b/test/bad/bad-eof-in-lang.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +<> eg:comment "That ain't no language"@a \ No newline at end of file diff --git a/test/bad/bad-eof-in-list.ttl b/test/bad/bad-eof-in-list.ttl new file mode 100644 index 00000000..13eeb88d --- /dev/null +++ b/test/bad/bad-eof-in-list.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +<> eg:thing ( eg:car eg:cdr \ No newline at end of file diff --git a/test/bad/bad-eof-in-long-string.ttl b/test/bad/bad-eof-in-long-string.ttl new file mode 100644 index 00000000..2ef179a8 --- /dev/null +++ b/test/bad/bad-eof-in-long-string.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +<> eg:comment """This is the string that never ends \ No newline at end of file diff --git a/test/bad/bad-eof-in-object-list.ttl b/test/bad/bad-eof-in-object-list.ttl new file mode 100644 index 00000000..9bbcd17a --- /dev/null +++ b/test/bad/bad-eof-in-object-list.ttl @@ -0,0 +1,2 @@ +@prefix eg: . +<> eg:p eg:o , \ No newline at end of file diff --git a/test/bad/bad-eof-in-object-list2.ttl b/test/bad/bad-eof-in-object-list2.ttl new file mode 100644 index 00000000..9186fb9f --- /dev/null +++ b/test/bad/bad-eof-in-object-list2.ttl @@ -0,0 +1,2 @@ +@prefix eg: . +<> eg:p eg:o ; eg:p1 eg:o2 , \ No newline at end of file diff --git a/test/bad/bad-eof-in-predicate-list.ttl b/test/bad/bad-eof-in-predicate-list.ttl new file mode 100644 index 00000000..eab5b05b --- /dev/null +++ b/test/bad/bad-eof-in-predicate-list.ttl @@ -0,0 +1,2 @@ +@prefix eg: . +<> eg:p eg:o ; \ No newline at end of file diff --git a/test/bad/bad-eof-in-string.ttl b/test/bad/bad-eof-in-string.ttl new file mode 100644 index 00000000..bb6e817f --- /dev/null +++ b/test/bad/bad-eof-in-string.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +<> eg:comment "This is the string that never ends \ No newline at end of file diff --git a/test/bad/bad-eof-in-triple-quote.ttl b/test/bad/bad-eof-in-triple-quote.ttl new file mode 100644 index 00000000..fb935441 --- /dev/null +++ b/test/bad/bad-eof-in-triple-quote.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +<> eg:comment """Hello"" \ No newline at end of file diff --git a/test/bad/bad-eof-in-uri-scheme.nt b/test/bad/bad-eof-in-uri-scheme.nt new file mode 100644 index 00000000..de892dcf --- /dev/null +++ b/test/bad/bad-eof-in-uri-scheme.nt @@ -0,0 +1 @@ + . + +<> eg:uri """\!""" . diff --git a/test/bad/bad-ext-namedblank-op.ttl b/test/bad/bad-ext-namedblank-op.ttl new file mode 100644 index 00000000..5e648393 --- /dev/null +++ b/test/bad/bad-ext-namedblank-op.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +eg:s eg:p [ =: _:o ; eg:name "o" ] . diff --git a/test/bad/bad-graph-blank-label.trig b/test/bad/bad-graph-blank-label.trig new file mode 100644 index 00000000..8b329db3 --- /dev/null +++ b/test/bad/bad-graph-blank-label.trig @@ -0,0 +1,3 @@ +PREFIX : + +GRAPH [ :p :o ] { :s :p :o } diff --git a/test/bad/bad-hex-digit.ttl b/test/bad/bad-hex-digit.ttl new file mode 100644 index 00000000..85816ced --- /dev/null +++ b/test/bad/bad-hex-digit.ttl @@ -0,0 +1 @@ + "\uABCG" . diff --git a/test/bad/bad-id-clash.ttl b/test/bad/bad-id-clash.ttl new file mode 100644 index 00000000..c1536840 --- /dev/null +++ b/test/bad/bad-id-clash.ttl @@ -0,0 +1,2 @@ +_:b1 a _:b2 . +_:b2 a _:B1 . \ No newline at end of file diff --git a/test/bad/bad-lang.ttl b/test/bad/bad-lang.ttl new file mode 100644 index 00000000..01e04328 --- /dev/null +++ b/test/bad/bad-lang.ttl @@ -0,0 +1 @@ +<> "hello"@\bad . \ No newline at end of file diff --git a/test/bad/bad-list.ttl b/test/bad/bad-list.ttl new file mode 100644 index 00000000..5606658e --- /dev/null +++ b/test/bad/bad-list.ttl @@ -0,0 +1 @@ +<> , invalid . \ No newline at end of file diff --git a/test/bad/bad-list2.ttl b/test/bad/bad-list2.ttl new file mode 100644 index 00000000..18584209 --- /dev/null +++ b/test/bad/bad-list2.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +<> eg:thing ( . \ No newline at end of file diff --git a/test/bad/bad-long-literal-in-list.ttl b/test/bad/bad-long-literal-in-list.ttl new file mode 100644 index 00000000..f10b4c3d --- /dev/null +++ b/test/bad/bad-long-literal-in-list.ttl @@ -0,0 +1 @@ +<> ("""") . \ No newline at end of file diff --git a/test/bad/bad-missing-semi.ttl b/test/bad/bad-missing-semi.ttl new file mode 100644 index 00000000..f8838805 --- /dev/null +++ b/test/bad/bad-missing-semi.ttl @@ -0,0 +1,3 @@ +@prefix a: . +a:s1 a:p1 a:o1 +a:s2 a:p2 a:o2 . diff --git a/test/bad/bad-missing-uri-scheme.nt b/test/bad/bad-missing-uri-scheme.nt new file mode 100644 index 00000000..5d7bc724 --- /dev/null +++ b/test/bad/bad-missing-uri-scheme.nt @@ -0,0 +1 @@ + . diff --git a/test/bad/bad-misspelled-base.ttl b/test/bad/bad-misspelled-base.ttl new file mode 100644 index 00000000..c8ae227a --- /dev/null +++ b/test/bad/bad-misspelled-base.ttl @@ -0,0 +1 @@ +@baze eg: . diff --git a/test/bad/bad-misspelled-prefix.ttl b/test/bad/bad-misspelled-prefix.ttl new file mode 100644 index 00000000..8c9d57f6 --- /dev/null +++ b/test/bad/bad-misspelled-prefix.ttl @@ -0,0 +1 @@ +@prefox eg: . diff --git a/test/bad/bad-namespace.ttl b/test/bad/bad-namespace.ttl new file mode 100644 index 00000000..0dd78d33 --- /dev/null +++ b/test/bad/bad-namespace.ttl @@ -0,0 +1 @@ +@prefix eg: "what?" . \ No newline at end of file diff --git a/test/bad/bad-ns.ttl b/test/bad/bad-ns.ttl new file mode 100644 index 00000000..4410573e --- /dev/null +++ b/test/bad/bad-ns.ttl @@ -0,0 +1 @@ +<> a badprefix:Thing . \ No newline at end of file diff --git a/test/bad/bad-null-byte.ttl b/test/bad/bad-null-byte.ttl new file mode 100644 index 00000000..4f2cb404 Binary files /dev/null and b/test/bad/bad-null-byte.ttl differ diff --git a/test/bad/bad-num.ttl b/test/bad/bad-num.ttl new file mode 100644 index 00000000..7685f0e0 --- /dev/null +++ b/test/bad/bad-num.ttl @@ -0,0 +1 @@ +<> .hello . \ No newline at end of file diff --git a/test/bad/bad-object.ttl b/test/bad/bad-object.ttl new file mode 100644 index 00000000..9fc6da18 --- /dev/null +++ b/test/bad/bad-object.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +eg:thing a four . diff --git a/test/bad/bad-object2.ttl b/test/bad/bad-object2.ttl new file mode 100644 index 00000000..9293d168 --- /dev/null +++ b/test/bad/bad-object2.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +eg:thing a fives . diff --git a/test/bad/bad-pn-escape.ttl b/test/bad/bad-pn-escape.ttl new file mode 100644 index 00000000..2b363e89 --- /dev/null +++ b/test/bad/bad-pn-escape.ttl @@ -0,0 +1,2 @@ +@prefix : . +:s :p :\a diff --git a/test/bad/bad-prefix.ttl b/test/bad/bad-prefix.ttl new file mode 100644 index 00000000..6c286355 --- /dev/null +++ b/test/bad/bad-prefix.ttl @@ -0,0 +1 @@ +@prefix _invalid . diff --git a/test/bad/bad-semicolon-after-subject.ttl b/test/bad/bad-semicolon-after-subject.ttl new file mode 100644 index 00000000..582c6ea0 --- /dev/null +++ b/test/bad/bad-semicolon-after-subject.ttl @@ -0,0 +1 @@ + ; . diff --git a/test/bad/bad-string.ttl b/test/bad/bad-string.ttl new file mode 100644 index 00000000..0bdea42c --- /dev/null +++ b/test/bad/bad-string.ttl @@ -0,0 +1 @@ +<> "hello \ No newline at end of file diff --git a/test/bad/bad-subject.ttl b/test/bad/bad-subject.ttl new file mode 100644 index 00000000..b98ea39b --- /dev/null +++ b/test/bad/bad-subject.ttl @@ -0,0 +1 @@ +invalid.:thing a invalid.Thing . diff --git a/test/bad/bad-uri-escape.ttl b/test/bad/bad-uri-escape.ttl new file mode 100644 index 00000000..16c63754 --- /dev/null +++ b/test/bad/bad-uri-escape.ttl @@ -0,0 +1 @@ + . diff --git a/test/bad/bad-uri-scheme-start.nt b/test/bad/bad-uri-scheme-start.nt new file mode 100644 index 00000000..cd3fd70f --- /dev/null +++ b/test/bad/bad-uri-scheme-start.nt @@ -0,0 +1 @@ +<2http://example.org/s> . diff --git a/test/bad/bad-uri-scheme.nt b/test/bad/bad-uri-scheme.nt new file mode 100644 index 00000000..1329edcd --- /dev/null +++ b/test/bad/bad-uri-scheme.nt @@ -0,0 +1 @@ + . diff --git a/test/bad/bad-uri-truncated.nt b/test/bad/bad-uri-truncated.nt new file mode 100644 index 00000000..22d29e4b --- /dev/null +++ b/test/bad/bad-uri-truncated.nt @@ -0,0 +1 @@ + . +a:thing x a:Thing . \ No newline at end of file diff --git a/test/bad/invalid-char-in-local.ttl b/test/bad/invalid-char-in-local.ttl new file mode 100644 index 00000000..520c2404 --- /dev/null +++ b/test/bad/invalid-char-in-local.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +eg:¿invalid . diff --git a/test/bad/invalid-char-in-prefix.ttl b/test/bad/invalid-char-in-prefix.ttl new file mode 100644 index 00000000..79547803 --- /dev/null +++ b/test/bad/invalid-char-in-prefix.ttl @@ -0,0 +1 @@ +invalid¿:s . diff --git a/test/bad/manifest.ttl b/test/bad/manifest.ttl new file mode 100644 index 00000000..e8ecb396 --- /dev/null +++ b/test/bad/manifest.ttl @@ -0,0 +1,431 @@ +@prefix mf: . +@prefix rdf: . +@prefix rdfs: . +@prefix rdft: . + +<> + rdf:type mf:Manifest ; + rdfs:comment "Serd bad syntax test cases" ; + mf:entries ( + <#bad-00> + <#bad-01> + <#bad-02> + <#bad-03> + <#bad-04> + <#bad-05> + <#bad-06> + <#bad-07> + <#bad-08> + <#bad-09> + <#bad-10> + <#bad-11> + <#bad-12> + <#bad-13> + <#bad-14> + <#bad-base> + <#bad-blank> + <#bad-bom> + <#bad-char-in-local> + <#bad-char-in-prefix> + <#bad-char-in-uri> + <#bad-datatype> + <#bad-dot-after-subject> + <#bad-dot-in-collection> + <#bad-eof-after-quotes> + <#bad-eof-at-string-start> + <#bad-eof-in-blank> + <#bad-eof-in-escape> + <#bad-eof-in-lang-suffix> + <#bad-eof-in-lang> + <#bad-eof-in-list> + <#bad-eof-in-object-list2> + <#bad-eof-in-object-list> + <#bad-eof-in-predicate-list> + <#bad-eof-in-long-string> + <#bad-eof-in-string> + <#bad-eof-in-triple-quote> + <#bad-eof-in-uri> + <#bad-eof-in-uri-scheme> + <#bad-escape> + <#bad-ext-namedblank-op> + <#bad-graph-blank-label> + <#bad-hex-digit> + <#bad-id-clash> + <#bad-lang> + <#bad-list2> + <#bad-list> + <#bad-long-literal-in-list> + <#bad-missing-semi> + <#bad-misspelled-base> + <#bad-misspelled-prefix> + <#bad-namespace> + <#bad-ns> + <#bad-null-byte> + <#bad-num> + <#bad-object2> + <#bad-object> + <#bad-pn-escape> + <#bad-prefix> + <#bad-semicolon-after-subject> + <#bad-string> + <#bad-subject> + <#bad-uri-escape> + <#bad-verb> + <#invalid-char-in-local> + <#invalid-char-in-prefix> + <#bad-missing-uri-scheme.nt> + <#bad-uri-scheme.nt> + <#bad-uri-scheme-start.nt> + <#bad-uri-truncated.nt> + ) . + +<#bad-00> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-00" ; + mf:action . + +<#bad-01> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-01" ; + mf:action . + +<#bad-02> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-02" ; + mf:action . + +<#bad-03> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-03" ; + mf:action . + +<#bad-04> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-04" ; + mf:action . + +<#bad-05> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-05" ; + mf:action . + +<#bad-06> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-06" ; + mf:action . + +<#bad-07> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-07" ; + mf:action . + +<#bad-08> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-08" ; + mf:action . + +<#bad-09> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-09" ; + mf:action . + +<#bad-10> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-10" ; + mf:action . + +<#bad-11> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-11" ; + mf:action . + +<#bad-12> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-12" ; + mf:action . + +<#bad-13> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-13" ; + mf:action . + +<#bad-14> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-14" ; + mf:action . + +<#bad-base> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-base" ; + mf:action . + +<#bad-blank> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-blank" ; + mf:action . + +<#bad-bom> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-bom" ; + mf:action . + +<#bad-char-in-local> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-char-in-local" ; + mf:action . + +<#bad-char-in-prefix> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-char-in-prefix" ; + mf:action . + +<#bad-char-in-uri> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-char-in-uri" ; + mf:action . + +<#bad-datatype> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-datatype" ; + mf:action . + +<#bad-dot-after-subject> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-dot-after-subject" ; + mf:action . + +<#bad-dot-in-collection> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-dot-in-collection" ; + mf:action . + +<#bad-eof-after-quotes> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-after-quotes" ; + mf:action . + +<#bad-eof-at-string-start> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-at-string-start" ; + mf:action . + +<#bad-eof-in-blank> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-in-blank" ; + mf:action . + +<#bad-eof-in-escape> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-in-escape" ; + mf:action . + +<#bad-eof-in-lang-suffix> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-in-lang-suffix" ; + mf:action . + +<#bad-eof-in-lang> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-in-lang" ; + mf:action . + +<#bad-eof-in-list> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-in-list" ; + mf:action . + +<#bad-eof-in-object-list2> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-in-object-list2" ; + mf:action . + +<#bad-eof-in-object-list> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-in-object-list" ; + mf:action . + +<#bad-eof-in-predicate-list> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-in-predicate-list" ; + mf:action . + +<#bad-eof-in-long-string> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-in-long-string" ; + mf:action . + +<#bad-eof-in-string> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-in-string" ; + mf:action . + +<#bad-eof-in-triple-quote> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-in-triple-quote" ; + mf:action . + +<#bad-eof-in-uri> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-eof-in-uri" ; + mf:action . + +<#bad-eof-in-uri-scheme> + rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "bad-eof-in-uri-scheme" ; + mf:action . + +<#bad-escape> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-escape" ; + mf:action . + +<#bad-ext-namedblank-op> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-ext-namedblank-op" ; + mf:action . + +<#bad-graph-blank-label> + rdf:type rdft:TestTrigNegativeSyntax ; + mf:name "bad-graph-blank-label" ; + mf:action . + +<#bad-hex-digit> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-hex-digit" ; + mf:action . + +<#bad-id-clash> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-id-clash" ; + mf:action . + +<#bad-lang> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-lang" ; + mf:action . + +<#bad-list2> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-list2" ; + mf:action . + +<#bad-list> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-list" ; + mf:action . + +<#bad-long-literal-in-list> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-long-literal-in-list" ; + mf:action . + +<#bad-missing-semi> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-missing-semi" ; + mf:action . + +<#bad-misspelled-base> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-misspelled-base" ; + mf:action . + +<#bad-misspelled-prefix> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-misspelled-prefix" ; + mf:action . + +<#bad-namespace> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-namespace" ; + mf:action . + +<#bad-ns> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-ns" ; + mf:action . + +<#bad-null-byte> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-null-byte" ; + mf:action . + +<#bad-num> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-num" ; + mf:action . + +<#bad-object2> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-object2" ; + mf:action . + +<#bad-object> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-object" ; + mf:action . + +<#bad-pn-escape> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-pn-escape" ; + mf:action . + +<#bad-prefix> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-prefix" ; + mf:action . + +<#bad-semicolon-after-subject> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-semicolon-after-subject" ; + mf:action . + +<#bad-string> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-string" ; + mf:action . + +<#bad-subject> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-subject" ; + mf:action . + +<#bad-uri-escape> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-uri-escape" ; + mf:action . + +<#bad-verb> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "bad-verb" ; + mf:action . + +<#invalid-char-in-local> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "invalid-char-in-local" ; + mf:action . + +<#invalid-char-in-prefix> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "invalid-char-in-prefix" ; + mf:action . + +<#bad-missing-uri-scheme.nt> + rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "bad-missing-uri-scheme" ; + mf:action . + +<#bad-uri-scheme.nt> + rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "bad-uri-scheme" ; + mf:action . + +<#bad-uri-scheme-start.nt> + rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "bad-uri-scheme-start" ; + mf:action . + +<#bad-uri-truncated.nt> + rdf:type rdft:TestNTriplesNegativeSyntax ; + mf:name "bad-uri-truncated" ; + mf:action . + diff --git a/test/env_test.c b/test/env_test.c new file mode 100644 index 00000000..1ed7552e --- /dev/null +++ b/test/env_test.c @@ -0,0 +1,95 @@ +/* + Copyright 2011-2020 David Robillard + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#undef NDEBUG + +#include "serd/serd.h" + +#include +#include +#include + +#define USTR(s) ((const uint8_t*)(s)) + +static SerdStatus +count_prefixes(void* handle, const SerdNode* name, const SerdNode* uri) +{ + (void)name; + (void)uri; + + ++*(int*)handle; + return SERD_SUCCESS; +} + +static void +test_env(void) +{ + SerdNode u = serd_node_from_string(SERD_URI, USTR("http://example.org/foo")); + SerdNode b = serd_node_from_string(SERD_CURIE, USTR("invalid")); + SerdNode c = serd_node_from_string(SERD_CURIE, USTR("eg.2:b")); + SerdEnv* env = serd_env_new(NULL); + serd_env_set_prefix_from_strings(env, USTR("eg.2"), USTR("http://example.org/")); + + assert(serd_env_set_base_uri(env, NULL)); + assert(serd_env_set_base_uri(env, &SERD_NODE_NULL)); + assert(serd_node_equals(serd_env_get_base_uri(env, NULL), &SERD_NODE_NULL)); + + SerdChunk prefix; + SerdChunk suffix; + assert(serd_env_expand(env, &b, &prefix, &suffix)); + + SerdNode xnode = serd_env_expand_node(env, &SERD_NODE_NULL); + assert(serd_node_equals(&xnode, &SERD_NODE_NULL)); + + SerdNode xu = serd_env_expand_node(env, &u); + assert(!strcmp((const char*)xu.buf, "http://example.org/foo")); + serd_node_free(&xu); + + SerdNode badpre = serd_node_from_string(SERD_CURIE, USTR("hm:what")); + SerdNode xbadpre = serd_env_expand_node(env, &badpre); + assert(serd_node_equals(&xbadpre, &SERD_NODE_NULL)); + + SerdNode xc = serd_env_expand_node(env, &c); + assert(!strcmp((const char*)xc.buf, "http://example.org/b")); + serd_node_free(&xc); + + assert(serd_env_set_prefix(env, &SERD_NODE_NULL, &SERD_NODE_NULL)); + + const SerdNode lit = serd_node_from_string(SERD_LITERAL, USTR("hello")); + assert(serd_env_set_prefix(env, &b, &lit)); + + const SerdNode blank = serd_node_from_string(SERD_BLANK, USTR("b1")); + const SerdNode xblank = serd_env_expand_node(env, &blank); + assert(serd_node_equals(&xblank, &SERD_NODE_NULL)); + + int n_prefixes = 0; + serd_env_set_prefix_from_strings(env, USTR("eg.2"), USTR("http://example.org/")); + serd_env_foreach(env, count_prefixes, &n_prefixes); + assert(n_prefixes == 1); + + SerdNode shorter_uri = serd_node_from_string(SERD_URI, USTR("urn:foo")); + SerdNode prefix_name; + assert(!serd_env_qualify(env, &shorter_uri, &prefix_name, &suffix)); + + serd_env_free(env); +} + +int +main(void) +{ + test_env(); + return 0; +} diff --git a/test/free_null_test.c b/test/free_null_test.c new file mode 100644 index 00000000..121a66cd --- /dev/null +++ b/test/free_null_test.c @@ -0,0 +1,33 @@ +/* + Copyright 2020 David Robillard + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#undef NDEBUG + +#include "serd/serd.h" + +#include + +int +main(void) +{ + serd_free(NULL); + serd_node_free(NULL); + serd_env_free(NULL); + serd_reader_free(NULL); + serd_writer_free(NULL); + + return 0; +} diff --git a/test/good/README.txt b/test/good/README.txt new file mode 100644 index 00000000..37460e60 --- /dev/null +++ b/test/good/README.txt @@ -0,0 +1,20 @@ +These are the tests for the Turtle Terse RDF Triple Language +that must be passed by conformant systems. See + http://www.dajobe.org/2004/01/turtle/ +for the full conformance information. + +The format is a set of good tests and bad tests. + +Good tests are a pair of files: + abc.ttl abc.out +which are the input Turtle file and the expected output RDF triples, +written in N-Triples. + +bad tests are of the form + bad-XX.ttl +which must fail. + +The tests should be performed with an assumed base URI +of http://www.w3.org/2001/sw/DataAccess/df1/tests/ + +Dave diff --git a/test/good/UTF-8.nt b/test/good/UTF-8.nt new file mode 100644 index 00000000..88ed2581 --- /dev/null +++ b/test/good/UTF-8.nt @@ -0,0 +1,2 @@ + "\nUTF-8 encoded sample plain-text file\n\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\u203E\n\nMarkus Kuhn [\u02C8ma\u02B3k\u028As ku\u02D0n] \u2014 2002-07-25\n\n\nThe ASCII compatible UTF-8 encoding used in this plain-text file\nis defined in Unicode, ISO 10646-1, and RFC 2279.\n\n\nUsing Unicode/UTF-8, you can write in emails and source code things such as\n\nMathematics and sciences:\n\n \u222E E\u22C5da = Q, n \u2192 \u221E, \u2211 f(i) = \u220F g(i), \u23A7\u23A1\u239B\u250C\u2500\u2500\u2500\u2500\u2500\u2510\u239E\u23A4\u23AB\n \u23AA\u23A2\u239C\u2502a\u00B2+b\u00B3 \u239F\u23A5\u23AA\n \u2200x\u2208\u211D: \u2308x\u2309 = \u2212\u230A\u2212x\u230B, \u03B1 \u2227 \u00AC\u03B2 = \u00AC(\u00AC\u03B1 \u2228 \u03B2), \u23AA\u23A2\u239C\u2502\u2500\u2500\u2500\u2500\u2500 \u239F\u23A5\u23AA\n \u23AA\u23A2\u239C\u23B7 c\u2088 \u239F\u23A5\u23AA\n \u2115 \u2286 \u2115\u2080 \u2282 \u2124 \u2282 \u211A \u2282 \u211D \u2282 \u2102, \u23A8\u23A2\u239C \u239F\u23A5\u23AC\n \u23AA\u23A2\u239C \u221E \u239F\u23A5\u23AA\n \u22A5 < a \u2260 b \u2261 c \u2264 d \u226A \u22A4 \u21D2 (\u27E6A\u27E7 \u21D4 \u27EAB\u27EB), \u23AA\u23A2\u239C \u23B2 \u239F\u23A5\u23AA\n \u23AA\u23A2\u239C \u23B3a\u2071-b\u2071\u239F\u23A5\u23AA\n 2H\u2082 + O\u2082 \u21CC 2H\u2082O, R = 4.7 k\u03A9, \u2300 200 mm \u23A9\u23A3\u239Di=1 \u23A0\u23A6\u23AD\n\nLinguistics and dictionaries:\n\n \u00F0i \u0131nt\u0259\u02C8n\u00E6\u0283\u0259n\u0259l f\u0259\u02C8n\u025Bt\u0131k \u0259so\u028Asi\u02C8e\u0131\u0283n\n Y [\u02C8\u028Fpsil\u0254n], Yen [j\u025Bn], Yoga [\u02C8jo\u02D0g\u0251]\n\nAPL:\n\n ((V\u2373V)=\u2373\u2374V)/V\u2190,V \u2337\u2190\u2373\u2192\u2374\u2206\u2207\u2283\u203E\u234E\u2355\u2308\n\nNicer typography in plain text files:\n\n \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\n \u2551 \u2551\n \u2551 \u2022 \u2018single\u2019 and \u201Cdouble\u201D quotes \u2551\n \u2551 \u2551\n \u2551 \u2022 Curly apostrophes: \u201CWe\u2019ve been here\u201D \u2551\n \u2551 \u2551\n \u2551 \u2022 Latin-1 apostrophe and accents: '\u00B4` \u2551\n \u2551 \u2551\n \u2551 \u2022 \u201Adeutsche\u2018 \u201EAnf\u00FChrungszeichen\u201C \u2551\n \u2551 \u2551\n \u2551 \u2022 \u2020, \u2021, \u2030, \u2022, 3\u20134, \u2014, \u22125/+5, \u2122, \u2026 \u2551\n \u2551 \u2551\n \u2551 \u2022 ASCII safety test: 1lI|, 0OD, 8B \u2551\n \u2551 \u256D\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256E \u2551\n \u2551 \u2022 the euro symbol: \u2502 14.95 \u20AC \u2502 \u2551\n \u2551 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F \u2551\n \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D\n\nCombining characters:\n\n STARG\u039B\u030ATE SG-1, a = v\u0307 = r\u0308, a\u20D1 \u22A5 b\u20D1\n\nGreek (in Polytonic):\n\n The Greek anthem:\n\n \u03A3\u1F72 \u03B3\u03BD\u03C9\u03C1\u1F77\u03B6\u03C9 \u1F00\u03C0\u1F78 \u03C4\u1F74\u03BD \u03BA\u1F79\u03C8\u03B7\n \u03C4\u03BF\u1FE6 \u03C3\u03C0\u03B1\u03B8\u03B9\u03BF\u1FE6 \u03C4\u1F74\u03BD \u03C4\u03C1\u03BF\u03BC\u03B5\u03C1\u1F75,\n \u03C3\u1F72 \u03B3\u03BD\u03C9\u03C1\u1F77\u03B6\u03C9 \u1F00\u03C0\u1F78 \u03C4\u1F74\u03BD \u1F44\u03C8\u03B7\n \u03C0\u03BF\u1F7A \u03BC\u1F72 \u03B2\u1F77\u03B1 \u03BC\u03B5\u03C4\u03C1\u1F71\u03B5\u03B9 \u03C4\u1F74 \u03B3\u1FC6.\n\n \u1FBF\u0391\u03C0\u1FBF \u03C4\u1F70 \u03BA\u1F79\u03BA\u03BA\u03B1\u03BB\u03B1 \u03B2\u03B3\u03B1\u03BB\u03BC\u1F73\u03BD\u03B7\n \u03C4\u1FF6\u03BD \u1FFE\u0395\u03BB\u03BB\u1F75\u03BD\u03C9\u03BD \u03C4\u1F70 \u1F31\u03B5\u03C1\u1F71\n \u03BA\u03B1\u1F76 \u03C3\u1F70\u03BD \u03C0\u03C1\u1FF6\u03C4\u03B1 \u1F00\u03BD\u03B4\u03C1\u03B5\u03B9\u03C9\u03BC\u1F73\u03BD\u03B7\n \u03C7\u03B1\u1FD6\u03C1\u03B5, \u1F66 \u03C7\u03B1\u1FD6\u03C1\u03B5, \u1FBF\u0395\u03BB\u03B5\u03C5\u03B8\u03B5\u03C1\u03B9\u1F71!\n\n From a speech of Demosthenes in the 4th century BC:\n\n \u039F\u1F50\u03C7\u1F76 \u03C4\u03B1\u1F50\u03C4\u1F70 \u03C0\u03B1\u03C1\u1F77\u03C3\u03C4\u03B1\u03C4\u03B1\u1F77 \u03BC\u03BF\u03B9 \u03B3\u03B9\u03B3\u03BD\u1F7D\u03C3\u03BA\u03B5\u03B9\u03BD, \u1F66 \u1F04\u03BD\u03B4\u03C1\u03B5\u03C2 \u1FBF\u0391\u03B8\u03B7\u03BD\u03B1\u1FD6\u03BF\u03B9,\n \u1F45\u03C4\u03B1\u03BD \u03C4\u1FBF \u03B5\u1F30\u03C2 \u03C4\u1F70 \u03C0\u03C1\u1F71\u03B3\u03BC\u03B1\u03C4\u03B1 \u1F00\u03C0\u03BF\u03B2\u03BB\u1F73\u03C8\u03C9 \u03BA\u03B1\u1F76 \u1F45\u03C4\u03B1\u03BD \u03C0\u03C1\u1F78\u03C2 \u03C4\u03BF\u1F7A\u03C2\n \u03BB\u1F79\u03B3\u03BF\u03C5\u03C2 \u03BF\u1F53\u03C2 \u1F00\u03BA\u03BF\u1F7B\u03C9\u0387 \u03C4\u03BF\u1F7A\u03C2 \u03BC\u1F72\u03BD \u03B3\u1F70\u03C1 \u03BB\u1F79\u03B3\u03BF\u03C5\u03C2 \u03C0\u03B5\u03C1\u1F76 \u03C4\u03BF\u1FE6\n \u03C4\u03B9\u03BC\u03C9\u03C1\u1F75\u03C3\u03B1\u03C3\u03B8\u03B1\u03B9 \u03A6\u1F77\u03BB\u03B9\u03C0\u03C0\u03BF\u03BD \u1F41\u03C1\u1FF6 \u03B3\u03B9\u03B3\u03BD\u03BF\u03BC\u1F73\u03BD\u03BF\u03C5\u03C2, \u03C4\u1F70 \u03B4\u1F72 \u03C0\u03C1\u1F71\u03B3\u03BC\u03B1\u03C4\u1FBF\n \u03B5\u1F30\u03C2 \u03C4\u03BF\u1FE6\u03C4\u03BF \u03C0\u03C1\u03BF\u1F75\u03BA\u03BF\u03BD\u03C4\u03B1, \u1F65\u03C3\u03B8\u1FBF \u1F45\u03C0\u03C9\u03C2 \u03BC\u1F74 \u03C0\u03B5\u03B9\u03C3\u1F79\u03BC\u03B5\u03B8\u1FBF \u03B1\u1F50\u03C4\u03BF\u1F76\n \u03C0\u03C1\u1F79\u03C4\u03B5\u03C1\u03BF\u03BD \u03BA\u03B1\u03BA\u1FF6\u03C2 \u03C3\u03BA\u1F73\u03C8\u03B1\u03C3\u03B8\u03B1\u03B9 \u03B4\u1F73\u03BF\u03BD. \u03BF\u1F50\u03B4\u1F73\u03BD \u03BF\u1F56\u03BD \u1F04\u03BB\u03BB\u03BF \u03BC\u03BF\u03B9 \u03B4\u03BF\u03BA\u03BF\u1FE6\u03C3\u03B9\u03BD\n \u03BF\u1F31 \u03C4\u1F70 \u03C4\u03BF\u03B9\u03B1\u1FE6\u03C4\u03B1 \u03BB\u1F73\u03B3\u03BF\u03BD\u03C4\u03B5\u03C2 \u1F22 \u03C4\u1F74\u03BD \u1F51\u03C0\u1F79\u03B8\u03B5\u03C3\u03B9\u03BD, \u03C0\u03B5\u03C1\u1F76 \u1F27\u03C2 \u03B2\u03BF\u03C5\u03BB\u03B5\u1F7B\u03B5\u03C3\u03B8\u03B1\u03B9,\n \u03BF\u1F50\u03C7\u1F76 \u03C4\u1F74\u03BD \u03BF\u1F56\u03C3\u03B1\u03BD \u03C0\u03B1\u03C1\u03B9\u03C3\u03C4\u1F71\u03BD\u03C4\u03B5\u03C2 \u1F51\u03BC\u1FD6\u03BD \u1F01\u03BC\u03B1\u03C1\u03C4\u1F71\u03BD\u03B5\u03B9\u03BD. \u1F10\u03B3\u1F7C \u03B4\u1F73, \u1F45\u03C4\u03B9 \u03BC\u1F73\u03BD\n \u03C0\u03BF\u03C4\u1FBF \u1F10\u03BE\u1FC6\u03BD \u03C4\u1FC7 \u03C0\u1F79\u03BB\u03B5\u03B9 \u03BA\u03B1\u1F76 \u03C4\u1F70 \u03B1\u1F51\u03C4\u1FC6\u03C2 \u1F14\u03C7\u03B5\u03B9\u03BD \u1F00\u03C3\u03C6\u03B1\u03BB\u1FF6\u03C2 \u03BA\u03B1\u1F76 \u03A6\u1F77\u03BB\u03B9\u03C0\u03C0\u03BF\u03BD\n \u03C4\u03B9\u03BC\u03C9\u03C1\u1F75\u03C3\u03B1\u03C3\u03B8\u03B1\u03B9, \u03BA\u03B1\u1F76 \u03BC\u1F71\u03BB\u1FBF \u1F00\u03BA\u03C1\u03B9\u03B2\u1FF6\u03C2 \u03BF\u1F36\u03B4\u03B1\u0387 \u1F10\u03C0\u1FBF \u1F10\u03BC\u03BF\u1FE6 \u03B3\u1F71\u03C1, \u03BF\u1F50 \u03C0\u1F71\u03BB\u03B1\u03B9\n \u03B3\u1F73\u03B3\u03BF\u03BD\u03B5\u03BD \u03C4\u03B1\u1FE6\u03C4\u1FBF \u1F00\u03BC\u03C6\u1F79\u03C4\u03B5\u03C1\u03B1\u0387 \u03BD\u1FE6\u03BD \u03BC\u1F73\u03BD\u03C4\u03BF\u03B9 \u03C0\u1F73\u03C0\u03B5\u03B9\u03C3\u03BC\u03B1\u03B9 \u03C4\u03BF\u1FE6\u03B8\u1FBF \u1F31\u03BA\u03B1\u03BD\u1F78\u03BD\n \u03C0\u03C1\u03BF\u03BB\u03B1\u03B2\u03B5\u1FD6\u03BD \u1F21\u03BC\u1FD6\u03BD \u03B5\u1F36\u03BD\u03B1\u03B9 \u03C4\u1F74\u03BD \u03C0\u03C1\u1F7D\u03C4\u03B7\u03BD, \u1F45\u03C0\u03C9\u03C2 \u03C4\u03BF\u1F7A\u03C2 \u03C3\u03C5\u03BC\u03BC\u1F71\u03C7\u03BF\u03C5\u03C2\n \u03C3\u1F7D\u03C3\u03BF\u03BC\u03B5\u03BD. \u1F10\u1F70\u03BD \u03B3\u1F70\u03C1 \u03C4\u03BF\u1FE6\u03C4\u03BF \u03B2\u03B5\u03B2\u03B1\u1F77\u03C9\u03C2 \u1F51\u03C0\u1F71\u03C1\u03BE\u1FC3, \u03C4\u1F79\u03C4\u03B5 \u03BA\u03B1\u1F76 \u03C0\u03B5\u03C1\u1F76 \u03C4\u03BF\u1FE6\n \u03C4\u1F77\u03BD\u03B1 \u03C4\u03B9\u03BC\u03C9\u03C1\u1F75\u03C3\u03B5\u03C4\u03B1\u1F77 \u03C4\u03B9\u03C2 \u03BA\u03B1\u1F76 \u1F43\u03BD \u03C4\u03C1\u1F79\u03C0\u03BF\u03BD \u1F10\u03BE\u1F73\u03C3\u03C4\u03B1\u03B9 \u03C3\u03BA\u03BF\u03C0\u03B5\u1FD6\u03BD\u0387 \u03C0\u03C1\u1F76\u03BD \u03B4\u1F72\n \u03C4\u1F74\u03BD \u1F00\u03C1\u03C7\u1F74\u03BD \u1F40\u03C1\u03B8\u1FF6\u03C2 \u1F51\u03C0\u03BF\u03B8\u1F73\u03C3\u03B8\u03B1\u03B9, \u03BC\u1F71\u03C4\u03B1\u03B9\u03BF\u03BD \u1F21\u03B3\u03BF\u1FE6\u03BC\u03B1\u03B9 \u03C0\u03B5\u03C1\u1F76 \u03C4\u1FC6\u03C2\n \u03C4\u03B5\u03BB\u03B5\u03C5\u03C4\u1FC6\u03C2 \u1F41\u03BD\u03C4\u03B9\u03BD\u03BF\u1FE6\u03BD \u03C0\u03BF\u03B9\u03B5\u1FD6\u03C3\u03B8\u03B1\u03B9 \u03BB\u1F79\u03B3\u03BF\u03BD.\n\n \u0394\u03B7\u03BC\u03BF\u03C3\u03B8\u1F73\u03BD\u03BF\u03C5\u03C2, \u0393\u1FFD \u1FBF\u039F\u03BB\u03C5\u03BD\u03B8\u03B9\u03B1\u03BA\u1F78\u03C2\n\nGeorgian:\n\n From a Unicode conference invitation:\n\n \u10D2\u10D7\u10EE\u10DD\u10D5\u10D7 \u10D0\u10EE\u10DA\u10D0\u10D5\u10D4 \u10D2\u10D0\u10D8\u10D0\u10E0\u10DD\u10D7 \u10E0\u10D4\u10D2\u10D8\u10E1\u10E2\u10E0\u10D0\u10EA\u10D8\u10D0 Unicode-\u10D8\u10E1 \u10DB\u10D4\u10D0\u10D7\u10D4 \u10E1\u10D0\u10D4\u10E0\u10D7\u10D0\u10E8\u10DD\u10E0\u10D8\u10E1\u10DD\n \u10D9\u10DD\u10DC\u10E4\u10D4\u10E0\u10D4\u10DC\u10EA\u10D8\u10D0\u10D6\u10D4 \u10D3\u10D0\u10E1\u10D0\u10E1\u10EC\u10E0\u10D4\u10D1\u10D0\u10D3, \u10E0\u10DD\u10DB\u10D4\u10DA\u10D8\u10EA \u10D2\u10D0\u10D8\u10DB\u10D0\u10E0\u10D7\u10D4\u10D1\u10D0 10-12 \u10DB\u10D0\u10E0\u10E2\u10E1,\n \u10E5. \u10DB\u10D0\u10D8\u10DC\u10EA\u10E8\u10D8, \u10D2\u10D4\u10E0\u10DB\u10D0\u10DC\u10D8\u10D0\u10E8\u10D8. \u10D9\u10DD\u10DC\u10E4\u10D4\u10E0\u10D4\u10DC\u10EA\u10D8\u10D0 \u10E8\u10D4\u10F0\u10D9\u10E0\u10D4\u10D1\u10E1 \u10D4\u10E0\u10D7\u10D0\u10D3 \u10DB\u10E1\u10DD\u10E4\u10DA\u10D8\u10DD\u10E1\n \u10D4\u10E5\u10E1\u10DE\u10D4\u10E0\u10E2\u10D4\u10D1\u10E1 \u10D8\u10E1\u10D4\u10D7 \u10D3\u10D0\u10E0\u10D2\u10D4\u10D1\u10E8\u10D8 \u10E0\u10DD\u10D2\u10DD\u10E0\u10D8\u10EA\u10D0\u10D0 \u10D8\u10DC\u10E2\u10D4\u10E0\u10DC\u10D4\u10E2\u10D8 \u10D3\u10D0 Unicode-\u10D8,\n \u10D8\u10DC\u10E2\u10D4\u10E0\u10DC\u10D0\u10EA\u10D8\u10DD\u10DC\u10D0\u10DA\u10D8\u10D6\u10D0\u10EA\u10D8\u10D0 \u10D3\u10D0 \u10DA\u10DD\u10D9\u10D0\u10DA\u10D8\u10D6\u10D0\u10EA\u10D8\u10D0, Unicode-\u10D8\u10E1 \u10D2\u10D0\u10DB\u10DD\u10E7\u10D4\u10DC\u10D4\u10D1\u10D0\n \u10DD\u10DE\u10D4\u10E0\u10D0\u10EA\u10D8\u10E3\u10DA \u10E1\u10D8\u10E1\u10E2\u10D4\u10DB\u10D4\u10D1\u10E1\u10D0, \u10D3\u10D0 \u10D2\u10D0\u10DB\u10DD\u10E7\u10D4\u10DC\u10D4\u10D1\u10D8\u10D7 \u10DE\u10E0\u10DD\u10D2\u10E0\u10D0\u10DB\u10D4\u10D1\u10E8\u10D8, \u10E8\u10E0\u10D8\u10E4\u10E2\u10D4\u10D1\u10E8\u10D8,\n \u10E2\u10D4\u10E5\u10E1\u10E2\u10D4\u10D1\u10D8\u10E1 \u10D3\u10D0\u10DB\u10E3\u10E8\u10D0\u10D5\u10D4\u10D1\u10D0\u10E1\u10D0 \u10D3\u10D0 \u10DB\u10E0\u10D0\u10D5\u10D0\u10DA\u10D4\u10DC\u10DD\u10D5\u10D0\u10DC \u10D9\u10DD\u10DB\u10DE\u10D8\u10E3\u10E2\u10D4\u10E0\u10E3\u10DA \u10E1\u10D8\u10E1\u10E2\u10D4\u10DB\u10D4\u10D1\u10E8\u10D8.\n\nRussian:\n\n From a Unicode conference invitation:\n\n \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0439\u0442\u0435\u0441\u044C \u0441\u0435\u0439\u0447\u0430\u0441 \u043D\u0430 \u0414\u0435\u0441\u044F\u0442\u0443\u044E \u041C\u0435\u0436\u0434\u0443\u043D\u0430\u0440\u043E\u0434\u043D\u0443\u044E \u041A\u043E\u043D\u0444\u0435\u0440\u0435\u043D\u0446\u0438\u044E \u043F\u043E\n Unicode, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u0441\u043E\u0441\u0442\u043E\u0438\u0442\u0441\u044F 10-12 \u043C\u0430\u0440\u0442\u0430 1997 \u0433\u043E\u0434\u0430 \u0432 \u041C\u0430\u0439\u043D\u0446\u0435 \u0432 \u0413\u0435\u0440\u043C\u0430\u043D\u0438\u0438.\n \u041A\u043E\u043D\u0444\u0435\u0440\u0435\u043D\u0446\u0438\u044F \u0441\u043E\u0431\u0435\u0440\u0435\u0442 \u0448\u0438\u0440\u043E\u043A\u0438\u0439 \u043A\u0440\u0443\u0433 \u044D\u043A\u0441\u043F\u0435\u0440\u0442\u043E\u0432 \u043F\u043E \u0432\u043E\u043F\u0440\u043E\u0441\u0430\u043C \u0433\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u043E\u0433\u043E\n \u0418\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0430 \u0438 Unicode, \u043B\u043E\u043A\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0438\u043D\u0442\u0435\u0440\u043D\u0430\u0446\u0438\u043E\u043D\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438, \u0432\u043E\u043F\u043B\u043E\u0449\u0435\u043D\u0438\u044E \u0438\n \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u044E Unicode \u0432 \u0440\u0430\u0437\u043B\u0438\u0447\u043D\u044B\u0445 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0441\u0438\u0441\u0442\u0435\u043C\u0430\u0445 \u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u043D\u044B\u0445\n \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u0445, \u0448\u0440\u0438\u0444\u0442\u0430\u0445, \u0432\u0435\u0440\u0441\u0442\u043A\u0435 \u0438 \u043C\u043D\u043E\u0433\u043E\u044F\u0437\u044B\u0447\u043D\u044B\u0445 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u043D\u044B\u0445 \u0441\u0438\u0441\u0442\u0435\u043C\u0430\u0445.\n\nThai (UCS Level 2):\n\n Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese\n classic 'San Gua'):\n\n [----------------------------|------------------------]\n \u0E4F \u0E41\u0E1C\u0E48\u0E19\u0E14\u0E34\u0E19\u0E2E\u0E31\u0E48\u0E19\u0E40\u0E2A\u0E37\u0E48\u0E2D\u0E21\u0E42\u0E17\u0E23\u0E21\u0E41\u0E2A\u0E19\u0E2A\u0E31\u0E07\u0E40\u0E27\u0E0A \u0E1E\u0E23\u0E30\u0E1B\u0E01\u0E40\u0E01\u0E28\u0E01\u0E2D\u0E07\u0E1A\u0E39\u0E4A\u0E01\u0E39\u0E49\u0E02\u0E36\u0E49\u0E19\u0E43\u0E2B\u0E21\u0E48\n \u0E2A\u0E34\u0E1A\u0E2A\u0E2D\u0E07\u0E01\u0E29\u0E31\u0E15\u0E23\u0E34\u0E22\u0E4C\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E41\u0E25\u0E16\u0E31\u0E14\u0E44\u0E1B \u0E2A\u0E2D\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E44\u0E0B\u0E23\u0E49\u0E42\u0E07\u0E48\u0E40\u0E02\u0E25\u0E32\u0E40\u0E1A\u0E32\u0E1B\u0E31\u0E0D\u0E0D\u0E32\n \u0E17\u0E23\u0E07\u0E19\u0E31\u0E1A\u0E16\u0E37\u0E2D\u0E02\u0E31\u0E19\u0E17\u0E35\u0E40\u0E1B\u0E47\u0E19\u0E17\u0E35\u0E48\u0E1E\u0E36\u0E48\u0E07 \u0E1A\u0E49\u0E32\u0E19\u0E40\u0E21\u0E37\u0E2D\u0E07\u0E08\u0E36\u0E07\u0E27\u0E34\u0E1B\u0E23\u0E34\u0E15\u0E40\u0E1B\u0E47\u0E19\u0E19\u0E31\u0E01\u0E2B\u0E19\u0E32\n \u0E42\u0E2E\u0E08\u0E34\u0E4B\u0E19\u0E40\u0E23\u0E35\u0E22\u0E01\u0E17\u0E31\u0E1E\u0E17\u0E31\u0E48\u0E27\u0E2B\u0E31\u0E27\u0E40\u0E21\u0E37\u0E2D\u0E07\u0E21\u0E32 \u0E2B\u0E21\u0E32\u0E22\u0E08\u0E30\u0E06\u0E48\u0E32\u0E21\u0E14\u0E0A\u0E31\u0E48\u0E27\u0E15\u0E31\u0E27\u0E2A\u0E33\u0E04\u0E31\u0E0D\n \u0E40\u0E2B\u0E21\u0E37\u0E2D\u0E19\u0E02\u0E31\u0E1A\u0E44\u0E2A\u0E44\u0E25\u0E48\u0E40\u0E2A\u0E37\u0E2D\u0E08\u0E32\u0E01\u0E40\u0E04\u0E2B\u0E32 \u0E23\u0E31\u0E1A\u0E2B\u0E21\u0E32\u0E1B\u0E48\u0E32\u0E40\u0E02\u0E49\u0E32\u0E21\u0E32\u0E40\u0E25\u0E22\u0E2D\u0E32\u0E2A\u0E31\u0E0D\n \u0E1D\u0E48\u0E32\u0E22\u0E2D\u0E49\u0E2D\u0E07\u0E2D\u0E38\u0E49\u0E19\u0E22\u0E38\u0E41\u0E22\u0E01\u0E43\u0E2B\u0E49\u0E41\u0E15\u0E01\u0E01\u0E31\u0E19 \u0E43\u0E0A\u0E49\u0E2A\u0E32\u0E27\u0E19\u0E31\u0E49\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E0A\u0E19\u0E27\u0E19\u0E0A\u0E37\u0E48\u0E19\u0E0A\u0E27\u0E19\u0E43\u0E08\n \u0E1E\u0E25\u0E31\u0E19\u0E25\u0E34\u0E09\u0E38\u0E22\u0E01\u0E38\u0E22\u0E01\u0E35\u0E01\u0E25\u0E31\u0E1A\u0E01\u0E48\u0E2D\u0E40\u0E2B\u0E15\u0E38 \u0E0A\u0E48\u0E32\u0E07\u0E2D\u0E32\u0E40\u0E1E\u0E28\u0E08\u0E23\u0E34\u0E07\u0E2B\u0E19\u0E32\u0E1F\u0E49\u0E32\u0E23\u0E49\u0E2D\u0E07\u0E44\u0E2B\u0E49\n \u0E15\u0E49\u0E2D\u0E07\u0E23\u0E1A\u0E23\u0E32\u0E06\u0E48\u0E32\u0E1F\u0E31\u0E19\u0E08\u0E19\u0E1A\u0E23\u0E23\u0E25\u0E31\u0E22 \u0E24\u0E45\u0E2B\u0E32\u0E43\u0E04\u0E23\u0E04\u0E49\u0E33\u0E0A\u0E39\u0E01\u0E39\u0E49\u0E1A\u0E23\u0E23\u0E25\u0E31\u0E07\u0E01\u0E4C \u0E2F\n\n (The above is a two-column text. If combining characters are handled\n correctly, the lines of the second column should be aligned with the\n | character above.)\n\nEthiopian:\n\n Proverbs in the Amharic language:\n\n \u1230\u121B\u12ED \u12A0\u12ED\u1273\u1228\u1235 \u1295\u1309\u1225 \u12A0\u12ED\u12A8\u1230\u1235\u1362\n \u1265\u120B \u12AB\u1208\u129D \u12A5\u1295\u12F0\u12A0\u1263\u1274 \u1260\u1246\u1218\u1320\u129D\u1362\n \u130C\u1325 \u12EB\u1208\u1264\u1271 \u1241\u121D\u1325\u1293 \u1290\u12CD\u1362\n \u12F0\u1200 \u1260\u1215\u120D\u1219 \u1245\u1264 \u1263\u12ED\u1320\u1323 \u1295\u1323\u1275 \u1260\u1308\u12F0\u1208\u12CD\u1362\n \u12E8\u12A0\u134D \u12C8\u1208\u121D\u1273 \u1260\u1245\u1264 \u12A0\u12ED\u1273\u123D\u121D\u1362\n \u12A0\u12ED\u1325 \u1260\u1260\u120B \u12F3\u12CB \u1270\u1218\u1273\u1362\n \u1232\u1270\u1228\u1309\u1219 \u12ED\u12F0\u1228\u130D\u1219\u1362\n \u1240\u1235 \u1260\u1240\u1235\u1365 \u12D5\u1295\u1241\u120B\u120D \u1260\u12A5\u130D\u1229 \u12ED\u1204\u12F3\u120D\u1362\n \u12F5\u122D \u1262\u12EB\u1265\u122D \u12A0\u1295\u1260\u1233 \u12EB\u1235\u122D\u1362\n \u1230\u12CD \u12A5\u1295\u12F0\u1264\u1271 \u12A5\u1295\u1305 \u12A5\u1295\u12F0 \u1309\u1228\u1264\u1271 \u12A0\u12ED\u1270\u12F3\u12F0\u122D\u121D\u1362\n \u12A5\u130D\u12DC\u122D \u12E8\u12A8\u1348\u1270\u12CD\u1295 \u1309\u122E\u122E \u1233\u12ED\u12D8\u130B\u12CD \u12A0\u12ED\u12F5\u122D\u121D\u1362\n \u12E8\u130E\u1228\u1264\u1275 \u120C\u1263\u1365 \u1262\u12EB\u12E9\u1275 \u12ED\u1235\u1245 \u1263\u12EB\u12E9\u1275 \u12EB\u1320\u120D\u1245\u1362\n \u1225\u122B \u12A8\u1218\u134D\u1273\u1275 \u120D\u1304\u1295 \u120B\u134B\u1273\u1275\u1362\n \u12D3\u1263\u12ED \u121B\u12F0\u122A\u12EB \u12E8\u1208\u12CD\u1365 \u130D\u1295\u12F5 \u12ED\u12DE \u12ED\u12DE\u122B\u120D\u1362\n \u12E8\u12A5\u1235\u120B\u121D \u12A0\u1308\u1229 \u1218\u12AB \u12E8\u12A0\u121E\u122B \u12A0\u1308\u1229 \u12CB\u122D\u12AB\u1362\n \u1270\u1295\u130B\u120E \u1262\u1270\u1349 \u1270\u1218\u120D\u1236 \u1263\u1349\u1362\n \u12C8\u12F3\u1305\u1205 \u121B\u122D \u1262\u1206\u1295 \u1328\u122D\u1235\u1205 \u12A0\u1275\u120B\u1230\u12CD\u1362\n \u12A5\u130D\u122D\u1205\u1295 \u1260\u134D\u122B\u123D\u1205 \u120D\u12AD \u12D8\u122D\u130B\u1362\n\nRunes:\n\n \u16BB\u16D6 \u16B3\u16B9\u16AB\u16A6 \u16A6\u16AB\u16CF \u16BB\u16D6 \u16D2\u16A2\u16DE\u16D6 \u16A9\u16BE \u16A6\u16AB\u16D7 \u16DA\u16AA\u16BE\u16DE\u16D6 \u16BE\u16A9\u16B1\u16A6\u16B9\u16D6\u16AA\u16B1\u16DE\u16A2\u16D7 \u16B9\u16C1\u16A6 \u16A6\u16AA \u16B9\u16D6\u16E5\u16AB\n\n (Old English, which transcribed into Latin reads 'He cwaeth that he\n bude thaem lande northweardum with tha Westsae.' and means 'He said\n that he lived in the northern land near the Western Sea.')\n\nBraille:\n\n \u284C\u2801\u2827\u2811 \u283C\u2801\u2812 \u284D\u281C\u2807\u2811\u2839\u2830\u280E \u2863\u2815\u280C\n\n \u284D\u281C\u2807\u2811\u2839 \u283A\u2801\u280E \u2819\u2811\u2801\u2819\u2812 \u281E\u2815 \u2803\u2811\u281B\u2814 \u283A\u280A\u2839\u2832 \u2879\u283B\u2811 \u280A\u280E \u281D\u2815 \u2819\u2833\u2803\u281E\n \u2831\u2801\u281E\u2811\u2827\u283B \u2801\u2803\u2833\u281E \u2839\u2801\u281E\u2832 \u2879\u2811 \u2817\u2811\u281B\u280A\u280C\u283B \u2815\u280B \u2819\u280A\u280E \u2803\u2825\u2817\u280A\u2801\u2807 \u283A\u2801\u280E\n \u280E\u280A\u281B\u281D\u282B \u2803\u2839 \u2839\u2811 \u280A\u2807\u283B\u281B\u2839\u280D\u2801\u281D\u2802 \u2839\u2811 \u280A\u2807\u283B\u2805\u2802 \u2839\u2811 \u2825\u281D\u2819\u283B\u281E\u2801\u2805\u283B\u2802\n \u2801\u281D\u2819 \u2839\u2811 \u2821\u280A\u2811\u280B \u280D\u2833\u2817\u281D\u283B\u2832 \u284E\u280A\u2817\u2815\u2815\u281B\u2811 \u280E\u280A\u281B\u281D\u282B \u280A\u281E\u2832 \u2841\u281D\u2819\n \u284E\u280A\u2817\u2815\u2815\u281B\u2811\u2830\u280E \u281D\u2801\u280D\u2811 \u283A\u2801\u280E \u281B\u2815\u2815\u2819 \u2825\u280F\u2815\u281D \u2830\u2861\u2801\u281D\u281B\u2811\u2802 \u280B\u2815\u2817 \u2801\u281D\u2839\u2839\u2814\u281B \u2819\u2811\n \u2821\u2815\u280E\u2811 \u281E\u2815 \u280F\u2825\u281E \u2819\u280A\u280E \u2819\u2801\u281D\u2819 \u281E\u2815\u2832\n\n \u2855\u2807\u2819 \u284D\u281C\u2807\u2811\u2839 \u283A\u2801\u280E \u2801\u280E \u2819\u2811\u2801\u2819 \u2801\u280E \u2801 \u2819\u2815\u2815\u2817\u2824\u281D\u2801\u280A\u2807\u2832\n\n \u284D\u2814\u2819\u2816 \u284A \u2819\u2815\u281D\u2830\u281E \u280D\u2811\u2801\u281D \u281E\u2815 \u280E\u2801\u2839 \u2839\u2801\u281E \u284A \u2805\u281D\u282A\u2802 \u2815\u280B \u280D\u2839\n \u282A\u281D \u2805\u281D\u282A\u2807\u282B\u281B\u2811\u2802 \u2831\u2801\u281E \u2839\u283B\u2811 \u280A\u280E \u280F\u281C\u281E\u280A\u280A\u2825\u2807\u281C\u2807\u2839 \u2819\u2811\u2801\u2819 \u2801\u2803\u2833\u281E\n \u2801 \u2819\u2815\u2815\u2817\u2824\u281D\u2801\u280A\u2807\u2832 \u284A \u280D\u280A\u2823\u281E \u2819\u2801\u2827\u2811 \u2803\u2811\u2832 \u2814\u280A\u2807\u2814\u282B\u2802 \u280D\u2839\u280E\u2811\u2807\u280B\u2802 \u281E\u2815\n \u2817\u2811\u281B\u281C\u2819 \u2801 \u280A\u2815\u280B\u280B\u2814\u2824\u281D\u2801\u280A\u2807 \u2801\u280E \u2839\u2811 \u2819\u2811\u2801\u2819\u2811\u280C \u280F\u280A\u2811\u280A\u2811 \u2815\u280B \u280A\u2817\u2815\u281D\u280D\u2815\u281D\u281B\u283B\u2839\n \u2814 \u2839\u2811 \u281E\u2817\u2801\u2819\u2811\u2832 \u2843\u2825\u281E \u2839\u2811 \u283A\u280A\u280E\u2819\u2815\u280D \u2815\u280B \u2833\u2817 \u2801\u281D\u280A\u2811\u280C\u2815\u2817\u280E\n \u280A\u280E \u2814 \u2839\u2811 \u280E\u280A\u280D\u280A\u2807\u2811\u2806 \u2801\u281D\u2819 \u280D\u2839 \u2825\u281D\u2819\u2801\u2807\u2807\u282A\u282B \u2819\u2801\u281D\u2819\u280E\n \u2829\u2801\u2807\u2807 \u281D\u2815\u281E \u2819\u280A\u280C\u2825\u2817\u2803 \u280A\u281E\u2802 \u2815\u2817 \u2839\u2811 \u284A\u2833\u281D\u281E\u2817\u2839\u2830\u280E \u2819\u2815\u281D\u2811 \u280B\u2815\u2817\u2832 \u2879\u2833\n \u283A\u280A\u2807\u2807 \u2839\u283B\u2811\u280B\u2815\u2817\u2811 \u280F\u283B\u280D\u280A\u281E \u280D\u2811 \u281E\u2815 \u2817\u2811\u280F\u2811\u2801\u281E\u2802 \u2811\u280D\u280F\u2819\u2801\u281E\u280A\u280A\u2801\u2807\u2807\u2839\u2802 \u2839\u2801\u281E\n \u284D\u281C\u2807\u2811\u2839 \u283A\u2801\u280E \u2801\u280E \u2819\u2811\u2801\u2819 \u2801\u280E \u2801 \u2819\u2815\u2815\u2817\u2824\u281D\u2801\u280A\u2807\u2832\n\n (The first couple of paragraphs of \"A Christmas Carol\" by Dickens)\n\nCompact font selection example text:\n\n ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789\n abcdefghijklmnopqrstuvwxyz \u00A3\u00A9\u00B5\u00C0\u00C6\u00D6\u00DE\u00DF\u00E9\u00F6\u00FF\n \u2013\u2014\u2018\u201C\u201D\u201E\u2020\u2022\u2026\u2030\u2122\u0153\u0160\u0178\u017E\u20AC \u0391\u0392\u0393\u0394\u03A9\u03B1\u03B2\u03B3\u03B4\u03C9 \u0410\u0411\u0412\u0413\u0414\u0430\u0431\u0432\u0433\u0434\n \u2200\u2202\u2208\u211D\u2227\u222A\u2261\u221E \u2191\u2197\u21A8\u21BB\u21E3 \u2510\u253C\u2554\u2558\u2591\u25BA\u263A\u2640 \uFB01\uFFFD\u2440\u2082\u1F20\u1E02\u04E5\u1E84\u0250\u02D0\u234E\u05D0\u0531\u10D0\n\nGreetings in various languages:\n\n Hello world, \u039A\u03B1\u03BB\u03B7\u03BC\u1F73\u03C1\u03B1 \u03BA\u1F79\u03C3\u03BC\u03B5, \u30B3\u30F3\u30CB\u30C1\u30CF\n\nBox drawing alignment tests: \u2588\n \u2589\n \u2554\u2550\u2550\u2566\u2550\u2550\u2557 \u250C\u2500\u2500\u252C\u2500\u2500\u2510 \u256D\u2500\u2500\u252C\u2500\u2500\u256E \u256D\u2500\u2500\u252C\u2500\u2500\u256E \u250F\u2501\u2501\u2533\u2501\u2501\u2513 \u250E\u2512\u250F\u2511 \u2577 \u257B \u250F\u252F\u2513 \u250C\u2530\u2510 \u258A \u2571\u2572\u2571\u2572\u2573\u2573\u2573\n \u2551\u250C\u2500\u2568\u2500\u2510\u2551 \u2502\u2554\u2550\u2567\u2550\u2557\u2502 \u2502\u2552\u2550\u256A\u2550\u2555\u2502 \u2502\u2553\u2500\u2541\u2500\u2556\u2502 \u2503\u250C\u2500\u2542\u2500\u2510\u2503 \u2517\u2543\u2544\u2519 \u2576\u253C\u2574\u257A\u254B\u2578\u2520\u253C\u2528 \u251D\u254B\u2525 \u258B \u2572\u2571\u2572\u2571\u2573\u2573\u2573\n \u2551\u2502\u2572 \u2571\u2502\u2551 \u2502\u2551 \u2551\u2502 \u2502\u2502 \u2502 \u2502\u2502 \u2502\u2551 \u2503 \u2551\u2502 \u2503\u2502 \u257F \u2502\u2503 \u250D\u2545\u2546\u2513 \u2575 \u2579 \u2517\u2537\u251B \u2514\u2538\u2518 \u258C \u2571\u2572\u2571\u2572\u2573\u2573\u2573\n \u2560\u2561 \u2573 \u255E\u2563 \u251C\u2562 \u255F\u2524 \u251C\u253C\u2500\u253C\u2500\u253C\u2524 \u251C\u256B\u2500\u2542\u2500\u256B\u2524 \u2523\u253F\u257E\u253C\u257C\u253F\u252B \u2515\u251B\u2516\u251A \u250C\u2504\u2504\u2510 \u254E \u250F\u2505\u2505\u2513 \u250B \u258D \u2572\u2571\u2572\u2571\u2573\u2573\u2573\n \u2551\u2502\u2571 \u2572\u2502\u2551 \u2502\u2551 \u2551\u2502 \u2502\u2502 \u2502 \u2502\u2502 \u2502\u2551 \u2503 \u2551\u2502 \u2503\u2502 \u257D \u2502\u2503 \u2591\u2591\u2592\u2592\u2593\u2593\u2588\u2588 \u250A \u2506 \u254E \u254F \u2507 \u250B \u258E\n \u2551\u2514\u2500\u2565\u2500\u2518\u2551 \u2502\u255A\u2550\u2564\u2550\u255D\u2502 \u2502\u2558\u2550\u256A\u2550\u255B\u2502 \u2502\u2559\u2500\u2540\u2500\u255C\u2502 \u2503\u2514\u2500\u2542\u2500\u2518\u2503 \u2591\u2591\u2592\u2592\u2593\u2593\u2588\u2588 \u250A \u2506 \u254E \u254F \u2507 \u250B \u258F\n \u255A\u2550\u2550\u2569\u2550\u2550\u255D \u2514\u2500\u2500\u2534\u2500\u2500\u2518 \u2570\u2500\u2500\u2534\u2500\u2500\u256F \u2570\u2500\u2500\u2534\u2500\u2500\u256F \u2517\u2501\u2501\u253B\u2501\u2501\u251B \u2597\u2584\u2596\u259B\u2580\u259C \u2514\u254C\u254C\u2518 \u254E \u2517\u254D\u254D\u251B \u250B \u2581\u2582\u2583\u2584\u2585\u2586\u2587\u2588\n \u259D\u2580\u2598\u2599\u2584\u259F\n" . + "\n Two byte Unicode escape: \u00E0\n Largest Unicode escape in Turtle: \U0010FFFF\n" . diff --git a/test/good/UTF-8.ttl b/test/good/UTF-8.ttl new file mode 100644 index 00000000..82587c57 --- /dev/null +++ b/test/good/UTF-8.ttl @@ -0,0 +1,219 @@ +@prefix rdfs: . + +<> rdfs:comment """ +UTF-8 encoded sample plain-text file +‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ + +Markus Kuhn [ˈmaʳkʊs kuːn] — 2002-07-25 + + +The ASCII compatible UTF-8 encoding used in this plain-text file +is defined in Unicode, ISO 10646-1, and RFC 2279. + + +Using Unicode/UTF-8, you can write in emails and source code things such as + +Mathematics and sciences: + + ∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫ + ⎪⎢⎜│a²+b³ ⎟⎥⎪ + ∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪ + ⎪⎢⎜⎷ c₈ ⎟⎥⎪ + ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬ + ⎪⎢⎜ ∞ ⎟⎥⎪ + ⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪ + ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪ + 2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭ + +Linguistics and dictionaries: + + ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn + Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ] + +APL: + + ((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈ + +Nicer typography in plain text files: + + ╔══════════════════════════════════════════╗ + ║ ║ + ║ • ‘single’ and “double” quotes ║ + ║ ║ + ║ • Curly apostrophes: “We’ve been here” ║ + ║ ║ + ║ • Latin-1 apostrophe and accents: '´` ║ + ║ ║ + ║ • ‚deutsche‘ „Anführungszeichen“ ║ + ║ ║ + ║ • †, ‡, ‰, •, 3–4, —, −5/+5, ™, … ║ + ║ ║ + ║ • ASCII safety test: 1lI|, 0OD, 8B ║ + ║ ╭─────────╮ ║ + ║ • the euro symbol: │ 14.95 € │ ║ + ║ ╰─────────╯ ║ + ╚══════════════════════════════════════════╝ + +Combining characters: + + STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑ + +Greek (in Polytonic): + + The Greek anthem: + + Σὲ γνωρίζω ἀπὸ τὴν κόψη + τοῦ σπαθιοῦ τὴν τρομερή, + σὲ γνωρίζω ἀπὸ τὴν ὄψη + ποὺ μὲ βία μετράει τὴ γῆ. + + ᾿Απ᾿ τὰ κόκκαλα βγαλμένη + τῶν ῾Ελλήνων τὰ ἱερά + καὶ σὰν πρῶτα ἀνδρειωμένη + χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά! + + From a speech of Demosthenes in the 4th century BC: + + Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι, + ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς + λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ + τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿ + εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ + πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν + οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι, + οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν + ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον + τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι + γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν + προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους + σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ + τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ + τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς + τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον. + + Δημοσθένους, Γ´ ᾿Ολυνθιακὸς + +Georgian: + + From a Unicode conference invitation: + + გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო + კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს, + ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს + ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი, + ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება + ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში, + ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში. + +Russian: + + From a Unicode conference invitation: + + Зарегистрируйтесь сейчас на Десятую Международную Конференцию по + Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии. + Конференция соберет широкий круг экспертов по вопросам глобального + Интернета и Unicode, локализации и интернационализации, воплощению и + применению Unicode в различных операционных системах и программных + приложениях, шрифтах, верстке и многоязычных компьютерных системах. + +Thai (UCS Level 2): + + Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese + classic 'San Gua'): + + [----------------------------|------------------------] + ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช พระปกเกศกองบู๊กู้ขึ้นใหม่ + สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา + ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา + โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ + เหมือนขับไสไล่เสือจากเคหา รับหมาป่าเข้ามาเลยอาสัญ + ฝ่ายอ้องอุ้นยุแยกให้แตกกัน ใช้สาวนั้นเป็นชนวนชื่นชวนใจ + พลันลิฉุยกุยกีกลับก่อเหตุ ช่างอาเพศจริงหนาฟ้าร้องไห้ + ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ + + (The above is a two-column text. If combining characters are handled + correctly, the lines of the second column should be aligned with the + | character above.) + +Ethiopian: + + Proverbs in the Amharic language: + + ሰማይ አይታረስ ንጉሥ አይከሰስ። + ብላ ካለኝ እንደአባቴ በቆመጠኝ። + ጌጥ ያለቤቱ ቁምጥና ነው። + ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው። + የአፍ ወለምታ በቅቤ አይታሽም። + አይጥ በበላ ዳዋ ተመታ። + ሲተረጉሙ ይደረግሙ። + ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል። + ድር ቢያብር አንበሳ ያስር። + ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም። + እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም። + የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ። + ሥራ ከመፍታት ልጄን ላፋታት። + ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል። + የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ። + ተንጋሎ ቢተፉ ተመልሶ ባፉ። + ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው። + እግርህን በፍራሽህ ልክ ዘርጋ። + +Runes: + + ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ + + (Old English, which transcribed into Latin reads 'He cwaeth that he + bude thaem lande northweardum with tha Westsae.' and means 'He said + that he lived in the northern land near the Western Sea.') + +Braille: + + ⡌⠁⠧⠑ ⠼⠁⠒ ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌ + + ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞ + ⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎ + ⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂ + ⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙ + ⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑ + ⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲ + + ⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ + + ⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹ + ⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞ + ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕ + ⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹ + ⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎ + ⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎ + ⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳ + ⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞ + ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ + + (The first couple of paragraphs of "A Christmas Carol" by Dickens) + +Compact font selection example text: + + ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789 + abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ + –—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд + ∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა + +Greetings in various languages: + + Hello world, Καλημέρα κόσμε, コンニチハ + +Box drawing alignment tests: █ + ▉ + ╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳ + ║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳ + ║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳ + ╠╡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳ + ║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎ + ║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏ + ╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ ▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█ + ▝▀▘▙▄▟ +""" . +<> rdfs:comment """ + Two byte Unicode escape: \u00E0 + Largest Unicode escape in Turtle: \U0010FFFF +""" . diff --git a/test/good/base.nt b/test/good/base.nt new file mode 100644 index 00000000..4e8e4c82 --- /dev/null +++ b/test/good/base.nt @@ -0,0 +1 @@ + . diff --git a/test/good/base.ttl b/test/good/base.ttl new file mode 100644 index 00000000..4c437937 --- /dev/null +++ b/test/good/base.ttl @@ -0,0 +1,3 @@ + + a . + diff --git a/test/good/manifest.ttl b/test/good/manifest.ttl new file mode 100644 index 00000000..1a482f2d --- /dev/null +++ b/test/good/manifest.ttl @@ -0,0 +1,327 @@ +@prefix mf: . +@prefix rdf: . +@prefix rdfs: . +@prefix rdft: . + +<> + rdf:type mf:Manifest ; + rdfs:comment "Serd good syntax test cases" ; + mf:entries ( + <#test-14> + <#base> + <#rdf-schema> + <#rdfs-namespace> + <#test-14> + <#test-15> + <#test-16> + <#test-18> + <#test-30> + <#test-a-without-whitespace> + <#test-backspace> + <#test-base-nopath> + <#test-base-query> + <#test-blank-cont> + <#test-blank-in-list> + <#test-blank-node-statement> + <#test-blankdot> + <#test-bom> + <#test-cr> + <#test-delete> + <#test-digit-start-pname> + <#test-empty-path-base> + <#test-empty> + <#test-eof-at-page-end> + <#test-escapes> + <#test-ext-namedblank-iri> + <#test-ext-namedblank-prefix> + <#test-form-feed> + <#test-id> + <#test-lang> + <#test-list-in-blank> + <#test-list-subject> + <#test-list> + <#test-long-string> + <#test-several-eaten-dots> + <#test-no-spaces> + <#test-non-curie-uri> + <#test-num> + <#test-out-of-range-unicode> + <#test-prefix> + <#test-pretty> + <#test-rel> + <#test-semi-dot> + <#test-uri-escape> + <#test-uri> + <#test-utf8-uri> + <#UTF-8> + ) . + +<#test-14> + rdf:type rdft:TestTurtleEval ; + mf:name "test-14" ; + mf:action . + +<#base> + rdf:type rdft:TestTurtleEval ; + mf:name "base" ; + mf:action ; + mf:result . + +<#test-14> + rdf:type rdft:TestTurtleEval ; + mf:name "test-14" ; + mf:action ; + mf:result . + +<#test-15> + rdf:type rdft:TestTurtleEval ; + mf:name "test-15" ; + mf:action ; + mf:result . + +<#test-16> + rdf:type rdft:TestTurtleEval ; + mf:name "test-16" ; + mf:action ; + mf:result . + +<#test-18> + rdf:type rdft:TestTurtleEval ; + mf:name "test-18" ; + mf:action ; + mf:result . + +<#test-30> + rdf:type rdft:TestTurtleEval ; + mf:name "test-30" ; + mf:action ; + mf:result . + +<#test-a-without-whitespace> + rdf:type rdft:TestTurtleEval ; + mf:name "test-a-without-whitespace" ; + mf:action ; + mf:result . + +<#test-backspace> + rdf:type rdft:TestTurtleEval ; + mf:name "test-backspace" ; + mf:action ; + mf:result . + +<#test-base-nopath> + rdf:type rdft:TestTurtleEval ; + mf:name "test-base-nopath" ; + mf:action ; + mf:result . + +<#test-base-query> + rdf:type rdft:TestTurtleEval ; + mf:name "test-base-query" ; + mf:action ; + mf:result . + +<#test-blank-cont> + rdf:type rdft:TestTurtleEval ; + mf:name "test-blank-cont" ; + mf:action ; + mf:result . + +<#test-blankdot> + rdf:type rdft:TestTurtleEval ; + mf:name "test-blankdot" ; + mf:action ; + mf:result . + +<#test-blank-in-list> + rdf:type rdft:TestTurtleEval ; + mf:name "test-blank-in-list" ; + mf:action ; + mf:result . + +<#test-blank-node-statement> + rdf:type rdft:TestTurtleEval ; + mf:name "test-blank-node-statement" ; + mf:action ; + mf:result . + +<#test-bom> + rdf:type rdft:TestTurtleEval ; + mf:name "test-bom" ; + mf:action ; + mf:result . + +<#test-cr> + rdf:type rdft:TestTurtleEval ; + mf:name "test-cr" ; + mf:action ; + mf:result . + +<#test-delete> + rdf:type rdft:TestTurtleEval ; + mf:name "test-delete" ; + mf:action ; + mf:result . + +<#test-digit-start-pname> + rdf:type rdft:TestTurtleEval ; + mf:name "test-digit-start-pname" ; + mf:action ; + mf:result . + +<#test-empty-path-base> + rdf:type rdft:TestTurtleEval ; + mf:name "test-empty-path-base" ; + mf:action ; + mf:result . + +<#test-empty> + rdf:type rdft:TestTurtleEval ; + mf:name "test-empty" ; + mf:action ; + mf:result . + +<#test-eof-at-page-end> + rdf:type rdft:TestTurtleEval ; + mf:name "test-eof-at-page-end" ; + mf:action ; + mf:result . + +<#test-escapes> + rdf:type rdft:TestTurtleEval ; + mf:name "test-escapes" ; + mf:action ; + mf:result . + +<#test-ext-namedblank-iri> + rdf:type rdft:TestTurtleEval ; + mf:name "test-ext-namedblank-iri" ; + mf:action ; + mf:result . + +<#test-ext-namedblank-prefix> + rdf:type rdft:TestTurtleEval ; + mf:name "test-ext-namedblank-prefix" ; + mf:action ; + mf:result . + +<#test-form-feed> + rdf:type rdft:TestTurtleEval ; + mf:name "test-form-feed" ; + mf:action ; + mf:result . + +<#test-id> + rdf:type rdft:TestTurtleEval ; + mf:name "test-id" ; + mf:action ; + mf:result . + +<#test-lang> + rdf:type rdft:TestTurtleEval ; + mf:name "test-lang" ; + mf:action ; + mf:result . + +<#test-list-in-blank> + rdf:type rdft:TestTurtleEval ; + mf:name "test-list-in-blank" ; + mf:action ; + mf:result . + +<#test-list-subject> + rdf:type rdft:TestTurtleEval ; + mf:name "test-list-subject" ; + mf:action ; + mf:result . + +<#test-list> + rdf:type rdft:TestTurtleEval ; + mf:name "test-list" ; + mf:action ; + mf:result . + +<#test-long-string> + rdf:type rdft:TestTurtleEval ; + mf:name "test-long-string" ; + mf:action ; + mf:result . + +<#test-several-eaten-dots> + rdf:type rdft:TestTrigEval ; + mf:name "test-several-eaten-dots" ; + mf:action ; + mf:result . + +<#test-no-spaces> + rdf:type rdft:TestTurtleEval ; + mf:name "test-no-spaces" ; + mf:action ; + mf:result . + +<#test-non-curie-uri> + rdf:type rdft:TestTurtleEval ; + mf:name "test-non-curie-uri" ; + mf:action ; + mf:result . + +<#test-num> + rdf:type rdft:TestTurtleEval ; + mf:name "test-num" ; + mf:action ; + mf:result . + +<#test-out-of-range-unicode> + rdf:type rdft:TestTurtleEval ; + mf:name "test-out-of-range-unicode" ; + mf:action ; + mf:result . + +<#test-prefix> + rdf:type rdft:TestTurtleEval ; + mf:name "test-prefix" ; + mf:action ; + mf:result . + +<#test-pretty> + rdf:type rdft:TestTurtleEval ; + mf:name "test-pretty" ; + mf:action ; + mf:result . + +<#test-rel> + rdf:type rdft:TestTurtleEval ; + mf:name "test-rel" ; + mf:action ; + mf:result . + +<#test-semi-dot> + rdf:type rdft:TestTurtleEval ; + mf:name "test-semi-dot" ; + mf:action ; + mf:result . + +<#test-uri-escape> + rdf:type rdft:TestTurtleEval ; + mf:name "test-uri-escape" ; + mf:action ; + mf:result . + +<#test-uri> + rdf:type rdft:TestTurtleEval ; + mf:name "test-uri" ; + mf:action ; + mf:result . + +<#test-utf8-uri> + rdf:type rdft:TestTurtleEval ; + mf:name "test-utf8-uri" ; + mf:action ; + mf:result . + +<#UTF-8> + rdf:type rdft:TestTurtleEval ; + mf:name "UTF-8" ; + mf:action ; + mf:result . + diff --git a/test/good/qualify-in.ttl b/test/good/qualify-in.ttl new file mode 100644 index 00000000..d938b7bd --- /dev/null +++ b/test/good/qualify-in.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + + . diff --git a/test/good/qualify-out.ttl b/test/good/qualify-out.ttl new file mode 100644 index 00000000..97f67a53 --- /dev/null +++ b/test/good/qualify-out.ttl @@ -0,0 +1,5 @@ +@prefix eg: . + +eg:s + eg:p eg:o . + diff --git a/test/good/test-14.nt b/test/good/test-14.nt new file mode 100644 index 00000000..791b3a7a --- /dev/null +++ b/test/good/test-14.nt @@ -0,0 +1,10000 @@ + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . diff --git a/test/good/test-14.ttl b/test/good/test-14.ttl new file mode 100644 index 00000000..ad9dbde8 --- /dev/null +++ b/test/good/test-14.ttl @@ -0,0 +1,10002 @@ +# 10000 triples, more than the default Bison stack size +@prefix : . +:a1 :a1 :a1. +:a2 :a2 :a2. +:a3 :a3 :a3. +:a4 :a4 :a4. +:a5 :a5 :a5. +:a6 :a6 :a6. +:a7 :a7 :a7. +:a8 :a8 :a8. +:a9 :a9 :a9. +:a10 :a10 :a10. +:a11 :a11 :a11. +:a12 :a12 :a12. +:a13 :a13 :a13. +:a14 :a14 :a14. +:a15 :a15 :a15. +:a16 :a16 :a16. +:a17 :a17 :a17. +:a18 :a18 :a18. +:a19 :a19 :a19. +:a20 :a20 :a20. +:a21 :a21 :a21. +:a22 :a22 :a22. +:a23 :a23 :a23. +:a24 :a24 :a24. +:a25 :a25 :a25. +:a26 :a26 :a26. +:a27 :a27 :a27. +:a28 :a28 :a28. +:a29 :a29 :a29. +:a30 :a30 :a30. +:a31 :a31 :a31. +:a32 :a32 :a32. +:a33 :a33 :a33. +:a34 :a34 :a34. +:a35 :a35 :a35. +:a36 :a36 :a36. +:a37 :a37 :a37. +:a38 :a38 :a38. +:a39 :a39 :a39. +:a40 :a40 :a40. +:a41 :a41 :a41. +:a42 :a42 :a42. +:a43 :a43 :a43. +:a44 :a44 :a44. +:a45 :a45 :a45. +:a46 :a46 :a46. +:a47 :a47 :a47. +:a48 :a48 :a48. +:a49 :a49 :a49. +:a50 :a50 :a50. +:a51 :a51 :a51. +:a52 :a52 :a52. +:a53 :a53 :a53. +:a54 :a54 :a54. +:a55 :a55 :a55. +:a56 :a56 :a56. +:a57 :a57 :a57. +:a58 :a58 :a58. +:a59 :a59 :a59. +:a60 :a60 :a60. +:a61 :a61 :a61. +:a62 :a62 :a62. +:a63 :a63 :a63. +:a64 :a64 :a64. +:a65 :a65 :a65. +:a66 :a66 :a66. +:a67 :a67 :a67. +:a68 :a68 :a68. +:a69 :a69 :a69. +:a70 :a70 :a70. +:a71 :a71 :a71. +:a72 :a72 :a72. +:a73 :a73 :a73. +:a74 :a74 :a74. +:a75 :a75 :a75. +:a76 :a76 :a76. +:a77 :a77 :a77. +:a78 :a78 :a78. +:a79 :a79 :a79. +:a80 :a80 :a80. +:a81 :a81 :a81. +:a82 :a82 :a82. +:a83 :a83 :a83. +:a84 :a84 :a84. +:a85 :a85 :a85. +:a86 :a86 :a86. +:a87 :a87 :a87. +:a88 :a88 :a88. +:a89 :a89 :a89. +:a90 :a90 :a90. +:a91 :a91 :a91. +:a92 :a92 :a92. +:a93 :a93 :a93. +:a94 :a94 :a94. +:a95 :a95 :a95. +:a96 :a96 :a96. +:a97 :a97 :a97. +:a98 :a98 :a98. +:a99 :a99 :a99. +:a100 :a100 :a100. +:a101 :a101 :a101. +:a102 :a102 :a102. +:a103 :a103 :a103. +:a104 :a104 :a104. +:a105 :a105 :a105. +:a106 :a106 :a106. +:a107 :a107 :a107. +:a108 :a108 :a108. +:a109 :a109 :a109. +:a110 :a110 :a110. +:a111 :a111 :a111. +:a112 :a112 :a112. +:a113 :a113 :a113. +:a114 :a114 :a114. +:a115 :a115 :a115. +:a116 :a116 :a116. +:a117 :a117 :a117. +:a118 :a118 :a118. +:a119 :a119 :a119. +:a120 :a120 :a120. +:a121 :a121 :a121. +:a122 :a122 :a122. +:a123 :a123 :a123. +:a124 :a124 :a124. +:a125 :a125 :a125. +:a126 :a126 :a126. +:a127 :a127 :a127. +:a128 :a128 :a128. +:a129 :a129 :a129. +:a130 :a130 :a130. +:a131 :a131 :a131. +:a132 :a132 :a132. +:a133 :a133 :a133. +:a134 :a134 :a134. +:a135 :a135 :a135. +:a136 :a136 :a136. +:a137 :a137 :a137. +:a138 :a138 :a138. +:a139 :a139 :a139. +:a140 :a140 :a140. +:a141 :a141 :a141. +:a142 :a142 :a142. +:a143 :a143 :a143. +:a144 :a144 :a144. +:a145 :a145 :a145. +:a146 :a146 :a146. +:a147 :a147 :a147. +:a148 :a148 :a148. +:a149 :a149 :a149. +:a150 :a150 :a150. +:a151 :a151 :a151. +:a152 :a152 :a152. +:a153 :a153 :a153. +:a154 :a154 :a154. +:a155 :a155 :a155. +:a156 :a156 :a156. +:a157 :a157 :a157. +:a158 :a158 :a158. +:a159 :a159 :a159. +:a160 :a160 :a160. +:a161 :a161 :a161. +:a162 :a162 :a162. +:a163 :a163 :a163. +:a164 :a164 :a164. +:a165 :a165 :a165. +:a166 :a166 :a166. +:a167 :a167 :a167. +:a168 :a168 :a168. +:a169 :a169 :a169. +:a170 :a170 :a170. +:a171 :a171 :a171. +:a172 :a172 :a172. +:a173 :a173 :a173. +:a174 :a174 :a174. +:a175 :a175 :a175. +:a176 :a176 :a176. +:a177 :a177 :a177. +:a178 :a178 :a178. +:a179 :a179 :a179. +:a180 :a180 :a180. +:a181 :a181 :a181. +:a182 :a182 :a182. +:a183 :a183 :a183. +:a184 :a184 :a184. +:a185 :a185 :a185. +:a186 :a186 :a186. +:a187 :a187 :a187. +:a188 :a188 :a188. +:a189 :a189 :a189. +:a190 :a190 :a190. +:a191 :a191 :a191. +:a192 :a192 :a192. +:a193 :a193 :a193. +:a194 :a194 :a194. +:a195 :a195 :a195. +:a196 :a196 :a196. +:a197 :a197 :a197. +:a198 :a198 :a198. +:a199 :a199 :a199. +:a200 :a200 :a200. +:a201 :a201 :a201. +:a202 :a202 :a202. +:a203 :a203 :a203. +:a204 :a204 :a204. +:a205 :a205 :a205. +:a206 :a206 :a206. +:a207 :a207 :a207. +:a208 :a208 :a208. +:a209 :a209 :a209. +:a210 :a210 :a210. +:a211 :a211 :a211. +:a212 :a212 :a212. +:a213 :a213 :a213. +:a214 :a214 :a214. +:a215 :a215 :a215. +:a216 :a216 :a216. +:a217 :a217 :a217. +:a218 :a218 :a218. +:a219 :a219 :a219. +:a220 :a220 :a220. +:a221 :a221 :a221. +:a222 :a222 :a222. +:a223 :a223 :a223. +:a224 :a224 :a224. +:a225 :a225 :a225. +:a226 :a226 :a226. +:a227 :a227 :a227. +:a228 :a228 :a228. +:a229 :a229 :a229. +:a230 :a230 :a230. +:a231 :a231 :a231. +:a232 :a232 :a232. +:a233 :a233 :a233. +:a234 :a234 :a234. +:a235 :a235 :a235. +:a236 :a236 :a236. +:a237 :a237 :a237. +:a238 :a238 :a238. +:a239 :a239 :a239. +:a240 :a240 :a240. +:a241 :a241 :a241. +:a242 :a242 :a242. +:a243 :a243 :a243. +:a244 :a244 :a244. +:a245 :a245 :a245. +:a246 :a246 :a246. +:a247 :a247 :a247. +:a248 :a248 :a248. +:a249 :a249 :a249. +:a250 :a250 :a250. +:a251 :a251 :a251. +:a252 :a252 :a252. +:a253 :a253 :a253. +:a254 :a254 :a254. +:a255 :a255 :a255. +:a256 :a256 :a256. +:a257 :a257 :a257. +:a258 :a258 :a258. +:a259 :a259 :a259. +:a260 :a260 :a260. +:a261 :a261 :a261. +:a262 :a262 :a262. +:a263 :a263 :a263. +:a264 :a264 :a264. +:a265 :a265 :a265. +:a266 :a266 :a266. +:a267 :a267 :a267. +:a268 :a268 :a268. +:a269 :a269 :a269. +:a270 :a270 :a270. +:a271 :a271 :a271. +:a272 :a272 :a272. +:a273 :a273 :a273. +:a274 :a274 :a274. +:a275 :a275 :a275. +:a276 :a276 :a276. +:a277 :a277 :a277. +:a278 :a278 :a278. +:a279 :a279 :a279. +:a280 :a280 :a280. +:a281 :a281 :a281. +:a282 :a282 :a282. +:a283 :a283 :a283. +:a284 :a284 :a284. +:a285 :a285 :a285. +:a286 :a286 :a286. +:a287 :a287 :a287. +:a288 :a288 :a288. +:a289 :a289 :a289. +:a290 :a290 :a290. +:a291 :a291 :a291. +:a292 :a292 :a292. +:a293 :a293 :a293. +:a294 :a294 :a294. +:a295 :a295 :a295. +:a296 :a296 :a296. +:a297 :a297 :a297. +:a298 :a298 :a298. +:a299 :a299 :a299. +:a300 :a300 :a300. +:a301 :a301 :a301. +:a302 :a302 :a302. +:a303 :a303 :a303. +:a304 :a304 :a304. +:a305 :a305 :a305. +:a306 :a306 :a306. +:a307 :a307 :a307. +:a308 :a308 :a308. +:a309 :a309 :a309. +:a310 :a310 :a310. +:a311 :a311 :a311. +:a312 :a312 :a312. +:a313 :a313 :a313. +:a314 :a314 :a314. +:a315 :a315 :a315. +:a316 :a316 :a316. +:a317 :a317 :a317. +:a318 :a318 :a318. +:a319 :a319 :a319. +:a320 :a320 :a320. +:a321 :a321 :a321. +:a322 :a322 :a322. +:a323 :a323 :a323. +:a324 :a324 :a324. +:a325 :a325 :a325. +:a326 :a326 :a326. +:a327 :a327 :a327. +:a328 :a328 :a328. +:a329 :a329 :a329. +:a330 :a330 :a330. +:a331 :a331 :a331. +:a332 :a332 :a332. +:a333 :a333 :a333. +:a334 :a334 :a334. +:a335 :a335 :a335. +:a336 :a336 :a336. +:a337 :a337 :a337. +:a338 :a338 :a338. +:a339 :a339 :a339. +:a340 :a340 :a340. +:a341 :a341 :a341. +:a342 :a342 :a342. +:a343 :a343 :a343. +:a344 :a344 :a344. +:a345 :a345 :a345. +:a346 :a346 :a346. +:a347 :a347 :a347. +:a348 :a348 :a348. +:a349 :a349 :a349. +:a350 :a350 :a350. +:a351 :a351 :a351. +:a352 :a352 :a352. +:a353 :a353 :a353. +:a354 :a354 :a354. +:a355 :a355 :a355. +:a356 :a356 :a356. +:a357 :a357 :a357. +:a358 :a358 :a358. +:a359 :a359 :a359. +:a360 :a360 :a360. +:a361 :a361 :a361. +:a362 :a362 :a362. +:a363 :a363 :a363. +:a364 :a364 :a364. +:a365 :a365 :a365. +:a366 :a366 :a366. +:a367 :a367 :a367. +:a368 :a368 :a368. +:a369 :a369 :a369. +:a370 :a370 :a370. +:a371 :a371 :a371. +:a372 :a372 :a372. +:a373 :a373 :a373. +:a374 :a374 :a374. +:a375 :a375 :a375. +:a376 :a376 :a376. +:a377 :a377 :a377. +:a378 :a378 :a378. +:a379 :a379 :a379. +:a380 :a380 :a380. +:a381 :a381 :a381. +:a382 :a382 :a382. +:a383 :a383 :a383. +:a384 :a384 :a384. +:a385 :a385 :a385. +:a386 :a386 :a386. +:a387 :a387 :a387. +:a388 :a388 :a388. +:a389 :a389 :a389. +:a390 :a390 :a390. +:a391 :a391 :a391. +:a392 :a392 :a392. +:a393 :a393 :a393. +:a394 :a394 :a394. +:a395 :a395 :a395. +:a396 :a396 :a396. +:a397 :a397 :a397. +:a398 :a398 :a398. +:a399 :a399 :a399. +:a400 :a400 :a400. +:a401 :a401 :a401. +:a402 :a402 :a402. +:a403 :a403 :a403. +:a404 :a404 :a404. +:a405 :a405 :a405. +:a406 :a406 :a406. +:a407 :a407 :a407. +:a408 :a408 :a408. +:a409 :a409 :a409. +:a410 :a410 :a410. +:a411 :a411 :a411. +:a412 :a412 :a412. +:a413 :a413 :a413. +:a414 :a414 :a414. +:a415 :a415 :a415. +:a416 :a416 :a416. +:a417 :a417 :a417. +:a418 :a418 :a418. +:a419 :a419 :a419. +:a420 :a420 :a420. +:a421 :a421 :a421. +:a422 :a422 :a422. +:a423 :a423 :a423. +:a424 :a424 :a424. +:a425 :a425 :a425. +:a426 :a426 :a426. +:a427 :a427 :a427. +:a428 :a428 :a428. +:a429 :a429 :a429. +:a430 :a430 :a430. +:a431 :a431 :a431. +:a432 :a432 :a432. +:a433 :a433 :a433. +:a434 :a434 :a434. +:a435 :a435 :a435. +:a436 :a436 :a436. +:a437 :a437 :a437. +:a438 :a438 :a438. +:a439 :a439 :a439. +:a440 :a440 :a440. +:a441 :a441 :a441. +:a442 :a442 :a442. +:a443 :a443 :a443. +:a444 :a444 :a444. +:a445 :a445 :a445. +:a446 :a446 :a446. +:a447 :a447 :a447. +:a448 :a448 :a448. +:a449 :a449 :a449. +:a450 :a450 :a450. +:a451 :a451 :a451. +:a452 :a452 :a452. +:a453 :a453 :a453. +:a454 :a454 :a454. +:a455 :a455 :a455. +:a456 :a456 :a456. +:a457 :a457 :a457. +:a458 :a458 :a458. +:a459 :a459 :a459. +:a460 :a460 :a460. +:a461 :a461 :a461. +:a462 :a462 :a462. +:a463 :a463 :a463. +:a464 :a464 :a464. +:a465 :a465 :a465. +:a466 :a466 :a466. +:a467 :a467 :a467. +:a468 :a468 :a468. +:a469 :a469 :a469. +:a470 :a470 :a470. +:a471 :a471 :a471. +:a472 :a472 :a472. +:a473 :a473 :a473. +:a474 :a474 :a474. +:a475 :a475 :a475. +:a476 :a476 :a476. +:a477 :a477 :a477. +:a478 :a478 :a478. +:a479 :a479 :a479. +:a480 :a480 :a480. +:a481 :a481 :a481. +:a482 :a482 :a482. +:a483 :a483 :a483. +:a484 :a484 :a484. +:a485 :a485 :a485. +:a486 :a486 :a486. +:a487 :a487 :a487. +:a488 :a488 :a488. +:a489 :a489 :a489. +:a490 :a490 :a490. +:a491 :a491 :a491. +:a492 :a492 :a492. +:a493 :a493 :a493. +:a494 :a494 :a494. +:a495 :a495 :a495. +:a496 :a496 :a496. +:a497 :a497 :a497. +:a498 :a498 :a498. +:a499 :a499 :a499. +:a500 :a500 :a500. +:a501 :a501 :a501. +:a502 :a502 :a502. +:a503 :a503 :a503. +:a504 :a504 :a504. +:a505 :a505 :a505. +:a506 :a506 :a506. +:a507 :a507 :a507. +:a508 :a508 :a508. +:a509 :a509 :a509. +:a510 :a510 :a510. +:a511 :a511 :a511. +:a512 :a512 :a512. +:a513 :a513 :a513. +:a514 :a514 :a514. +:a515 :a515 :a515. +:a516 :a516 :a516. +:a517 :a517 :a517. +:a518 :a518 :a518. +:a519 :a519 :a519. +:a520 :a520 :a520. +:a521 :a521 :a521. +:a522 :a522 :a522. +:a523 :a523 :a523. +:a524 :a524 :a524. +:a525 :a525 :a525. +:a526 :a526 :a526. +:a527 :a527 :a527. +:a528 :a528 :a528. +:a529 :a529 :a529. +:a530 :a530 :a530. +:a531 :a531 :a531. +:a532 :a532 :a532. +:a533 :a533 :a533. +:a534 :a534 :a534. +:a535 :a535 :a535. +:a536 :a536 :a536. +:a537 :a537 :a537. +:a538 :a538 :a538. +:a539 :a539 :a539. +:a540 :a540 :a540. +:a541 :a541 :a541. +:a542 :a542 :a542. +:a543 :a543 :a543. +:a544 :a544 :a544. +:a545 :a545 :a545. +:a546 :a546 :a546. +:a547 :a547 :a547. +:a548 :a548 :a548. +:a549 :a549 :a549. +:a550 :a550 :a550. +:a551 :a551 :a551. +:a552 :a552 :a552. +:a553 :a553 :a553. +:a554 :a554 :a554. +:a555 :a555 :a555. +:a556 :a556 :a556. +:a557 :a557 :a557. +:a558 :a558 :a558. +:a559 :a559 :a559. +:a560 :a560 :a560. +:a561 :a561 :a561. +:a562 :a562 :a562. +:a563 :a563 :a563. +:a564 :a564 :a564. +:a565 :a565 :a565. +:a566 :a566 :a566. +:a567 :a567 :a567. +:a568 :a568 :a568. +:a569 :a569 :a569. +:a570 :a570 :a570. +:a571 :a571 :a571. +:a572 :a572 :a572. +:a573 :a573 :a573. +:a574 :a574 :a574. +:a575 :a575 :a575. +:a576 :a576 :a576. +:a577 :a577 :a577. +:a578 :a578 :a578. +:a579 :a579 :a579. +:a580 :a580 :a580. +:a581 :a581 :a581. +:a582 :a582 :a582. +:a583 :a583 :a583. +:a584 :a584 :a584. +:a585 :a585 :a585. +:a586 :a586 :a586. +:a587 :a587 :a587. +:a588 :a588 :a588. +:a589 :a589 :a589. +:a590 :a590 :a590. +:a591 :a591 :a591. +:a592 :a592 :a592. +:a593 :a593 :a593. +:a594 :a594 :a594. +:a595 :a595 :a595. +:a596 :a596 :a596. +:a597 :a597 :a597. +:a598 :a598 :a598. +:a599 :a599 :a599. +:a600 :a600 :a600. +:a601 :a601 :a601. +:a602 :a602 :a602. +:a603 :a603 :a603. +:a604 :a604 :a604. +:a605 :a605 :a605. +:a606 :a606 :a606. +:a607 :a607 :a607. +:a608 :a608 :a608. +:a609 :a609 :a609. +:a610 :a610 :a610. +:a611 :a611 :a611. +:a612 :a612 :a612. +:a613 :a613 :a613. +:a614 :a614 :a614. +:a615 :a615 :a615. +:a616 :a616 :a616. +:a617 :a617 :a617. +:a618 :a618 :a618. +:a619 :a619 :a619. +:a620 :a620 :a620. +:a621 :a621 :a621. +:a622 :a622 :a622. +:a623 :a623 :a623. +:a624 :a624 :a624. +:a625 :a625 :a625. +:a626 :a626 :a626. +:a627 :a627 :a627. +:a628 :a628 :a628. +:a629 :a629 :a629. +:a630 :a630 :a630. +:a631 :a631 :a631. +:a632 :a632 :a632. +:a633 :a633 :a633. +:a634 :a634 :a634. +:a635 :a635 :a635. +:a636 :a636 :a636. +:a637 :a637 :a637. +:a638 :a638 :a638. +:a639 :a639 :a639. +:a640 :a640 :a640. +:a641 :a641 :a641. +:a642 :a642 :a642. +:a643 :a643 :a643. +:a644 :a644 :a644. +:a645 :a645 :a645. +:a646 :a646 :a646. +:a647 :a647 :a647. +:a648 :a648 :a648. +:a649 :a649 :a649. +:a650 :a650 :a650. +:a651 :a651 :a651. +:a652 :a652 :a652. +:a653 :a653 :a653. +:a654 :a654 :a654. +:a655 :a655 :a655. +:a656 :a656 :a656. +:a657 :a657 :a657. +:a658 :a658 :a658. +:a659 :a659 :a659. +:a660 :a660 :a660. +:a661 :a661 :a661. +:a662 :a662 :a662. +:a663 :a663 :a663. +:a664 :a664 :a664. +:a665 :a665 :a665. +:a666 :a666 :a666. +:a667 :a667 :a667. +:a668 :a668 :a668. +:a669 :a669 :a669. +:a670 :a670 :a670. +:a671 :a671 :a671. +:a672 :a672 :a672. +:a673 :a673 :a673. +:a674 :a674 :a674. +:a675 :a675 :a675. +:a676 :a676 :a676. +:a677 :a677 :a677. +:a678 :a678 :a678. +:a679 :a679 :a679. +:a680 :a680 :a680. +:a681 :a681 :a681. +:a682 :a682 :a682. +:a683 :a683 :a683. +:a684 :a684 :a684. +:a685 :a685 :a685. +:a686 :a686 :a686. +:a687 :a687 :a687. +:a688 :a688 :a688. +:a689 :a689 :a689. +:a690 :a690 :a690. +:a691 :a691 :a691. +:a692 :a692 :a692. +:a693 :a693 :a693. +:a694 :a694 :a694. +:a695 :a695 :a695. +:a696 :a696 :a696. +:a697 :a697 :a697. +:a698 :a698 :a698. +:a699 :a699 :a699. +:a700 :a700 :a700. +:a701 :a701 :a701. +:a702 :a702 :a702. +:a703 :a703 :a703. +:a704 :a704 :a704. +:a705 :a705 :a705. +:a706 :a706 :a706. +:a707 :a707 :a707. +:a708 :a708 :a708. +:a709 :a709 :a709. +:a710 :a710 :a710. +:a711 :a711 :a711. +:a712 :a712 :a712. +:a713 :a713 :a713. +:a714 :a714 :a714. +:a715 :a715 :a715. +:a716 :a716 :a716. +:a717 :a717 :a717. +:a718 :a718 :a718. +:a719 :a719 :a719. +:a720 :a720 :a720. +:a721 :a721 :a721. +:a722 :a722 :a722. +:a723 :a723 :a723. +:a724 :a724 :a724. +:a725 :a725 :a725. +:a726 :a726 :a726. +:a727 :a727 :a727. +:a728 :a728 :a728. +:a729 :a729 :a729. +:a730 :a730 :a730. +:a731 :a731 :a731. +:a732 :a732 :a732. +:a733 :a733 :a733. +:a734 :a734 :a734. +:a735 :a735 :a735. +:a736 :a736 :a736. +:a737 :a737 :a737. +:a738 :a738 :a738. +:a739 :a739 :a739. +:a740 :a740 :a740. +:a741 :a741 :a741. +:a742 :a742 :a742. +:a743 :a743 :a743. +:a744 :a744 :a744. +:a745 :a745 :a745. +:a746 :a746 :a746. +:a747 :a747 :a747. +:a748 :a748 :a748. +:a749 :a749 :a749. +:a750 :a750 :a750. +:a751 :a751 :a751. +:a752 :a752 :a752. +:a753 :a753 :a753. +:a754 :a754 :a754. +:a755 :a755 :a755. +:a756 :a756 :a756. +:a757 :a757 :a757. +:a758 :a758 :a758. +:a759 :a759 :a759. +:a760 :a760 :a760. +:a761 :a761 :a761. +:a762 :a762 :a762. +:a763 :a763 :a763. +:a764 :a764 :a764. +:a765 :a765 :a765. +:a766 :a766 :a766. +:a767 :a767 :a767. +:a768 :a768 :a768. +:a769 :a769 :a769. +:a770 :a770 :a770. +:a771 :a771 :a771. +:a772 :a772 :a772. +:a773 :a773 :a773. +:a774 :a774 :a774. +:a775 :a775 :a775. +:a776 :a776 :a776. +:a777 :a777 :a777. +:a778 :a778 :a778. +:a779 :a779 :a779. +:a780 :a780 :a780. +:a781 :a781 :a781. +:a782 :a782 :a782. +:a783 :a783 :a783. +:a784 :a784 :a784. +:a785 :a785 :a785. +:a786 :a786 :a786. +:a787 :a787 :a787. +:a788 :a788 :a788. +:a789 :a789 :a789. +:a790 :a790 :a790. +:a791 :a791 :a791. +:a792 :a792 :a792. +:a793 :a793 :a793. +:a794 :a794 :a794. +:a795 :a795 :a795. +:a796 :a796 :a796. +:a797 :a797 :a797. +:a798 :a798 :a798. +:a799 :a799 :a799. +:a800 :a800 :a800. +:a801 :a801 :a801. +:a802 :a802 :a802. +:a803 :a803 :a803. +:a804 :a804 :a804. +:a805 :a805 :a805. +:a806 :a806 :a806. +:a807 :a807 :a807. +:a808 :a808 :a808. +:a809 :a809 :a809. +:a810 :a810 :a810. +:a811 :a811 :a811. +:a812 :a812 :a812. +:a813 :a813 :a813. +:a814 :a814 :a814. +:a815 :a815 :a815. +:a816 :a816 :a816. +:a817 :a817 :a817. +:a818 :a818 :a818. +:a819 :a819 :a819. +:a820 :a820 :a820. +:a821 :a821 :a821. +:a822 :a822 :a822. +:a823 :a823 :a823. +:a824 :a824 :a824. +:a825 :a825 :a825. +:a826 :a826 :a826. +:a827 :a827 :a827. +:a828 :a828 :a828. +:a829 :a829 :a829. +:a830 :a830 :a830. +:a831 :a831 :a831. +:a832 :a832 :a832. +:a833 :a833 :a833. +:a834 :a834 :a834. +:a835 :a835 :a835. +:a836 :a836 :a836. +:a837 :a837 :a837. +:a838 :a838 :a838. +:a839 :a839 :a839. +:a840 :a840 :a840. +:a841 :a841 :a841. +:a842 :a842 :a842. +:a843 :a843 :a843. +:a844 :a844 :a844. +:a845 :a845 :a845. +:a846 :a846 :a846. +:a847 :a847 :a847. +:a848 :a848 :a848. +:a849 :a849 :a849. +:a850 :a850 :a850. +:a851 :a851 :a851. +:a852 :a852 :a852. +:a853 :a853 :a853. +:a854 :a854 :a854. +:a855 :a855 :a855. +:a856 :a856 :a856. +:a857 :a857 :a857. +:a858 :a858 :a858. +:a859 :a859 :a859. +:a860 :a860 :a860. +:a861 :a861 :a861. +:a862 :a862 :a862. +:a863 :a863 :a863. +:a864 :a864 :a864. +:a865 :a865 :a865. +:a866 :a866 :a866. +:a867 :a867 :a867. +:a868 :a868 :a868. +:a869 :a869 :a869. +:a870 :a870 :a870. +:a871 :a871 :a871. +:a872 :a872 :a872. +:a873 :a873 :a873. +:a874 :a874 :a874. +:a875 :a875 :a875. +:a876 :a876 :a876. +:a877 :a877 :a877. +:a878 :a878 :a878. +:a879 :a879 :a879. +:a880 :a880 :a880. +:a881 :a881 :a881. +:a882 :a882 :a882. +:a883 :a883 :a883. +:a884 :a884 :a884. +:a885 :a885 :a885. +:a886 :a886 :a886. +:a887 :a887 :a887. +:a888 :a888 :a888. +:a889 :a889 :a889. +:a890 :a890 :a890. +:a891 :a891 :a891. +:a892 :a892 :a892. +:a893 :a893 :a893. +:a894 :a894 :a894. +:a895 :a895 :a895. +:a896 :a896 :a896. +:a897 :a897 :a897. +:a898 :a898 :a898. +:a899 :a899 :a899. +:a900 :a900 :a900. +:a901 :a901 :a901. +:a902 :a902 :a902. +:a903 :a903 :a903. +:a904 :a904 :a904. +:a905 :a905 :a905. +:a906 :a906 :a906. +:a907 :a907 :a907. +:a908 :a908 :a908. +:a909 :a909 :a909. +:a910 :a910 :a910. +:a911 :a911 :a911. +:a912 :a912 :a912. +:a913 :a913 :a913. +:a914 :a914 :a914. +:a915 :a915 :a915. +:a916 :a916 :a916. +:a917 :a917 :a917. +:a918 :a918 :a918. +:a919 :a919 :a919. +:a920 :a920 :a920. +:a921 :a921 :a921. +:a922 :a922 :a922. +:a923 :a923 :a923. +:a924 :a924 :a924. +:a925 :a925 :a925. +:a926 :a926 :a926. +:a927 :a927 :a927. +:a928 :a928 :a928. +:a929 :a929 :a929. +:a930 :a930 :a930. +:a931 :a931 :a931. +:a932 :a932 :a932. +:a933 :a933 :a933. +:a934 :a934 :a934. +:a935 :a935 :a935. +:a936 :a936 :a936. +:a937 :a937 :a937. +:a938 :a938 :a938. +:a939 :a939 :a939. +:a940 :a940 :a940. +:a941 :a941 :a941. +:a942 :a942 :a942. +:a943 :a943 :a943. +:a944 :a944 :a944. +:a945 :a945 :a945. +:a946 :a946 :a946. +:a947 :a947 :a947. +:a948 :a948 :a948. +:a949 :a949 :a949. +:a950 :a950 :a950. +:a951 :a951 :a951. +:a952 :a952 :a952. +:a953 :a953 :a953. +:a954 :a954 :a954. +:a955 :a955 :a955. +:a956 :a956 :a956. +:a957 :a957 :a957. +:a958 :a958 :a958. +:a959 :a959 :a959. +:a960 :a960 :a960. +:a961 :a961 :a961. +:a962 :a962 :a962. +:a963 :a963 :a963. +:a964 :a964 :a964. +:a965 :a965 :a965. +:a966 :a966 :a966. +:a967 :a967 :a967. +:a968 :a968 :a968. +:a969 :a969 :a969. +:a970 :a970 :a970. +:a971 :a971 :a971. +:a972 :a972 :a972. +:a973 :a973 :a973. +:a974 :a974 :a974. +:a975 :a975 :a975. +:a976 :a976 :a976. +:a977 :a977 :a977. +:a978 :a978 :a978. +:a979 :a979 :a979. +:a980 :a980 :a980. +:a981 :a981 :a981. +:a982 :a982 :a982. +:a983 :a983 :a983. +:a984 :a984 :a984. +:a985 :a985 :a985. +:a986 :a986 :a986. +:a987 :a987 :a987. +:a988 :a988 :a988. +:a989 :a989 :a989. +:a990 :a990 :a990. +:a991 :a991 :a991. +:a992 :a992 :a992. +:a993 :a993 :a993. +:a994 :a994 :a994. +:a995 :a995 :a995. +:a996 :a996 :a996. +:a997 :a997 :a997. +:a998 :a998 :a998. +:a999 :a999 :a999. +:a1000 :a1000 :a1000. +:a1001 :a1001 :a1001. +:a1002 :a1002 :a1002. +:a1003 :a1003 :a1003. +:a1004 :a1004 :a1004. +:a1005 :a1005 :a1005. +:a1006 :a1006 :a1006. +:a1007 :a1007 :a1007. +:a1008 :a1008 :a1008. +:a1009 :a1009 :a1009. +:a1010 :a1010 :a1010. +:a1011 :a1011 :a1011. +:a1012 :a1012 :a1012. +:a1013 :a1013 :a1013. +:a1014 :a1014 :a1014. +:a1015 :a1015 :a1015. +:a1016 :a1016 :a1016. +:a1017 :a1017 :a1017. +:a1018 :a1018 :a1018. +:a1019 :a1019 :a1019. +:a1020 :a1020 :a1020. +:a1021 :a1021 :a1021. +:a1022 :a1022 :a1022. +:a1023 :a1023 :a1023. +:a1024 :a1024 :a1024. +:a1025 :a1025 :a1025. +:a1026 :a1026 :a1026. +:a1027 :a1027 :a1027. +:a1028 :a1028 :a1028. +:a1029 :a1029 :a1029. +:a1030 :a1030 :a1030. +:a1031 :a1031 :a1031. +:a1032 :a1032 :a1032. +:a1033 :a1033 :a1033. +:a1034 :a1034 :a1034. +:a1035 :a1035 :a1035. +:a1036 :a1036 :a1036. +:a1037 :a1037 :a1037. +:a1038 :a1038 :a1038. +:a1039 :a1039 :a1039. +:a1040 :a1040 :a1040. +:a1041 :a1041 :a1041. +:a1042 :a1042 :a1042. +:a1043 :a1043 :a1043. +:a1044 :a1044 :a1044. +:a1045 :a1045 :a1045. +:a1046 :a1046 :a1046. +:a1047 :a1047 :a1047. +:a1048 :a1048 :a1048. +:a1049 :a1049 :a1049. +:a1050 :a1050 :a1050. +:a1051 :a1051 :a1051. +:a1052 :a1052 :a1052. +:a1053 :a1053 :a1053. +:a1054 :a1054 :a1054. +:a1055 :a1055 :a1055. +:a1056 :a1056 :a1056. +:a1057 :a1057 :a1057. +:a1058 :a1058 :a1058. +:a1059 :a1059 :a1059. +:a1060 :a1060 :a1060. +:a1061 :a1061 :a1061. +:a1062 :a1062 :a1062. +:a1063 :a1063 :a1063. +:a1064 :a1064 :a1064. +:a1065 :a1065 :a1065. +:a1066 :a1066 :a1066. +:a1067 :a1067 :a1067. +:a1068 :a1068 :a1068. +:a1069 :a1069 :a1069. +:a1070 :a1070 :a1070. +:a1071 :a1071 :a1071. +:a1072 :a1072 :a1072. +:a1073 :a1073 :a1073. +:a1074 :a1074 :a1074. +:a1075 :a1075 :a1075. +:a1076 :a1076 :a1076. +:a1077 :a1077 :a1077. +:a1078 :a1078 :a1078. +:a1079 :a1079 :a1079. +:a1080 :a1080 :a1080. +:a1081 :a1081 :a1081. +:a1082 :a1082 :a1082. +:a1083 :a1083 :a1083. +:a1084 :a1084 :a1084. +:a1085 :a1085 :a1085. +:a1086 :a1086 :a1086. +:a1087 :a1087 :a1087. +:a1088 :a1088 :a1088. +:a1089 :a1089 :a1089. +:a1090 :a1090 :a1090. +:a1091 :a1091 :a1091. +:a1092 :a1092 :a1092. +:a1093 :a1093 :a1093. +:a1094 :a1094 :a1094. +:a1095 :a1095 :a1095. +:a1096 :a1096 :a1096. +:a1097 :a1097 :a1097. +:a1098 :a1098 :a1098. +:a1099 :a1099 :a1099. +:a1100 :a1100 :a1100. +:a1101 :a1101 :a1101. +:a1102 :a1102 :a1102. +:a1103 :a1103 :a1103. +:a1104 :a1104 :a1104. +:a1105 :a1105 :a1105. +:a1106 :a1106 :a1106. +:a1107 :a1107 :a1107. +:a1108 :a1108 :a1108. +:a1109 :a1109 :a1109. +:a1110 :a1110 :a1110. +:a1111 :a1111 :a1111. +:a1112 :a1112 :a1112. +:a1113 :a1113 :a1113. +:a1114 :a1114 :a1114. +:a1115 :a1115 :a1115. +:a1116 :a1116 :a1116. +:a1117 :a1117 :a1117. +:a1118 :a1118 :a1118. +:a1119 :a1119 :a1119. +:a1120 :a1120 :a1120. +:a1121 :a1121 :a1121. +:a1122 :a1122 :a1122. +:a1123 :a1123 :a1123. +:a1124 :a1124 :a1124. +:a1125 :a1125 :a1125. +:a1126 :a1126 :a1126. +:a1127 :a1127 :a1127. +:a1128 :a1128 :a1128. +:a1129 :a1129 :a1129. +:a1130 :a1130 :a1130. +:a1131 :a1131 :a1131. +:a1132 :a1132 :a1132. +:a1133 :a1133 :a1133. +:a1134 :a1134 :a1134. +:a1135 :a1135 :a1135. +:a1136 :a1136 :a1136. +:a1137 :a1137 :a1137. +:a1138 :a1138 :a1138. +:a1139 :a1139 :a1139. +:a1140 :a1140 :a1140. +:a1141 :a1141 :a1141. +:a1142 :a1142 :a1142. +:a1143 :a1143 :a1143. +:a1144 :a1144 :a1144. +:a1145 :a1145 :a1145. +:a1146 :a1146 :a1146. +:a1147 :a1147 :a1147. +:a1148 :a1148 :a1148. +:a1149 :a1149 :a1149. +:a1150 :a1150 :a1150. +:a1151 :a1151 :a1151. +:a1152 :a1152 :a1152. +:a1153 :a1153 :a1153. +:a1154 :a1154 :a1154. +:a1155 :a1155 :a1155. +:a1156 :a1156 :a1156. +:a1157 :a1157 :a1157. +:a1158 :a1158 :a1158. +:a1159 :a1159 :a1159. +:a1160 :a1160 :a1160. +:a1161 :a1161 :a1161. +:a1162 :a1162 :a1162. +:a1163 :a1163 :a1163. +:a1164 :a1164 :a1164. +:a1165 :a1165 :a1165. +:a1166 :a1166 :a1166. +:a1167 :a1167 :a1167. +:a1168 :a1168 :a1168. +:a1169 :a1169 :a1169. +:a1170 :a1170 :a1170. +:a1171 :a1171 :a1171. +:a1172 :a1172 :a1172. +:a1173 :a1173 :a1173. +:a1174 :a1174 :a1174. +:a1175 :a1175 :a1175. +:a1176 :a1176 :a1176. +:a1177 :a1177 :a1177. +:a1178 :a1178 :a1178. +:a1179 :a1179 :a1179. +:a1180 :a1180 :a1180. +:a1181 :a1181 :a1181. +:a1182 :a1182 :a1182. +:a1183 :a1183 :a1183. +:a1184 :a1184 :a1184. +:a1185 :a1185 :a1185. +:a1186 :a1186 :a1186. +:a1187 :a1187 :a1187. +:a1188 :a1188 :a1188. +:a1189 :a1189 :a1189. +:a1190 :a1190 :a1190. +:a1191 :a1191 :a1191. +:a1192 :a1192 :a1192. +:a1193 :a1193 :a1193. +:a1194 :a1194 :a1194. +:a1195 :a1195 :a1195. +:a1196 :a1196 :a1196. +:a1197 :a1197 :a1197. +:a1198 :a1198 :a1198. +:a1199 :a1199 :a1199. +:a1200 :a1200 :a1200. +:a1201 :a1201 :a1201. +:a1202 :a1202 :a1202. +:a1203 :a1203 :a1203. +:a1204 :a1204 :a1204. +:a1205 :a1205 :a1205. +:a1206 :a1206 :a1206. +:a1207 :a1207 :a1207. +:a1208 :a1208 :a1208. +:a1209 :a1209 :a1209. +:a1210 :a1210 :a1210. +:a1211 :a1211 :a1211. +:a1212 :a1212 :a1212. +:a1213 :a1213 :a1213. +:a1214 :a1214 :a1214. +:a1215 :a1215 :a1215. +:a1216 :a1216 :a1216. +:a1217 :a1217 :a1217. +:a1218 :a1218 :a1218. +:a1219 :a1219 :a1219. +:a1220 :a1220 :a1220. +:a1221 :a1221 :a1221. +:a1222 :a1222 :a1222. +:a1223 :a1223 :a1223. +:a1224 :a1224 :a1224. +:a1225 :a1225 :a1225. +:a1226 :a1226 :a1226. +:a1227 :a1227 :a1227. +:a1228 :a1228 :a1228. +:a1229 :a1229 :a1229. +:a1230 :a1230 :a1230. +:a1231 :a1231 :a1231. +:a1232 :a1232 :a1232. +:a1233 :a1233 :a1233. +:a1234 :a1234 :a1234. +:a1235 :a1235 :a1235. +:a1236 :a1236 :a1236. +:a1237 :a1237 :a1237. +:a1238 :a1238 :a1238. +:a1239 :a1239 :a1239. +:a1240 :a1240 :a1240. +:a1241 :a1241 :a1241. +:a1242 :a1242 :a1242. +:a1243 :a1243 :a1243. +:a1244 :a1244 :a1244. +:a1245 :a1245 :a1245. +:a1246 :a1246 :a1246. +:a1247 :a1247 :a1247. +:a1248 :a1248 :a1248. +:a1249 :a1249 :a1249. +:a1250 :a1250 :a1250. +:a1251 :a1251 :a1251. +:a1252 :a1252 :a1252. +:a1253 :a1253 :a1253. +:a1254 :a1254 :a1254. +:a1255 :a1255 :a1255. +:a1256 :a1256 :a1256. +:a1257 :a1257 :a1257. +:a1258 :a1258 :a1258. +:a1259 :a1259 :a1259. +:a1260 :a1260 :a1260. +:a1261 :a1261 :a1261. +:a1262 :a1262 :a1262. +:a1263 :a1263 :a1263. +:a1264 :a1264 :a1264. +:a1265 :a1265 :a1265. +:a1266 :a1266 :a1266. +:a1267 :a1267 :a1267. +:a1268 :a1268 :a1268. +:a1269 :a1269 :a1269. +:a1270 :a1270 :a1270. +:a1271 :a1271 :a1271. +:a1272 :a1272 :a1272. +:a1273 :a1273 :a1273. +:a1274 :a1274 :a1274. +:a1275 :a1275 :a1275. +:a1276 :a1276 :a1276. +:a1277 :a1277 :a1277. +:a1278 :a1278 :a1278. +:a1279 :a1279 :a1279. +:a1280 :a1280 :a1280. +:a1281 :a1281 :a1281. +:a1282 :a1282 :a1282. +:a1283 :a1283 :a1283. +:a1284 :a1284 :a1284. +:a1285 :a1285 :a1285. +:a1286 :a1286 :a1286. +:a1287 :a1287 :a1287. +:a1288 :a1288 :a1288. +:a1289 :a1289 :a1289. +:a1290 :a1290 :a1290. +:a1291 :a1291 :a1291. +:a1292 :a1292 :a1292. +:a1293 :a1293 :a1293. +:a1294 :a1294 :a1294. +:a1295 :a1295 :a1295. +:a1296 :a1296 :a1296. +:a1297 :a1297 :a1297. +:a1298 :a1298 :a1298. +:a1299 :a1299 :a1299. +:a1300 :a1300 :a1300. +:a1301 :a1301 :a1301. +:a1302 :a1302 :a1302. +:a1303 :a1303 :a1303. +:a1304 :a1304 :a1304. +:a1305 :a1305 :a1305. +:a1306 :a1306 :a1306. +:a1307 :a1307 :a1307. +:a1308 :a1308 :a1308. +:a1309 :a1309 :a1309. +:a1310 :a1310 :a1310. +:a1311 :a1311 :a1311. +:a1312 :a1312 :a1312. +:a1313 :a1313 :a1313. +:a1314 :a1314 :a1314. +:a1315 :a1315 :a1315. +:a1316 :a1316 :a1316. +:a1317 :a1317 :a1317. +:a1318 :a1318 :a1318. +:a1319 :a1319 :a1319. +:a1320 :a1320 :a1320. +:a1321 :a1321 :a1321. +:a1322 :a1322 :a1322. +:a1323 :a1323 :a1323. +:a1324 :a1324 :a1324. +:a1325 :a1325 :a1325. +:a1326 :a1326 :a1326. +:a1327 :a1327 :a1327. +:a1328 :a1328 :a1328. +:a1329 :a1329 :a1329. +:a1330 :a1330 :a1330. +:a1331 :a1331 :a1331. +:a1332 :a1332 :a1332. +:a1333 :a1333 :a1333. +:a1334 :a1334 :a1334. +:a1335 :a1335 :a1335. +:a1336 :a1336 :a1336. +:a1337 :a1337 :a1337. +:a1338 :a1338 :a1338. +:a1339 :a1339 :a1339. +:a1340 :a1340 :a1340. +:a1341 :a1341 :a1341. +:a1342 :a1342 :a1342. +:a1343 :a1343 :a1343. +:a1344 :a1344 :a1344. +:a1345 :a1345 :a1345. +:a1346 :a1346 :a1346. +:a1347 :a1347 :a1347. +:a1348 :a1348 :a1348. +:a1349 :a1349 :a1349. +:a1350 :a1350 :a1350. +:a1351 :a1351 :a1351. +:a1352 :a1352 :a1352. +:a1353 :a1353 :a1353. +:a1354 :a1354 :a1354. +:a1355 :a1355 :a1355. +:a1356 :a1356 :a1356. +:a1357 :a1357 :a1357. +:a1358 :a1358 :a1358. +:a1359 :a1359 :a1359. +:a1360 :a1360 :a1360. +:a1361 :a1361 :a1361. +:a1362 :a1362 :a1362. +:a1363 :a1363 :a1363. +:a1364 :a1364 :a1364. +:a1365 :a1365 :a1365. +:a1366 :a1366 :a1366. +:a1367 :a1367 :a1367. +:a1368 :a1368 :a1368. +:a1369 :a1369 :a1369. +:a1370 :a1370 :a1370. +:a1371 :a1371 :a1371. +:a1372 :a1372 :a1372. +:a1373 :a1373 :a1373. +:a1374 :a1374 :a1374. +:a1375 :a1375 :a1375. +:a1376 :a1376 :a1376. +:a1377 :a1377 :a1377. +:a1378 :a1378 :a1378. +:a1379 :a1379 :a1379. +:a1380 :a1380 :a1380. +:a1381 :a1381 :a1381. +:a1382 :a1382 :a1382. +:a1383 :a1383 :a1383. +:a1384 :a1384 :a1384. +:a1385 :a1385 :a1385. +:a1386 :a1386 :a1386. +:a1387 :a1387 :a1387. +:a1388 :a1388 :a1388. +:a1389 :a1389 :a1389. +:a1390 :a1390 :a1390. +:a1391 :a1391 :a1391. +:a1392 :a1392 :a1392. +:a1393 :a1393 :a1393. +:a1394 :a1394 :a1394. +:a1395 :a1395 :a1395. +:a1396 :a1396 :a1396. +:a1397 :a1397 :a1397. +:a1398 :a1398 :a1398. +:a1399 :a1399 :a1399. +:a1400 :a1400 :a1400. +:a1401 :a1401 :a1401. +:a1402 :a1402 :a1402. +:a1403 :a1403 :a1403. +:a1404 :a1404 :a1404. +:a1405 :a1405 :a1405. +:a1406 :a1406 :a1406. +:a1407 :a1407 :a1407. +:a1408 :a1408 :a1408. +:a1409 :a1409 :a1409. +:a1410 :a1410 :a1410. +:a1411 :a1411 :a1411. +:a1412 :a1412 :a1412. +:a1413 :a1413 :a1413. +:a1414 :a1414 :a1414. +:a1415 :a1415 :a1415. +:a1416 :a1416 :a1416. +:a1417 :a1417 :a1417. +:a1418 :a1418 :a1418. +:a1419 :a1419 :a1419. +:a1420 :a1420 :a1420. +:a1421 :a1421 :a1421. +:a1422 :a1422 :a1422. +:a1423 :a1423 :a1423. +:a1424 :a1424 :a1424. +:a1425 :a1425 :a1425. +:a1426 :a1426 :a1426. +:a1427 :a1427 :a1427. +:a1428 :a1428 :a1428. +:a1429 :a1429 :a1429. +:a1430 :a1430 :a1430. +:a1431 :a1431 :a1431. +:a1432 :a1432 :a1432. +:a1433 :a1433 :a1433. +:a1434 :a1434 :a1434. +:a1435 :a1435 :a1435. +:a1436 :a1436 :a1436. +:a1437 :a1437 :a1437. +:a1438 :a1438 :a1438. +:a1439 :a1439 :a1439. +:a1440 :a1440 :a1440. +:a1441 :a1441 :a1441. +:a1442 :a1442 :a1442. +:a1443 :a1443 :a1443. +:a1444 :a1444 :a1444. +:a1445 :a1445 :a1445. +:a1446 :a1446 :a1446. +:a1447 :a1447 :a1447. +:a1448 :a1448 :a1448. +:a1449 :a1449 :a1449. +:a1450 :a1450 :a1450. +:a1451 :a1451 :a1451. +:a1452 :a1452 :a1452. +:a1453 :a1453 :a1453. +:a1454 :a1454 :a1454. +:a1455 :a1455 :a1455. +:a1456 :a1456 :a1456. +:a1457 :a1457 :a1457. +:a1458 :a1458 :a1458. +:a1459 :a1459 :a1459. +:a1460 :a1460 :a1460. +:a1461 :a1461 :a1461. +:a1462 :a1462 :a1462. +:a1463 :a1463 :a1463. +:a1464 :a1464 :a1464. +:a1465 :a1465 :a1465. +:a1466 :a1466 :a1466. +:a1467 :a1467 :a1467. +:a1468 :a1468 :a1468. +:a1469 :a1469 :a1469. +:a1470 :a1470 :a1470. +:a1471 :a1471 :a1471. +:a1472 :a1472 :a1472. +:a1473 :a1473 :a1473. +:a1474 :a1474 :a1474. +:a1475 :a1475 :a1475. +:a1476 :a1476 :a1476. +:a1477 :a1477 :a1477. +:a1478 :a1478 :a1478. +:a1479 :a1479 :a1479. +:a1480 :a1480 :a1480. +:a1481 :a1481 :a1481. +:a1482 :a1482 :a1482. +:a1483 :a1483 :a1483. +:a1484 :a1484 :a1484. +:a1485 :a1485 :a1485. +:a1486 :a1486 :a1486. +:a1487 :a1487 :a1487. +:a1488 :a1488 :a1488. +:a1489 :a1489 :a1489. +:a1490 :a1490 :a1490. +:a1491 :a1491 :a1491. +:a1492 :a1492 :a1492. +:a1493 :a1493 :a1493. +:a1494 :a1494 :a1494. +:a1495 :a1495 :a1495. +:a1496 :a1496 :a1496. +:a1497 :a1497 :a1497. +:a1498 :a1498 :a1498. +:a1499 :a1499 :a1499. +:a1500 :a1500 :a1500. +:a1501 :a1501 :a1501. +:a1502 :a1502 :a1502. +:a1503 :a1503 :a1503. +:a1504 :a1504 :a1504. +:a1505 :a1505 :a1505. +:a1506 :a1506 :a1506. +:a1507 :a1507 :a1507. +:a1508 :a1508 :a1508. +:a1509 :a1509 :a1509. +:a1510 :a1510 :a1510. +:a1511 :a1511 :a1511. +:a1512 :a1512 :a1512. +:a1513 :a1513 :a1513. +:a1514 :a1514 :a1514. +:a1515 :a1515 :a1515. +:a1516 :a1516 :a1516. +:a1517 :a1517 :a1517. +:a1518 :a1518 :a1518. +:a1519 :a1519 :a1519. +:a1520 :a1520 :a1520. +:a1521 :a1521 :a1521. +:a1522 :a1522 :a1522. +:a1523 :a1523 :a1523. +:a1524 :a1524 :a1524. +:a1525 :a1525 :a1525. +:a1526 :a1526 :a1526. +:a1527 :a1527 :a1527. +:a1528 :a1528 :a1528. +:a1529 :a1529 :a1529. +:a1530 :a1530 :a1530. +:a1531 :a1531 :a1531. +:a1532 :a1532 :a1532. +:a1533 :a1533 :a1533. +:a1534 :a1534 :a1534. +:a1535 :a1535 :a1535. +:a1536 :a1536 :a1536. +:a1537 :a1537 :a1537. +:a1538 :a1538 :a1538. +:a1539 :a1539 :a1539. +:a1540 :a1540 :a1540. +:a1541 :a1541 :a1541. +:a1542 :a1542 :a1542. +:a1543 :a1543 :a1543. +:a1544 :a1544 :a1544. +:a1545 :a1545 :a1545. +:a1546 :a1546 :a1546. +:a1547 :a1547 :a1547. +:a1548 :a1548 :a1548. +:a1549 :a1549 :a1549. +:a1550 :a1550 :a1550. +:a1551 :a1551 :a1551. +:a1552 :a1552 :a1552. +:a1553 :a1553 :a1553. +:a1554 :a1554 :a1554. +:a1555 :a1555 :a1555. +:a1556 :a1556 :a1556. +:a1557 :a1557 :a1557. +:a1558 :a1558 :a1558. +:a1559 :a1559 :a1559. +:a1560 :a1560 :a1560. +:a1561 :a1561 :a1561. +:a1562 :a1562 :a1562. +:a1563 :a1563 :a1563. +:a1564 :a1564 :a1564. +:a1565 :a1565 :a1565. +:a1566 :a1566 :a1566. +:a1567 :a1567 :a1567. +:a1568 :a1568 :a1568. +:a1569 :a1569 :a1569. +:a1570 :a1570 :a1570. +:a1571 :a1571 :a1571. +:a1572 :a1572 :a1572. +:a1573 :a1573 :a1573. +:a1574 :a1574 :a1574. +:a1575 :a1575 :a1575. +:a1576 :a1576 :a1576. +:a1577 :a1577 :a1577. +:a1578 :a1578 :a1578. +:a1579 :a1579 :a1579. +:a1580 :a1580 :a1580. +:a1581 :a1581 :a1581. +:a1582 :a1582 :a1582. +:a1583 :a1583 :a1583. +:a1584 :a1584 :a1584. +:a1585 :a1585 :a1585. +:a1586 :a1586 :a1586. +:a1587 :a1587 :a1587. +:a1588 :a1588 :a1588. +:a1589 :a1589 :a1589. +:a1590 :a1590 :a1590. +:a1591 :a1591 :a1591. +:a1592 :a1592 :a1592. +:a1593 :a1593 :a1593. +:a1594 :a1594 :a1594. +:a1595 :a1595 :a1595. +:a1596 :a1596 :a1596. +:a1597 :a1597 :a1597. +:a1598 :a1598 :a1598. +:a1599 :a1599 :a1599. +:a1600 :a1600 :a1600. +:a1601 :a1601 :a1601. +:a1602 :a1602 :a1602. +:a1603 :a1603 :a1603. +:a1604 :a1604 :a1604. +:a1605 :a1605 :a1605. +:a1606 :a1606 :a1606. +:a1607 :a1607 :a1607. +:a1608 :a1608 :a1608. +:a1609 :a1609 :a1609. +:a1610 :a1610 :a1610. +:a1611 :a1611 :a1611. +:a1612 :a1612 :a1612. +:a1613 :a1613 :a1613. +:a1614 :a1614 :a1614. +:a1615 :a1615 :a1615. +:a1616 :a1616 :a1616. +:a1617 :a1617 :a1617. +:a1618 :a1618 :a1618. +:a1619 :a1619 :a1619. +:a1620 :a1620 :a1620. +:a1621 :a1621 :a1621. +:a1622 :a1622 :a1622. +:a1623 :a1623 :a1623. +:a1624 :a1624 :a1624. +:a1625 :a1625 :a1625. +:a1626 :a1626 :a1626. +:a1627 :a1627 :a1627. +:a1628 :a1628 :a1628. +:a1629 :a1629 :a1629. +:a1630 :a1630 :a1630. +:a1631 :a1631 :a1631. +:a1632 :a1632 :a1632. +:a1633 :a1633 :a1633. +:a1634 :a1634 :a1634. +:a1635 :a1635 :a1635. +:a1636 :a1636 :a1636. +:a1637 :a1637 :a1637. +:a1638 :a1638 :a1638. +:a1639 :a1639 :a1639. +:a1640 :a1640 :a1640. +:a1641 :a1641 :a1641. +:a1642 :a1642 :a1642. +:a1643 :a1643 :a1643. +:a1644 :a1644 :a1644. +:a1645 :a1645 :a1645. +:a1646 :a1646 :a1646. +:a1647 :a1647 :a1647. +:a1648 :a1648 :a1648. +:a1649 :a1649 :a1649. +:a1650 :a1650 :a1650. +:a1651 :a1651 :a1651. +:a1652 :a1652 :a1652. +:a1653 :a1653 :a1653. +:a1654 :a1654 :a1654. +:a1655 :a1655 :a1655. +:a1656 :a1656 :a1656. +:a1657 :a1657 :a1657. +:a1658 :a1658 :a1658. +:a1659 :a1659 :a1659. +:a1660 :a1660 :a1660. +:a1661 :a1661 :a1661. +:a1662 :a1662 :a1662. +:a1663 :a1663 :a1663. +:a1664 :a1664 :a1664. +:a1665 :a1665 :a1665. +:a1666 :a1666 :a1666. +:a1667 :a1667 :a1667. +:a1668 :a1668 :a1668. +:a1669 :a1669 :a1669. +:a1670 :a1670 :a1670. +:a1671 :a1671 :a1671. +:a1672 :a1672 :a1672. +:a1673 :a1673 :a1673. +:a1674 :a1674 :a1674. +:a1675 :a1675 :a1675. +:a1676 :a1676 :a1676. +:a1677 :a1677 :a1677. +:a1678 :a1678 :a1678. +:a1679 :a1679 :a1679. +:a1680 :a1680 :a1680. +:a1681 :a1681 :a1681. +:a1682 :a1682 :a1682. +:a1683 :a1683 :a1683. +:a1684 :a1684 :a1684. +:a1685 :a1685 :a1685. +:a1686 :a1686 :a1686. +:a1687 :a1687 :a1687. +:a1688 :a1688 :a1688. +:a1689 :a1689 :a1689. +:a1690 :a1690 :a1690. +:a1691 :a1691 :a1691. +:a1692 :a1692 :a1692. +:a1693 :a1693 :a1693. +:a1694 :a1694 :a1694. +:a1695 :a1695 :a1695. +:a1696 :a1696 :a1696. +:a1697 :a1697 :a1697. +:a1698 :a1698 :a1698. +:a1699 :a1699 :a1699. +:a1700 :a1700 :a1700. +:a1701 :a1701 :a1701. +:a1702 :a1702 :a1702. +:a1703 :a1703 :a1703. +:a1704 :a1704 :a1704. +:a1705 :a1705 :a1705. +:a1706 :a1706 :a1706. +:a1707 :a1707 :a1707. +:a1708 :a1708 :a1708. +:a1709 :a1709 :a1709. +:a1710 :a1710 :a1710. +:a1711 :a1711 :a1711. +:a1712 :a1712 :a1712. +:a1713 :a1713 :a1713. +:a1714 :a1714 :a1714. +:a1715 :a1715 :a1715. +:a1716 :a1716 :a1716. +:a1717 :a1717 :a1717. +:a1718 :a1718 :a1718. +:a1719 :a1719 :a1719. +:a1720 :a1720 :a1720. +:a1721 :a1721 :a1721. +:a1722 :a1722 :a1722. +:a1723 :a1723 :a1723. +:a1724 :a1724 :a1724. +:a1725 :a1725 :a1725. +:a1726 :a1726 :a1726. +:a1727 :a1727 :a1727. +:a1728 :a1728 :a1728. +:a1729 :a1729 :a1729. +:a1730 :a1730 :a1730. +:a1731 :a1731 :a1731. +:a1732 :a1732 :a1732. +:a1733 :a1733 :a1733. +:a1734 :a1734 :a1734. +:a1735 :a1735 :a1735. +:a1736 :a1736 :a1736. +:a1737 :a1737 :a1737. +:a1738 :a1738 :a1738. +:a1739 :a1739 :a1739. +:a1740 :a1740 :a1740. +:a1741 :a1741 :a1741. +:a1742 :a1742 :a1742. +:a1743 :a1743 :a1743. +:a1744 :a1744 :a1744. +:a1745 :a1745 :a1745. +:a1746 :a1746 :a1746. +:a1747 :a1747 :a1747. +:a1748 :a1748 :a1748. +:a1749 :a1749 :a1749. +:a1750 :a1750 :a1750. +:a1751 :a1751 :a1751. +:a1752 :a1752 :a1752. +:a1753 :a1753 :a1753. +:a1754 :a1754 :a1754. +:a1755 :a1755 :a1755. +:a1756 :a1756 :a1756. +:a1757 :a1757 :a1757. +:a1758 :a1758 :a1758. +:a1759 :a1759 :a1759. +:a1760 :a1760 :a1760. +:a1761 :a1761 :a1761. +:a1762 :a1762 :a1762. +:a1763 :a1763 :a1763. +:a1764 :a1764 :a1764. +:a1765 :a1765 :a1765. +:a1766 :a1766 :a1766. +:a1767 :a1767 :a1767. +:a1768 :a1768 :a1768. +:a1769 :a1769 :a1769. +:a1770 :a1770 :a1770. +:a1771 :a1771 :a1771. +:a1772 :a1772 :a1772. +:a1773 :a1773 :a1773. +:a1774 :a1774 :a1774. +:a1775 :a1775 :a1775. +:a1776 :a1776 :a1776. +:a1777 :a1777 :a1777. +:a1778 :a1778 :a1778. +:a1779 :a1779 :a1779. +:a1780 :a1780 :a1780. +:a1781 :a1781 :a1781. +:a1782 :a1782 :a1782. +:a1783 :a1783 :a1783. +:a1784 :a1784 :a1784. +:a1785 :a1785 :a1785. +:a1786 :a1786 :a1786. +:a1787 :a1787 :a1787. +:a1788 :a1788 :a1788. +:a1789 :a1789 :a1789. +:a1790 :a1790 :a1790. +:a1791 :a1791 :a1791. +:a1792 :a1792 :a1792. +:a1793 :a1793 :a1793. +:a1794 :a1794 :a1794. +:a1795 :a1795 :a1795. +:a1796 :a1796 :a1796. +:a1797 :a1797 :a1797. +:a1798 :a1798 :a1798. +:a1799 :a1799 :a1799. +:a1800 :a1800 :a1800. +:a1801 :a1801 :a1801. +:a1802 :a1802 :a1802. +:a1803 :a1803 :a1803. +:a1804 :a1804 :a1804. +:a1805 :a1805 :a1805. +:a1806 :a1806 :a1806. +:a1807 :a1807 :a1807. +:a1808 :a1808 :a1808. +:a1809 :a1809 :a1809. +:a1810 :a1810 :a1810. +:a1811 :a1811 :a1811. +:a1812 :a1812 :a1812. +:a1813 :a1813 :a1813. +:a1814 :a1814 :a1814. +:a1815 :a1815 :a1815. +:a1816 :a1816 :a1816. +:a1817 :a1817 :a1817. +:a1818 :a1818 :a1818. +:a1819 :a1819 :a1819. +:a1820 :a1820 :a1820. +:a1821 :a1821 :a1821. +:a1822 :a1822 :a1822. +:a1823 :a1823 :a1823. +:a1824 :a1824 :a1824. +:a1825 :a1825 :a1825. +:a1826 :a1826 :a1826. +:a1827 :a1827 :a1827. +:a1828 :a1828 :a1828. +:a1829 :a1829 :a1829. +:a1830 :a1830 :a1830. +:a1831 :a1831 :a1831. +:a1832 :a1832 :a1832. +:a1833 :a1833 :a1833. +:a1834 :a1834 :a1834. +:a1835 :a1835 :a1835. +:a1836 :a1836 :a1836. +:a1837 :a1837 :a1837. +:a1838 :a1838 :a1838. +:a1839 :a1839 :a1839. +:a1840 :a1840 :a1840. +:a1841 :a1841 :a1841. +:a1842 :a1842 :a1842. +:a1843 :a1843 :a1843. +:a1844 :a1844 :a1844. +:a1845 :a1845 :a1845. +:a1846 :a1846 :a1846. +:a1847 :a1847 :a1847. +:a1848 :a1848 :a1848. +:a1849 :a1849 :a1849. +:a1850 :a1850 :a1850. +:a1851 :a1851 :a1851. +:a1852 :a1852 :a1852. +:a1853 :a1853 :a1853. +:a1854 :a1854 :a1854. +:a1855 :a1855 :a1855. +:a1856 :a1856 :a1856. +:a1857 :a1857 :a1857. +:a1858 :a1858 :a1858. +:a1859 :a1859 :a1859. +:a1860 :a1860 :a1860. +:a1861 :a1861 :a1861. +:a1862 :a1862 :a1862. +:a1863 :a1863 :a1863. +:a1864 :a1864 :a1864. +:a1865 :a1865 :a1865. +:a1866 :a1866 :a1866. +:a1867 :a1867 :a1867. +:a1868 :a1868 :a1868. +:a1869 :a1869 :a1869. +:a1870 :a1870 :a1870. +:a1871 :a1871 :a1871. +:a1872 :a1872 :a1872. +:a1873 :a1873 :a1873. +:a1874 :a1874 :a1874. +:a1875 :a1875 :a1875. +:a1876 :a1876 :a1876. +:a1877 :a1877 :a1877. +:a1878 :a1878 :a1878. +:a1879 :a1879 :a1879. +:a1880 :a1880 :a1880. +:a1881 :a1881 :a1881. +:a1882 :a1882 :a1882. +:a1883 :a1883 :a1883. +:a1884 :a1884 :a1884. +:a1885 :a1885 :a1885. +:a1886 :a1886 :a1886. +:a1887 :a1887 :a1887. +:a1888 :a1888 :a1888. +:a1889 :a1889 :a1889. +:a1890 :a1890 :a1890. +:a1891 :a1891 :a1891. +:a1892 :a1892 :a1892. +:a1893 :a1893 :a1893. +:a1894 :a1894 :a1894. +:a1895 :a1895 :a1895. +:a1896 :a1896 :a1896. +:a1897 :a1897 :a1897. +:a1898 :a1898 :a1898. +:a1899 :a1899 :a1899. +:a1900 :a1900 :a1900. +:a1901 :a1901 :a1901. +:a1902 :a1902 :a1902. +:a1903 :a1903 :a1903. +:a1904 :a1904 :a1904. +:a1905 :a1905 :a1905. +:a1906 :a1906 :a1906. +:a1907 :a1907 :a1907. +:a1908 :a1908 :a1908. +:a1909 :a1909 :a1909. +:a1910 :a1910 :a1910. +:a1911 :a1911 :a1911. +:a1912 :a1912 :a1912. +:a1913 :a1913 :a1913. +:a1914 :a1914 :a1914. +:a1915 :a1915 :a1915. +:a1916 :a1916 :a1916. +:a1917 :a1917 :a1917. +:a1918 :a1918 :a1918. +:a1919 :a1919 :a1919. +:a1920 :a1920 :a1920. +:a1921 :a1921 :a1921. +:a1922 :a1922 :a1922. +:a1923 :a1923 :a1923. +:a1924 :a1924 :a1924. +:a1925 :a1925 :a1925. +:a1926 :a1926 :a1926. +:a1927 :a1927 :a1927. +:a1928 :a1928 :a1928. +:a1929 :a1929 :a1929. +:a1930 :a1930 :a1930. +:a1931 :a1931 :a1931. +:a1932 :a1932 :a1932. +:a1933 :a1933 :a1933. +:a1934 :a1934 :a1934. +:a1935 :a1935 :a1935. +:a1936 :a1936 :a1936. +:a1937 :a1937 :a1937. +:a1938 :a1938 :a1938. +:a1939 :a1939 :a1939. +:a1940 :a1940 :a1940. +:a1941 :a1941 :a1941. +:a1942 :a1942 :a1942. +:a1943 :a1943 :a1943. +:a1944 :a1944 :a1944. +:a1945 :a1945 :a1945. +:a1946 :a1946 :a1946. +:a1947 :a1947 :a1947. +:a1948 :a1948 :a1948. +:a1949 :a1949 :a1949. +:a1950 :a1950 :a1950. +:a1951 :a1951 :a1951. +:a1952 :a1952 :a1952. +:a1953 :a1953 :a1953. +:a1954 :a1954 :a1954. +:a1955 :a1955 :a1955. +:a1956 :a1956 :a1956. +:a1957 :a1957 :a1957. +:a1958 :a1958 :a1958. +:a1959 :a1959 :a1959. +:a1960 :a1960 :a1960. +:a1961 :a1961 :a1961. +:a1962 :a1962 :a1962. +:a1963 :a1963 :a1963. +:a1964 :a1964 :a1964. +:a1965 :a1965 :a1965. +:a1966 :a1966 :a1966. +:a1967 :a1967 :a1967. +:a1968 :a1968 :a1968. +:a1969 :a1969 :a1969. +:a1970 :a1970 :a1970. +:a1971 :a1971 :a1971. +:a1972 :a1972 :a1972. +:a1973 :a1973 :a1973. +:a1974 :a1974 :a1974. +:a1975 :a1975 :a1975. +:a1976 :a1976 :a1976. +:a1977 :a1977 :a1977. +:a1978 :a1978 :a1978. +:a1979 :a1979 :a1979. +:a1980 :a1980 :a1980. +:a1981 :a1981 :a1981. +:a1982 :a1982 :a1982. +:a1983 :a1983 :a1983. +:a1984 :a1984 :a1984. +:a1985 :a1985 :a1985. +:a1986 :a1986 :a1986. +:a1987 :a1987 :a1987. +:a1988 :a1988 :a1988. +:a1989 :a1989 :a1989. +:a1990 :a1990 :a1990. +:a1991 :a1991 :a1991. +:a1992 :a1992 :a1992. +:a1993 :a1993 :a1993. +:a1994 :a1994 :a1994. +:a1995 :a1995 :a1995. +:a1996 :a1996 :a1996. +:a1997 :a1997 :a1997. +:a1998 :a1998 :a1998. +:a1999 :a1999 :a1999. +:a2000 :a2000 :a2000. +:a2001 :a2001 :a2001. +:a2002 :a2002 :a2002. +:a2003 :a2003 :a2003. +:a2004 :a2004 :a2004. +:a2005 :a2005 :a2005. +:a2006 :a2006 :a2006. +:a2007 :a2007 :a2007. +:a2008 :a2008 :a2008. +:a2009 :a2009 :a2009. +:a2010 :a2010 :a2010. +:a2011 :a2011 :a2011. +:a2012 :a2012 :a2012. +:a2013 :a2013 :a2013. +:a2014 :a2014 :a2014. +:a2015 :a2015 :a2015. +:a2016 :a2016 :a2016. +:a2017 :a2017 :a2017. +:a2018 :a2018 :a2018. +:a2019 :a2019 :a2019. +:a2020 :a2020 :a2020. +:a2021 :a2021 :a2021. +:a2022 :a2022 :a2022. +:a2023 :a2023 :a2023. +:a2024 :a2024 :a2024. +:a2025 :a2025 :a2025. +:a2026 :a2026 :a2026. +:a2027 :a2027 :a2027. +:a2028 :a2028 :a2028. +:a2029 :a2029 :a2029. +:a2030 :a2030 :a2030. +:a2031 :a2031 :a2031. +:a2032 :a2032 :a2032. +:a2033 :a2033 :a2033. +:a2034 :a2034 :a2034. +:a2035 :a2035 :a2035. +:a2036 :a2036 :a2036. +:a2037 :a2037 :a2037. +:a2038 :a2038 :a2038. +:a2039 :a2039 :a2039. +:a2040 :a2040 :a2040. +:a2041 :a2041 :a2041. +:a2042 :a2042 :a2042. +:a2043 :a2043 :a2043. +:a2044 :a2044 :a2044. +:a2045 :a2045 :a2045. +:a2046 :a2046 :a2046. +:a2047 :a2047 :a2047. +:a2048 :a2048 :a2048. +:a2049 :a2049 :a2049. +:a2050 :a2050 :a2050. +:a2051 :a2051 :a2051. +:a2052 :a2052 :a2052. +:a2053 :a2053 :a2053. +:a2054 :a2054 :a2054. +:a2055 :a2055 :a2055. +:a2056 :a2056 :a2056. +:a2057 :a2057 :a2057. +:a2058 :a2058 :a2058. +:a2059 :a2059 :a2059. +:a2060 :a2060 :a2060. +:a2061 :a2061 :a2061. +:a2062 :a2062 :a2062. +:a2063 :a2063 :a2063. +:a2064 :a2064 :a2064. +:a2065 :a2065 :a2065. +:a2066 :a2066 :a2066. +:a2067 :a2067 :a2067. +:a2068 :a2068 :a2068. +:a2069 :a2069 :a2069. +:a2070 :a2070 :a2070. +:a2071 :a2071 :a2071. +:a2072 :a2072 :a2072. +:a2073 :a2073 :a2073. +:a2074 :a2074 :a2074. +:a2075 :a2075 :a2075. +:a2076 :a2076 :a2076. +:a2077 :a2077 :a2077. +:a2078 :a2078 :a2078. +:a2079 :a2079 :a2079. +:a2080 :a2080 :a2080. +:a2081 :a2081 :a2081. +:a2082 :a2082 :a2082. +:a2083 :a2083 :a2083. +:a2084 :a2084 :a2084. +:a2085 :a2085 :a2085. +:a2086 :a2086 :a2086. +:a2087 :a2087 :a2087. +:a2088 :a2088 :a2088. +:a2089 :a2089 :a2089. +:a2090 :a2090 :a2090. +:a2091 :a2091 :a2091. +:a2092 :a2092 :a2092. +:a2093 :a2093 :a2093. +:a2094 :a2094 :a2094. +:a2095 :a2095 :a2095. +:a2096 :a2096 :a2096. +:a2097 :a2097 :a2097. +:a2098 :a2098 :a2098. +:a2099 :a2099 :a2099. +:a2100 :a2100 :a2100. +:a2101 :a2101 :a2101. +:a2102 :a2102 :a2102. +:a2103 :a2103 :a2103. +:a2104 :a2104 :a2104. +:a2105 :a2105 :a2105. +:a2106 :a2106 :a2106. +:a2107 :a2107 :a2107. +:a2108 :a2108 :a2108. +:a2109 :a2109 :a2109. +:a2110 :a2110 :a2110. +:a2111 :a2111 :a2111. +:a2112 :a2112 :a2112. +:a2113 :a2113 :a2113. +:a2114 :a2114 :a2114. +:a2115 :a2115 :a2115. +:a2116 :a2116 :a2116. +:a2117 :a2117 :a2117. +:a2118 :a2118 :a2118. +:a2119 :a2119 :a2119. +:a2120 :a2120 :a2120. +:a2121 :a2121 :a2121. +:a2122 :a2122 :a2122. +:a2123 :a2123 :a2123. +:a2124 :a2124 :a2124. +:a2125 :a2125 :a2125. +:a2126 :a2126 :a2126. +:a2127 :a2127 :a2127. +:a2128 :a2128 :a2128. +:a2129 :a2129 :a2129. +:a2130 :a2130 :a2130. +:a2131 :a2131 :a2131. +:a2132 :a2132 :a2132. +:a2133 :a2133 :a2133. +:a2134 :a2134 :a2134. +:a2135 :a2135 :a2135. +:a2136 :a2136 :a2136. +:a2137 :a2137 :a2137. +:a2138 :a2138 :a2138. +:a2139 :a2139 :a2139. +:a2140 :a2140 :a2140. +:a2141 :a2141 :a2141. +:a2142 :a2142 :a2142. +:a2143 :a2143 :a2143. +:a2144 :a2144 :a2144. +:a2145 :a2145 :a2145. +:a2146 :a2146 :a2146. +:a2147 :a2147 :a2147. +:a2148 :a2148 :a2148. +:a2149 :a2149 :a2149. +:a2150 :a2150 :a2150. +:a2151 :a2151 :a2151. +:a2152 :a2152 :a2152. +:a2153 :a2153 :a2153. +:a2154 :a2154 :a2154. +:a2155 :a2155 :a2155. +:a2156 :a2156 :a2156. +:a2157 :a2157 :a2157. +:a2158 :a2158 :a2158. +:a2159 :a2159 :a2159. +:a2160 :a2160 :a2160. +:a2161 :a2161 :a2161. +:a2162 :a2162 :a2162. +:a2163 :a2163 :a2163. +:a2164 :a2164 :a2164. +:a2165 :a2165 :a2165. +:a2166 :a2166 :a2166. +:a2167 :a2167 :a2167. +:a2168 :a2168 :a2168. +:a2169 :a2169 :a2169. +:a2170 :a2170 :a2170. +:a2171 :a2171 :a2171. +:a2172 :a2172 :a2172. +:a2173 :a2173 :a2173. +:a2174 :a2174 :a2174. +:a2175 :a2175 :a2175. +:a2176 :a2176 :a2176. +:a2177 :a2177 :a2177. +:a2178 :a2178 :a2178. +:a2179 :a2179 :a2179. +:a2180 :a2180 :a2180. +:a2181 :a2181 :a2181. +:a2182 :a2182 :a2182. +:a2183 :a2183 :a2183. +:a2184 :a2184 :a2184. +:a2185 :a2185 :a2185. +:a2186 :a2186 :a2186. +:a2187 :a2187 :a2187. +:a2188 :a2188 :a2188. +:a2189 :a2189 :a2189. +:a2190 :a2190 :a2190. +:a2191 :a2191 :a2191. +:a2192 :a2192 :a2192. +:a2193 :a2193 :a2193. +:a2194 :a2194 :a2194. +:a2195 :a2195 :a2195. +:a2196 :a2196 :a2196. +:a2197 :a2197 :a2197. +:a2198 :a2198 :a2198. +:a2199 :a2199 :a2199. +:a2200 :a2200 :a2200. +:a2201 :a2201 :a2201. +:a2202 :a2202 :a2202. +:a2203 :a2203 :a2203. +:a2204 :a2204 :a2204. +:a2205 :a2205 :a2205. +:a2206 :a2206 :a2206. +:a2207 :a2207 :a2207. +:a2208 :a2208 :a2208. +:a2209 :a2209 :a2209. +:a2210 :a2210 :a2210. +:a2211 :a2211 :a2211. +:a2212 :a2212 :a2212. +:a2213 :a2213 :a2213. +:a2214 :a2214 :a2214. +:a2215 :a2215 :a2215. +:a2216 :a2216 :a2216. +:a2217 :a2217 :a2217. +:a2218 :a2218 :a2218. +:a2219 :a2219 :a2219. +:a2220 :a2220 :a2220. +:a2221 :a2221 :a2221. +:a2222 :a2222 :a2222. +:a2223 :a2223 :a2223. +:a2224 :a2224 :a2224. +:a2225 :a2225 :a2225. +:a2226 :a2226 :a2226. +:a2227 :a2227 :a2227. +:a2228 :a2228 :a2228. +:a2229 :a2229 :a2229. +:a2230 :a2230 :a2230. +:a2231 :a2231 :a2231. +:a2232 :a2232 :a2232. +:a2233 :a2233 :a2233. +:a2234 :a2234 :a2234. +:a2235 :a2235 :a2235. +:a2236 :a2236 :a2236. +:a2237 :a2237 :a2237. +:a2238 :a2238 :a2238. +:a2239 :a2239 :a2239. +:a2240 :a2240 :a2240. +:a2241 :a2241 :a2241. +:a2242 :a2242 :a2242. +:a2243 :a2243 :a2243. +:a2244 :a2244 :a2244. +:a2245 :a2245 :a2245. +:a2246 :a2246 :a2246. +:a2247 :a2247 :a2247. +:a2248 :a2248 :a2248. +:a2249 :a2249 :a2249. +:a2250 :a2250 :a2250. +:a2251 :a2251 :a2251. +:a2252 :a2252 :a2252. +:a2253 :a2253 :a2253. +:a2254 :a2254 :a2254. +:a2255 :a2255 :a2255. +:a2256 :a2256 :a2256. +:a2257 :a2257 :a2257. +:a2258 :a2258 :a2258. +:a2259 :a2259 :a2259. +:a2260 :a2260 :a2260. +:a2261 :a2261 :a2261. +:a2262 :a2262 :a2262. +:a2263 :a2263 :a2263. +:a2264 :a2264 :a2264. +:a2265 :a2265 :a2265. +:a2266 :a2266 :a2266. +:a2267 :a2267 :a2267. +:a2268 :a2268 :a2268. +:a2269 :a2269 :a2269. +:a2270 :a2270 :a2270. +:a2271 :a2271 :a2271. +:a2272 :a2272 :a2272. +:a2273 :a2273 :a2273. +:a2274 :a2274 :a2274. +:a2275 :a2275 :a2275. +:a2276 :a2276 :a2276. +:a2277 :a2277 :a2277. +:a2278 :a2278 :a2278. +:a2279 :a2279 :a2279. +:a2280 :a2280 :a2280. +:a2281 :a2281 :a2281. +:a2282 :a2282 :a2282. +:a2283 :a2283 :a2283. +:a2284 :a2284 :a2284. +:a2285 :a2285 :a2285. +:a2286 :a2286 :a2286. +:a2287 :a2287 :a2287. +:a2288 :a2288 :a2288. +:a2289 :a2289 :a2289. +:a2290 :a2290 :a2290. +:a2291 :a2291 :a2291. +:a2292 :a2292 :a2292. +:a2293 :a2293 :a2293. +:a2294 :a2294 :a2294. +:a2295 :a2295 :a2295. +:a2296 :a2296 :a2296. +:a2297 :a2297 :a2297. +:a2298 :a2298 :a2298. +:a2299 :a2299 :a2299. +:a2300 :a2300 :a2300. +:a2301 :a2301 :a2301. +:a2302 :a2302 :a2302. +:a2303 :a2303 :a2303. +:a2304 :a2304 :a2304. +:a2305 :a2305 :a2305. +:a2306 :a2306 :a2306. +:a2307 :a2307 :a2307. +:a2308 :a2308 :a2308. +:a2309 :a2309 :a2309. +:a2310 :a2310 :a2310. +:a2311 :a2311 :a2311. +:a2312 :a2312 :a2312. +:a2313 :a2313 :a2313. +:a2314 :a2314 :a2314. +:a2315 :a2315 :a2315. +:a2316 :a2316 :a2316. +:a2317 :a2317 :a2317. +:a2318 :a2318 :a2318. +:a2319 :a2319 :a2319. +:a2320 :a2320 :a2320. +:a2321 :a2321 :a2321. +:a2322 :a2322 :a2322. +:a2323 :a2323 :a2323. +:a2324 :a2324 :a2324. +:a2325 :a2325 :a2325. +:a2326 :a2326 :a2326. +:a2327 :a2327 :a2327. +:a2328 :a2328 :a2328. +:a2329 :a2329 :a2329. +:a2330 :a2330 :a2330. +:a2331 :a2331 :a2331. +:a2332 :a2332 :a2332. +:a2333 :a2333 :a2333. +:a2334 :a2334 :a2334. +:a2335 :a2335 :a2335. +:a2336 :a2336 :a2336. +:a2337 :a2337 :a2337. +:a2338 :a2338 :a2338. +:a2339 :a2339 :a2339. +:a2340 :a2340 :a2340. +:a2341 :a2341 :a2341. +:a2342 :a2342 :a2342. +:a2343 :a2343 :a2343. +:a2344 :a2344 :a2344. +:a2345 :a2345 :a2345. +:a2346 :a2346 :a2346. +:a2347 :a2347 :a2347. +:a2348 :a2348 :a2348. +:a2349 :a2349 :a2349. +:a2350 :a2350 :a2350. +:a2351 :a2351 :a2351. +:a2352 :a2352 :a2352. +:a2353 :a2353 :a2353. +:a2354 :a2354 :a2354. +:a2355 :a2355 :a2355. +:a2356 :a2356 :a2356. +:a2357 :a2357 :a2357. +:a2358 :a2358 :a2358. +:a2359 :a2359 :a2359. +:a2360 :a2360 :a2360. +:a2361 :a2361 :a2361. +:a2362 :a2362 :a2362. +:a2363 :a2363 :a2363. +:a2364 :a2364 :a2364. +:a2365 :a2365 :a2365. +:a2366 :a2366 :a2366. +:a2367 :a2367 :a2367. +:a2368 :a2368 :a2368. +:a2369 :a2369 :a2369. +:a2370 :a2370 :a2370. +:a2371 :a2371 :a2371. +:a2372 :a2372 :a2372. +:a2373 :a2373 :a2373. +:a2374 :a2374 :a2374. +:a2375 :a2375 :a2375. +:a2376 :a2376 :a2376. +:a2377 :a2377 :a2377. +:a2378 :a2378 :a2378. +:a2379 :a2379 :a2379. +:a2380 :a2380 :a2380. +:a2381 :a2381 :a2381. +:a2382 :a2382 :a2382. +:a2383 :a2383 :a2383. +:a2384 :a2384 :a2384. +:a2385 :a2385 :a2385. +:a2386 :a2386 :a2386. +:a2387 :a2387 :a2387. +:a2388 :a2388 :a2388. +:a2389 :a2389 :a2389. +:a2390 :a2390 :a2390. +:a2391 :a2391 :a2391. +:a2392 :a2392 :a2392. +:a2393 :a2393 :a2393. +:a2394 :a2394 :a2394. +:a2395 :a2395 :a2395. +:a2396 :a2396 :a2396. +:a2397 :a2397 :a2397. +:a2398 :a2398 :a2398. +:a2399 :a2399 :a2399. +:a2400 :a2400 :a2400. +:a2401 :a2401 :a2401. +:a2402 :a2402 :a2402. +:a2403 :a2403 :a2403. +:a2404 :a2404 :a2404. +:a2405 :a2405 :a2405. +:a2406 :a2406 :a2406. +:a2407 :a2407 :a2407. +:a2408 :a2408 :a2408. +:a2409 :a2409 :a2409. +:a2410 :a2410 :a2410. +:a2411 :a2411 :a2411. +:a2412 :a2412 :a2412. +:a2413 :a2413 :a2413. +:a2414 :a2414 :a2414. +:a2415 :a2415 :a2415. +:a2416 :a2416 :a2416. +:a2417 :a2417 :a2417. +:a2418 :a2418 :a2418. +:a2419 :a2419 :a2419. +:a2420 :a2420 :a2420. +:a2421 :a2421 :a2421. +:a2422 :a2422 :a2422. +:a2423 :a2423 :a2423. +:a2424 :a2424 :a2424. +:a2425 :a2425 :a2425. +:a2426 :a2426 :a2426. +:a2427 :a2427 :a2427. +:a2428 :a2428 :a2428. +:a2429 :a2429 :a2429. +:a2430 :a2430 :a2430. +:a2431 :a2431 :a2431. +:a2432 :a2432 :a2432. +:a2433 :a2433 :a2433. +:a2434 :a2434 :a2434. +:a2435 :a2435 :a2435. +:a2436 :a2436 :a2436. +:a2437 :a2437 :a2437. +:a2438 :a2438 :a2438. +:a2439 :a2439 :a2439. +:a2440 :a2440 :a2440. +:a2441 :a2441 :a2441. +:a2442 :a2442 :a2442. +:a2443 :a2443 :a2443. +:a2444 :a2444 :a2444. +:a2445 :a2445 :a2445. +:a2446 :a2446 :a2446. +:a2447 :a2447 :a2447. +:a2448 :a2448 :a2448. +:a2449 :a2449 :a2449. +:a2450 :a2450 :a2450. +:a2451 :a2451 :a2451. +:a2452 :a2452 :a2452. +:a2453 :a2453 :a2453. +:a2454 :a2454 :a2454. +:a2455 :a2455 :a2455. +:a2456 :a2456 :a2456. +:a2457 :a2457 :a2457. +:a2458 :a2458 :a2458. +:a2459 :a2459 :a2459. +:a2460 :a2460 :a2460. +:a2461 :a2461 :a2461. +:a2462 :a2462 :a2462. +:a2463 :a2463 :a2463. +:a2464 :a2464 :a2464. +:a2465 :a2465 :a2465. +:a2466 :a2466 :a2466. +:a2467 :a2467 :a2467. +:a2468 :a2468 :a2468. +:a2469 :a2469 :a2469. +:a2470 :a2470 :a2470. +:a2471 :a2471 :a2471. +:a2472 :a2472 :a2472. +:a2473 :a2473 :a2473. +:a2474 :a2474 :a2474. +:a2475 :a2475 :a2475. +:a2476 :a2476 :a2476. +:a2477 :a2477 :a2477. +:a2478 :a2478 :a2478. +:a2479 :a2479 :a2479. +:a2480 :a2480 :a2480. +:a2481 :a2481 :a2481. +:a2482 :a2482 :a2482. +:a2483 :a2483 :a2483. +:a2484 :a2484 :a2484. +:a2485 :a2485 :a2485. +:a2486 :a2486 :a2486. +:a2487 :a2487 :a2487. +:a2488 :a2488 :a2488. +:a2489 :a2489 :a2489. +:a2490 :a2490 :a2490. +:a2491 :a2491 :a2491. +:a2492 :a2492 :a2492. +:a2493 :a2493 :a2493. +:a2494 :a2494 :a2494. +:a2495 :a2495 :a2495. +:a2496 :a2496 :a2496. +:a2497 :a2497 :a2497. +:a2498 :a2498 :a2498. +:a2499 :a2499 :a2499. +:a2500 :a2500 :a2500. +:a2501 :a2501 :a2501. +:a2502 :a2502 :a2502. +:a2503 :a2503 :a2503. +:a2504 :a2504 :a2504. +:a2505 :a2505 :a2505. +:a2506 :a2506 :a2506. +:a2507 :a2507 :a2507. +:a2508 :a2508 :a2508. +:a2509 :a2509 :a2509. +:a2510 :a2510 :a2510. +:a2511 :a2511 :a2511. +:a2512 :a2512 :a2512. +:a2513 :a2513 :a2513. +:a2514 :a2514 :a2514. +:a2515 :a2515 :a2515. +:a2516 :a2516 :a2516. +:a2517 :a2517 :a2517. +:a2518 :a2518 :a2518. +:a2519 :a2519 :a2519. +:a2520 :a2520 :a2520. +:a2521 :a2521 :a2521. +:a2522 :a2522 :a2522. +:a2523 :a2523 :a2523. +:a2524 :a2524 :a2524. +:a2525 :a2525 :a2525. +:a2526 :a2526 :a2526. +:a2527 :a2527 :a2527. +:a2528 :a2528 :a2528. +:a2529 :a2529 :a2529. +:a2530 :a2530 :a2530. +:a2531 :a2531 :a2531. +:a2532 :a2532 :a2532. +:a2533 :a2533 :a2533. +:a2534 :a2534 :a2534. +:a2535 :a2535 :a2535. +:a2536 :a2536 :a2536. +:a2537 :a2537 :a2537. +:a2538 :a2538 :a2538. +:a2539 :a2539 :a2539. +:a2540 :a2540 :a2540. +:a2541 :a2541 :a2541. +:a2542 :a2542 :a2542. +:a2543 :a2543 :a2543. +:a2544 :a2544 :a2544. +:a2545 :a2545 :a2545. +:a2546 :a2546 :a2546. +:a2547 :a2547 :a2547. +:a2548 :a2548 :a2548. +:a2549 :a2549 :a2549. +:a2550 :a2550 :a2550. +:a2551 :a2551 :a2551. +:a2552 :a2552 :a2552. +:a2553 :a2553 :a2553. +:a2554 :a2554 :a2554. +:a2555 :a2555 :a2555. +:a2556 :a2556 :a2556. +:a2557 :a2557 :a2557. +:a2558 :a2558 :a2558. +:a2559 :a2559 :a2559. +:a2560 :a2560 :a2560. +:a2561 :a2561 :a2561. +:a2562 :a2562 :a2562. +:a2563 :a2563 :a2563. +:a2564 :a2564 :a2564. +:a2565 :a2565 :a2565. +:a2566 :a2566 :a2566. +:a2567 :a2567 :a2567. +:a2568 :a2568 :a2568. +:a2569 :a2569 :a2569. +:a2570 :a2570 :a2570. +:a2571 :a2571 :a2571. +:a2572 :a2572 :a2572. +:a2573 :a2573 :a2573. +:a2574 :a2574 :a2574. +:a2575 :a2575 :a2575. +:a2576 :a2576 :a2576. +:a2577 :a2577 :a2577. +:a2578 :a2578 :a2578. +:a2579 :a2579 :a2579. +:a2580 :a2580 :a2580. +:a2581 :a2581 :a2581. +:a2582 :a2582 :a2582. +:a2583 :a2583 :a2583. +:a2584 :a2584 :a2584. +:a2585 :a2585 :a2585. +:a2586 :a2586 :a2586. +:a2587 :a2587 :a2587. +:a2588 :a2588 :a2588. +:a2589 :a2589 :a2589. +:a2590 :a2590 :a2590. +:a2591 :a2591 :a2591. +:a2592 :a2592 :a2592. +:a2593 :a2593 :a2593. +:a2594 :a2594 :a2594. +:a2595 :a2595 :a2595. +:a2596 :a2596 :a2596. +:a2597 :a2597 :a2597. +:a2598 :a2598 :a2598. +:a2599 :a2599 :a2599. +:a2600 :a2600 :a2600. +:a2601 :a2601 :a2601. +:a2602 :a2602 :a2602. +:a2603 :a2603 :a2603. +:a2604 :a2604 :a2604. +:a2605 :a2605 :a2605. +:a2606 :a2606 :a2606. +:a2607 :a2607 :a2607. +:a2608 :a2608 :a2608. +:a2609 :a2609 :a2609. +:a2610 :a2610 :a2610. +:a2611 :a2611 :a2611. +:a2612 :a2612 :a2612. +:a2613 :a2613 :a2613. +:a2614 :a2614 :a2614. +:a2615 :a2615 :a2615. +:a2616 :a2616 :a2616. +:a2617 :a2617 :a2617. +:a2618 :a2618 :a2618. +:a2619 :a2619 :a2619. +:a2620 :a2620 :a2620. +:a2621 :a2621 :a2621. +:a2622 :a2622 :a2622. +:a2623 :a2623 :a2623. +:a2624 :a2624 :a2624. +:a2625 :a2625 :a2625. +:a2626 :a2626 :a2626. +:a2627 :a2627 :a2627. +:a2628 :a2628 :a2628. +:a2629 :a2629 :a2629. +:a2630 :a2630 :a2630. +:a2631 :a2631 :a2631. +:a2632 :a2632 :a2632. +:a2633 :a2633 :a2633. +:a2634 :a2634 :a2634. +:a2635 :a2635 :a2635. +:a2636 :a2636 :a2636. +:a2637 :a2637 :a2637. +:a2638 :a2638 :a2638. +:a2639 :a2639 :a2639. +:a2640 :a2640 :a2640. +:a2641 :a2641 :a2641. +:a2642 :a2642 :a2642. +:a2643 :a2643 :a2643. +:a2644 :a2644 :a2644. +:a2645 :a2645 :a2645. +:a2646 :a2646 :a2646. +:a2647 :a2647 :a2647. +:a2648 :a2648 :a2648. +:a2649 :a2649 :a2649. +:a2650 :a2650 :a2650. +:a2651 :a2651 :a2651. +:a2652 :a2652 :a2652. +:a2653 :a2653 :a2653. +:a2654 :a2654 :a2654. +:a2655 :a2655 :a2655. +:a2656 :a2656 :a2656. +:a2657 :a2657 :a2657. +:a2658 :a2658 :a2658. +:a2659 :a2659 :a2659. +:a2660 :a2660 :a2660. +:a2661 :a2661 :a2661. +:a2662 :a2662 :a2662. +:a2663 :a2663 :a2663. +:a2664 :a2664 :a2664. +:a2665 :a2665 :a2665. +:a2666 :a2666 :a2666. +:a2667 :a2667 :a2667. +:a2668 :a2668 :a2668. +:a2669 :a2669 :a2669. +:a2670 :a2670 :a2670. +:a2671 :a2671 :a2671. +:a2672 :a2672 :a2672. +:a2673 :a2673 :a2673. +:a2674 :a2674 :a2674. +:a2675 :a2675 :a2675. +:a2676 :a2676 :a2676. +:a2677 :a2677 :a2677. +:a2678 :a2678 :a2678. +:a2679 :a2679 :a2679. +:a2680 :a2680 :a2680. +:a2681 :a2681 :a2681. +:a2682 :a2682 :a2682. +:a2683 :a2683 :a2683. +:a2684 :a2684 :a2684. +:a2685 :a2685 :a2685. +:a2686 :a2686 :a2686. +:a2687 :a2687 :a2687. +:a2688 :a2688 :a2688. +:a2689 :a2689 :a2689. +:a2690 :a2690 :a2690. +:a2691 :a2691 :a2691. +:a2692 :a2692 :a2692. +:a2693 :a2693 :a2693. +:a2694 :a2694 :a2694. +:a2695 :a2695 :a2695. +:a2696 :a2696 :a2696. +:a2697 :a2697 :a2697. +:a2698 :a2698 :a2698. +:a2699 :a2699 :a2699. +:a2700 :a2700 :a2700. +:a2701 :a2701 :a2701. +:a2702 :a2702 :a2702. +:a2703 :a2703 :a2703. +:a2704 :a2704 :a2704. +:a2705 :a2705 :a2705. +:a2706 :a2706 :a2706. +:a2707 :a2707 :a2707. +:a2708 :a2708 :a2708. +:a2709 :a2709 :a2709. +:a2710 :a2710 :a2710. +:a2711 :a2711 :a2711. +:a2712 :a2712 :a2712. +:a2713 :a2713 :a2713. +:a2714 :a2714 :a2714. +:a2715 :a2715 :a2715. +:a2716 :a2716 :a2716. +:a2717 :a2717 :a2717. +:a2718 :a2718 :a2718. +:a2719 :a2719 :a2719. +:a2720 :a2720 :a2720. +:a2721 :a2721 :a2721. +:a2722 :a2722 :a2722. +:a2723 :a2723 :a2723. +:a2724 :a2724 :a2724. +:a2725 :a2725 :a2725. +:a2726 :a2726 :a2726. +:a2727 :a2727 :a2727. +:a2728 :a2728 :a2728. +:a2729 :a2729 :a2729. +:a2730 :a2730 :a2730. +:a2731 :a2731 :a2731. +:a2732 :a2732 :a2732. +:a2733 :a2733 :a2733. +:a2734 :a2734 :a2734. +:a2735 :a2735 :a2735. +:a2736 :a2736 :a2736. +:a2737 :a2737 :a2737. +:a2738 :a2738 :a2738. +:a2739 :a2739 :a2739. +:a2740 :a2740 :a2740. +:a2741 :a2741 :a2741. +:a2742 :a2742 :a2742. +:a2743 :a2743 :a2743. +:a2744 :a2744 :a2744. +:a2745 :a2745 :a2745. +:a2746 :a2746 :a2746. +:a2747 :a2747 :a2747. +:a2748 :a2748 :a2748. +:a2749 :a2749 :a2749. +:a2750 :a2750 :a2750. +:a2751 :a2751 :a2751. +:a2752 :a2752 :a2752. +:a2753 :a2753 :a2753. +:a2754 :a2754 :a2754. +:a2755 :a2755 :a2755. +:a2756 :a2756 :a2756. +:a2757 :a2757 :a2757. +:a2758 :a2758 :a2758. +:a2759 :a2759 :a2759. +:a2760 :a2760 :a2760. +:a2761 :a2761 :a2761. +:a2762 :a2762 :a2762. +:a2763 :a2763 :a2763. +:a2764 :a2764 :a2764. +:a2765 :a2765 :a2765. +:a2766 :a2766 :a2766. +:a2767 :a2767 :a2767. +:a2768 :a2768 :a2768. +:a2769 :a2769 :a2769. +:a2770 :a2770 :a2770. +:a2771 :a2771 :a2771. +:a2772 :a2772 :a2772. +:a2773 :a2773 :a2773. +:a2774 :a2774 :a2774. +:a2775 :a2775 :a2775. +:a2776 :a2776 :a2776. +:a2777 :a2777 :a2777. +:a2778 :a2778 :a2778. +:a2779 :a2779 :a2779. +:a2780 :a2780 :a2780. +:a2781 :a2781 :a2781. +:a2782 :a2782 :a2782. +:a2783 :a2783 :a2783. +:a2784 :a2784 :a2784. +:a2785 :a2785 :a2785. +:a2786 :a2786 :a2786. +:a2787 :a2787 :a2787. +:a2788 :a2788 :a2788. +:a2789 :a2789 :a2789. +:a2790 :a2790 :a2790. +:a2791 :a2791 :a2791. +:a2792 :a2792 :a2792. +:a2793 :a2793 :a2793. +:a2794 :a2794 :a2794. +:a2795 :a2795 :a2795. +:a2796 :a2796 :a2796. +:a2797 :a2797 :a2797. +:a2798 :a2798 :a2798. +:a2799 :a2799 :a2799. +:a2800 :a2800 :a2800. +:a2801 :a2801 :a2801. +:a2802 :a2802 :a2802. +:a2803 :a2803 :a2803. +:a2804 :a2804 :a2804. +:a2805 :a2805 :a2805. +:a2806 :a2806 :a2806. +:a2807 :a2807 :a2807. +:a2808 :a2808 :a2808. +:a2809 :a2809 :a2809. +:a2810 :a2810 :a2810. +:a2811 :a2811 :a2811. +:a2812 :a2812 :a2812. +:a2813 :a2813 :a2813. +:a2814 :a2814 :a2814. +:a2815 :a2815 :a2815. +:a2816 :a2816 :a2816. +:a2817 :a2817 :a2817. +:a2818 :a2818 :a2818. +:a2819 :a2819 :a2819. +:a2820 :a2820 :a2820. +:a2821 :a2821 :a2821. +:a2822 :a2822 :a2822. +:a2823 :a2823 :a2823. +:a2824 :a2824 :a2824. +:a2825 :a2825 :a2825. +:a2826 :a2826 :a2826. +:a2827 :a2827 :a2827. +:a2828 :a2828 :a2828. +:a2829 :a2829 :a2829. +:a2830 :a2830 :a2830. +:a2831 :a2831 :a2831. +:a2832 :a2832 :a2832. +:a2833 :a2833 :a2833. +:a2834 :a2834 :a2834. +:a2835 :a2835 :a2835. +:a2836 :a2836 :a2836. +:a2837 :a2837 :a2837. +:a2838 :a2838 :a2838. +:a2839 :a2839 :a2839. +:a2840 :a2840 :a2840. +:a2841 :a2841 :a2841. +:a2842 :a2842 :a2842. +:a2843 :a2843 :a2843. +:a2844 :a2844 :a2844. +:a2845 :a2845 :a2845. +:a2846 :a2846 :a2846. +:a2847 :a2847 :a2847. +:a2848 :a2848 :a2848. +:a2849 :a2849 :a2849. +:a2850 :a2850 :a2850. +:a2851 :a2851 :a2851. +:a2852 :a2852 :a2852. +:a2853 :a2853 :a2853. +:a2854 :a2854 :a2854. +:a2855 :a2855 :a2855. +:a2856 :a2856 :a2856. +:a2857 :a2857 :a2857. +:a2858 :a2858 :a2858. +:a2859 :a2859 :a2859. +:a2860 :a2860 :a2860. +:a2861 :a2861 :a2861. +:a2862 :a2862 :a2862. +:a2863 :a2863 :a2863. +:a2864 :a2864 :a2864. +:a2865 :a2865 :a2865. +:a2866 :a2866 :a2866. +:a2867 :a2867 :a2867. +:a2868 :a2868 :a2868. +:a2869 :a2869 :a2869. +:a2870 :a2870 :a2870. +:a2871 :a2871 :a2871. +:a2872 :a2872 :a2872. +:a2873 :a2873 :a2873. +:a2874 :a2874 :a2874. +:a2875 :a2875 :a2875. +:a2876 :a2876 :a2876. +:a2877 :a2877 :a2877. +:a2878 :a2878 :a2878. +:a2879 :a2879 :a2879. +:a2880 :a2880 :a2880. +:a2881 :a2881 :a2881. +:a2882 :a2882 :a2882. +:a2883 :a2883 :a2883. +:a2884 :a2884 :a2884. +:a2885 :a2885 :a2885. +:a2886 :a2886 :a2886. +:a2887 :a2887 :a2887. +:a2888 :a2888 :a2888. +:a2889 :a2889 :a2889. +:a2890 :a2890 :a2890. +:a2891 :a2891 :a2891. +:a2892 :a2892 :a2892. +:a2893 :a2893 :a2893. +:a2894 :a2894 :a2894. +:a2895 :a2895 :a2895. +:a2896 :a2896 :a2896. +:a2897 :a2897 :a2897. +:a2898 :a2898 :a2898. +:a2899 :a2899 :a2899. +:a2900 :a2900 :a2900. +:a2901 :a2901 :a2901. +:a2902 :a2902 :a2902. +:a2903 :a2903 :a2903. +:a2904 :a2904 :a2904. +:a2905 :a2905 :a2905. +:a2906 :a2906 :a2906. +:a2907 :a2907 :a2907. +:a2908 :a2908 :a2908. +:a2909 :a2909 :a2909. +:a2910 :a2910 :a2910. +:a2911 :a2911 :a2911. +:a2912 :a2912 :a2912. +:a2913 :a2913 :a2913. +:a2914 :a2914 :a2914. +:a2915 :a2915 :a2915. +:a2916 :a2916 :a2916. +:a2917 :a2917 :a2917. +:a2918 :a2918 :a2918. +:a2919 :a2919 :a2919. +:a2920 :a2920 :a2920. +:a2921 :a2921 :a2921. +:a2922 :a2922 :a2922. +:a2923 :a2923 :a2923. +:a2924 :a2924 :a2924. +:a2925 :a2925 :a2925. +:a2926 :a2926 :a2926. +:a2927 :a2927 :a2927. +:a2928 :a2928 :a2928. +:a2929 :a2929 :a2929. +:a2930 :a2930 :a2930. +:a2931 :a2931 :a2931. +:a2932 :a2932 :a2932. +:a2933 :a2933 :a2933. +:a2934 :a2934 :a2934. +:a2935 :a2935 :a2935. +:a2936 :a2936 :a2936. +:a2937 :a2937 :a2937. +:a2938 :a2938 :a2938. +:a2939 :a2939 :a2939. +:a2940 :a2940 :a2940. +:a2941 :a2941 :a2941. +:a2942 :a2942 :a2942. +:a2943 :a2943 :a2943. +:a2944 :a2944 :a2944. +:a2945 :a2945 :a2945. +:a2946 :a2946 :a2946. +:a2947 :a2947 :a2947. +:a2948 :a2948 :a2948. +:a2949 :a2949 :a2949. +:a2950 :a2950 :a2950. +:a2951 :a2951 :a2951. +:a2952 :a2952 :a2952. +:a2953 :a2953 :a2953. +:a2954 :a2954 :a2954. +:a2955 :a2955 :a2955. +:a2956 :a2956 :a2956. +:a2957 :a2957 :a2957. +:a2958 :a2958 :a2958. +:a2959 :a2959 :a2959. +:a2960 :a2960 :a2960. +:a2961 :a2961 :a2961. +:a2962 :a2962 :a2962. +:a2963 :a2963 :a2963. +:a2964 :a2964 :a2964. +:a2965 :a2965 :a2965. +:a2966 :a2966 :a2966. +:a2967 :a2967 :a2967. +:a2968 :a2968 :a2968. +:a2969 :a2969 :a2969. +:a2970 :a2970 :a2970. +:a2971 :a2971 :a2971. +:a2972 :a2972 :a2972. +:a2973 :a2973 :a2973. +:a2974 :a2974 :a2974. +:a2975 :a2975 :a2975. +:a2976 :a2976 :a2976. +:a2977 :a2977 :a2977. +:a2978 :a2978 :a2978. +:a2979 :a2979 :a2979. +:a2980 :a2980 :a2980. +:a2981 :a2981 :a2981. +:a2982 :a2982 :a2982. +:a2983 :a2983 :a2983. +:a2984 :a2984 :a2984. +:a2985 :a2985 :a2985. +:a2986 :a2986 :a2986. +:a2987 :a2987 :a2987. +:a2988 :a2988 :a2988. +:a2989 :a2989 :a2989. +:a2990 :a2990 :a2990. +:a2991 :a2991 :a2991. +:a2992 :a2992 :a2992. +:a2993 :a2993 :a2993. +:a2994 :a2994 :a2994. +:a2995 :a2995 :a2995. +:a2996 :a2996 :a2996. +:a2997 :a2997 :a2997. +:a2998 :a2998 :a2998. +:a2999 :a2999 :a2999. +:a3000 :a3000 :a3000. +:a3001 :a3001 :a3001. +:a3002 :a3002 :a3002. +:a3003 :a3003 :a3003. +:a3004 :a3004 :a3004. +:a3005 :a3005 :a3005. +:a3006 :a3006 :a3006. +:a3007 :a3007 :a3007. +:a3008 :a3008 :a3008. +:a3009 :a3009 :a3009. +:a3010 :a3010 :a3010. +:a3011 :a3011 :a3011. +:a3012 :a3012 :a3012. +:a3013 :a3013 :a3013. +:a3014 :a3014 :a3014. +:a3015 :a3015 :a3015. +:a3016 :a3016 :a3016. +:a3017 :a3017 :a3017. +:a3018 :a3018 :a3018. +:a3019 :a3019 :a3019. +:a3020 :a3020 :a3020. +:a3021 :a3021 :a3021. +:a3022 :a3022 :a3022. +:a3023 :a3023 :a3023. +:a3024 :a3024 :a3024. +:a3025 :a3025 :a3025. +:a3026 :a3026 :a3026. +:a3027 :a3027 :a3027. +:a3028 :a3028 :a3028. +:a3029 :a3029 :a3029. +:a3030 :a3030 :a3030. +:a3031 :a3031 :a3031. +:a3032 :a3032 :a3032. +:a3033 :a3033 :a3033. +:a3034 :a3034 :a3034. +:a3035 :a3035 :a3035. +:a3036 :a3036 :a3036. +:a3037 :a3037 :a3037. +:a3038 :a3038 :a3038. +:a3039 :a3039 :a3039. +:a3040 :a3040 :a3040. +:a3041 :a3041 :a3041. +:a3042 :a3042 :a3042. +:a3043 :a3043 :a3043. +:a3044 :a3044 :a3044. +:a3045 :a3045 :a3045. +:a3046 :a3046 :a3046. +:a3047 :a3047 :a3047. +:a3048 :a3048 :a3048. +:a3049 :a3049 :a3049. +:a3050 :a3050 :a3050. +:a3051 :a3051 :a3051. +:a3052 :a3052 :a3052. +:a3053 :a3053 :a3053. +:a3054 :a3054 :a3054. +:a3055 :a3055 :a3055. +:a3056 :a3056 :a3056. +:a3057 :a3057 :a3057. +:a3058 :a3058 :a3058. +:a3059 :a3059 :a3059. +:a3060 :a3060 :a3060. +:a3061 :a3061 :a3061. +:a3062 :a3062 :a3062. +:a3063 :a3063 :a3063. +:a3064 :a3064 :a3064. +:a3065 :a3065 :a3065. +:a3066 :a3066 :a3066. +:a3067 :a3067 :a3067. +:a3068 :a3068 :a3068. +:a3069 :a3069 :a3069. +:a3070 :a3070 :a3070. +:a3071 :a3071 :a3071. +:a3072 :a3072 :a3072. +:a3073 :a3073 :a3073. +:a3074 :a3074 :a3074. +:a3075 :a3075 :a3075. +:a3076 :a3076 :a3076. +:a3077 :a3077 :a3077. +:a3078 :a3078 :a3078. +:a3079 :a3079 :a3079. +:a3080 :a3080 :a3080. +:a3081 :a3081 :a3081. +:a3082 :a3082 :a3082. +:a3083 :a3083 :a3083. +:a3084 :a3084 :a3084. +:a3085 :a3085 :a3085. +:a3086 :a3086 :a3086. +:a3087 :a3087 :a3087. +:a3088 :a3088 :a3088. +:a3089 :a3089 :a3089. +:a3090 :a3090 :a3090. +:a3091 :a3091 :a3091. +:a3092 :a3092 :a3092. +:a3093 :a3093 :a3093. +:a3094 :a3094 :a3094. +:a3095 :a3095 :a3095. +:a3096 :a3096 :a3096. +:a3097 :a3097 :a3097. +:a3098 :a3098 :a3098. +:a3099 :a3099 :a3099. +:a3100 :a3100 :a3100. +:a3101 :a3101 :a3101. +:a3102 :a3102 :a3102. +:a3103 :a3103 :a3103. +:a3104 :a3104 :a3104. +:a3105 :a3105 :a3105. +:a3106 :a3106 :a3106. +:a3107 :a3107 :a3107. +:a3108 :a3108 :a3108. +:a3109 :a3109 :a3109. +:a3110 :a3110 :a3110. +:a3111 :a3111 :a3111. +:a3112 :a3112 :a3112. +:a3113 :a3113 :a3113. +:a3114 :a3114 :a3114. +:a3115 :a3115 :a3115. +:a3116 :a3116 :a3116. +:a3117 :a3117 :a3117. +:a3118 :a3118 :a3118. +:a3119 :a3119 :a3119. +:a3120 :a3120 :a3120. +:a3121 :a3121 :a3121. +:a3122 :a3122 :a3122. +:a3123 :a3123 :a3123. +:a3124 :a3124 :a3124. +:a3125 :a3125 :a3125. +:a3126 :a3126 :a3126. +:a3127 :a3127 :a3127. +:a3128 :a3128 :a3128. +:a3129 :a3129 :a3129. +:a3130 :a3130 :a3130. +:a3131 :a3131 :a3131. +:a3132 :a3132 :a3132. +:a3133 :a3133 :a3133. +:a3134 :a3134 :a3134. +:a3135 :a3135 :a3135. +:a3136 :a3136 :a3136. +:a3137 :a3137 :a3137. +:a3138 :a3138 :a3138. +:a3139 :a3139 :a3139. +:a3140 :a3140 :a3140. +:a3141 :a3141 :a3141. +:a3142 :a3142 :a3142. +:a3143 :a3143 :a3143. +:a3144 :a3144 :a3144. +:a3145 :a3145 :a3145. +:a3146 :a3146 :a3146. +:a3147 :a3147 :a3147. +:a3148 :a3148 :a3148. +:a3149 :a3149 :a3149. +:a3150 :a3150 :a3150. +:a3151 :a3151 :a3151. +:a3152 :a3152 :a3152. +:a3153 :a3153 :a3153. +:a3154 :a3154 :a3154. +:a3155 :a3155 :a3155. +:a3156 :a3156 :a3156. +:a3157 :a3157 :a3157. +:a3158 :a3158 :a3158. +:a3159 :a3159 :a3159. +:a3160 :a3160 :a3160. +:a3161 :a3161 :a3161. +:a3162 :a3162 :a3162. +:a3163 :a3163 :a3163. +:a3164 :a3164 :a3164. +:a3165 :a3165 :a3165. +:a3166 :a3166 :a3166. +:a3167 :a3167 :a3167. +:a3168 :a3168 :a3168. +:a3169 :a3169 :a3169. +:a3170 :a3170 :a3170. +:a3171 :a3171 :a3171. +:a3172 :a3172 :a3172. +:a3173 :a3173 :a3173. +:a3174 :a3174 :a3174. +:a3175 :a3175 :a3175. +:a3176 :a3176 :a3176. +:a3177 :a3177 :a3177. +:a3178 :a3178 :a3178. +:a3179 :a3179 :a3179. +:a3180 :a3180 :a3180. +:a3181 :a3181 :a3181. +:a3182 :a3182 :a3182. +:a3183 :a3183 :a3183. +:a3184 :a3184 :a3184. +:a3185 :a3185 :a3185. +:a3186 :a3186 :a3186. +:a3187 :a3187 :a3187. +:a3188 :a3188 :a3188. +:a3189 :a3189 :a3189. +:a3190 :a3190 :a3190. +:a3191 :a3191 :a3191. +:a3192 :a3192 :a3192. +:a3193 :a3193 :a3193. +:a3194 :a3194 :a3194. +:a3195 :a3195 :a3195. +:a3196 :a3196 :a3196. +:a3197 :a3197 :a3197. +:a3198 :a3198 :a3198. +:a3199 :a3199 :a3199. +:a3200 :a3200 :a3200. +:a3201 :a3201 :a3201. +:a3202 :a3202 :a3202. +:a3203 :a3203 :a3203. +:a3204 :a3204 :a3204. +:a3205 :a3205 :a3205. +:a3206 :a3206 :a3206. +:a3207 :a3207 :a3207. +:a3208 :a3208 :a3208. +:a3209 :a3209 :a3209. +:a3210 :a3210 :a3210. +:a3211 :a3211 :a3211. +:a3212 :a3212 :a3212. +:a3213 :a3213 :a3213. +:a3214 :a3214 :a3214. +:a3215 :a3215 :a3215. +:a3216 :a3216 :a3216. +:a3217 :a3217 :a3217. +:a3218 :a3218 :a3218. +:a3219 :a3219 :a3219. +:a3220 :a3220 :a3220. +:a3221 :a3221 :a3221. +:a3222 :a3222 :a3222. +:a3223 :a3223 :a3223. +:a3224 :a3224 :a3224. +:a3225 :a3225 :a3225. +:a3226 :a3226 :a3226. +:a3227 :a3227 :a3227. +:a3228 :a3228 :a3228. +:a3229 :a3229 :a3229. +:a3230 :a3230 :a3230. +:a3231 :a3231 :a3231. +:a3232 :a3232 :a3232. +:a3233 :a3233 :a3233. +:a3234 :a3234 :a3234. +:a3235 :a3235 :a3235. +:a3236 :a3236 :a3236. +:a3237 :a3237 :a3237. +:a3238 :a3238 :a3238. +:a3239 :a3239 :a3239. +:a3240 :a3240 :a3240. +:a3241 :a3241 :a3241. +:a3242 :a3242 :a3242. +:a3243 :a3243 :a3243. +:a3244 :a3244 :a3244. +:a3245 :a3245 :a3245. +:a3246 :a3246 :a3246. +:a3247 :a3247 :a3247. +:a3248 :a3248 :a3248. +:a3249 :a3249 :a3249. +:a3250 :a3250 :a3250. +:a3251 :a3251 :a3251. +:a3252 :a3252 :a3252. +:a3253 :a3253 :a3253. +:a3254 :a3254 :a3254. +:a3255 :a3255 :a3255. +:a3256 :a3256 :a3256. +:a3257 :a3257 :a3257. +:a3258 :a3258 :a3258. +:a3259 :a3259 :a3259. +:a3260 :a3260 :a3260. +:a3261 :a3261 :a3261. +:a3262 :a3262 :a3262. +:a3263 :a3263 :a3263. +:a3264 :a3264 :a3264. +:a3265 :a3265 :a3265. +:a3266 :a3266 :a3266. +:a3267 :a3267 :a3267. +:a3268 :a3268 :a3268. +:a3269 :a3269 :a3269. +:a3270 :a3270 :a3270. +:a3271 :a3271 :a3271. +:a3272 :a3272 :a3272. +:a3273 :a3273 :a3273. +:a3274 :a3274 :a3274. +:a3275 :a3275 :a3275. +:a3276 :a3276 :a3276. +:a3277 :a3277 :a3277. +:a3278 :a3278 :a3278. +:a3279 :a3279 :a3279. +:a3280 :a3280 :a3280. +:a3281 :a3281 :a3281. +:a3282 :a3282 :a3282. +:a3283 :a3283 :a3283. +:a3284 :a3284 :a3284. +:a3285 :a3285 :a3285. +:a3286 :a3286 :a3286. +:a3287 :a3287 :a3287. +:a3288 :a3288 :a3288. +:a3289 :a3289 :a3289. +:a3290 :a3290 :a3290. +:a3291 :a3291 :a3291. +:a3292 :a3292 :a3292. +:a3293 :a3293 :a3293. +:a3294 :a3294 :a3294. +:a3295 :a3295 :a3295. +:a3296 :a3296 :a3296. +:a3297 :a3297 :a3297. +:a3298 :a3298 :a3298. +:a3299 :a3299 :a3299. +:a3300 :a3300 :a3300. +:a3301 :a3301 :a3301. +:a3302 :a3302 :a3302. +:a3303 :a3303 :a3303. +:a3304 :a3304 :a3304. +:a3305 :a3305 :a3305. +:a3306 :a3306 :a3306. +:a3307 :a3307 :a3307. +:a3308 :a3308 :a3308. +:a3309 :a3309 :a3309. +:a3310 :a3310 :a3310. +:a3311 :a3311 :a3311. +:a3312 :a3312 :a3312. +:a3313 :a3313 :a3313. +:a3314 :a3314 :a3314. +:a3315 :a3315 :a3315. +:a3316 :a3316 :a3316. +:a3317 :a3317 :a3317. +:a3318 :a3318 :a3318. +:a3319 :a3319 :a3319. +:a3320 :a3320 :a3320. +:a3321 :a3321 :a3321. +:a3322 :a3322 :a3322. +:a3323 :a3323 :a3323. +:a3324 :a3324 :a3324. +:a3325 :a3325 :a3325. +:a3326 :a3326 :a3326. +:a3327 :a3327 :a3327. +:a3328 :a3328 :a3328. +:a3329 :a3329 :a3329. +:a3330 :a3330 :a3330. +:a3331 :a3331 :a3331. +:a3332 :a3332 :a3332. +:a3333 :a3333 :a3333. +:a3334 :a3334 :a3334. +:a3335 :a3335 :a3335. +:a3336 :a3336 :a3336. +:a3337 :a3337 :a3337. +:a3338 :a3338 :a3338. +:a3339 :a3339 :a3339. +:a3340 :a3340 :a3340. +:a3341 :a3341 :a3341. +:a3342 :a3342 :a3342. +:a3343 :a3343 :a3343. +:a3344 :a3344 :a3344. +:a3345 :a3345 :a3345. +:a3346 :a3346 :a3346. +:a3347 :a3347 :a3347. +:a3348 :a3348 :a3348. +:a3349 :a3349 :a3349. +:a3350 :a3350 :a3350. +:a3351 :a3351 :a3351. +:a3352 :a3352 :a3352. +:a3353 :a3353 :a3353. +:a3354 :a3354 :a3354. +:a3355 :a3355 :a3355. +:a3356 :a3356 :a3356. +:a3357 :a3357 :a3357. +:a3358 :a3358 :a3358. +:a3359 :a3359 :a3359. +:a3360 :a3360 :a3360. +:a3361 :a3361 :a3361. +:a3362 :a3362 :a3362. +:a3363 :a3363 :a3363. +:a3364 :a3364 :a3364. +:a3365 :a3365 :a3365. +:a3366 :a3366 :a3366. +:a3367 :a3367 :a3367. +:a3368 :a3368 :a3368. +:a3369 :a3369 :a3369. +:a3370 :a3370 :a3370. +:a3371 :a3371 :a3371. +:a3372 :a3372 :a3372. +:a3373 :a3373 :a3373. +:a3374 :a3374 :a3374. +:a3375 :a3375 :a3375. +:a3376 :a3376 :a3376. +:a3377 :a3377 :a3377. +:a3378 :a3378 :a3378. +:a3379 :a3379 :a3379. +:a3380 :a3380 :a3380. +:a3381 :a3381 :a3381. +:a3382 :a3382 :a3382. +:a3383 :a3383 :a3383. +:a3384 :a3384 :a3384. +:a3385 :a3385 :a3385. +:a3386 :a3386 :a3386. +:a3387 :a3387 :a3387. +:a3388 :a3388 :a3388. +:a3389 :a3389 :a3389. +:a3390 :a3390 :a3390. +:a3391 :a3391 :a3391. +:a3392 :a3392 :a3392. +:a3393 :a3393 :a3393. +:a3394 :a3394 :a3394. +:a3395 :a3395 :a3395. +:a3396 :a3396 :a3396. +:a3397 :a3397 :a3397. +:a3398 :a3398 :a3398. +:a3399 :a3399 :a3399. +:a3400 :a3400 :a3400. +:a3401 :a3401 :a3401. +:a3402 :a3402 :a3402. +:a3403 :a3403 :a3403. +:a3404 :a3404 :a3404. +:a3405 :a3405 :a3405. +:a3406 :a3406 :a3406. +:a3407 :a3407 :a3407. +:a3408 :a3408 :a3408. +:a3409 :a3409 :a3409. +:a3410 :a3410 :a3410. +:a3411 :a3411 :a3411. +:a3412 :a3412 :a3412. +:a3413 :a3413 :a3413. +:a3414 :a3414 :a3414. +:a3415 :a3415 :a3415. +:a3416 :a3416 :a3416. +:a3417 :a3417 :a3417. +:a3418 :a3418 :a3418. +:a3419 :a3419 :a3419. +:a3420 :a3420 :a3420. +:a3421 :a3421 :a3421. +:a3422 :a3422 :a3422. +:a3423 :a3423 :a3423. +:a3424 :a3424 :a3424. +:a3425 :a3425 :a3425. +:a3426 :a3426 :a3426. +:a3427 :a3427 :a3427. +:a3428 :a3428 :a3428. +:a3429 :a3429 :a3429. +:a3430 :a3430 :a3430. +:a3431 :a3431 :a3431. +:a3432 :a3432 :a3432. +:a3433 :a3433 :a3433. +:a3434 :a3434 :a3434. +:a3435 :a3435 :a3435. +:a3436 :a3436 :a3436. +:a3437 :a3437 :a3437. +:a3438 :a3438 :a3438. +:a3439 :a3439 :a3439. +:a3440 :a3440 :a3440. +:a3441 :a3441 :a3441. +:a3442 :a3442 :a3442. +:a3443 :a3443 :a3443. +:a3444 :a3444 :a3444. +:a3445 :a3445 :a3445. +:a3446 :a3446 :a3446. +:a3447 :a3447 :a3447. +:a3448 :a3448 :a3448. +:a3449 :a3449 :a3449. +:a3450 :a3450 :a3450. +:a3451 :a3451 :a3451. +:a3452 :a3452 :a3452. +:a3453 :a3453 :a3453. +:a3454 :a3454 :a3454. +:a3455 :a3455 :a3455. +:a3456 :a3456 :a3456. +:a3457 :a3457 :a3457. +:a3458 :a3458 :a3458. +:a3459 :a3459 :a3459. +:a3460 :a3460 :a3460. +:a3461 :a3461 :a3461. +:a3462 :a3462 :a3462. +:a3463 :a3463 :a3463. +:a3464 :a3464 :a3464. +:a3465 :a3465 :a3465. +:a3466 :a3466 :a3466. +:a3467 :a3467 :a3467. +:a3468 :a3468 :a3468. +:a3469 :a3469 :a3469. +:a3470 :a3470 :a3470. +:a3471 :a3471 :a3471. +:a3472 :a3472 :a3472. +:a3473 :a3473 :a3473. +:a3474 :a3474 :a3474. +:a3475 :a3475 :a3475. +:a3476 :a3476 :a3476. +:a3477 :a3477 :a3477. +:a3478 :a3478 :a3478. +:a3479 :a3479 :a3479. +:a3480 :a3480 :a3480. +:a3481 :a3481 :a3481. +:a3482 :a3482 :a3482. +:a3483 :a3483 :a3483. +:a3484 :a3484 :a3484. +:a3485 :a3485 :a3485. +:a3486 :a3486 :a3486. +:a3487 :a3487 :a3487. +:a3488 :a3488 :a3488. +:a3489 :a3489 :a3489. +:a3490 :a3490 :a3490. +:a3491 :a3491 :a3491. +:a3492 :a3492 :a3492. +:a3493 :a3493 :a3493. +:a3494 :a3494 :a3494. +:a3495 :a3495 :a3495. +:a3496 :a3496 :a3496. +:a3497 :a3497 :a3497. +:a3498 :a3498 :a3498. +:a3499 :a3499 :a3499. +:a3500 :a3500 :a3500. +:a3501 :a3501 :a3501. +:a3502 :a3502 :a3502. +:a3503 :a3503 :a3503. +:a3504 :a3504 :a3504. +:a3505 :a3505 :a3505. +:a3506 :a3506 :a3506. +:a3507 :a3507 :a3507. +:a3508 :a3508 :a3508. +:a3509 :a3509 :a3509. +:a3510 :a3510 :a3510. +:a3511 :a3511 :a3511. +:a3512 :a3512 :a3512. +:a3513 :a3513 :a3513. +:a3514 :a3514 :a3514. +:a3515 :a3515 :a3515. +:a3516 :a3516 :a3516. +:a3517 :a3517 :a3517. +:a3518 :a3518 :a3518. +:a3519 :a3519 :a3519. +:a3520 :a3520 :a3520. +:a3521 :a3521 :a3521. +:a3522 :a3522 :a3522. +:a3523 :a3523 :a3523. +:a3524 :a3524 :a3524. +:a3525 :a3525 :a3525. +:a3526 :a3526 :a3526. +:a3527 :a3527 :a3527. +:a3528 :a3528 :a3528. +:a3529 :a3529 :a3529. +:a3530 :a3530 :a3530. +:a3531 :a3531 :a3531. +:a3532 :a3532 :a3532. +:a3533 :a3533 :a3533. +:a3534 :a3534 :a3534. +:a3535 :a3535 :a3535. +:a3536 :a3536 :a3536. +:a3537 :a3537 :a3537. +:a3538 :a3538 :a3538. +:a3539 :a3539 :a3539. +:a3540 :a3540 :a3540. +:a3541 :a3541 :a3541. +:a3542 :a3542 :a3542. +:a3543 :a3543 :a3543. +:a3544 :a3544 :a3544. +:a3545 :a3545 :a3545. +:a3546 :a3546 :a3546. +:a3547 :a3547 :a3547. +:a3548 :a3548 :a3548. +:a3549 :a3549 :a3549. +:a3550 :a3550 :a3550. +:a3551 :a3551 :a3551. +:a3552 :a3552 :a3552. +:a3553 :a3553 :a3553. +:a3554 :a3554 :a3554. +:a3555 :a3555 :a3555. +:a3556 :a3556 :a3556. +:a3557 :a3557 :a3557. +:a3558 :a3558 :a3558. +:a3559 :a3559 :a3559. +:a3560 :a3560 :a3560. +:a3561 :a3561 :a3561. +:a3562 :a3562 :a3562. +:a3563 :a3563 :a3563. +:a3564 :a3564 :a3564. +:a3565 :a3565 :a3565. +:a3566 :a3566 :a3566. +:a3567 :a3567 :a3567. +:a3568 :a3568 :a3568. +:a3569 :a3569 :a3569. +:a3570 :a3570 :a3570. +:a3571 :a3571 :a3571. +:a3572 :a3572 :a3572. +:a3573 :a3573 :a3573. +:a3574 :a3574 :a3574. +:a3575 :a3575 :a3575. +:a3576 :a3576 :a3576. +:a3577 :a3577 :a3577. +:a3578 :a3578 :a3578. +:a3579 :a3579 :a3579. +:a3580 :a3580 :a3580. +:a3581 :a3581 :a3581. +:a3582 :a3582 :a3582. +:a3583 :a3583 :a3583. +:a3584 :a3584 :a3584. +:a3585 :a3585 :a3585. +:a3586 :a3586 :a3586. +:a3587 :a3587 :a3587. +:a3588 :a3588 :a3588. +:a3589 :a3589 :a3589. +:a3590 :a3590 :a3590. +:a3591 :a3591 :a3591. +:a3592 :a3592 :a3592. +:a3593 :a3593 :a3593. +:a3594 :a3594 :a3594. +:a3595 :a3595 :a3595. +:a3596 :a3596 :a3596. +:a3597 :a3597 :a3597. +:a3598 :a3598 :a3598. +:a3599 :a3599 :a3599. +:a3600 :a3600 :a3600. +:a3601 :a3601 :a3601. +:a3602 :a3602 :a3602. +:a3603 :a3603 :a3603. +:a3604 :a3604 :a3604. +:a3605 :a3605 :a3605. +:a3606 :a3606 :a3606. +:a3607 :a3607 :a3607. +:a3608 :a3608 :a3608. +:a3609 :a3609 :a3609. +:a3610 :a3610 :a3610. +:a3611 :a3611 :a3611. +:a3612 :a3612 :a3612. +:a3613 :a3613 :a3613. +:a3614 :a3614 :a3614. +:a3615 :a3615 :a3615. +:a3616 :a3616 :a3616. +:a3617 :a3617 :a3617. +:a3618 :a3618 :a3618. +:a3619 :a3619 :a3619. +:a3620 :a3620 :a3620. +:a3621 :a3621 :a3621. +:a3622 :a3622 :a3622. +:a3623 :a3623 :a3623. +:a3624 :a3624 :a3624. +:a3625 :a3625 :a3625. +:a3626 :a3626 :a3626. +:a3627 :a3627 :a3627. +:a3628 :a3628 :a3628. +:a3629 :a3629 :a3629. +:a3630 :a3630 :a3630. +:a3631 :a3631 :a3631. +:a3632 :a3632 :a3632. +:a3633 :a3633 :a3633. +:a3634 :a3634 :a3634. +:a3635 :a3635 :a3635. +:a3636 :a3636 :a3636. +:a3637 :a3637 :a3637. +:a3638 :a3638 :a3638. +:a3639 :a3639 :a3639. +:a3640 :a3640 :a3640. +:a3641 :a3641 :a3641. +:a3642 :a3642 :a3642. +:a3643 :a3643 :a3643. +:a3644 :a3644 :a3644. +:a3645 :a3645 :a3645. +:a3646 :a3646 :a3646. +:a3647 :a3647 :a3647. +:a3648 :a3648 :a3648. +:a3649 :a3649 :a3649. +:a3650 :a3650 :a3650. +:a3651 :a3651 :a3651. +:a3652 :a3652 :a3652. +:a3653 :a3653 :a3653. +:a3654 :a3654 :a3654. +:a3655 :a3655 :a3655. +:a3656 :a3656 :a3656. +:a3657 :a3657 :a3657. +:a3658 :a3658 :a3658. +:a3659 :a3659 :a3659. +:a3660 :a3660 :a3660. +:a3661 :a3661 :a3661. +:a3662 :a3662 :a3662. +:a3663 :a3663 :a3663. +:a3664 :a3664 :a3664. +:a3665 :a3665 :a3665. +:a3666 :a3666 :a3666. +:a3667 :a3667 :a3667. +:a3668 :a3668 :a3668. +:a3669 :a3669 :a3669. +:a3670 :a3670 :a3670. +:a3671 :a3671 :a3671. +:a3672 :a3672 :a3672. +:a3673 :a3673 :a3673. +:a3674 :a3674 :a3674. +:a3675 :a3675 :a3675. +:a3676 :a3676 :a3676. +:a3677 :a3677 :a3677. +:a3678 :a3678 :a3678. +:a3679 :a3679 :a3679. +:a3680 :a3680 :a3680. +:a3681 :a3681 :a3681. +:a3682 :a3682 :a3682. +:a3683 :a3683 :a3683. +:a3684 :a3684 :a3684. +:a3685 :a3685 :a3685. +:a3686 :a3686 :a3686. +:a3687 :a3687 :a3687. +:a3688 :a3688 :a3688. +:a3689 :a3689 :a3689. +:a3690 :a3690 :a3690. +:a3691 :a3691 :a3691. +:a3692 :a3692 :a3692. +:a3693 :a3693 :a3693. +:a3694 :a3694 :a3694. +:a3695 :a3695 :a3695. +:a3696 :a3696 :a3696. +:a3697 :a3697 :a3697. +:a3698 :a3698 :a3698. +:a3699 :a3699 :a3699. +:a3700 :a3700 :a3700. +:a3701 :a3701 :a3701. +:a3702 :a3702 :a3702. +:a3703 :a3703 :a3703. +:a3704 :a3704 :a3704. +:a3705 :a3705 :a3705. +:a3706 :a3706 :a3706. +:a3707 :a3707 :a3707. +:a3708 :a3708 :a3708. +:a3709 :a3709 :a3709. +:a3710 :a3710 :a3710. +:a3711 :a3711 :a3711. +:a3712 :a3712 :a3712. +:a3713 :a3713 :a3713. +:a3714 :a3714 :a3714. +:a3715 :a3715 :a3715. +:a3716 :a3716 :a3716. +:a3717 :a3717 :a3717. +:a3718 :a3718 :a3718. +:a3719 :a3719 :a3719. +:a3720 :a3720 :a3720. +:a3721 :a3721 :a3721. +:a3722 :a3722 :a3722. +:a3723 :a3723 :a3723. +:a3724 :a3724 :a3724. +:a3725 :a3725 :a3725. +:a3726 :a3726 :a3726. +:a3727 :a3727 :a3727. +:a3728 :a3728 :a3728. +:a3729 :a3729 :a3729. +:a3730 :a3730 :a3730. +:a3731 :a3731 :a3731. +:a3732 :a3732 :a3732. +:a3733 :a3733 :a3733. +:a3734 :a3734 :a3734. +:a3735 :a3735 :a3735. +:a3736 :a3736 :a3736. +:a3737 :a3737 :a3737. +:a3738 :a3738 :a3738. +:a3739 :a3739 :a3739. +:a3740 :a3740 :a3740. +:a3741 :a3741 :a3741. +:a3742 :a3742 :a3742. +:a3743 :a3743 :a3743. +:a3744 :a3744 :a3744. +:a3745 :a3745 :a3745. +:a3746 :a3746 :a3746. +:a3747 :a3747 :a3747. +:a3748 :a3748 :a3748. +:a3749 :a3749 :a3749. +:a3750 :a3750 :a3750. +:a3751 :a3751 :a3751. +:a3752 :a3752 :a3752. +:a3753 :a3753 :a3753. +:a3754 :a3754 :a3754. +:a3755 :a3755 :a3755. +:a3756 :a3756 :a3756. +:a3757 :a3757 :a3757. +:a3758 :a3758 :a3758. +:a3759 :a3759 :a3759. +:a3760 :a3760 :a3760. +:a3761 :a3761 :a3761. +:a3762 :a3762 :a3762. +:a3763 :a3763 :a3763. +:a3764 :a3764 :a3764. +:a3765 :a3765 :a3765. +:a3766 :a3766 :a3766. +:a3767 :a3767 :a3767. +:a3768 :a3768 :a3768. +:a3769 :a3769 :a3769. +:a3770 :a3770 :a3770. +:a3771 :a3771 :a3771. +:a3772 :a3772 :a3772. +:a3773 :a3773 :a3773. +:a3774 :a3774 :a3774. +:a3775 :a3775 :a3775. +:a3776 :a3776 :a3776. +:a3777 :a3777 :a3777. +:a3778 :a3778 :a3778. +:a3779 :a3779 :a3779. +:a3780 :a3780 :a3780. +:a3781 :a3781 :a3781. +:a3782 :a3782 :a3782. +:a3783 :a3783 :a3783. +:a3784 :a3784 :a3784. +:a3785 :a3785 :a3785. +:a3786 :a3786 :a3786. +:a3787 :a3787 :a3787. +:a3788 :a3788 :a3788. +:a3789 :a3789 :a3789. +:a3790 :a3790 :a3790. +:a3791 :a3791 :a3791. +:a3792 :a3792 :a3792. +:a3793 :a3793 :a3793. +:a3794 :a3794 :a3794. +:a3795 :a3795 :a3795. +:a3796 :a3796 :a3796. +:a3797 :a3797 :a3797. +:a3798 :a3798 :a3798. +:a3799 :a3799 :a3799. +:a3800 :a3800 :a3800. +:a3801 :a3801 :a3801. +:a3802 :a3802 :a3802. +:a3803 :a3803 :a3803. +:a3804 :a3804 :a3804. +:a3805 :a3805 :a3805. +:a3806 :a3806 :a3806. +:a3807 :a3807 :a3807. +:a3808 :a3808 :a3808. +:a3809 :a3809 :a3809. +:a3810 :a3810 :a3810. +:a3811 :a3811 :a3811. +:a3812 :a3812 :a3812. +:a3813 :a3813 :a3813. +:a3814 :a3814 :a3814. +:a3815 :a3815 :a3815. +:a3816 :a3816 :a3816. +:a3817 :a3817 :a3817. +:a3818 :a3818 :a3818. +:a3819 :a3819 :a3819. +:a3820 :a3820 :a3820. +:a3821 :a3821 :a3821. +:a3822 :a3822 :a3822. +:a3823 :a3823 :a3823. +:a3824 :a3824 :a3824. +:a3825 :a3825 :a3825. +:a3826 :a3826 :a3826. +:a3827 :a3827 :a3827. +:a3828 :a3828 :a3828. +:a3829 :a3829 :a3829. +:a3830 :a3830 :a3830. +:a3831 :a3831 :a3831. +:a3832 :a3832 :a3832. +:a3833 :a3833 :a3833. +:a3834 :a3834 :a3834. +:a3835 :a3835 :a3835. +:a3836 :a3836 :a3836. +:a3837 :a3837 :a3837. +:a3838 :a3838 :a3838. +:a3839 :a3839 :a3839. +:a3840 :a3840 :a3840. +:a3841 :a3841 :a3841. +:a3842 :a3842 :a3842. +:a3843 :a3843 :a3843. +:a3844 :a3844 :a3844. +:a3845 :a3845 :a3845. +:a3846 :a3846 :a3846. +:a3847 :a3847 :a3847. +:a3848 :a3848 :a3848. +:a3849 :a3849 :a3849. +:a3850 :a3850 :a3850. +:a3851 :a3851 :a3851. +:a3852 :a3852 :a3852. +:a3853 :a3853 :a3853. +:a3854 :a3854 :a3854. +:a3855 :a3855 :a3855. +:a3856 :a3856 :a3856. +:a3857 :a3857 :a3857. +:a3858 :a3858 :a3858. +:a3859 :a3859 :a3859. +:a3860 :a3860 :a3860. +:a3861 :a3861 :a3861. +:a3862 :a3862 :a3862. +:a3863 :a3863 :a3863. +:a3864 :a3864 :a3864. +:a3865 :a3865 :a3865. +:a3866 :a3866 :a3866. +:a3867 :a3867 :a3867. +:a3868 :a3868 :a3868. +:a3869 :a3869 :a3869. +:a3870 :a3870 :a3870. +:a3871 :a3871 :a3871. +:a3872 :a3872 :a3872. +:a3873 :a3873 :a3873. +:a3874 :a3874 :a3874. +:a3875 :a3875 :a3875. +:a3876 :a3876 :a3876. +:a3877 :a3877 :a3877. +:a3878 :a3878 :a3878. +:a3879 :a3879 :a3879. +:a3880 :a3880 :a3880. +:a3881 :a3881 :a3881. +:a3882 :a3882 :a3882. +:a3883 :a3883 :a3883. +:a3884 :a3884 :a3884. +:a3885 :a3885 :a3885. +:a3886 :a3886 :a3886. +:a3887 :a3887 :a3887. +:a3888 :a3888 :a3888. +:a3889 :a3889 :a3889. +:a3890 :a3890 :a3890. +:a3891 :a3891 :a3891. +:a3892 :a3892 :a3892. +:a3893 :a3893 :a3893. +:a3894 :a3894 :a3894. +:a3895 :a3895 :a3895. +:a3896 :a3896 :a3896. +:a3897 :a3897 :a3897. +:a3898 :a3898 :a3898. +:a3899 :a3899 :a3899. +:a3900 :a3900 :a3900. +:a3901 :a3901 :a3901. +:a3902 :a3902 :a3902. +:a3903 :a3903 :a3903. +:a3904 :a3904 :a3904. +:a3905 :a3905 :a3905. +:a3906 :a3906 :a3906. +:a3907 :a3907 :a3907. +:a3908 :a3908 :a3908. +:a3909 :a3909 :a3909. +:a3910 :a3910 :a3910. +:a3911 :a3911 :a3911. +:a3912 :a3912 :a3912. +:a3913 :a3913 :a3913. +:a3914 :a3914 :a3914. +:a3915 :a3915 :a3915. +:a3916 :a3916 :a3916. +:a3917 :a3917 :a3917. +:a3918 :a3918 :a3918. +:a3919 :a3919 :a3919. +:a3920 :a3920 :a3920. +:a3921 :a3921 :a3921. +:a3922 :a3922 :a3922. +:a3923 :a3923 :a3923. +:a3924 :a3924 :a3924. +:a3925 :a3925 :a3925. +:a3926 :a3926 :a3926. +:a3927 :a3927 :a3927. +:a3928 :a3928 :a3928. +:a3929 :a3929 :a3929. +:a3930 :a3930 :a3930. +:a3931 :a3931 :a3931. +:a3932 :a3932 :a3932. +:a3933 :a3933 :a3933. +:a3934 :a3934 :a3934. +:a3935 :a3935 :a3935. +:a3936 :a3936 :a3936. +:a3937 :a3937 :a3937. +:a3938 :a3938 :a3938. +:a3939 :a3939 :a3939. +:a3940 :a3940 :a3940. +:a3941 :a3941 :a3941. +:a3942 :a3942 :a3942. +:a3943 :a3943 :a3943. +:a3944 :a3944 :a3944. +:a3945 :a3945 :a3945. +:a3946 :a3946 :a3946. +:a3947 :a3947 :a3947. +:a3948 :a3948 :a3948. +:a3949 :a3949 :a3949. +:a3950 :a3950 :a3950. +:a3951 :a3951 :a3951. +:a3952 :a3952 :a3952. +:a3953 :a3953 :a3953. +:a3954 :a3954 :a3954. +:a3955 :a3955 :a3955. +:a3956 :a3956 :a3956. +:a3957 :a3957 :a3957. +:a3958 :a3958 :a3958. +:a3959 :a3959 :a3959. +:a3960 :a3960 :a3960. +:a3961 :a3961 :a3961. +:a3962 :a3962 :a3962. +:a3963 :a3963 :a3963. +:a3964 :a3964 :a3964. +:a3965 :a3965 :a3965. +:a3966 :a3966 :a3966. +:a3967 :a3967 :a3967. +:a3968 :a3968 :a3968. +:a3969 :a3969 :a3969. +:a3970 :a3970 :a3970. +:a3971 :a3971 :a3971. +:a3972 :a3972 :a3972. +:a3973 :a3973 :a3973. +:a3974 :a3974 :a3974. +:a3975 :a3975 :a3975. +:a3976 :a3976 :a3976. +:a3977 :a3977 :a3977. +:a3978 :a3978 :a3978. +:a3979 :a3979 :a3979. +:a3980 :a3980 :a3980. +:a3981 :a3981 :a3981. +:a3982 :a3982 :a3982. +:a3983 :a3983 :a3983. +:a3984 :a3984 :a3984. +:a3985 :a3985 :a3985. +:a3986 :a3986 :a3986. +:a3987 :a3987 :a3987. +:a3988 :a3988 :a3988. +:a3989 :a3989 :a3989. +:a3990 :a3990 :a3990. +:a3991 :a3991 :a3991. +:a3992 :a3992 :a3992. +:a3993 :a3993 :a3993. +:a3994 :a3994 :a3994. +:a3995 :a3995 :a3995. +:a3996 :a3996 :a3996. +:a3997 :a3997 :a3997. +:a3998 :a3998 :a3998. +:a3999 :a3999 :a3999. +:a4000 :a4000 :a4000. +:a4001 :a4001 :a4001. +:a4002 :a4002 :a4002. +:a4003 :a4003 :a4003. +:a4004 :a4004 :a4004. +:a4005 :a4005 :a4005. +:a4006 :a4006 :a4006. +:a4007 :a4007 :a4007. +:a4008 :a4008 :a4008. +:a4009 :a4009 :a4009. +:a4010 :a4010 :a4010. +:a4011 :a4011 :a4011. +:a4012 :a4012 :a4012. +:a4013 :a4013 :a4013. +:a4014 :a4014 :a4014. +:a4015 :a4015 :a4015. +:a4016 :a4016 :a4016. +:a4017 :a4017 :a4017. +:a4018 :a4018 :a4018. +:a4019 :a4019 :a4019. +:a4020 :a4020 :a4020. +:a4021 :a4021 :a4021. +:a4022 :a4022 :a4022. +:a4023 :a4023 :a4023. +:a4024 :a4024 :a4024. +:a4025 :a4025 :a4025. +:a4026 :a4026 :a4026. +:a4027 :a4027 :a4027. +:a4028 :a4028 :a4028. +:a4029 :a4029 :a4029. +:a4030 :a4030 :a4030. +:a4031 :a4031 :a4031. +:a4032 :a4032 :a4032. +:a4033 :a4033 :a4033. +:a4034 :a4034 :a4034. +:a4035 :a4035 :a4035. +:a4036 :a4036 :a4036. +:a4037 :a4037 :a4037. +:a4038 :a4038 :a4038. +:a4039 :a4039 :a4039. +:a4040 :a4040 :a4040. +:a4041 :a4041 :a4041. +:a4042 :a4042 :a4042. +:a4043 :a4043 :a4043. +:a4044 :a4044 :a4044. +:a4045 :a4045 :a4045. +:a4046 :a4046 :a4046. +:a4047 :a4047 :a4047. +:a4048 :a4048 :a4048. +:a4049 :a4049 :a4049. +:a4050 :a4050 :a4050. +:a4051 :a4051 :a4051. +:a4052 :a4052 :a4052. +:a4053 :a4053 :a4053. +:a4054 :a4054 :a4054. +:a4055 :a4055 :a4055. +:a4056 :a4056 :a4056. +:a4057 :a4057 :a4057. +:a4058 :a4058 :a4058. +:a4059 :a4059 :a4059. +:a4060 :a4060 :a4060. +:a4061 :a4061 :a4061. +:a4062 :a4062 :a4062. +:a4063 :a4063 :a4063. +:a4064 :a4064 :a4064. +:a4065 :a4065 :a4065. +:a4066 :a4066 :a4066. +:a4067 :a4067 :a4067. +:a4068 :a4068 :a4068. +:a4069 :a4069 :a4069. +:a4070 :a4070 :a4070. +:a4071 :a4071 :a4071. +:a4072 :a4072 :a4072. +:a4073 :a4073 :a4073. +:a4074 :a4074 :a4074. +:a4075 :a4075 :a4075. +:a4076 :a4076 :a4076. +:a4077 :a4077 :a4077. +:a4078 :a4078 :a4078. +:a4079 :a4079 :a4079. +:a4080 :a4080 :a4080. +:a4081 :a4081 :a4081. +:a4082 :a4082 :a4082. +:a4083 :a4083 :a4083. +:a4084 :a4084 :a4084. +:a4085 :a4085 :a4085. +:a4086 :a4086 :a4086. +:a4087 :a4087 :a4087. +:a4088 :a4088 :a4088. +:a4089 :a4089 :a4089. +:a4090 :a4090 :a4090. +:a4091 :a4091 :a4091. +:a4092 :a4092 :a4092. +:a4093 :a4093 :a4093. +:a4094 :a4094 :a4094. +:a4095 :a4095 :a4095. +:a4096 :a4096 :a4096. +:a4097 :a4097 :a4097. +:a4098 :a4098 :a4098. +:a4099 :a4099 :a4099. +:a4100 :a4100 :a4100. +:a4101 :a4101 :a4101. +:a4102 :a4102 :a4102. +:a4103 :a4103 :a4103. +:a4104 :a4104 :a4104. +:a4105 :a4105 :a4105. +:a4106 :a4106 :a4106. +:a4107 :a4107 :a4107. +:a4108 :a4108 :a4108. +:a4109 :a4109 :a4109. +:a4110 :a4110 :a4110. +:a4111 :a4111 :a4111. +:a4112 :a4112 :a4112. +:a4113 :a4113 :a4113. +:a4114 :a4114 :a4114. +:a4115 :a4115 :a4115. +:a4116 :a4116 :a4116. +:a4117 :a4117 :a4117. +:a4118 :a4118 :a4118. +:a4119 :a4119 :a4119. +:a4120 :a4120 :a4120. +:a4121 :a4121 :a4121. +:a4122 :a4122 :a4122. +:a4123 :a4123 :a4123. +:a4124 :a4124 :a4124. +:a4125 :a4125 :a4125. +:a4126 :a4126 :a4126. +:a4127 :a4127 :a4127. +:a4128 :a4128 :a4128. +:a4129 :a4129 :a4129. +:a4130 :a4130 :a4130. +:a4131 :a4131 :a4131. +:a4132 :a4132 :a4132. +:a4133 :a4133 :a4133. +:a4134 :a4134 :a4134. +:a4135 :a4135 :a4135. +:a4136 :a4136 :a4136. +:a4137 :a4137 :a4137. +:a4138 :a4138 :a4138. +:a4139 :a4139 :a4139. +:a4140 :a4140 :a4140. +:a4141 :a4141 :a4141. +:a4142 :a4142 :a4142. +:a4143 :a4143 :a4143. +:a4144 :a4144 :a4144. +:a4145 :a4145 :a4145. +:a4146 :a4146 :a4146. +:a4147 :a4147 :a4147. +:a4148 :a4148 :a4148. +:a4149 :a4149 :a4149. +:a4150 :a4150 :a4150. +:a4151 :a4151 :a4151. +:a4152 :a4152 :a4152. +:a4153 :a4153 :a4153. +:a4154 :a4154 :a4154. +:a4155 :a4155 :a4155. +:a4156 :a4156 :a4156. +:a4157 :a4157 :a4157. +:a4158 :a4158 :a4158. +:a4159 :a4159 :a4159. +:a4160 :a4160 :a4160. +:a4161 :a4161 :a4161. +:a4162 :a4162 :a4162. +:a4163 :a4163 :a4163. +:a4164 :a4164 :a4164. +:a4165 :a4165 :a4165. +:a4166 :a4166 :a4166. +:a4167 :a4167 :a4167. +:a4168 :a4168 :a4168. +:a4169 :a4169 :a4169. +:a4170 :a4170 :a4170. +:a4171 :a4171 :a4171. +:a4172 :a4172 :a4172. +:a4173 :a4173 :a4173. +:a4174 :a4174 :a4174. +:a4175 :a4175 :a4175. +:a4176 :a4176 :a4176. +:a4177 :a4177 :a4177. +:a4178 :a4178 :a4178. +:a4179 :a4179 :a4179. +:a4180 :a4180 :a4180. +:a4181 :a4181 :a4181. +:a4182 :a4182 :a4182. +:a4183 :a4183 :a4183. +:a4184 :a4184 :a4184. +:a4185 :a4185 :a4185. +:a4186 :a4186 :a4186. +:a4187 :a4187 :a4187. +:a4188 :a4188 :a4188. +:a4189 :a4189 :a4189. +:a4190 :a4190 :a4190. +:a4191 :a4191 :a4191. +:a4192 :a4192 :a4192. +:a4193 :a4193 :a4193. +:a4194 :a4194 :a4194. +:a4195 :a4195 :a4195. +:a4196 :a4196 :a4196. +:a4197 :a4197 :a4197. +:a4198 :a4198 :a4198. +:a4199 :a4199 :a4199. +:a4200 :a4200 :a4200. +:a4201 :a4201 :a4201. +:a4202 :a4202 :a4202. +:a4203 :a4203 :a4203. +:a4204 :a4204 :a4204. +:a4205 :a4205 :a4205. +:a4206 :a4206 :a4206. +:a4207 :a4207 :a4207. +:a4208 :a4208 :a4208. +:a4209 :a4209 :a4209. +:a4210 :a4210 :a4210. +:a4211 :a4211 :a4211. +:a4212 :a4212 :a4212. +:a4213 :a4213 :a4213. +:a4214 :a4214 :a4214. +:a4215 :a4215 :a4215. +:a4216 :a4216 :a4216. +:a4217 :a4217 :a4217. +:a4218 :a4218 :a4218. +:a4219 :a4219 :a4219. +:a4220 :a4220 :a4220. +:a4221 :a4221 :a4221. +:a4222 :a4222 :a4222. +:a4223 :a4223 :a4223. +:a4224 :a4224 :a4224. +:a4225 :a4225 :a4225. +:a4226 :a4226 :a4226. +:a4227 :a4227 :a4227. +:a4228 :a4228 :a4228. +:a4229 :a4229 :a4229. +:a4230 :a4230 :a4230. +:a4231 :a4231 :a4231. +:a4232 :a4232 :a4232. +:a4233 :a4233 :a4233. +:a4234 :a4234 :a4234. +:a4235 :a4235 :a4235. +:a4236 :a4236 :a4236. +:a4237 :a4237 :a4237. +:a4238 :a4238 :a4238. +:a4239 :a4239 :a4239. +:a4240 :a4240 :a4240. +:a4241 :a4241 :a4241. +:a4242 :a4242 :a4242. +:a4243 :a4243 :a4243. +:a4244 :a4244 :a4244. +:a4245 :a4245 :a4245. +:a4246 :a4246 :a4246. +:a4247 :a4247 :a4247. +:a4248 :a4248 :a4248. +:a4249 :a4249 :a4249. +:a4250 :a4250 :a4250. +:a4251 :a4251 :a4251. +:a4252 :a4252 :a4252. +:a4253 :a4253 :a4253. +:a4254 :a4254 :a4254. +:a4255 :a4255 :a4255. +:a4256 :a4256 :a4256. +:a4257 :a4257 :a4257. +:a4258 :a4258 :a4258. +:a4259 :a4259 :a4259. +:a4260 :a4260 :a4260. +:a4261 :a4261 :a4261. +:a4262 :a4262 :a4262. +:a4263 :a4263 :a4263. +:a4264 :a4264 :a4264. +:a4265 :a4265 :a4265. +:a4266 :a4266 :a4266. +:a4267 :a4267 :a4267. +:a4268 :a4268 :a4268. +:a4269 :a4269 :a4269. +:a4270 :a4270 :a4270. +:a4271 :a4271 :a4271. +:a4272 :a4272 :a4272. +:a4273 :a4273 :a4273. +:a4274 :a4274 :a4274. +:a4275 :a4275 :a4275. +:a4276 :a4276 :a4276. +:a4277 :a4277 :a4277. +:a4278 :a4278 :a4278. +:a4279 :a4279 :a4279. +:a4280 :a4280 :a4280. +:a4281 :a4281 :a4281. +:a4282 :a4282 :a4282. +:a4283 :a4283 :a4283. +:a4284 :a4284 :a4284. +:a4285 :a4285 :a4285. +:a4286 :a4286 :a4286. +:a4287 :a4287 :a4287. +:a4288 :a4288 :a4288. +:a4289 :a4289 :a4289. +:a4290 :a4290 :a4290. +:a4291 :a4291 :a4291. +:a4292 :a4292 :a4292. +:a4293 :a4293 :a4293. +:a4294 :a4294 :a4294. +:a4295 :a4295 :a4295. +:a4296 :a4296 :a4296. +:a4297 :a4297 :a4297. +:a4298 :a4298 :a4298. +:a4299 :a4299 :a4299. +:a4300 :a4300 :a4300. +:a4301 :a4301 :a4301. +:a4302 :a4302 :a4302. +:a4303 :a4303 :a4303. +:a4304 :a4304 :a4304. +:a4305 :a4305 :a4305. +:a4306 :a4306 :a4306. +:a4307 :a4307 :a4307. +:a4308 :a4308 :a4308. +:a4309 :a4309 :a4309. +:a4310 :a4310 :a4310. +:a4311 :a4311 :a4311. +:a4312 :a4312 :a4312. +:a4313 :a4313 :a4313. +:a4314 :a4314 :a4314. +:a4315 :a4315 :a4315. +:a4316 :a4316 :a4316. +:a4317 :a4317 :a4317. +:a4318 :a4318 :a4318. +:a4319 :a4319 :a4319. +:a4320 :a4320 :a4320. +:a4321 :a4321 :a4321. +:a4322 :a4322 :a4322. +:a4323 :a4323 :a4323. +:a4324 :a4324 :a4324. +:a4325 :a4325 :a4325. +:a4326 :a4326 :a4326. +:a4327 :a4327 :a4327. +:a4328 :a4328 :a4328. +:a4329 :a4329 :a4329. +:a4330 :a4330 :a4330. +:a4331 :a4331 :a4331. +:a4332 :a4332 :a4332. +:a4333 :a4333 :a4333. +:a4334 :a4334 :a4334. +:a4335 :a4335 :a4335. +:a4336 :a4336 :a4336. +:a4337 :a4337 :a4337. +:a4338 :a4338 :a4338. +:a4339 :a4339 :a4339. +:a4340 :a4340 :a4340. +:a4341 :a4341 :a4341. +:a4342 :a4342 :a4342. +:a4343 :a4343 :a4343. +:a4344 :a4344 :a4344. +:a4345 :a4345 :a4345. +:a4346 :a4346 :a4346. +:a4347 :a4347 :a4347. +:a4348 :a4348 :a4348. +:a4349 :a4349 :a4349. +:a4350 :a4350 :a4350. +:a4351 :a4351 :a4351. +:a4352 :a4352 :a4352. +:a4353 :a4353 :a4353. +:a4354 :a4354 :a4354. +:a4355 :a4355 :a4355. +:a4356 :a4356 :a4356. +:a4357 :a4357 :a4357. +:a4358 :a4358 :a4358. +:a4359 :a4359 :a4359. +:a4360 :a4360 :a4360. +:a4361 :a4361 :a4361. +:a4362 :a4362 :a4362. +:a4363 :a4363 :a4363. +:a4364 :a4364 :a4364. +:a4365 :a4365 :a4365. +:a4366 :a4366 :a4366. +:a4367 :a4367 :a4367. +:a4368 :a4368 :a4368. +:a4369 :a4369 :a4369. +:a4370 :a4370 :a4370. +:a4371 :a4371 :a4371. +:a4372 :a4372 :a4372. +:a4373 :a4373 :a4373. +:a4374 :a4374 :a4374. +:a4375 :a4375 :a4375. +:a4376 :a4376 :a4376. +:a4377 :a4377 :a4377. +:a4378 :a4378 :a4378. +:a4379 :a4379 :a4379. +:a4380 :a4380 :a4380. +:a4381 :a4381 :a4381. +:a4382 :a4382 :a4382. +:a4383 :a4383 :a4383. +:a4384 :a4384 :a4384. +:a4385 :a4385 :a4385. +:a4386 :a4386 :a4386. +:a4387 :a4387 :a4387. +:a4388 :a4388 :a4388. +:a4389 :a4389 :a4389. +:a4390 :a4390 :a4390. +:a4391 :a4391 :a4391. +:a4392 :a4392 :a4392. +:a4393 :a4393 :a4393. +:a4394 :a4394 :a4394. +:a4395 :a4395 :a4395. +:a4396 :a4396 :a4396. +:a4397 :a4397 :a4397. +:a4398 :a4398 :a4398. +:a4399 :a4399 :a4399. +:a4400 :a4400 :a4400. +:a4401 :a4401 :a4401. +:a4402 :a4402 :a4402. +:a4403 :a4403 :a4403. +:a4404 :a4404 :a4404. +:a4405 :a4405 :a4405. +:a4406 :a4406 :a4406. +:a4407 :a4407 :a4407. +:a4408 :a4408 :a4408. +:a4409 :a4409 :a4409. +:a4410 :a4410 :a4410. +:a4411 :a4411 :a4411. +:a4412 :a4412 :a4412. +:a4413 :a4413 :a4413. +:a4414 :a4414 :a4414. +:a4415 :a4415 :a4415. +:a4416 :a4416 :a4416. +:a4417 :a4417 :a4417. +:a4418 :a4418 :a4418. +:a4419 :a4419 :a4419. +:a4420 :a4420 :a4420. +:a4421 :a4421 :a4421. +:a4422 :a4422 :a4422. +:a4423 :a4423 :a4423. +:a4424 :a4424 :a4424. +:a4425 :a4425 :a4425. +:a4426 :a4426 :a4426. +:a4427 :a4427 :a4427. +:a4428 :a4428 :a4428. +:a4429 :a4429 :a4429. +:a4430 :a4430 :a4430. +:a4431 :a4431 :a4431. +:a4432 :a4432 :a4432. +:a4433 :a4433 :a4433. +:a4434 :a4434 :a4434. +:a4435 :a4435 :a4435. +:a4436 :a4436 :a4436. +:a4437 :a4437 :a4437. +:a4438 :a4438 :a4438. +:a4439 :a4439 :a4439. +:a4440 :a4440 :a4440. +:a4441 :a4441 :a4441. +:a4442 :a4442 :a4442. +:a4443 :a4443 :a4443. +:a4444 :a4444 :a4444. +:a4445 :a4445 :a4445. +:a4446 :a4446 :a4446. +:a4447 :a4447 :a4447. +:a4448 :a4448 :a4448. +:a4449 :a4449 :a4449. +:a4450 :a4450 :a4450. +:a4451 :a4451 :a4451. +:a4452 :a4452 :a4452. +:a4453 :a4453 :a4453. +:a4454 :a4454 :a4454. +:a4455 :a4455 :a4455. +:a4456 :a4456 :a4456. +:a4457 :a4457 :a4457. +:a4458 :a4458 :a4458. +:a4459 :a4459 :a4459. +:a4460 :a4460 :a4460. +:a4461 :a4461 :a4461. +:a4462 :a4462 :a4462. +:a4463 :a4463 :a4463. +:a4464 :a4464 :a4464. +:a4465 :a4465 :a4465. +:a4466 :a4466 :a4466. +:a4467 :a4467 :a4467. +:a4468 :a4468 :a4468. +:a4469 :a4469 :a4469. +:a4470 :a4470 :a4470. +:a4471 :a4471 :a4471. +:a4472 :a4472 :a4472. +:a4473 :a4473 :a4473. +:a4474 :a4474 :a4474. +:a4475 :a4475 :a4475. +:a4476 :a4476 :a4476. +:a4477 :a4477 :a4477. +:a4478 :a4478 :a4478. +:a4479 :a4479 :a4479. +:a4480 :a4480 :a4480. +:a4481 :a4481 :a4481. +:a4482 :a4482 :a4482. +:a4483 :a4483 :a4483. +:a4484 :a4484 :a4484. +:a4485 :a4485 :a4485. +:a4486 :a4486 :a4486. +:a4487 :a4487 :a4487. +:a4488 :a4488 :a4488. +:a4489 :a4489 :a4489. +:a4490 :a4490 :a4490. +:a4491 :a4491 :a4491. +:a4492 :a4492 :a4492. +:a4493 :a4493 :a4493. +:a4494 :a4494 :a4494. +:a4495 :a4495 :a4495. +:a4496 :a4496 :a4496. +:a4497 :a4497 :a4497. +:a4498 :a4498 :a4498. +:a4499 :a4499 :a4499. +:a4500 :a4500 :a4500. +:a4501 :a4501 :a4501. +:a4502 :a4502 :a4502. +:a4503 :a4503 :a4503. +:a4504 :a4504 :a4504. +:a4505 :a4505 :a4505. +:a4506 :a4506 :a4506. +:a4507 :a4507 :a4507. +:a4508 :a4508 :a4508. +:a4509 :a4509 :a4509. +:a4510 :a4510 :a4510. +:a4511 :a4511 :a4511. +:a4512 :a4512 :a4512. +:a4513 :a4513 :a4513. +:a4514 :a4514 :a4514. +:a4515 :a4515 :a4515. +:a4516 :a4516 :a4516. +:a4517 :a4517 :a4517. +:a4518 :a4518 :a4518. +:a4519 :a4519 :a4519. +:a4520 :a4520 :a4520. +:a4521 :a4521 :a4521. +:a4522 :a4522 :a4522. +:a4523 :a4523 :a4523. +:a4524 :a4524 :a4524. +:a4525 :a4525 :a4525. +:a4526 :a4526 :a4526. +:a4527 :a4527 :a4527. +:a4528 :a4528 :a4528. +:a4529 :a4529 :a4529. +:a4530 :a4530 :a4530. +:a4531 :a4531 :a4531. +:a4532 :a4532 :a4532. +:a4533 :a4533 :a4533. +:a4534 :a4534 :a4534. +:a4535 :a4535 :a4535. +:a4536 :a4536 :a4536. +:a4537 :a4537 :a4537. +:a4538 :a4538 :a4538. +:a4539 :a4539 :a4539. +:a4540 :a4540 :a4540. +:a4541 :a4541 :a4541. +:a4542 :a4542 :a4542. +:a4543 :a4543 :a4543. +:a4544 :a4544 :a4544. +:a4545 :a4545 :a4545. +:a4546 :a4546 :a4546. +:a4547 :a4547 :a4547. +:a4548 :a4548 :a4548. +:a4549 :a4549 :a4549. +:a4550 :a4550 :a4550. +:a4551 :a4551 :a4551. +:a4552 :a4552 :a4552. +:a4553 :a4553 :a4553. +:a4554 :a4554 :a4554. +:a4555 :a4555 :a4555. +:a4556 :a4556 :a4556. +:a4557 :a4557 :a4557. +:a4558 :a4558 :a4558. +:a4559 :a4559 :a4559. +:a4560 :a4560 :a4560. +:a4561 :a4561 :a4561. +:a4562 :a4562 :a4562. +:a4563 :a4563 :a4563. +:a4564 :a4564 :a4564. +:a4565 :a4565 :a4565. +:a4566 :a4566 :a4566. +:a4567 :a4567 :a4567. +:a4568 :a4568 :a4568. +:a4569 :a4569 :a4569. +:a4570 :a4570 :a4570. +:a4571 :a4571 :a4571. +:a4572 :a4572 :a4572. +:a4573 :a4573 :a4573. +:a4574 :a4574 :a4574. +:a4575 :a4575 :a4575. +:a4576 :a4576 :a4576. +:a4577 :a4577 :a4577. +:a4578 :a4578 :a4578. +:a4579 :a4579 :a4579. +:a4580 :a4580 :a4580. +:a4581 :a4581 :a4581. +:a4582 :a4582 :a4582. +:a4583 :a4583 :a4583. +:a4584 :a4584 :a4584. +:a4585 :a4585 :a4585. +:a4586 :a4586 :a4586. +:a4587 :a4587 :a4587. +:a4588 :a4588 :a4588. +:a4589 :a4589 :a4589. +:a4590 :a4590 :a4590. +:a4591 :a4591 :a4591. +:a4592 :a4592 :a4592. +:a4593 :a4593 :a4593. +:a4594 :a4594 :a4594. +:a4595 :a4595 :a4595. +:a4596 :a4596 :a4596. +:a4597 :a4597 :a4597. +:a4598 :a4598 :a4598. +:a4599 :a4599 :a4599. +:a4600 :a4600 :a4600. +:a4601 :a4601 :a4601. +:a4602 :a4602 :a4602. +:a4603 :a4603 :a4603. +:a4604 :a4604 :a4604. +:a4605 :a4605 :a4605. +:a4606 :a4606 :a4606. +:a4607 :a4607 :a4607. +:a4608 :a4608 :a4608. +:a4609 :a4609 :a4609. +:a4610 :a4610 :a4610. +:a4611 :a4611 :a4611. +:a4612 :a4612 :a4612. +:a4613 :a4613 :a4613. +:a4614 :a4614 :a4614. +:a4615 :a4615 :a4615. +:a4616 :a4616 :a4616. +:a4617 :a4617 :a4617. +:a4618 :a4618 :a4618. +:a4619 :a4619 :a4619. +:a4620 :a4620 :a4620. +:a4621 :a4621 :a4621. +:a4622 :a4622 :a4622. +:a4623 :a4623 :a4623. +:a4624 :a4624 :a4624. +:a4625 :a4625 :a4625. +:a4626 :a4626 :a4626. +:a4627 :a4627 :a4627. +:a4628 :a4628 :a4628. +:a4629 :a4629 :a4629. +:a4630 :a4630 :a4630. +:a4631 :a4631 :a4631. +:a4632 :a4632 :a4632. +:a4633 :a4633 :a4633. +:a4634 :a4634 :a4634. +:a4635 :a4635 :a4635. +:a4636 :a4636 :a4636. +:a4637 :a4637 :a4637. +:a4638 :a4638 :a4638. +:a4639 :a4639 :a4639. +:a4640 :a4640 :a4640. +:a4641 :a4641 :a4641. +:a4642 :a4642 :a4642. +:a4643 :a4643 :a4643. +:a4644 :a4644 :a4644. +:a4645 :a4645 :a4645. +:a4646 :a4646 :a4646. +:a4647 :a4647 :a4647. +:a4648 :a4648 :a4648. +:a4649 :a4649 :a4649. +:a4650 :a4650 :a4650. +:a4651 :a4651 :a4651. +:a4652 :a4652 :a4652. +:a4653 :a4653 :a4653. +:a4654 :a4654 :a4654. +:a4655 :a4655 :a4655. +:a4656 :a4656 :a4656. +:a4657 :a4657 :a4657. +:a4658 :a4658 :a4658. +:a4659 :a4659 :a4659. +:a4660 :a4660 :a4660. +:a4661 :a4661 :a4661. +:a4662 :a4662 :a4662. +:a4663 :a4663 :a4663. +:a4664 :a4664 :a4664. +:a4665 :a4665 :a4665. +:a4666 :a4666 :a4666. +:a4667 :a4667 :a4667. +:a4668 :a4668 :a4668. +:a4669 :a4669 :a4669. +:a4670 :a4670 :a4670. +:a4671 :a4671 :a4671. +:a4672 :a4672 :a4672. +:a4673 :a4673 :a4673. +:a4674 :a4674 :a4674. +:a4675 :a4675 :a4675. +:a4676 :a4676 :a4676. +:a4677 :a4677 :a4677. +:a4678 :a4678 :a4678. +:a4679 :a4679 :a4679. +:a4680 :a4680 :a4680. +:a4681 :a4681 :a4681. +:a4682 :a4682 :a4682. +:a4683 :a4683 :a4683. +:a4684 :a4684 :a4684. +:a4685 :a4685 :a4685. +:a4686 :a4686 :a4686. +:a4687 :a4687 :a4687. +:a4688 :a4688 :a4688. +:a4689 :a4689 :a4689. +:a4690 :a4690 :a4690. +:a4691 :a4691 :a4691. +:a4692 :a4692 :a4692. +:a4693 :a4693 :a4693. +:a4694 :a4694 :a4694. +:a4695 :a4695 :a4695. +:a4696 :a4696 :a4696. +:a4697 :a4697 :a4697. +:a4698 :a4698 :a4698. +:a4699 :a4699 :a4699. +:a4700 :a4700 :a4700. +:a4701 :a4701 :a4701. +:a4702 :a4702 :a4702. +:a4703 :a4703 :a4703. +:a4704 :a4704 :a4704. +:a4705 :a4705 :a4705. +:a4706 :a4706 :a4706. +:a4707 :a4707 :a4707. +:a4708 :a4708 :a4708. +:a4709 :a4709 :a4709. +:a4710 :a4710 :a4710. +:a4711 :a4711 :a4711. +:a4712 :a4712 :a4712. +:a4713 :a4713 :a4713. +:a4714 :a4714 :a4714. +:a4715 :a4715 :a4715. +:a4716 :a4716 :a4716. +:a4717 :a4717 :a4717. +:a4718 :a4718 :a4718. +:a4719 :a4719 :a4719. +:a4720 :a4720 :a4720. +:a4721 :a4721 :a4721. +:a4722 :a4722 :a4722. +:a4723 :a4723 :a4723. +:a4724 :a4724 :a4724. +:a4725 :a4725 :a4725. +:a4726 :a4726 :a4726. +:a4727 :a4727 :a4727. +:a4728 :a4728 :a4728. +:a4729 :a4729 :a4729. +:a4730 :a4730 :a4730. +:a4731 :a4731 :a4731. +:a4732 :a4732 :a4732. +:a4733 :a4733 :a4733. +:a4734 :a4734 :a4734. +:a4735 :a4735 :a4735. +:a4736 :a4736 :a4736. +:a4737 :a4737 :a4737. +:a4738 :a4738 :a4738. +:a4739 :a4739 :a4739. +:a4740 :a4740 :a4740. +:a4741 :a4741 :a4741. +:a4742 :a4742 :a4742. +:a4743 :a4743 :a4743. +:a4744 :a4744 :a4744. +:a4745 :a4745 :a4745. +:a4746 :a4746 :a4746. +:a4747 :a4747 :a4747. +:a4748 :a4748 :a4748. +:a4749 :a4749 :a4749. +:a4750 :a4750 :a4750. +:a4751 :a4751 :a4751. +:a4752 :a4752 :a4752. +:a4753 :a4753 :a4753. +:a4754 :a4754 :a4754. +:a4755 :a4755 :a4755. +:a4756 :a4756 :a4756. +:a4757 :a4757 :a4757. +:a4758 :a4758 :a4758. +:a4759 :a4759 :a4759. +:a4760 :a4760 :a4760. +:a4761 :a4761 :a4761. +:a4762 :a4762 :a4762. +:a4763 :a4763 :a4763. +:a4764 :a4764 :a4764. +:a4765 :a4765 :a4765. +:a4766 :a4766 :a4766. +:a4767 :a4767 :a4767. +:a4768 :a4768 :a4768. +:a4769 :a4769 :a4769. +:a4770 :a4770 :a4770. +:a4771 :a4771 :a4771. +:a4772 :a4772 :a4772. +:a4773 :a4773 :a4773. +:a4774 :a4774 :a4774. +:a4775 :a4775 :a4775. +:a4776 :a4776 :a4776. +:a4777 :a4777 :a4777. +:a4778 :a4778 :a4778. +:a4779 :a4779 :a4779. +:a4780 :a4780 :a4780. +:a4781 :a4781 :a4781. +:a4782 :a4782 :a4782. +:a4783 :a4783 :a4783. +:a4784 :a4784 :a4784. +:a4785 :a4785 :a4785. +:a4786 :a4786 :a4786. +:a4787 :a4787 :a4787. +:a4788 :a4788 :a4788. +:a4789 :a4789 :a4789. +:a4790 :a4790 :a4790. +:a4791 :a4791 :a4791. +:a4792 :a4792 :a4792. +:a4793 :a4793 :a4793. +:a4794 :a4794 :a4794. +:a4795 :a4795 :a4795. +:a4796 :a4796 :a4796. +:a4797 :a4797 :a4797. +:a4798 :a4798 :a4798. +:a4799 :a4799 :a4799. +:a4800 :a4800 :a4800. +:a4801 :a4801 :a4801. +:a4802 :a4802 :a4802. +:a4803 :a4803 :a4803. +:a4804 :a4804 :a4804. +:a4805 :a4805 :a4805. +:a4806 :a4806 :a4806. +:a4807 :a4807 :a4807. +:a4808 :a4808 :a4808. +:a4809 :a4809 :a4809. +:a4810 :a4810 :a4810. +:a4811 :a4811 :a4811. +:a4812 :a4812 :a4812. +:a4813 :a4813 :a4813. +:a4814 :a4814 :a4814. +:a4815 :a4815 :a4815. +:a4816 :a4816 :a4816. +:a4817 :a4817 :a4817. +:a4818 :a4818 :a4818. +:a4819 :a4819 :a4819. +:a4820 :a4820 :a4820. +:a4821 :a4821 :a4821. +:a4822 :a4822 :a4822. +:a4823 :a4823 :a4823. +:a4824 :a4824 :a4824. +:a4825 :a4825 :a4825. +:a4826 :a4826 :a4826. +:a4827 :a4827 :a4827. +:a4828 :a4828 :a4828. +:a4829 :a4829 :a4829. +:a4830 :a4830 :a4830. +:a4831 :a4831 :a4831. +:a4832 :a4832 :a4832. +:a4833 :a4833 :a4833. +:a4834 :a4834 :a4834. +:a4835 :a4835 :a4835. +:a4836 :a4836 :a4836. +:a4837 :a4837 :a4837. +:a4838 :a4838 :a4838. +:a4839 :a4839 :a4839. +:a4840 :a4840 :a4840. +:a4841 :a4841 :a4841. +:a4842 :a4842 :a4842. +:a4843 :a4843 :a4843. +:a4844 :a4844 :a4844. +:a4845 :a4845 :a4845. +:a4846 :a4846 :a4846. +:a4847 :a4847 :a4847. +:a4848 :a4848 :a4848. +:a4849 :a4849 :a4849. +:a4850 :a4850 :a4850. +:a4851 :a4851 :a4851. +:a4852 :a4852 :a4852. +:a4853 :a4853 :a4853. +:a4854 :a4854 :a4854. +:a4855 :a4855 :a4855. +:a4856 :a4856 :a4856. +:a4857 :a4857 :a4857. +:a4858 :a4858 :a4858. +:a4859 :a4859 :a4859. +:a4860 :a4860 :a4860. +:a4861 :a4861 :a4861. +:a4862 :a4862 :a4862. +:a4863 :a4863 :a4863. +:a4864 :a4864 :a4864. +:a4865 :a4865 :a4865. +:a4866 :a4866 :a4866. +:a4867 :a4867 :a4867. +:a4868 :a4868 :a4868. +:a4869 :a4869 :a4869. +:a4870 :a4870 :a4870. +:a4871 :a4871 :a4871. +:a4872 :a4872 :a4872. +:a4873 :a4873 :a4873. +:a4874 :a4874 :a4874. +:a4875 :a4875 :a4875. +:a4876 :a4876 :a4876. +:a4877 :a4877 :a4877. +:a4878 :a4878 :a4878. +:a4879 :a4879 :a4879. +:a4880 :a4880 :a4880. +:a4881 :a4881 :a4881. +:a4882 :a4882 :a4882. +:a4883 :a4883 :a4883. +:a4884 :a4884 :a4884. +:a4885 :a4885 :a4885. +:a4886 :a4886 :a4886. +:a4887 :a4887 :a4887. +:a4888 :a4888 :a4888. +:a4889 :a4889 :a4889. +:a4890 :a4890 :a4890. +:a4891 :a4891 :a4891. +:a4892 :a4892 :a4892. +:a4893 :a4893 :a4893. +:a4894 :a4894 :a4894. +:a4895 :a4895 :a4895. +:a4896 :a4896 :a4896. +:a4897 :a4897 :a4897. +:a4898 :a4898 :a4898. +:a4899 :a4899 :a4899. +:a4900 :a4900 :a4900. +:a4901 :a4901 :a4901. +:a4902 :a4902 :a4902. +:a4903 :a4903 :a4903. +:a4904 :a4904 :a4904. +:a4905 :a4905 :a4905. +:a4906 :a4906 :a4906. +:a4907 :a4907 :a4907. +:a4908 :a4908 :a4908. +:a4909 :a4909 :a4909. +:a4910 :a4910 :a4910. +:a4911 :a4911 :a4911. +:a4912 :a4912 :a4912. +:a4913 :a4913 :a4913. +:a4914 :a4914 :a4914. +:a4915 :a4915 :a4915. +:a4916 :a4916 :a4916. +:a4917 :a4917 :a4917. +:a4918 :a4918 :a4918. +:a4919 :a4919 :a4919. +:a4920 :a4920 :a4920. +:a4921 :a4921 :a4921. +:a4922 :a4922 :a4922. +:a4923 :a4923 :a4923. +:a4924 :a4924 :a4924. +:a4925 :a4925 :a4925. +:a4926 :a4926 :a4926. +:a4927 :a4927 :a4927. +:a4928 :a4928 :a4928. +:a4929 :a4929 :a4929. +:a4930 :a4930 :a4930. +:a4931 :a4931 :a4931. +:a4932 :a4932 :a4932. +:a4933 :a4933 :a4933. +:a4934 :a4934 :a4934. +:a4935 :a4935 :a4935. +:a4936 :a4936 :a4936. +:a4937 :a4937 :a4937. +:a4938 :a4938 :a4938. +:a4939 :a4939 :a4939. +:a4940 :a4940 :a4940. +:a4941 :a4941 :a4941. +:a4942 :a4942 :a4942. +:a4943 :a4943 :a4943. +:a4944 :a4944 :a4944. +:a4945 :a4945 :a4945. +:a4946 :a4946 :a4946. +:a4947 :a4947 :a4947. +:a4948 :a4948 :a4948. +:a4949 :a4949 :a4949. +:a4950 :a4950 :a4950. +:a4951 :a4951 :a4951. +:a4952 :a4952 :a4952. +:a4953 :a4953 :a4953. +:a4954 :a4954 :a4954. +:a4955 :a4955 :a4955. +:a4956 :a4956 :a4956. +:a4957 :a4957 :a4957. +:a4958 :a4958 :a4958. +:a4959 :a4959 :a4959. +:a4960 :a4960 :a4960. +:a4961 :a4961 :a4961. +:a4962 :a4962 :a4962. +:a4963 :a4963 :a4963. +:a4964 :a4964 :a4964. +:a4965 :a4965 :a4965. +:a4966 :a4966 :a4966. +:a4967 :a4967 :a4967. +:a4968 :a4968 :a4968. +:a4969 :a4969 :a4969. +:a4970 :a4970 :a4970. +:a4971 :a4971 :a4971. +:a4972 :a4972 :a4972. +:a4973 :a4973 :a4973. +:a4974 :a4974 :a4974. +:a4975 :a4975 :a4975. +:a4976 :a4976 :a4976. +:a4977 :a4977 :a4977. +:a4978 :a4978 :a4978. +:a4979 :a4979 :a4979. +:a4980 :a4980 :a4980. +:a4981 :a4981 :a4981. +:a4982 :a4982 :a4982. +:a4983 :a4983 :a4983. +:a4984 :a4984 :a4984. +:a4985 :a4985 :a4985. +:a4986 :a4986 :a4986. +:a4987 :a4987 :a4987. +:a4988 :a4988 :a4988. +:a4989 :a4989 :a4989. +:a4990 :a4990 :a4990. +:a4991 :a4991 :a4991. +:a4992 :a4992 :a4992. +:a4993 :a4993 :a4993. +:a4994 :a4994 :a4994. +:a4995 :a4995 :a4995. +:a4996 :a4996 :a4996. +:a4997 :a4997 :a4997. +:a4998 :a4998 :a4998. +:a4999 :a4999 :a4999. +:a5000 :a5000 :a5000. +:a5001 :a5001 :a5001. +:a5002 :a5002 :a5002. +:a5003 :a5003 :a5003. +:a5004 :a5004 :a5004. +:a5005 :a5005 :a5005. +:a5006 :a5006 :a5006. +:a5007 :a5007 :a5007. +:a5008 :a5008 :a5008. +:a5009 :a5009 :a5009. +:a5010 :a5010 :a5010. +:a5011 :a5011 :a5011. +:a5012 :a5012 :a5012. +:a5013 :a5013 :a5013. +:a5014 :a5014 :a5014. +:a5015 :a5015 :a5015. +:a5016 :a5016 :a5016. +:a5017 :a5017 :a5017. +:a5018 :a5018 :a5018. +:a5019 :a5019 :a5019. +:a5020 :a5020 :a5020. +:a5021 :a5021 :a5021. +:a5022 :a5022 :a5022. +:a5023 :a5023 :a5023. +:a5024 :a5024 :a5024. +:a5025 :a5025 :a5025. +:a5026 :a5026 :a5026. +:a5027 :a5027 :a5027. +:a5028 :a5028 :a5028. +:a5029 :a5029 :a5029. +:a5030 :a5030 :a5030. +:a5031 :a5031 :a5031. +:a5032 :a5032 :a5032. +:a5033 :a5033 :a5033. +:a5034 :a5034 :a5034. +:a5035 :a5035 :a5035. +:a5036 :a5036 :a5036. +:a5037 :a5037 :a5037. +:a5038 :a5038 :a5038. +:a5039 :a5039 :a5039. +:a5040 :a5040 :a5040. +:a5041 :a5041 :a5041. +:a5042 :a5042 :a5042. +:a5043 :a5043 :a5043. +:a5044 :a5044 :a5044. +:a5045 :a5045 :a5045. +:a5046 :a5046 :a5046. +:a5047 :a5047 :a5047. +:a5048 :a5048 :a5048. +:a5049 :a5049 :a5049. +:a5050 :a5050 :a5050. +:a5051 :a5051 :a5051. +:a5052 :a5052 :a5052. +:a5053 :a5053 :a5053. +:a5054 :a5054 :a5054. +:a5055 :a5055 :a5055. +:a5056 :a5056 :a5056. +:a5057 :a5057 :a5057. +:a5058 :a5058 :a5058. +:a5059 :a5059 :a5059. +:a5060 :a5060 :a5060. +:a5061 :a5061 :a5061. +:a5062 :a5062 :a5062. +:a5063 :a5063 :a5063. +:a5064 :a5064 :a5064. +:a5065 :a5065 :a5065. +:a5066 :a5066 :a5066. +:a5067 :a5067 :a5067. +:a5068 :a5068 :a5068. +:a5069 :a5069 :a5069. +:a5070 :a5070 :a5070. +:a5071 :a5071 :a5071. +:a5072 :a5072 :a5072. +:a5073 :a5073 :a5073. +:a5074 :a5074 :a5074. +:a5075 :a5075 :a5075. +:a5076 :a5076 :a5076. +:a5077 :a5077 :a5077. +:a5078 :a5078 :a5078. +:a5079 :a5079 :a5079. +:a5080 :a5080 :a5080. +:a5081 :a5081 :a5081. +:a5082 :a5082 :a5082. +:a5083 :a5083 :a5083. +:a5084 :a5084 :a5084. +:a5085 :a5085 :a5085. +:a5086 :a5086 :a5086. +:a5087 :a5087 :a5087. +:a5088 :a5088 :a5088. +:a5089 :a5089 :a5089. +:a5090 :a5090 :a5090. +:a5091 :a5091 :a5091. +:a5092 :a5092 :a5092. +:a5093 :a5093 :a5093. +:a5094 :a5094 :a5094. +:a5095 :a5095 :a5095. +:a5096 :a5096 :a5096. +:a5097 :a5097 :a5097. +:a5098 :a5098 :a5098. +:a5099 :a5099 :a5099. +:a5100 :a5100 :a5100. +:a5101 :a5101 :a5101. +:a5102 :a5102 :a5102. +:a5103 :a5103 :a5103. +:a5104 :a5104 :a5104. +:a5105 :a5105 :a5105. +:a5106 :a5106 :a5106. +:a5107 :a5107 :a5107. +:a5108 :a5108 :a5108. +:a5109 :a5109 :a5109. +:a5110 :a5110 :a5110. +:a5111 :a5111 :a5111. +:a5112 :a5112 :a5112. +:a5113 :a5113 :a5113. +:a5114 :a5114 :a5114. +:a5115 :a5115 :a5115. +:a5116 :a5116 :a5116. +:a5117 :a5117 :a5117. +:a5118 :a5118 :a5118. +:a5119 :a5119 :a5119. +:a5120 :a5120 :a5120. +:a5121 :a5121 :a5121. +:a5122 :a5122 :a5122. +:a5123 :a5123 :a5123. +:a5124 :a5124 :a5124. +:a5125 :a5125 :a5125. +:a5126 :a5126 :a5126. +:a5127 :a5127 :a5127. +:a5128 :a5128 :a5128. +:a5129 :a5129 :a5129. +:a5130 :a5130 :a5130. +:a5131 :a5131 :a5131. +:a5132 :a5132 :a5132. +:a5133 :a5133 :a5133. +:a5134 :a5134 :a5134. +:a5135 :a5135 :a5135. +:a5136 :a5136 :a5136. +:a5137 :a5137 :a5137. +:a5138 :a5138 :a5138. +:a5139 :a5139 :a5139. +:a5140 :a5140 :a5140. +:a5141 :a5141 :a5141. +:a5142 :a5142 :a5142. +:a5143 :a5143 :a5143. +:a5144 :a5144 :a5144. +:a5145 :a5145 :a5145. +:a5146 :a5146 :a5146. +:a5147 :a5147 :a5147. +:a5148 :a5148 :a5148. +:a5149 :a5149 :a5149. +:a5150 :a5150 :a5150. +:a5151 :a5151 :a5151. +:a5152 :a5152 :a5152. +:a5153 :a5153 :a5153. +:a5154 :a5154 :a5154. +:a5155 :a5155 :a5155. +:a5156 :a5156 :a5156. +:a5157 :a5157 :a5157. +:a5158 :a5158 :a5158. +:a5159 :a5159 :a5159. +:a5160 :a5160 :a5160. +:a5161 :a5161 :a5161. +:a5162 :a5162 :a5162. +:a5163 :a5163 :a5163. +:a5164 :a5164 :a5164. +:a5165 :a5165 :a5165. +:a5166 :a5166 :a5166. +:a5167 :a5167 :a5167. +:a5168 :a5168 :a5168. +:a5169 :a5169 :a5169. +:a5170 :a5170 :a5170. +:a5171 :a5171 :a5171. +:a5172 :a5172 :a5172. +:a5173 :a5173 :a5173. +:a5174 :a5174 :a5174. +:a5175 :a5175 :a5175. +:a5176 :a5176 :a5176. +:a5177 :a5177 :a5177. +:a5178 :a5178 :a5178. +:a5179 :a5179 :a5179. +:a5180 :a5180 :a5180. +:a5181 :a5181 :a5181. +:a5182 :a5182 :a5182. +:a5183 :a5183 :a5183. +:a5184 :a5184 :a5184. +:a5185 :a5185 :a5185. +:a5186 :a5186 :a5186. +:a5187 :a5187 :a5187. +:a5188 :a5188 :a5188. +:a5189 :a5189 :a5189. +:a5190 :a5190 :a5190. +:a5191 :a5191 :a5191. +:a5192 :a5192 :a5192. +:a5193 :a5193 :a5193. +:a5194 :a5194 :a5194. +:a5195 :a5195 :a5195. +:a5196 :a5196 :a5196. +:a5197 :a5197 :a5197. +:a5198 :a5198 :a5198. +:a5199 :a5199 :a5199. +:a5200 :a5200 :a5200. +:a5201 :a5201 :a5201. +:a5202 :a5202 :a5202. +:a5203 :a5203 :a5203. +:a5204 :a5204 :a5204. +:a5205 :a5205 :a5205. +:a5206 :a5206 :a5206. +:a5207 :a5207 :a5207. +:a5208 :a5208 :a5208. +:a5209 :a5209 :a5209. +:a5210 :a5210 :a5210. +:a5211 :a5211 :a5211. +:a5212 :a5212 :a5212. +:a5213 :a5213 :a5213. +:a5214 :a5214 :a5214. +:a5215 :a5215 :a5215. +:a5216 :a5216 :a5216. +:a5217 :a5217 :a5217. +:a5218 :a5218 :a5218. +:a5219 :a5219 :a5219. +:a5220 :a5220 :a5220. +:a5221 :a5221 :a5221. +:a5222 :a5222 :a5222. +:a5223 :a5223 :a5223. +:a5224 :a5224 :a5224. +:a5225 :a5225 :a5225. +:a5226 :a5226 :a5226. +:a5227 :a5227 :a5227. +:a5228 :a5228 :a5228. +:a5229 :a5229 :a5229. +:a5230 :a5230 :a5230. +:a5231 :a5231 :a5231. +:a5232 :a5232 :a5232. +:a5233 :a5233 :a5233. +:a5234 :a5234 :a5234. +:a5235 :a5235 :a5235. +:a5236 :a5236 :a5236. +:a5237 :a5237 :a5237. +:a5238 :a5238 :a5238. +:a5239 :a5239 :a5239. +:a5240 :a5240 :a5240. +:a5241 :a5241 :a5241. +:a5242 :a5242 :a5242. +:a5243 :a5243 :a5243. +:a5244 :a5244 :a5244. +:a5245 :a5245 :a5245. +:a5246 :a5246 :a5246. +:a5247 :a5247 :a5247. +:a5248 :a5248 :a5248. +:a5249 :a5249 :a5249. +:a5250 :a5250 :a5250. +:a5251 :a5251 :a5251. +:a5252 :a5252 :a5252. +:a5253 :a5253 :a5253. +:a5254 :a5254 :a5254. +:a5255 :a5255 :a5255. +:a5256 :a5256 :a5256. +:a5257 :a5257 :a5257. +:a5258 :a5258 :a5258. +:a5259 :a5259 :a5259. +:a5260 :a5260 :a5260. +:a5261 :a5261 :a5261. +:a5262 :a5262 :a5262. +:a5263 :a5263 :a5263. +:a5264 :a5264 :a5264. +:a5265 :a5265 :a5265. +:a5266 :a5266 :a5266. +:a5267 :a5267 :a5267. +:a5268 :a5268 :a5268. +:a5269 :a5269 :a5269. +:a5270 :a5270 :a5270. +:a5271 :a5271 :a5271. +:a5272 :a5272 :a5272. +:a5273 :a5273 :a5273. +:a5274 :a5274 :a5274. +:a5275 :a5275 :a5275. +:a5276 :a5276 :a5276. +:a5277 :a5277 :a5277. +:a5278 :a5278 :a5278. +:a5279 :a5279 :a5279. +:a5280 :a5280 :a5280. +:a5281 :a5281 :a5281. +:a5282 :a5282 :a5282. +:a5283 :a5283 :a5283. +:a5284 :a5284 :a5284. +:a5285 :a5285 :a5285. +:a5286 :a5286 :a5286. +:a5287 :a5287 :a5287. +:a5288 :a5288 :a5288. +:a5289 :a5289 :a5289. +:a5290 :a5290 :a5290. +:a5291 :a5291 :a5291. +:a5292 :a5292 :a5292. +:a5293 :a5293 :a5293. +:a5294 :a5294 :a5294. +:a5295 :a5295 :a5295. +:a5296 :a5296 :a5296. +:a5297 :a5297 :a5297. +:a5298 :a5298 :a5298. +:a5299 :a5299 :a5299. +:a5300 :a5300 :a5300. +:a5301 :a5301 :a5301. +:a5302 :a5302 :a5302. +:a5303 :a5303 :a5303. +:a5304 :a5304 :a5304. +:a5305 :a5305 :a5305. +:a5306 :a5306 :a5306. +:a5307 :a5307 :a5307. +:a5308 :a5308 :a5308. +:a5309 :a5309 :a5309. +:a5310 :a5310 :a5310. +:a5311 :a5311 :a5311. +:a5312 :a5312 :a5312. +:a5313 :a5313 :a5313. +:a5314 :a5314 :a5314. +:a5315 :a5315 :a5315. +:a5316 :a5316 :a5316. +:a5317 :a5317 :a5317. +:a5318 :a5318 :a5318. +:a5319 :a5319 :a5319. +:a5320 :a5320 :a5320. +:a5321 :a5321 :a5321. +:a5322 :a5322 :a5322. +:a5323 :a5323 :a5323. +:a5324 :a5324 :a5324. +:a5325 :a5325 :a5325. +:a5326 :a5326 :a5326. +:a5327 :a5327 :a5327. +:a5328 :a5328 :a5328. +:a5329 :a5329 :a5329. +:a5330 :a5330 :a5330. +:a5331 :a5331 :a5331. +:a5332 :a5332 :a5332. +:a5333 :a5333 :a5333. +:a5334 :a5334 :a5334. +:a5335 :a5335 :a5335. +:a5336 :a5336 :a5336. +:a5337 :a5337 :a5337. +:a5338 :a5338 :a5338. +:a5339 :a5339 :a5339. +:a5340 :a5340 :a5340. +:a5341 :a5341 :a5341. +:a5342 :a5342 :a5342. +:a5343 :a5343 :a5343. +:a5344 :a5344 :a5344. +:a5345 :a5345 :a5345. +:a5346 :a5346 :a5346. +:a5347 :a5347 :a5347. +:a5348 :a5348 :a5348. +:a5349 :a5349 :a5349. +:a5350 :a5350 :a5350. +:a5351 :a5351 :a5351. +:a5352 :a5352 :a5352. +:a5353 :a5353 :a5353. +:a5354 :a5354 :a5354. +:a5355 :a5355 :a5355. +:a5356 :a5356 :a5356. +:a5357 :a5357 :a5357. +:a5358 :a5358 :a5358. +:a5359 :a5359 :a5359. +:a5360 :a5360 :a5360. +:a5361 :a5361 :a5361. +:a5362 :a5362 :a5362. +:a5363 :a5363 :a5363. +:a5364 :a5364 :a5364. +:a5365 :a5365 :a5365. +:a5366 :a5366 :a5366. +:a5367 :a5367 :a5367. +:a5368 :a5368 :a5368. +:a5369 :a5369 :a5369. +:a5370 :a5370 :a5370. +:a5371 :a5371 :a5371. +:a5372 :a5372 :a5372. +:a5373 :a5373 :a5373. +:a5374 :a5374 :a5374. +:a5375 :a5375 :a5375. +:a5376 :a5376 :a5376. +:a5377 :a5377 :a5377. +:a5378 :a5378 :a5378. +:a5379 :a5379 :a5379. +:a5380 :a5380 :a5380. +:a5381 :a5381 :a5381. +:a5382 :a5382 :a5382. +:a5383 :a5383 :a5383. +:a5384 :a5384 :a5384. +:a5385 :a5385 :a5385. +:a5386 :a5386 :a5386. +:a5387 :a5387 :a5387. +:a5388 :a5388 :a5388. +:a5389 :a5389 :a5389. +:a5390 :a5390 :a5390. +:a5391 :a5391 :a5391. +:a5392 :a5392 :a5392. +:a5393 :a5393 :a5393. +:a5394 :a5394 :a5394. +:a5395 :a5395 :a5395. +:a5396 :a5396 :a5396. +:a5397 :a5397 :a5397. +:a5398 :a5398 :a5398. +:a5399 :a5399 :a5399. +:a5400 :a5400 :a5400. +:a5401 :a5401 :a5401. +:a5402 :a5402 :a5402. +:a5403 :a5403 :a5403. +:a5404 :a5404 :a5404. +:a5405 :a5405 :a5405. +:a5406 :a5406 :a5406. +:a5407 :a5407 :a5407. +:a5408 :a5408 :a5408. +:a5409 :a5409 :a5409. +:a5410 :a5410 :a5410. +:a5411 :a5411 :a5411. +:a5412 :a5412 :a5412. +:a5413 :a5413 :a5413. +:a5414 :a5414 :a5414. +:a5415 :a5415 :a5415. +:a5416 :a5416 :a5416. +:a5417 :a5417 :a5417. +:a5418 :a5418 :a5418. +:a5419 :a5419 :a5419. +:a5420 :a5420 :a5420. +:a5421 :a5421 :a5421. +:a5422 :a5422 :a5422. +:a5423 :a5423 :a5423. +:a5424 :a5424 :a5424. +:a5425 :a5425 :a5425. +:a5426 :a5426 :a5426. +:a5427 :a5427 :a5427. +:a5428 :a5428 :a5428. +:a5429 :a5429 :a5429. +:a5430 :a5430 :a5430. +:a5431 :a5431 :a5431. +:a5432 :a5432 :a5432. +:a5433 :a5433 :a5433. +:a5434 :a5434 :a5434. +:a5435 :a5435 :a5435. +:a5436 :a5436 :a5436. +:a5437 :a5437 :a5437. +:a5438 :a5438 :a5438. +:a5439 :a5439 :a5439. +:a5440 :a5440 :a5440. +:a5441 :a5441 :a5441. +:a5442 :a5442 :a5442. +:a5443 :a5443 :a5443. +:a5444 :a5444 :a5444. +:a5445 :a5445 :a5445. +:a5446 :a5446 :a5446. +:a5447 :a5447 :a5447. +:a5448 :a5448 :a5448. +:a5449 :a5449 :a5449. +:a5450 :a5450 :a5450. +:a5451 :a5451 :a5451. +:a5452 :a5452 :a5452. +:a5453 :a5453 :a5453. +:a5454 :a5454 :a5454. +:a5455 :a5455 :a5455. +:a5456 :a5456 :a5456. +:a5457 :a5457 :a5457. +:a5458 :a5458 :a5458. +:a5459 :a5459 :a5459. +:a5460 :a5460 :a5460. +:a5461 :a5461 :a5461. +:a5462 :a5462 :a5462. +:a5463 :a5463 :a5463. +:a5464 :a5464 :a5464. +:a5465 :a5465 :a5465. +:a5466 :a5466 :a5466. +:a5467 :a5467 :a5467. +:a5468 :a5468 :a5468. +:a5469 :a5469 :a5469. +:a5470 :a5470 :a5470. +:a5471 :a5471 :a5471. +:a5472 :a5472 :a5472. +:a5473 :a5473 :a5473. +:a5474 :a5474 :a5474. +:a5475 :a5475 :a5475. +:a5476 :a5476 :a5476. +:a5477 :a5477 :a5477. +:a5478 :a5478 :a5478. +:a5479 :a5479 :a5479. +:a5480 :a5480 :a5480. +:a5481 :a5481 :a5481. +:a5482 :a5482 :a5482. +:a5483 :a5483 :a5483. +:a5484 :a5484 :a5484. +:a5485 :a5485 :a5485. +:a5486 :a5486 :a5486. +:a5487 :a5487 :a5487. +:a5488 :a5488 :a5488. +:a5489 :a5489 :a5489. +:a5490 :a5490 :a5490. +:a5491 :a5491 :a5491. +:a5492 :a5492 :a5492. +:a5493 :a5493 :a5493. +:a5494 :a5494 :a5494. +:a5495 :a5495 :a5495. +:a5496 :a5496 :a5496. +:a5497 :a5497 :a5497. +:a5498 :a5498 :a5498. +:a5499 :a5499 :a5499. +:a5500 :a5500 :a5500. +:a5501 :a5501 :a5501. +:a5502 :a5502 :a5502. +:a5503 :a5503 :a5503. +:a5504 :a5504 :a5504. +:a5505 :a5505 :a5505. +:a5506 :a5506 :a5506. +:a5507 :a5507 :a5507. +:a5508 :a5508 :a5508. +:a5509 :a5509 :a5509. +:a5510 :a5510 :a5510. +:a5511 :a5511 :a5511. +:a5512 :a5512 :a5512. +:a5513 :a5513 :a5513. +:a5514 :a5514 :a5514. +:a5515 :a5515 :a5515. +:a5516 :a5516 :a5516. +:a5517 :a5517 :a5517. +:a5518 :a5518 :a5518. +:a5519 :a5519 :a5519. +:a5520 :a5520 :a5520. +:a5521 :a5521 :a5521. +:a5522 :a5522 :a5522. +:a5523 :a5523 :a5523. +:a5524 :a5524 :a5524. +:a5525 :a5525 :a5525. +:a5526 :a5526 :a5526. +:a5527 :a5527 :a5527. +:a5528 :a5528 :a5528. +:a5529 :a5529 :a5529. +:a5530 :a5530 :a5530. +:a5531 :a5531 :a5531. +:a5532 :a5532 :a5532. +:a5533 :a5533 :a5533. +:a5534 :a5534 :a5534. +:a5535 :a5535 :a5535. +:a5536 :a5536 :a5536. +:a5537 :a5537 :a5537. +:a5538 :a5538 :a5538. +:a5539 :a5539 :a5539. +:a5540 :a5540 :a5540. +:a5541 :a5541 :a5541. +:a5542 :a5542 :a5542. +:a5543 :a5543 :a5543. +:a5544 :a5544 :a5544. +:a5545 :a5545 :a5545. +:a5546 :a5546 :a5546. +:a5547 :a5547 :a5547. +:a5548 :a5548 :a5548. +:a5549 :a5549 :a5549. +:a5550 :a5550 :a5550. +:a5551 :a5551 :a5551. +:a5552 :a5552 :a5552. +:a5553 :a5553 :a5553. +:a5554 :a5554 :a5554. +:a5555 :a5555 :a5555. +:a5556 :a5556 :a5556. +:a5557 :a5557 :a5557. +:a5558 :a5558 :a5558. +:a5559 :a5559 :a5559. +:a5560 :a5560 :a5560. +:a5561 :a5561 :a5561. +:a5562 :a5562 :a5562. +:a5563 :a5563 :a5563. +:a5564 :a5564 :a5564. +:a5565 :a5565 :a5565. +:a5566 :a5566 :a5566. +:a5567 :a5567 :a5567. +:a5568 :a5568 :a5568. +:a5569 :a5569 :a5569. +:a5570 :a5570 :a5570. +:a5571 :a5571 :a5571. +:a5572 :a5572 :a5572. +:a5573 :a5573 :a5573. +:a5574 :a5574 :a5574. +:a5575 :a5575 :a5575. +:a5576 :a5576 :a5576. +:a5577 :a5577 :a5577. +:a5578 :a5578 :a5578. +:a5579 :a5579 :a5579. +:a5580 :a5580 :a5580. +:a5581 :a5581 :a5581. +:a5582 :a5582 :a5582. +:a5583 :a5583 :a5583. +:a5584 :a5584 :a5584. +:a5585 :a5585 :a5585. +:a5586 :a5586 :a5586. +:a5587 :a5587 :a5587. +:a5588 :a5588 :a5588. +:a5589 :a5589 :a5589. +:a5590 :a5590 :a5590. +:a5591 :a5591 :a5591. +:a5592 :a5592 :a5592. +:a5593 :a5593 :a5593. +:a5594 :a5594 :a5594. +:a5595 :a5595 :a5595. +:a5596 :a5596 :a5596. +:a5597 :a5597 :a5597. +:a5598 :a5598 :a5598. +:a5599 :a5599 :a5599. +:a5600 :a5600 :a5600. +:a5601 :a5601 :a5601. +:a5602 :a5602 :a5602. +:a5603 :a5603 :a5603. +:a5604 :a5604 :a5604. +:a5605 :a5605 :a5605. +:a5606 :a5606 :a5606. +:a5607 :a5607 :a5607. +:a5608 :a5608 :a5608. +:a5609 :a5609 :a5609. +:a5610 :a5610 :a5610. +:a5611 :a5611 :a5611. +:a5612 :a5612 :a5612. +:a5613 :a5613 :a5613. +:a5614 :a5614 :a5614. +:a5615 :a5615 :a5615. +:a5616 :a5616 :a5616. +:a5617 :a5617 :a5617. +:a5618 :a5618 :a5618. +:a5619 :a5619 :a5619. +:a5620 :a5620 :a5620. +:a5621 :a5621 :a5621. +:a5622 :a5622 :a5622. +:a5623 :a5623 :a5623. +:a5624 :a5624 :a5624. +:a5625 :a5625 :a5625. +:a5626 :a5626 :a5626. +:a5627 :a5627 :a5627. +:a5628 :a5628 :a5628. +:a5629 :a5629 :a5629. +:a5630 :a5630 :a5630. +:a5631 :a5631 :a5631. +:a5632 :a5632 :a5632. +:a5633 :a5633 :a5633. +:a5634 :a5634 :a5634. +:a5635 :a5635 :a5635. +:a5636 :a5636 :a5636. +:a5637 :a5637 :a5637. +:a5638 :a5638 :a5638. +:a5639 :a5639 :a5639. +:a5640 :a5640 :a5640. +:a5641 :a5641 :a5641. +:a5642 :a5642 :a5642. +:a5643 :a5643 :a5643. +:a5644 :a5644 :a5644. +:a5645 :a5645 :a5645. +:a5646 :a5646 :a5646. +:a5647 :a5647 :a5647. +:a5648 :a5648 :a5648. +:a5649 :a5649 :a5649. +:a5650 :a5650 :a5650. +:a5651 :a5651 :a5651. +:a5652 :a5652 :a5652. +:a5653 :a5653 :a5653. +:a5654 :a5654 :a5654. +:a5655 :a5655 :a5655. +:a5656 :a5656 :a5656. +:a5657 :a5657 :a5657. +:a5658 :a5658 :a5658. +:a5659 :a5659 :a5659. +:a5660 :a5660 :a5660. +:a5661 :a5661 :a5661. +:a5662 :a5662 :a5662. +:a5663 :a5663 :a5663. +:a5664 :a5664 :a5664. +:a5665 :a5665 :a5665. +:a5666 :a5666 :a5666. +:a5667 :a5667 :a5667. +:a5668 :a5668 :a5668. +:a5669 :a5669 :a5669. +:a5670 :a5670 :a5670. +:a5671 :a5671 :a5671. +:a5672 :a5672 :a5672. +:a5673 :a5673 :a5673. +:a5674 :a5674 :a5674. +:a5675 :a5675 :a5675. +:a5676 :a5676 :a5676. +:a5677 :a5677 :a5677. +:a5678 :a5678 :a5678. +:a5679 :a5679 :a5679. +:a5680 :a5680 :a5680. +:a5681 :a5681 :a5681. +:a5682 :a5682 :a5682. +:a5683 :a5683 :a5683. +:a5684 :a5684 :a5684. +:a5685 :a5685 :a5685. +:a5686 :a5686 :a5686. +:a5687 :a5687 :a5687. +:a5688 :a5688 :a5688. +:a5689 :a5689 :a5689. +:a5690 :a5690 :a5690. +:a5691 :a5691 :a5691. +:a5692 :a5692 :a5692. +:a5693 :a5693 :a5693. +:a5694 :a5694 :a5694. +:a5695 :a5695 :a5695. +:a5696 :a5696 :a5696. +:a5697 :a5697 :a5697. +:a5698 :a5698 :a5698. +:a5699 :a5699 :a5699. +:a5700 :a5700 :a5700. +:a5701 :a5701 :a5701. +:a5702 :a5702 :a5702. +:a5703 :a5703 :a5703. +:a5704 :a5704 :a5704. +:a5705 :a5705 :a5705. +:a5706 :a5706 :a5706. +:a5707 :a5707 :a5707. +:a5708 :a5708 :a5708. +:a5709 :a5709 :a5709. +:a5710 :a5710 :a5710. +:a5711 :a5711 :a5711. +:a5712 :a5712 :a5712. +:a5713 :a5713 :a5713. +:a5714 :a5714 :a5714. +:a5715 :a5715 :a5715. +:a5716 :a5716 :a5716. +:a5717 :a5717 :a5717. +:a5718 :a5718 :a5718. +:a5719 :a5719 :a5719. +:a5720 :a5720 :a5720. +:a5721 :a5721 :a5721. +:a5722 :a5722 :a5722. +:a5723 :a5723 :a5723. +:a5724 :a5724 :a5724. +:a5725 :a5725 :a5725. +:a5726 :a5726 :a5726. +:a5727 :a5727 :a5727. +:a5728 :a5728 :a5728. +:a5729 :a5729 :a5729. +:a5730 :a5730 :a5730. +:a5731 :a5731 :a5731. +:a5732 :a5732 :a5732. +:a5733 :a5733 :a5733. +:a5734 :a5734 :a5734. +:a5735 :a5735 :a5735. +:a5736 :a5736 :a5736. +:a5737 :a5737 :a5737. +:a5738 :a5738 :a5738. +:a5739 :a5739 :a5739. +:a5740 :a5740 :a5740. +:a5741 :a5741 :a5741. +:a5742 :a5742 :a5742. +:a5743 :a5743 :a5743. +:a5744 :a5744 :a5744. +:a5745 :a5745 :a5745. +:a5746 :a5746 :a5746. +:a5747 :a5747 :a5747. +:a5748 :a5748 :a5748. +:a5749 :a5749 :a5749. +:a5750 :a5750 :a5750. +:a5751 :a5751 :a5751. +:a5752 :a5752 :a5752. +:a5753 :a5753 :a5753. +:a5754 :a5754 :a5754. +:a5755 :a5755 :a5755. +:a5756 :a5756 :a5756. +:a5757 :a5757 :a5757. +:a5758 :a5758 :a5758. +:a5759 :a5759 :a5759. +:a5760 :a5760 :a5760. +:a5761 :a5761 :a5761. +:a5762 :a5762 :a5762. +:a5763 :a5763 :a5763. +:a5764 :a5764 :a5764. +:a5765 :a5765 :a5765. +:a5766 :a5766 :a5766. +:a5767 :a5767 :a5767. +:a5768 :a5768 :a5768. +:a5769 :a5769 :a5769. +:a5770 :a5770 :a5770. +:a5771 :a5771 :a5771. +:a5772 :a5772 :a5772. +:a5773 :a5773 :a5773. +:a5774 :a5774 :a5774. +:a5775 :a5775 :a5775. +:a5776 :a5776 :a5776. +:a5777 :a5777 :a5777. +:a5778 :a5778 :a5778. +:a5779 :a5779 :a5779. +:a5780 :a5780 :a5780. +:a5781 :a5781 :a5781. +:a5782 :a5782 :a5782. +:a5783 :a5783 :a5783. +:a5784 :a5784 :a5784. +:a5785 :a5785 :a5785. +:a5786 :a5786 :a5786. +:a5787 :a5787 :a5787. +:a5788 :a5788 :a5788. +:a5789 :a5789 :a5789. +:a5790 :a5790 :a5790. +:a5791 :a5791 :a5791. +:a5792 :a5792 :a5792. +:a5793 :a5793 :a5793. +:a5794 :a5794 :a5794. +:a5795 :a5795 :a5795. +:a5796 :a5796 :a5796. +:a5797 :a5797 :a5797. +:a5798 :a5798 :a5798. +:a5799 :a5799 :a5799. +:a5800 :a5800 :a5800. +:a5801 :a5801 :a5801. +:a5802 :a5802 :a5802. +:a5803 :a5803 :a5803. +:a5804 :a5804 :a5804. +:a5805 :a5805 :a5805. +:a5806 :a5806 :a5806. +:a5807 :a5807 :a5807. +:a5808 :a5808 :a5808. +:a5809 :a5809 :a5809. +:a5810 :a5810 :a5810. +:a5811 :a5811 :a5811. +:a5812 :a5812 :a5812. +:a5813 :a5813 :a5813. +:a5814 :a5814 :a5814. +:a5815 :a5815 :a5815. +:a5816 :a5816 :a5816. +:a5817 :a5817 :a5817. +:a5818 :a5818 :a5818. +:a5819 :a5819 :a5819. +:a5820 :a5820 :a5820. +:a5821 :a5821 :a5821. +:a5822 :a5822 :a5822. +:a5823 :a5823 :a5823. +:a5824 :a5824 :a5824. +:a5825 :a5825 :a5825. +:a5826 :a5826 :a5826. +:a5827 :a5827 :a5827. +:a5828 :a5828 :a5828. +:a5829 :a5829 :a5829. +:a5830 :a5830 :a5830. +:a5831 :a5831 :a5831. +:a5832 :a5832 :a5832. +:a5833 :a5833 :a5833. +:a5834 :a5834 :a5834. +:a5835 :a5835 :a5835. +:a5836 :a5836 :a5836. +:a5837 :a5837 :a5837. +:a5838 :a5838 :a5838. +:a5839 :a5839 :a5839. +:a5840 :a5840 :a5840. +:a5841 :a5841 :a5841. +:a5842 :a5842 :a5842. +:a5843 :a5843 :a5843. +:a5844 :a5844 :a5844. +:a5845 :a5845 :a5845. +:a5846 :a5846 :a5846. +:a5847 :a5847 :a5847. +:a5848 :a5848 :a5848. +:a5849 :a5849 :a5849. +:a5850 :a5850 :a5850. +:a5851 :a5851 :a5851. +:a5852 :a5852 :a5852. +:a5853 :a5853 :a5853. +:a5854 :a5854 :a5854. +:a5855 :a5855 :a5855. +:a5856 :a5856 :a5856. +:a5857 :a5857 :a5857. +:a5858 :a5858 :a5858. +:a5859 :a5859 :a5859. +:a5860 :a5860 :a5860. +:a5861 :a5861 :a5861. +:a5862 :a5862 :a5862. +:a5863 :a5863 :a5863. +:a5864 :a5864 :a5864. +:a5865 :a5865 :a5865. +:a5866 :a5866 :a5866. +:a5867 :a5867 :a5867. +:a5868 :a5868 :a5868. +:a5869 :a5869 :a5869. +:a5870 :a5870 :a5870. +:a5871 :a5871 :a5871. +:a5872 :a5872 :a5872. +:a5873 :a5873 :a5873. +:a5874 :a5874 :a5874. +:a5875 :a5875 :a5875. +:a5876 :a5876 :a5876. +:a5877 :a5877 :a5877. +:a5878 :a5878 :a5878. +:a5879 :a5879 :a5879. +:a5880 :a5880 :a5880. +:a5881 :a5881 :a5881. +:a5882 :a5882 :a5882. +:a5883 :a5883 :a5883. +:a5884 :a5884 :a5884. +:a5885 :a5885 :a5885. +:a5886 :a5886 :a5886. +:a5887 :a5887 :a5887. +:a5888 :a5888 :a5888. +:a5889 :a5889 :a5889. +:a5890 :a5890 :a5890. +:a5891 :a5891 :a5891. +:a5892 :a5892 :a5892. +:a5893 :a5893 :a5893. +:a5894 :a5894 :a5894. +:a5895 :a5895 :a5895. +:a5896 :a5896 :a5896. +:a5897 :a5897 :a5897. +:a5898 :a5898 :a5898. +:a5899 :a5899 :a5899. +:a5900 :a5900 :a5900. +:a5901 :a5901 :a5901. +:a5902 :a5902 :a5902. +:a5903 :a5903 :a5903. +:a5904 :a5904 :a5904. +:a5905 :a5905 :a5905. +:a5906 :a5906 :a5906. +:a5907 :a5907 :a5907. +:a5908 :a5908 :a5908. +:a5909 :a5909 :a5909. +:a5910 :a5910 :a5910. +:a5911 :a5911 :a5911. +:a5912 :a5912 :a5912. +:a5913 :a5913 :a5913. +:a5914 :a5914 :a5914. +:a5915 :a5915 :a5915. +:a5916 :a5916 :a5916. +:a5917 :a5917 :a5917. +:a5918 :a5918 :a5918. +:a5919 :a5919 :a5919. +:a5920 :a5920 :a5920. +:a5921 :a5921 :a5921. +:a5922 :a5922 :a5922. +:a5923 :a5923 :a5923. +:a5924 :a5924 :a5924. +:a5925 :a5925 :a5925. +:a5926 :a5926 :a5926. +:a5927 :a5927 :a5927. +:a5928 :a5928 :a5928. +:a5929 :a5929 :a5929. +:a5930 :a5930 :a5930. +:a5931 :a5931 :a5931. +:a5932 :a5932 :a5932. +:a5933 :a5933 :a5933. +:a5934 :a5934 :a5934. +:a5935 :a5935 :a5935. +:a5936 :a5936 :a5936. +:a5937 :a5937 :a5937. +:a5938 :a5938 :a5938. +:a5939 :a5939 :a5939. +:a5940 :a5940 :a5940. +:a5941 :a5941 :a5941. +:a5942 :a5942 :a5942. +:a5943 :a5943 :a5943. +:a5944 :a5944 :a5944. +:a5945 :a5945 :a5945. +:a5946 :a5946 :a5946. +:a5947 :a5947 :a5947. +:a5948 :a5948 :a5948. +:a5949 :a5949 :a5949. +:a5950 :a5950 :a5950. +:a5951 :a5951 :a5951. +:a5952 :a5952 :a5952. +:a5953 :a5953 :a5953. +:a5954 :a5954 :a5954. +:a5955 :a5955 :a5955. +:a5956 :a5956 :a5956. +:a5957 :a5957 :a5957. +:a5958 :a5958 :a5958. +:a5959 :a5959 :a5959. +:a5960 :a5960 :a5960. +:a5961 :a5961 :a5961. +:a5962 :a5962 :a5962. +:a5963 :a5963 :a5963. +:a5964 :a5964 :a5964. +:a5965 :a5965 :a5965. +:a5966 :a5966 :a5966. +:a5967 :a5967 :a5967. +:a5968 :a5968 :a5968. +:a5969 :a5969 :a5969. +:a5970 :a5970 :a5970. +:a5971 :a5971 :a5971. +:a5972 :a5972 :a5972. +:a5973 :a5973 :a5973. +:a5974 :a5974 :a5974. +:a5975 :a5975 :a5975. +:a5976 :a5976 :a5976. +:a5977 :a5977 :a5977. +:a5978 :a5978 :a5978. +:a5979 :a5979 :a5979. +:a5980 :a5980 :a5980. +:a5981 :a5981 :a5981. +:a5982 :a5982 :a5982. +:a5983 :a5983 :a5983. +:a5984 :a5984 :a5984. +:a5985 :a5985 :a5985. +:a5986 :a5986 :a5986. +:a5987 :a5987 :a5987. +:a5988 :a5988 :a5988. +:a5989 :a5989 :a5989. +:a5990 :a5990 :a5990. +:a5991 :a5991 :a5991. +:a5992 :a5992 :a5992. +:a5993 :a5993 :a5993. +:a5994 :a5994 :a5994. +:a5995 :a5995 :a5995. +:a5996 :a5996 :a5996. +:a5997 :a5997 :a5997. +:a5998 :a5998 :a5998. +:a5999 :a5999 :a5999. +:a6000 :a6000 :a6000. +:a6001 :a6001 :a6001. +:a6002 :a6002 :a6002. +:a6003 :a6003 :a6003. +:a6004 :a6004 :a6004. +:a6005 :a6005 :a6005. +:a6006 :a6006 :a6006. +:a6007 :a6007 :a6007. +:a6008 :a6008 :a6008. +:a6009 :a6009 :a6009. +:a6010 :a6010 :a6010. +:a6011 :a6011 :a6011. +:a6012 :a6012 :a6012. +:a6013 :a6013 :a6013. +:a6014 :a6014 :a6014. +:a6015 :a6015 :a6015. +:a6016 :a6016 :a6016. +:a6017 :a6017 :a6017. +:a6018 :a6018 :a6018. +:a6019 :a6019 :a6019. +:a6020 :a6020 :a6020. +:a6021 :a6021 :a6021. +:a6022 :a6022 :a6022. +:a6023 :a6023 :a6023. +:a6024 :a6024 :a6024. +:a6025 :a6025 :a6025. +:a6026 :a6026 :a6026. +:a6027 :a6027 :a6027. +:a6028 :a6028 :a6028. +:a6029 :a6029 :a6029. +:a6030 :a6030 :a6030. +:a6031 :a6031 :a6031. +:a6032 :a6032 :a6032. +:a6033 :a6033 :a6033. +:a6034 :a6034 :a6034. +:a6035 :a6035 :a6035. +:a6036 :a6036 :a6036. +:a6037 :a6037 :a6037. +:a6038 :a6038 :a6038. +:a6039 :a6039 :a6039. +:a6040 :a6040 :a6040. +:a6041 :a6041 :a6041. +:a6042 :a6042 :a6042. +:a6043 :a6043 :a6043. +:a6044 :a6044 :a6044. +:a6045 :a6045 :a6045. +:a6046 :a6046 :a6046. +:a6047 :a6047 :a6047. +:a6048 :a6048 :a6048. +:a6049 :a6049 :a6049. +:a6050 :a6050 :a6050. +:a6051 :a6051 :a6051. +:a6052 :a6052 :a6052. +:a6053 :a6053 :a6053. +:a6054 :a6054 :a6054. +:a6055 :a6055 :a6055. +:a6056 :a6056 :a6056. +:a6057 :a6057 :a6057. +:a6058 :a6058 :a6058. +:a6059 :a6059 :a6059. +:a6060 :a6060 :a6060. +:a6061 :a6061 :a6061. +:a6062 :a6062 :a6062. +:a6063 :a6063 :a6063. +:a6064 :a6064 :a6064. +:a6065 :a6065 :a6065. +:a6066 :a6066 :a6066. +:a6067 :a6067 :a6067. +:a6068 :a6068 :a6068. +:a6069 :a6069 :a6069. +:a6070 :a6070 :a6070. +:a6071 :a6071 :a6071. +:a6072 :a6072 :a6072. +:a6073 :a6073 :a6073. +:a6074 :a6074 :a6074. +:a6075 :a6075 :a6075. +:a6076 :a6076 :a6076. +:a6077 :a6077 :a6077. +:a6078 :a6078 :a6078. +:a6079 :a6079 :a6079. +:a6080 :a6080 :a6080. +:a6081 :a6081 :a6081. +:a6082 :a6082 :a6082. +:a6083 :a6083 :a6083. +:a6084 :a6084 :a6084. +:a6085 :a6085 :a6085. +:a6086 :a6086 :a6086. +:a6087 :a6087 :a6087. +:a6088 :a6088 :a6088. +:a6089 :a6089 :a6089. +:a6090 :a6090 :a6090. +:a6091 :a6091 :a6091. +:a6092 :a6092 :a6092. +:a6093 :a6093 :a6093. +:a6094 :a6094 :a6094. +:a6095 :a6095 :a6095. +:a6096 :a6096 :a6096. +:a6097 :a6097 :a6097. +:a6098 :a6098 :a6098. +:a6099 :a6099 :a6099. +:a6100 :a6100 :a6100. +:a6101 :a6101 :a6101. +:a6102 :a6102 :a6102. +:a6103 :a6103 :a6103. +:a6104 :a6104 :a6104. +:a6105 :a6105 :a6105. +:a6106 :a6106 :a6106. +:a6107 :a6107 :a6107. +:a6108 :a6108 :a6108. +:a6109 :a6109 :a6109. +:a6110 :a6110 :a6110. +:a6111 :a6111 :a6111. +:a6112 :a6112 :a6112. +:a6113 :a6113 :a6113. +:a6114 :a6114 :a6114. +:a6115 :a6115 :a6115. +:a6116 :a6116 :a6116. +:a6117 :a6117 :a6117. +:a6118 :a6118 :a6118. +:a6119 :a6119 :a6119. +:a6120 :a6120 :a6120. +:a6121 :a6121 :a6121. +:a6122 :a6122 :a6122. +:a6123 :a6123 :a6123. +:a6124 :a6124 :a6124. +:a6125 :a6125 :a6125. +:a6126 :a6126 :a6126. +:a6127 :a6127 :a6127. +:a6128 :a6128 :a6128. +:a6129 :a6129 :a6129. +:a6130 :a6130 :a6130. +:a6131 :a6131 :a6131. +:a6132 :a6132 :a6132. +:a6133 :a6133 :a6133. +:a6134 :a6134 :a6134. +:a6135 :a6135 :a6135. +:a6136 :a6136 :a6136. +:a6137 :a6137 :a6137. +:a6138 :a6138 :a6138. +:a6139 :a6139 :a6139. +:a6140 :a6140 :a6140. +:a6141 :a6141 :a6141. +:a6142 :a6142 :a6142. +:a6143 :a6143 :a6143. +:a6144 :a6144 :a6144. +:a6145 :a6145 :a6145. +:a6146 :a6146 :a6146. +:a6147 :a6147 :a6147. +:a6148 :a6148 :a6148. +:a6149 :a6149 :a6149. +:a6150 :a6150 :a6150. +:a6151 :a6151 :a6151. +:a6152 :a6152 :a6152. +:a6153 :a6153 :a6153. +:a6154 :a6154 :a6154. +:a6155 :a6155 :a6155. +:a6156 :a6156 :a6156. +:a6157 :a6157 :a6157. +:a6158 :a6158 :a6158. +:a6159 :a6159 :a6159. +:a6160 :a6160 :a6160. +:a6161 :a6161 :a6161. +:a6162 :a6162 :a6162. +:a6163 :a6163 :a6163. +:a6164 :a6164 :a6164. +:a6165 :a6165 :a6165. +:a6166 :a6166 :a6166. +:a6167 :a6167 :a6167. +:a6168 :a6168 :a6168. +:a6169 :a6169 :a6169. +:a6170 :a6170 :a6170. +:a6171 :a6171 :a6171. +:a6172 :a6172 :a6172. +:a6173 :a6173 :a6173. +:a6174 :a6174 :a6174. +:a6175 :a6175 :a6175. +:a6176 :a6176 :a6176. +:a6177 :a6177 :a6177. +:a6178 :a6178 :a6178. +:a6179 :a6179 :a6179. +:a6180 :a6180 :a6180. +:a6181 :a6181 :a6181. +:a6182 :a6182 :a6182. +:a6183 :a6183 :a6183. +:a6184 :a6184 :a6184. +:a6185 :a6185 :a6185. +:a6186 :a6186 :a6186. +:a6187 :a6187 :a6187. +:a6188 :a6188 :a6188. +:a6189 :a6189 :a6189. +:a6190 :a6190 :a6190. +:a6191 :a6191 :a6191. +:a6192 :a6192 :a6192. +:a6193 :a6193 :a6193. +:a6194 :a6194 :a6194. +:a6195 :a6195 :a6195. +:a6196 :a6196 :a6196. +:a6197 :a6197 :a6197. +:a6198 :a6198 :a6198. +:a6199 :a6199 :a6199. +:a6200 :a6200 :a6200. +:a6201 :a6201 :a6201. +:a6202 :a6202 :a6202. +:a6203 :a6203 :a6203. +:a6204 :a6204 :a6204. +:a6205 :a6205 :a6205. +:a6206 :a6206 :a6206. +:a6207 :a6207 :a6207. +:a6208 :a6208 :a6208. +:a6209 :a6209 :a6209. +:a6210 :a6210 :a6210. +:a6211 :a6211 :a6211. +:a6212 :a6212 :a6212. +:a6213 :a6213 :a6213. +:a6214 :a6214 :a6214. +:a6215 :a6215 :a6215. +:a6216 :a6216 :a6216. +:a6217 :a6217 :a6217. +:a6218 :a6218 :a6218. +:a6219 :a6219 :a6219. +:a6220 :a6220 :a6220. +:a6221 :a6221 :a6221. +:a6222 :a6222 :a6222. +:a6223 :a6223 :a6223. +:a6224 :a6224 :a6224. +:a6225 :a6225 :a6225. +:a6226 :a6226 :a6226. +:a6227 :a6227 :a6227. +:a6228 :a6228 :a6228. +:a6229 :a6229 :a6229. +:a6230 :a6230 :a6230. +:a6231 :a6231 :a6231. +:a6232 :a6232 :a6232. +:a6233 :a6233 :a6233. +:a6234 :a6234 :a6234. +:a6235 :a6235 :a6235. +:a6236 :a6236 :a6236. +:a6237 :a6237 :a6237. +:a6238 :a6238 :a6238. +:a6239 :a6239 :a6239. +:a6240 :a6240 :a6240. +:a6241 :a6241 :a6241. +:a6242 :a6242 :a6242. +:a6243 :a6243 :a6243. +:a6244 :a6244 :a6244. +:a6245 :a6245 :a6245. +:a6246 :a6246 :a6246. +:a6247 :a6247 :a6247. +:a6248 :a6248 :a6248. +:a6249 :a6249 :a6249. +:a6250 :a6250 :a6250. +:a6251 :a6251 :a6251. +:a6252 :a6252 :a6252. +:a6253 :a6253 :a6253. +:a6254 :a6254 :a6254. +:a6255 :a6255 :a6255. +:a6256 :a6256 :a6256. +:a6257 :a6257 :a6257. +:a6258 :a6258 :a6258. +:a6259 :a6259 :a6259. +:a6260 :a6260 :a6260. +:a6261 :a6261 :a6261. +:a6262 :a6262 :a6262. +:a6263 :a6263 :a6263. +:a6264 :a6264 :a6264. +:a6265 :a6265 :a6265. +:a6266 :a6266 :a6266. +:a6267 :a6267 :a6267. +:a6268 :a6268 :a6268. +:a6269 :a6269 :a6269. +:a6270 :a6270 :a6270. +:a6271 :a6271 :a6271. +:a6272 :a6272 :a6272. +:a6273 :a6273 :a6273. +:a6274 :a6274 :a6274. +:a6275 :a6275 :a6275. +:a6276 :a6276 :a6276. +:a6277 :a6277 :a6277. +:a6278 :a6278 :a6278. +:a6279 :a6279 :a6279. +:a6280 :a6280 :a6280. +:a6281 :a6281 :a6281. +:a6282 :a6282 :a6282. +:a6283 :a6283 :a6283. +:a6284 :a6284 :a6284. +:a6285 :a6285 :a6285. +:a6286 :a6286 :a6286. +:a6287 :a6287 :a6287. +:a6288 :a6288 :a6288. +:a6289 :a6289 :a6289. +:a6290 :a6290 :a6290. +:a6291 :a6291 :a6291. +:a6292 :a6292 :a6292. +:a6293 :a6293 :a6293. +:a6294 :a6294 :a6294. +:a6295 :a6295 :a6295. +:a6296 :a6296 :a6296. +:a6297 :a6297 :a6297. +:a6298 :a6298 :a6298. +:a6299 :a6299 :a6299. +:a6300 :a6300 :a6300. +:a6301 :a6301 :a6301. +:a6302 :a6302 :a6302. +:a6303 :a6303 :a6303. +:a6304 :a6304 :a6304. +:a6305 :a6305 :a6305. +:a6306 :a6306 :a6306. +:a6307 :a6307 :a6307. +:a6308 :a6308 :a6308. +:a6309 :a6309 :a6309. +:a6310 :a6310 :a6310. +:a6311 :a6311 :a6311. +:a6312 :a6312 :a6312. +:a6313 :a6313 :a6313. +:a6314 :a6314 :a6314. +:a6315 :a6315 :a6315. +:a6316 :a6316 :a6316. +:a6317 :a6317 :a6317. +:a6318 :a6318 :a6318. +:a6319 :a6319 :a6319. +:a6320 :a6320 :a6320. +:a6321 :a6321 :a6321. +:a6322 :a6322 :a6322. +:a6323 :a6323 :a6323. +:a6324 :a6324 :a6324. +:a6325 :a6325 :a6325. +:a6326 :a6326 :a6326. +:a6327 :a6327 :a6327. +:a6328 :a6328 :a6328. +:a6329 :a6329 :a6329. +:a6330 :a6330 :a6330. +:a6331 :a6331 :a6331. +:a6332 :a6332 :a6332. +:a6333 :a6333 :a6333. +:a6334 :a6334 :a6334. +:a6335 :a6335 :a6335. +:a6336 :a6336 :a6336. +:a6337 :a6337 :a6337. +:a6338 :a6338 :a6338. +:a6339 :a6339 :a6339. +:a6340 :a6340 :a6340. +:a6341 :a6341 :a6341. +:a6342 :a6342 :a6342. +:a6343 :a6343 :a6343. +:a6344 :a6344 :a6344. +:a6345 :a6345 :a6345. +:a6346 :a6346 :a6346. +:a6347 :a6347 :a6347. +:a6348 :a6348 :a6348. +:a6349 :a6349 :a6349. +:a6350 :a6350 :a6350. +:a6351 :a6351 :a6351. +:a6352 :a6352 :a6352. +:a6353 :a6353 :a6353. +:a6354 :a6354 :a6354. +:a6355 :a6355 :a6355. +:a6356 :a6356 :a6356. +:a6357 :a6357 :a6357. +:a6358 :a6358 :a6358. +:a6359 :a6359 :a6359. +:a6360 :a6360 :a6360. +:a6361 :a6361 :a6361. +:a6362 :a6362 :a6362. +:a6363 :a6363 :a6363. +:a6364 :a6364 :a6364. +:a6365 :a6365 :a6365. +:a6366 :a6366 :a6366. +:a6367 :a6367 :a6367. +:a6368 :a6368 :a6368. +:a6369 :a6369 :a6369. +:a6370 :a6370 :a6370. +:a6371 :a6371 :a6371. +:a6372 :a6372 :a6372. +:a6373 :a6373 :a6373. +:a6374 :a6374 :a6374. +:a6375 :a6375 :a6375. +:a6376 :a6376 :a6376. +:a6377 :a6377 :a6377. +:a6378 :a6378 :a6378. +:a6379 :a6379 :a6379. +:a6380 :a6380 :a6380. +:a6381 :a6381 :a6381. +:a6382 :a6382 :a6382. +:a6383 :a6383 :a6383. +:a6384 :a6384 :a6384. +:a6385 :a6385 :a6385. +:a6386 :a6386 :a6386. +:a6387 :a6387 :a6387. +:a6388 :a6388 :a6388. +:a6389 :a6389 :a6389. +:a6390 :a6390 :a6390. +:a6391 :a6391 :a6391. +:a6392 :a6392 :a6392. +:a6393 :a6393 :a6393. +:a6394 :a6394 :a6394. +:a6395 :a6395 :a6395. +:a6396 :a6396 :a6396. +:a6397 :a6397 :a6397. +:a6398 :a6398 :a6398. +:a6399 :a6399 :a6399. +:a6400 :a6400 :a6400. +:a6401 :a6401 :a6401. +:a6402 :a6402 :a6402. +:a6403 :a6403 :a6403. +:a6404 :a6404 :a6404. +:a6405 :a6405 :a6405. +:a6406 :a6406 :a6406. +:a6407 :a6407 :a6407. +:a6408 :a6408 :a6408. +:a6409 :a6409 :a6409. +:a6410 :a6410 :a6410. +:a6411 :a6411 :a6411. +:a6412 :a6412 :a6412. +:a6413 :a6413 :a6413. +:a6414 :a6414 :a6414. +:a6415 :a6415 :a6415. +:a6416 :a6416 :a6416. +:a6417 :a6417 :a6417. +:a6418 :a6418 :a6418. +:a6419 :a6419 :a6419. +:a6420 :a6420 :a6420. +:a6421 :a6421 :a6421. +:a6422 :a6422 :a6422. +:a6423 :a6423 :a6423. +:a6424 :a6424 :a6424. +:a6425 :a6425 :a6425. +:a6426 :a6426 :a6426. +:a6427 :a6427 :a6427. +:a6428 :a6428 :a6428. +:a6429 :a6429 :a6429. +:a6430 :a6430 :a6430. +:a6431 :a6431 :a6431. +:a6432 :a6432 :a6432. +:a6433 :a6433 :a6433. +:a6434 :a6434 :a6434. +:a6435 :a6435 :a6435. +:a6436 :a6436 :a6436. +:a6437 :a6437 :a6437. +:a6438 :a6438 :a6438. +:a6439 :a6439 :a6439. +:a6440 :a6440 :a6440. +:a6441 :a6441 :a6441. +:a6442 :a6442 :a6442. +:a6443 :a6443 :a6443. +:a6444 :a6444 :a6444. +:a6445 :a6445 :a6445. +:a6446 :a6446 :a6446. +:a6447 :a6447 :a6447. +:a6448 :a6448 :a6448. +:a6449 :a6449 :a6449. +:a6450 :a6450 :a6450. +:a6451 :a6451 :a6451. +:a6452 :a6452 :a6452. +:a6453 :a6453 :a6453. +:a6454 :a6454 :a6454. +:a6455 :a6455 :a6455. +:a6456 :a6456 :a6456. +:a6457 :a6457 :a6457. +:a6458 :a6458 :a6458. +:a6459 :a6459 :a6459. +:a6460 :a6460 :a6460. +:a6461 :a6461 :a6461. +:a6462 :a6462 :a6462. +:a6463 :a6463 :a6463. +:a6464 :a6464 :a6464. +:a6465 :a6465 :a6465. +:a6466 :a6466 :a6466. +:a6467 :a6467 :a6467. +:a6468 :a6468 :a6468. +:a6469 :a6469 :a6469. +:a6470 :a6470 :a6470. +:a6471 :a6471 :a6471. +:a6472 :a6472 :a6472. +:a6473 :a6473 :a6473. +:a6474 :a6474 :a6474. +:a6475 :a6475 :a6475. +:a6476 :a6476 :a6476. +:a6477 :a6477 :a6477. +:a6478 :a6478 :a6478. +:a6479 :a6479 :a6479. +:a6480 :a6480 :a6480. +:a6481 :a6481 :a6481. +:a6482 :a6482 :a6482. +:a6483 :a6483 :a6483. +:a6484 :a6484 :a6484. +:a6485 :a6485 :a6485. +:a6486 :a6486 :a6486. +:a6487 :a6487 :a6487. +:a6488 :a6488 :a6488. +:a6489 :a6489 :a6489. +:a6490 :a6490 :a6490. +:a6491 :a6491 :a6491. +:a6492 :a6492 :a6492. +:a6493 :a6493 :a6493. +:a6494 :a6494 :a6494. +:a6495 :a6495 :a6495. +:a6496 :a6496 :a6496. +:a6497 :a6497 :a6497. +:a6498 :a6498 :a6498. +:a6499 :a6499 :a6499. +:a6500 :a6500 :a6500. +:a6501 :a6501 :a6501. +:a6502 :a6502 :a6502. +:a6503 :a6503 :a6503. +:a6504 :a6504 :a6504. +:a6505 :a6505 :a6505. +:a6506 :a6506 :a6506. +:a6507 :a6507 :a6507. +:a6508 :a6508 :a6508. +:a6509 :a6509 :a6509. +:a6510 :a6510 :a6510. +:a6511 :a6511 :a6511. +:a6512 :a6512 :a6512. +:a6513 :a6513 :a6513. +:a6514 :a6514 :a6514. +:a6515 :a6515 :a6515. +:a6516 :a6516 :a6516. +:a6517 :a6517 :a6517. +:a6518 :a6518 :a6518. +:a6519 :a6519 :a6519. +:a6520 :a6520 :a6520. +:a6521 :a6521 :a6521. +:a6522 :a6522 :a6522. +:a6523 :a6523 :a6523. +:a6524 :a6524 :a6524. +:a6525 :a6525 :a6525. +:a6526 :a6526 :a6526. +:a6527 :a6527 :a6527. +:a6528 :a6528 :a6528. +:a6529 :a6529 :a6529. +:a6530 :a6530 :a6530. +:a6531 :a6531 :a6531. +:a6532 :a6532 :a6532. +:a6533 :a6533 :a6533. +:a6534 :a6534 :a6534. +:a6535 :a6535 :a6535. +:a6536 :a6536 :a6536. +:a6537 :a6537 :a6537. +:a6538 :a6538 :a6538. +:a6539 :a6539 :a6539. +:a6540 :a6540 :a6540. +:a6541 :a6541 :a6541. +:a6542 :a6542 :a6542. +:a6543 :a6543 :a6543. +:a6544 :a6544 :a6544. +:a6545 :a6545 :a6545. +:a6546 :a6546 :a6546. +:a6547 :a6547 :a6547. +:a6548 :a6548 :a6548. +:a6549 :a6549 :a6549. +:a6550 :a6550 :a6550. +:a6551 :a6551 :a6551. +:a6552 :a6552 :a6552. +:a6553 :a6553 :a6553. +:a6554 :a6554 :a6554. +:a6555 :a6555 :a6555. +:a6556 :a6556 :a6556. +:a6557 :a6557 :a6557. +:a6558 :a6558 :a6558. +:a6559 :a6559 :a6559. +:a6560 :a6560 :a6560. +:a6561 :a6561 :a6561. +:a6562 :a6562 :a6562. +:a6563 :a6563 :a6563. +:a6564 :a6564 :a6564. +:a6565 :a6565 :a6565. +:a6566 :a6566 :a6566. +:a6567 :a6567 :a6567. +:a6568 :a6568 :a6568. +:a6569 :a6569 :a6569. +:a6570 :a6570 :a6570. +:a6571 :a6571 :a6571. +:a6572 :a6572 :a6572. +:a6573 :a6573 :a6573. +:a6574 :a6574 :a6574. +:a6575 :a6575 :a6575. +:a6576 :a6576 :a6576. +:a6577 :a6577 :a6577. +:a6578 :a6578 :a6578. +:a6579 :a6579 :a6579. +:a6580 :a6580 :a6580. +:a6581 :a6581 :a6581. +:a6582 :a6582 :a6582. +:a6583 :a6583 :a6583. +:a6584 :a6584 :a6584. +:a6585 :a6585 :a6585. +:a6586 :a6586 :a6586. +:a6587 :a6587 :a6587. +:a6588 :a6588 :a6588. +:a6589 :a6589 :a6589. +:a6590 :a6590 :a6590. +:a6591 :a6591 :a6591. +:a6592 :a6592 :a6592. +:a6593 :a6593 :a6593. +:a6594 :a6594 :a6594. +:a6595 :a6595 :a6595. +:a6596 :a6596 :a6596. +:a6597 :a6597 :a6597. +:a6598 :a6598 :a6598. +:a6599 :a6599 :a6599. +:a6600 :a6600 :a6600. +:a6601 :a6601 :a6601. +:a6602 :a6602 :a6602. +:a6603 :a6603 :a6603. +:a6604 :a6604 :a6604. +:a6605 :a6605 :a6605. +:a6606 :a6606 :a6606. +:a6607 :a6607 :a6607. +:a6608 :a6608 :a6608. +:a6609 :a6609 :a6609. +:a6610 :a6610 :a6610. +:a6611 :a6611 :a6611. +:a6612 :a6612 :a6612. +:a6613 :a6613 :a6613. +:a6614 :a6614 :a6614. +:a6615 :a6615 :a6615. +:a6616 :a6616 :a6616. +:a6617 :a6617 :a6617. +:a6618 :a6618 :a6618. +:a6619 :a6619 :a6619. +:a6620 :a6620 :a6620. +:a6621 :a6621 :a6621. +:a6622 :a6622 :a6622. +:a6623 :a6623 :a6623. +:a6624 :a6624 :a6624. +:a6625 :a6625 :a6625. +:a6626 :a6626 :a6626. +:a6627 :a6627 :a6627. +:a6628 :a6628 :a6628. +:a6629 :a6629 :a6629. +:a6630 :a6630 :a6630. +:a6631 :a6631 :a6631. +:a6632 :a6632 :a6632. +:a6633 :a6633 :a6633. +:a6634 :a6634 :a6634. +:a6635 :a6635 :a6635. +:a6636 :a6636 :a6636. +:a6637 :a6637 :a6637. +:a6638 :a6638 :a6638. +:a6639 :a6639 :a6639. +:a6640 :a6640 :a6640. +:a6641 :a6641 :a6641. +:a6642 :a6642 :a6642. +:a6643 :a6643 :a6643. +:a6644 :a6644 :a6644. +:a6645 :a6645 :a6645. +:a6646 :a6646 :a6646. +:a6647 :a6647 :a6647. +:a6648 :a6648 :a6648. +:a6649 :a6649 :a6649. +:a6650 :a6650 :a6650. +:a6651 :a6651 :a6651. +:a6652 :a6652 :a6652. +:a6653 :a6653 :a6653. +:a6654 :a6654 :a6654. +:a6655 :a6655 :a6655. +:a6656 :a6656 :a6656. +:a6657 :a6657 :a6657. +:a6658 :a6658 :a6658. +:a6659 :a6659 :a6659. +:a6660 :a6660 :a6660. +:a6661 :a6661 :a6661. +:a6662 :a6662 :a6662. +:a6663 :a6663 :a6663. +:a6664 :a6664 :a6664. +:a6665 :a6665 :a6665. +:a6666 :a6666 :a6666. +:a6667 :a6667 :a6667. +:a6668 :a6668 :a6668. +:a6669 :a6669 :a6669. +:a6670 :a6670 :a6670. +:a6671 :a6671 :a6671. +:a6672 :a6672 :a6672. +:a6673 :a6673 :a6673. +:a6674 :a6674 :a6674. +:a6675 :a6675 :a6675. +:a6676 :a6676 :a6676. +:a6677 :a6677 :a6677. +:a6678 :a6678 :a6678. +:a6679 :a6679 :a6679. +:a6680 :a6680 :a6680. +:a6681 :a6681 :a6681. +:a6682 :a6682 :a6682. +:a6683 :a6683 :a6683. +:a6684 :a6684 :a6684. +:a6685 :a6685 :a6685. +:a6686 :a6686 :a6686. +:a6687 :a6687 :a6687. +:a6688 :a6688 :a6688. +:a6689 :a6689 :a6689. +:a6690 :a6690 :a6690. +:a6691 :a6691 :a6691. +:a6692 :a6692 :a6692. +:a6693 :a6693 :a6693. +:a6694 :a6694 :a6694. +:a6695 :a6695 :a6695. +:a6696 :a6696 :a6696. +:a6697 :a6697 :a6697. +:a6698 :a6698 :a6698. +:a6699 :a6699 :a6699. +:a6700 :a6700 :a6700. +:a6701 :a6701 :a6701. +:a6702 :a6702 :a6702. +:a6703 :a6703 :a6703. +:a6704 :a6704 :a6704. +:a6705 :a6705 :a6705. +:a6706 :a6706 :a6706. +:a6707 :a6707 :a6707. +:a6708 :a6708 :a6708. +:a6709 :a6709 :a6709. +:a6710 :a6710 :a6710. +:a6711 :a6711 :a6711. +:a6712 :a6712 :a6712. +:a6713 :a6713 :a6713. +:a6714 :a6714 :a6714. +:a6715 :a6715 :a6715. +:a6716 :a6716 :a6716. +:a6717 :a6717 :a6717. +:a6718 :a6718 :a6718. +:a6719 :a6719 :a6719. +:a6720 :a6720 :a6720. +:a6721 :a6721 :a6721. +:a6722 :a6722 :a6722. +:a6723 :a6723 :a6723. +:a6724 :a6724 :a6724. +:a6725 :a6725 :a6725. +:a6726 :a6726 :a6726. +:a6727 :a6727 :a6727. +:a6728 :a6728 :a6728. +:a6729 :a6729 :a6729. +:a6730 :a6730 :a6730. +:a6731 :a6731 :a6731. +:a6732 :a6732 :a6732. +:a6733 :a6733 :a6733. +:a6734 :a6734 :a6734. +:a6735 :a6735 :a6735. +:a6736 :a6736 :a6736. +:a6737 :a6737 :a6737. +:a6738 :a6738 :a6738. +:a6739 :a6739 :a6739. +:a6740 :a6740 :a6740. +:a6741 :a6741 :a6741. +:a6742 :a6742 :a6742. +:a6743 :a6743 :a6743. +:a6744 :a6744 :a6744. +:a6745 :a6745 :a6745. +:a6746 :a6746 :a6746. +:a6747 :a6747 :a6747. +:a6748 :a6748 :a6748. +:a6749 :a6749 :a6749. +:a6750 :a6750 :a6750. +:a6751 :a6751 :a6751. +:a6752 :a6752 :a6752. +:a6753 :a6753 :a6753. +:a6754 :a6754 :a6754. +:a6755 :a6755 :a6755. +:a6756 :a6756 :a6756. +:a6757 :a6757 :a6757. +:a6758 :a6758 :a6758. +:a6759 :a6759 :a6759. +:a6760 :a6760 :a6760. +:a6761 :a6761 :a6761. +:a6762 :a6762 :a6762. +:a6763 :a6763 :a6763. +:a6764 :a6764 :a6764. +:a6765 :a6765 :a6765. +:a6766 :a6766 :a6766. +:a6767 :a6767 :a6767. +:a6768 :a6768 :a6768. +:a6769 :a6769 :a6769. +:a6770 :a6770 :a6770. +:a6771 :a6771 :a6771. +:a6772 :a6772 :a6772. +:a6773 :a6773 :a6773. +:a6774 :a6774 :a6774. +:a6775 :a6775 :a6775. +:a6776 :a6776 :a6776. +:a6777 :a6777 :a6777. +:a6778 :a6778 :a6778. +:a6779 :a6779 :a6779. +:a6780 :a6780 :a6780. +:a6781 :a6781 :a6781. +:a6782 :a6782 :a6782. +:a6783 :a6783 :a6783. +:a6784 :a6784 :a6784. +:a6785 :a6785 :a6785. +:a6786 :a6786 :a6786. +:a6787 :a6787 :a6787. +:a6788 :a6788 :a6788. +:a6789 :a6789 :a6789. +:a6790 :a6790 :a6790. +:a6791 :a6791 :a6791. +:a6792 :a6792 :a6792. +:a6793 :a6793 :a6793. +:a6794 :a6794 :a6794. +:a6795 :a6795 :a6795. +:a6796 :a6796 :a6796. +:a6797 :a6797 :a6797. +:a6798 :a6798 :a6798. +:a6799 :a6799 :a6799. +:a6800 :a6800 :a6800. +:a6801 :a6801 :a6801. +:a6802 :a6802 :a6802. +:a6803 :a6803 :a6803. +:a6804 :a6804 :a6804. +:a6805 :a6805 :a6805. +:a6806 :a6806 :a6806. +:a6807 :a6807 :a6807. +:a6808 :a6808 :a6808. +:a6809 :a6809 :a6809. +:a6810 :a6810 :a6810. +:a6811 :a6811 :a6811. +:a6812 :a6812 :a6812. +:a6813 :a6813 :a6813. +:a6814 :a6814 :a6814. +:a6815 :a6815 :a6815. +:a6816 :a6816 :a6816. +:a6817 :a6817 :a6817. +:a6818 :a6818 :a6818. +:a6819 :a6819 :a6819. +:a6820 :a6820 :a6820. +:a6821 :a6821 :a6821. +:a6822 :a6822 :a6822. +:a6823 :a6823 :a6823. +:a6824 :a6824 :a6824. +:a6825 :a6825 :a6825. +:a6826 :a6826 :a6826. +:a6827 :a6827 :a6827. +:a6828 :a6828 :a6828. +:a6829 :a6829 :a6829. +:a6830 :a6830 :a6830. +:a6831 :a6831 :a6831. +:a6832 :a6832 :a6832. +:a6833 :a6833 :a6833. +:a6834 :a6834 :a6834. +:a6835 :a6835 :a6835. +:a6836 :a6836 :a6836. +:a6837 :a6837 :a6837. +:a6838 :a6838 :a6838. +:a6839 :a6839 :a6839. +:a6840 :a6840 :a6840. +:a6841 :a6841 :a6841. +:a6842 :a6842 :a6842. +:a6843 :a6843 :a6843. +:a6844 :a6844 :a6844. +:a6845 :a6845 :a6845. +:a6846 :a6846 :a6846. +:a6847 :a6847 :a6847. +:a6848 :a6848 :a6848. +:a6849 :a6849 :a6849. +:a6850 :a6850 :a6850. +:a6851 :a6851 :a6851. +:a6852 :a6852 :a6852. +:a6853 :a6853 :a6853. +:a6854 :a6854 :a6854. +:a6855 :a6855 :a6855. +:a6856 :a6856 :a6856. +:a6857 :a6857 :a6857. +:a6858 :a6858 :a6858. +:a6859 :a6859 :a6859. +:a6860 :a6860 :a6860. +:a6861 :a6861 :a6861. +:a6862 :a6862 :a6862. +:a6863 :a6863 :a6863. +:a6864 :a6864 :a6864. +:a6865 :a6865 :a6865. +:a6866 :a6866 :a6866. +:a6867 :a6867 :a6867. +:a6868 :a6868 :a6868. +:a6869 :a6869 :a6869. +:a6870 :a6870 :a6870. +:a6871 :a6871 :a6871. +:a6872 :a6872 :a6872. +:a6873 :a6873 :a6873. +:a6874 :a6874 :a6874. +:a6875 :a6875 :a6875. +:a6876 :a6876 :a6876. +:a6877 :a6877 :a6877. +:a6878 :a6878 :a6878. +:a6879 :a6879 :a6879. +:a6880 :a6880 :a6880. +:a6881 :a6881 :a6881. +:a6882 :a6882 :a6882. +:a6883 :a6883 :a6883. +:a6884 :a6884 :a6884. +:a6885 :a6885 :a6885. +:a6886 :a6886 :a6886. +:a6887 :a6887 :a6887. +:a6888 :a6888 :a6888. +:a6889 :a6889 :a6889. +:a6890 :a6890 :a6890. +:a6891 :a6891 :a6891. +:a6892 :a6892 :a6892. +:a6893 :a6893 :a6893. +:a6894 :a6894 :a6894. +:a6895 :a6895 :a6895. +:a6896 :a6896 :a6896. +:a6897 :a6897 :a6897. +:a6898 :a6898 :a6898. +:a6899 :a6899 :a6899. +:a6900 :a6900 :a6900. +:a6901 :a6901 :a6901. +:a6902 :a6902 :a6902. +:a6903 :a6903 :a6903. +:a6904 :a6904 :a6904. +:a6905 :a6905 :a6905. +:a6906 :a6906 :a6906. +:a6907 :a6907 :a6907. +:a6908 :a6908 :a6908. +:a6909 :a6909 :a6909. +:a6910 :a6910 :a6910. +:a6911 :a6911 :a6911. +:a6912 :a6912 :a6912. +:a6913 :a6913 :a6913. +:a6914 :a6914 :a6914. +:a6915 :a6915 :a6915. +:a6916 :a6916 :a6916. +:a6917 :a6917 :a6917. +:a6918 :a6918 :a6918. +:a6919 :a6919 :a6919. +:a6920 :a6920 :a6920. +:a6921 :a6921 :a6921. +:a6922 :a6922 :a6922. +:a6923 :a6923 :a6923. +:a6924 :a6924 :a6924. +:a6925 :a6925 :a6925. +:a6926 :a6926 :a6926. +:a6927 :a6927 :a6927. +:a6928 :a6928 :a6928. +:a6929 :a6929 :a6929. +:a6930 :a6930 :a6930. +:a6931 :a6931 :a6931. +:a6932 :a6932 :a6932. +:a6933 :a6933 :a6933. +:a6934 :a6934 :a6934. +:a6935 :a6935 :a6935. +:a6936 :a6936 :a6936. +:a6937 :a6937 :a6937. +:a6938 :a6938 :a6938. +:a6939 :a6939 :a6939. +:a6940 :a6940 :a6940. +:a6941 :a6941 :a6941. +:a6942 :a6942 :a6942. +:a6943 :a6943 :a6943. +:a6944 :a6944 :a6944. +:a6945 :a6945 :a6945. +:a6946 :a6946 :a6946. +:a6947 :a6947 :a6947. +:a6948 :a6948 :a6948. +:a6949 :a6949 :a6949. +:a6950 :a6950 :a6950. +:a6951 :a6951 :a6951. +:a6952 :a6952 :a6952. +:a6953 :a6953 :a6953. +:a6954 :a6954 :a6954. +:a6955 :a6955 :a6955. +:a6956 :a6956 :a6956. +:a6957 :a6957 :a6957. +:a6958 :a6958 :a6958. +:a6959 :a6959 :a6959. +:a6960 :a6960 :a6960. +:a6961 :a6961 :a6961. +:a6962 :a6962 :a6962. +:a6963 :a6963 :a6963. +:a6964 :a6964 :a6964. +:a6965 :a6965 :a6965. +:a6966 :a6966 :a6966. +:a6967 :a6967 :a6967. +:a6968 :a6968 :a6968. +:a6969 :a6969 :a6969. +:a6970 :a6970 :a6970. +:a6971 :a6971 :a6971. +:a6972 :a6972 :a6972. +:a6973 :a6973 :a6973. +:a6974 :a6974 :a6974. +:a6975 :a6975 :a6975. +:a6976 :a6976 :a6976. +:a6977 :a6977 :a6977. +:a6978 :a6978 :a6978. +:a6979 :a6979 :a6979. +:a6980 :a6980 :a6980. +:a6981 :a6981 :a6981. +:a6982 :a6982 :a6982. +:a6983 :a6983 :a6983. +:a6984 :a6984 :a6984. +:a6985 :a6985 :a6985. +:a6986 :a6986 :a6986. +:a6987 :a6987 :a6987. +:a6988 :a6988 :a6988. +:a6989 :a6989 :a6989. +:a6990 :a6990 :a6990. +:a6991 :a6991 :a6991. +:a6992 :a6992 :a6992. +:a6993 :a6993 :a6993. +:a6994 :a6994 :a6994. +:a6995 :a6995 :a6995. +:a6996 :a6996 :a6996. +:a6997 :a6997 :a6997. +:a6998 :a6998 :a6998. +:a6999 :a6999 :a6999. +:a7000 :a7000 :a7000. +:a7001 :a7001 :a7001. +:a7002 :a7002 :a7002. +:a7003 :a7003 :a7003. +:a7004 :a7004 :a7004. +:a7005 :a7005 :a7005. +:a7006 :a7006 :a7006. +:a7007 :a7007 :a7007. +:a7008 :a7008 :a7008. +:a7009 :a7009 :a7009. +:a7010 :a7010 :a7010. +:a7011 :a7011 :a7011. +:a7012 :a7012 :a7012. +:a7013 :a7013 :a7013. +:a7014 :a7014 :a7014. +:a7015 :a7015 :a7015. +:a7016 :a7016 :a7016. +:a7017 :a7017 :a7017. +:a7018 :a7018 :a7018. +:a7019 :a7019 :a7019. +:a7020 :a7020 :a7020. +:a7021 :a7021 :a7021. +:a7022 :a7022 :a7022. +:a7023 :a7023 :a7023. +:a7024 :a7024 :a7024. +:a7025 :a7025 :a7025. +:a7026 :a7026 :a7026. +:a7027 :a7027 :a7027. +:a7028 :a7028 :a7028. +:a7029 :a7029 :a7029. +:a7030 :a7030 :a7030. +:a7031 :a7031 :a7031. +:a7032 :a7032 :a7032. +:a7033 :a7033 :a7033. +:a7034 :a7034 :a7034. +:a7035 :a7035 :a7035. +:a7036 :a7036 :a7036. +:a7037 :a7037 :a7037. +:a7038 :a7038 :a7038. +:a7039 :a7039 :a7039. +:a7040 :a7040 :a7040. +:a7041 :a7041 :a7041. +:a7042 :a7042 :a7042. +:a7043 :a7043 :a7043. +:a7044 :a7044 :a7044. +:a7045 :a7045 :a7045. +:a7046 :a7046 :a7046. +:a7047 :a7047 :a7047. +:a7048 :a7048 :a7048. +:a7049 :a7049 :a7049. +:a7050 :a7050 :a7050. +:a7051 :a7051 :a7051. +:a7052 :a7052 :a7052. +:a7053 :a7053 :a7053. +:a7054 :a7054 :a7054. +:a7055 :a7055 :a7055. +:a7056 :a7056 :a7056. +:a7057 :a7057 :a7057. +:a7058 :a7058 :a7058. +:a7059 :a7059 :a7059. +:a7060 :a7060 :a7060. +:a7061 :a7061 :a7061. +:a7062 :a7062 :a7062. +:a7063 :a7063 :a7063. +:a7064 :a7064 :a7064. +:a7065 :a7065 :a7065. +:a7066 :a7066 :a7066. +:a7067 :a7067 :a7067. +:a7068 :a7068 :a7068. +:a7069 :a7069 :a7069. +:a7070 :a7070 :a7070. +:a7071 :a7071 :a7071. +:a7072 :a7072 :a7072. +:a7073 :a7073 :a7073. +:a7074 :a7074 :a7074. +:a7075 :a7075 :a7075. +:a7076 :a7076 :a7076. +:a7077 :a7077 :a7077. +:a7078 :a7078 :a7078. +:a7079 :a7079 :a7079. +:a7080 :a7080 :a7080. +:a7081 :a7081 :a7081. +:a7082 :a7082 :a7082. +:a7083 :a7083 :a7083. +:a7084 :a7084 :a7084. +:a7085 :a7085 :a7085. +:a7086 :a7086 :a7086. +:a7087 :a7087 :a7087. +:a7088 :a7088 :a7088. +:a7089 :a7089 :a7089. +:a7090 :a7090 :a7090. +:a7091 :a7091 :a7091. +:a7092 :a7092 :a7092. +:a7093 :a7093 :a7093. +:a7094 :a7094 :a7094. +:a7095 :a7095 :a7095. +:a7096 :a7096 :a7096. +:a7097 :a7097 :a7097. +:a7098 :a7098 :a7098. +:a7099 :a7099 :a7099. +:a7100 :a7100 :a7100. +:a7101 :a7101 :a7101. +:a7102 :a7102 :a7102. +:a7103 :a7103 :a7103. +:a7104 :a7104 :a7104. +:a7105 :a7105 :a7105. +:a7106 :a7106 :a7106. +:a7107 :a7107 :a7107. +:a7108 :a7108 :a7108. +:a7109 :a7109 :a7109. +:a7110 :a7110 :a7110. +:a7111 :a7111 :a7111. +:a7112 :a7112 :a7112. +:a7113 :a7113 :a7113. +:a7114 :a7114 :a7114. +:a7115 :a7115 :a7115. +:a7116 :a7116 :a7116. +:a7117 :a7117 :a7117. +:a7118 :a7118 :a7118. +:a7119 :a7119 :a7119. +:a7120 :a7120 :a7120. +:a7121 :a7121 :a7121. +:a7122 :a7122 :a7122. +:a7123 :a7123 :a7123. +:a7124 :a7124 :a7124. +:a7125 :a7125 :a7125. +:a7126 :a7126 :a7126. +:a7127 :a7127 :a7127. +:a7128 :a7128 :a7128. +:a7129 :a7129 :a7129. +:a7130 :a7130 :a7130. +:a7131 :a7131 :a7131. +:a7132 :a7132 :a7132. +:a7133 :a7133 :a7133. +:a7134 :a7134 :a7134. +:a7135 :a7135 :a7135. +:a7136 :a7136 :a7136. +:a7137 :a7137 :a7137. +:a7138 :a7138 :a7138. +:a7139 :a7139 :a7139. +:a7140 :a7140 :a7140. +:a7141 :a7141 :a7141. +:a7142 :a7142 :a7142. +:a7143 :a7143 :a7143. +:a7144 :a7144 :a7144. +:a7145 :a7145 :a7145. +:a7146 :a7146 :a7146. +:a7147 :a7147 :a7147. +:a7148 :a7148 :a7148. +:a7149 :a7149 :a7149. +:a7150 :a7150 :a7150. +:a7151 :a7151 :a7151. +:a7152 :a7152 :a7152. +:a7153 :a7153 :a7153. +:a7154 :a7154 :a7154. +:a7155 :a7155 :a7155. +:a7156 :a7156 :a7156. +:a7157 :a7157 :a7157. +:a7158 :a7158 :a7158. +:a7159 :a7159 :a7159. +:a7160 :a7160 :a7160. +:a7161 :a7161 :a7161. +:a7162 :a7162 :a7162. +:a7163 :a7163 :a7163. +:a7164 :a7164 :a7164. +:a7165 :a7165 :a7165. +:a7166 :a7166 :a7166. +:a7167 :a7167 :a7167. +:a7168 :a7168 :a7168. +:a7169 :a7169 :a7169. +:a7170 :a7170 :a7170. +:a7171 :a7171 :a7171. +:a7172 :a7172 :a7172. +:a7173 :a7173 :a7173. +:a7174 :a7174 :a7174. +:a7175 :a7175 :a7175. +:a7176 :a7176 :a7176. +:a7177 :a7177 :a7177. +:a7178 :a7178 :a7178. +:a7179 :a7179 :a7179. +:a7180 :a7180 :a7180. +:a7181 :a7181 :a7181. +:a7182 :a7182 :a7182. +:a7183 :a7183 :a7183. +:a7184 :a7184 :a7184. +:a7185 :a7185 :a7185. +:a7186 :a7186 :a7186. +:a7187 :a7187 :a7187. +:a7188 :a7188 :a7188. +:a7189 :a7189 :a7189. +:a7190 :a7190 :a7190. +:a7191 :a7191 :a7191. +:a7192 :a7192 :a7192. +:a7193 :a7193 :a7193. +:a7194 :a7194 :a7194. +:a7195 :a7195 :a7195. +:a7196 :a7196 :a7196. +:a7197 :a7197 :a7197. +:a7198 :a7198 :a7198. +:a7199 :a7199 :a7199. +:a7200 :a7200 :a7200. +:a7201 :a7201 :a7201. +:a7202 :a7202 :a7202. +:a7203 :a7203 :a7203. +:a7204 :a7204 :a7204. +:a7205 :a7205 :a7205. +:a7206 :a7206 :a7206. +:a7207 :a7207 :a7207. +:a7208 :a7208 :a7208. +:a7209 :a7209 :a7209. +:a7210 :a7210 :a7210. +:a7211 :a7211 :a7211. +:a7212 :a7212 :a7212. +:a7213 :a7213 :a7213. +:a7214 :a7214 :a7214. +:a7215 :a7215 :a7215. +:a7216 :a7216 :a7216. +:a7217 :a7217 :a7217. +:a7218 :a7218 :a7218. +:a7219 :a7219 :a7219. +:a7220 :a7220 :a7220. +:a7221 :a7221 :a7221. +:a7222 :a7222 :a7222. +:a7223 :a7223 :a7223. +:a7224 :a7224 :a7224. +:a7225 :a7225 :a7225. +:a7226 :a7226 :a7226. +:a7227 :a7227 :a7227. +:a7228 :a7228 :a7228. +:a7229 :a7229 :a7229. +:a7230 :a7230 :a7230. +:a7231 :a7231 :a7231. +:a7232 :a7232 :a7232. +:a7233 :a7233 :a7233. +:a7234 :a7234 :a7234. +:a7235 :a7235 :a7235. +:a7236 :a7236 :a7236. +:a7237 :a7237 :a7237. +:a7238 :a7238 :a7238. +:a7239 :a7239 :a7239. +:a7240 :a7240 :a7240. +:a7241 :a7241 :a7241. +:a7242 :a7242 :a7242. +:a7243 :a7243 :a7243. +:a7244 :a7244 :a7244. +:a7245 :a7245 :a7245. +:a7246 :a7246 :a7246. +:a7247 :a7247 :a7247. +:a7248 :a7248 :a7248. +:a7249 :a7249 :a7249. +:a7250 :a7250 :a7250. +:a7251 :a7251 :a7251. +:a7252 :a7252 :a7252. +:a7253 :a7253 :a7253. +:a7254 :a7254 :a7254. +:a7255 :a7255 :a7255. +:a7256 :a7256 :a7256. +:a7257 :a7257 :a7257. +:a7258 :a7258 :a7258. +:a7259 :a7259 :a7259. +:a7260 :a7260 :a7260. +:a7261 :a7261 :a7261. +:a7262 :a7262 :a7262. +:a7263 :a7263 :a7263. +:a7264 :a7264 :a7264. +:a7265 :a7265 :a7265. +:a7266 :a7266 :a7266. +:a7267 :a7267 :a7267. +:a7268 :a7268 :a7268. +:a7269 :a7269 :a7269. +:a7270 :a7270 :a7270. +:a7271 :a7271 :a7271. +:a7272 :a7272 :a7272. +:a7273 :a7273 :a7273. +:a7274 :a7274 :a7274. +:a7275 :a7275 :a7275. +:a7276 :a7276 :a7276. +:a7277 :a7277 :a7277. +:a7278 :a7278 :a7278. +:a7279 :a7279 :a7279. +:a7280 :a7280 :a7280. +:a7281 :a7281 :a7281. +:a7282 :a7282 :a7282. +:a7283 :a7283 :a7283. +:a7284 :a7284 :a7284. +:a7285 :a7285 :a7285. +:a7286 :a7286 :a7286. +:a7287 :a7287 :a7287. +:a7288 :a7288 :a7288. +:a7289 :a7289 :a7289. +:a7290 :a7290 :a7290. +:a7291 :a7291 :a7291. +:a7292 :a7292 :a7292. +:a7293 :a7293 :a7293. +:a7294 :a7294 :a7294. +:a7295 :a7295 :a7295. +:a7296 :a7296 :a7296. +:a7297 :a7297 :a7297. +:a7298 :a7298 :a7298. +:a7299 :a7299 :a7299. +:a7300 :a7300 :a7300. +:a7301 :a7301 :a7301. +:a7302 :a7302 :a7302. +:a7303 :a7303 :a7303. +:a7304 :a7304 :a7304. +:a7305 :a7305 :a7305. +:a7306 :a7306 :a7306. +:a7307 :a7307 :a7307. +:a7308 :a7308 :a7308. +:a7309 :a7309 :a7309. +:a7310 :a7310 :a7310. +:a7311 :a7311 :a7311. +:a7312 :a7312 :a7312. +:a7313 :a7313 :a7313. +:a7314 :a7314 :a7314. +:a7315 :a7315 :a7315. +:a7316 :a7316 :a7316. +:a7317 :a7317 :a7317. +:a7318 :a7318 :a7318. +:a7319 :a7319 :a7319. +:a7320 :a7320 :a7320. +:a7321 :a7321 :a7321. +:a7322 :a7322 :a7322. +:a7323 :a7323 :a7323. +:a7324 :a7324 :a7324. +:a7325 :a7325 :a7325. +:a7326 :a7326 :a7326. +:a7327 :a7327 :a7327. +:a7328 :a7328 :a7328. +:a7329 :a7329 :a7329. +:a7330 :a7330 :a7330. +:a7331 :a7331 :a7331. +:a7332 :a7332 :a7332. +:a7333 :a7333 :a7333. +:a7334 :a7334 :a7334. +:a7335 :a7335 :a7335. +:a7336 :a7336 :a7336. +:a7337 :a7337 :a7337. +:a7338 :a7338 :a7338. +:a7339 :a7339 :a7339. +:a7340 :a7340 :a7340. +:a7341 :a7341 :a7341. +:a7342 :a7342 :a7342. +:a7343 :a7343 :a7343. +:a7344 :a7344 :a7344. +:a7345 :a7345 :a7345. +:a7346 :a7346 :a7346. +:a7347 :a7347 :a7347. +:a7348 :a7348 :a7348. +:a7349 :a7349 :a7349. +:a7350 :a7350 :a7350. +:a7351 :a7351 :a7351. +:a7352 :a7352 :a7352. +:a7353 :a7353 :a7353. +:a7354 :a7354 :a7354. +:a7355 :a7355 :a7355. +:a7356 :a7356 :a7356. +:a7357 :a7357 :a7357. +:a7358 :a7358 :a7358. +:a7359 :a7359 :a7359. +:a7360 :a7360 :a7360. +:a7361 :a7361 :a7361. +:a7362 :a7362 :a7362. +:a7363 :a7363 :a7363. +:a7364 :a7364 :a7364. +:a7365 :a7365 :a7365. +:a7366 :a7366 :a7366. +:a7367 :a7367 :a7367. +:a7368 :a7368 :a7368. +:a7369 :a7369 :a7369. +:a7370 :a7370 :a7370. +:a7371 :a7371 :a7371. +:a7372 :a7372 :a7372. +:a7373 :a7373 :a7373. +:a7374 :a7374 :a7374. +:a7375 :a7375 :a7375. +:a7376 :a7376 :a7376. +:a7377 :a7377 :a7377. +:a7378 :a7378 :a7378. +:a7379 :a7379 :a7379. +:a7380 :a7380 :a7380. +:a7381 :a7381 :a7381. +:a7382 :a7382 :a7382. +:a7383 :a7383 :a7383. +:a7384 :a7384 :a7384. +:a7385 :a7385 :a7385. +:a7386 :a7386 :a7386. +:a7387 :a7387 :a7387. +:a7388 :a7388 :a7388. +:a7389 :a7389 :a7389. +:a7390 :a7390 :a7390. +:a7391 :a7391 :a7391. +:a7392 :a7392 :a7392. +:a7393 :a7393 :a7393. +:a7394 :a7394 :a7394. +:a7395 :a7395 :a7395. +:a7396 :a7396 :a7396. +:a7397 :a7397 :a7397. +:a7398 :a7398 :a7398. +:a7399 :a7399 :a7399. +:a7400 :a7400 :a7400. +:a7401 :a7401 :a7401. +:a7402 :a7402 :a7402. +:a7403 :a7403 :a7403. +:a7404 :a7404 :a7404. +:a7405 :a7405 :a7405. +:a7406 :a7406 :a7406. +:a7407 :a7407 :a7407. +:a7408 :a7408 :a7408. +:a7409 :a7409 :a7409. +:a7410 :a7410 :a7410. +:a7411 :a7411 :a7411. +:a7412 :a7412 :a7412. +:a7413 :a7413 :a7413. +:a7414 :a7414 :a7414. +:a7415 :a7415 :a7415. +:a7416 :a7416 :a7416. +:a7417 :a7417 :a7417. +:a7418 :a7418 :a7418. +:a7419 :a7419 :a7419. +:a7420 :a7420 :a7420. +:a7421 :a7421 :a7421. +:a7422 :a7422 :a7422. +:a7423 :a7423 :a7423. +:a7424 :a7424 :a7424. +:a7425 :a7425 :a7425. +:a7426 :a7426 :a7426. +:a7427 :a7427 :a7427. +:a7428 :a7428 :a7428. +:a7429 :a7429 :a7429. +:a7430 :a7430 :a7430. +:a7431 :a7431 :a7431. +:a7432 :a7432 :a7432. +:a7433 :a7433 :a7433. +:a7434 :a7434 :a7434. +:a7435 :a7435 :a7435. +:a7436 :a7436 :a7436. +:a7437 :a7437 :a7437. +:a7438 :a7438 :a7438. +:a7439 :a7439 :a7439. +:a7440 :a7440 :a7440. +:a7441 :a7441 :a7441. +:a7442 :a7442 :a7442. +:a7443 :a7443 :a7443. +:a7444 :a7444 :a7444. +:a7445 :a7445 :a7445. +:a7446 :a7446 :a7446. +:a7447 :a7447 :a7447. +:a7448 :a7448 :a7448. +:a7449 :a7449 :a7449. +:a7450 :a7450 :a7450. +:a7451 :a7451 :a7451. +:a7452 :a7452 :a7452. +:a7453 :a7453 :a7453. +:a7454 :a7454 :a7454. +:a7455 :a7455 :a7455. +:a7456 :a7456 :a7456. +:a7457 :a7457 :a7457. +:a7458 :a7458 :a7458. +:a7459 :a7459 :a7459. +:a7460 :a7460 :a7460. +:a7461 :a7461 :a7461. +:a7462 :a7462 :a7462. +:a7463 :a7463 :a7463. +:a7464 :a7464 :a7464. +:a7465 :a7465 :a7465. +:a7466 :a7466 :a7466. +:a7467 :a7467 :a7467. +:a7468 :a7468 :a7468. +:a7469 :a7469 :a7469. +:a7470 :a7470 :a7470. +:a7471 :a7471 :a7471. +:a7472 :a7472 :a7472. +:a7473 :a7473 :a7473. +:a7474 :a7474 :a7474. +:a7475 :a7475 :a7475. +:a7476 :a7476 :a7476. +:a7477 :a7477 :a7477. +:a7478 :a7478 :a7478. +:a7479 :a7479 :a7479. +:a7480 :a7480 :a7480. +:a7481 :a7481 :a7481. +:a7482 :a7482 :a7482. +:a7483 :a7483 :a7483. +:a7484 :a7484 :a7484. +:a7485 :a7485 :a7485. +:a7486 :a7486 :a7486. +:a7487 :a7487 :a7487. +:a7488 :a7488 :a7488. +:a7489 :a7489 :a7489. +:a7490 :a7490 :a7490. +:a7491 :a7491 :a7491. +:a7492 :a7492 :a7492. +:a7493 :a7493 :a7493. +:a7494 :a7494 :a7494. +:a7495 :a7495 :a7495. +:a7496 :a7496 :a7496. +:a7497 :a7497 :a7497. +:a7498 :a7498 :a7498. +:a7499 :a7499 :a7499. +:a7500 :a7500 :a7500. +:a7501 :a7501 :a7501. +:a7502 :a7502 :a7502. +:a7503 :a7503 :a7503. +:a7504 :a7504 :a7504. +:a7505 :a7505 :a7505. +:a7506 :a7506 :a7506. +:a7507 :a7507 :a7507. +:a7508 :a7508 :a7508. +:a7509 :a7509 :a7509. +:a7510 :a7510 :a7510. +:a7511 :a7511 :a7511. +:a7512 :a7512 :a7512. +:a7513 :a7513 :a7513. +:a7514 :a7514 :a7514. +:a7515 :a7515 :a7515. +:a7516 :a7516 :a7516. +:a7517 :a7517 :a7517. +:a7518 :a7518 :a7518. +:a7519 :a7519 :a7519. +:a7520 :a7520 :a7520. +:a7521 :a7521 :a7521. +:a7522 :a7522 :a7522. +:a7523 :a7523 :a7523. +:a7524 :a7524 :a7524. +:a7525 :a7525 :a7525. +:a7526 :a7526 :a7526. +:a7527 :a7527 :a7527. +:a7528 :a7528 :a7528. +:a7529 :a7529 :a7529. +:a7530 :a7530 :a7530. +:a7531 :a7531 :a7531. +:a7532 :a7532 :a7532. +:a7533 :a7533 :a7533. +:a7534 :a7534 :a7534. +:a7535 :a7535 :a7535. +:a7536 :a7536 :a7536. +:a7537 :a7537 :a7537. +:a7538 :a7538 :a7538. +:a7539 :a7539 :a7539. +:a7540 :a7540 :a7540. +:a7541 :a7541 :a7541. +:a7542 :a7542 :a7542. +:a7543 :a7543 :a7543. +:a7544 :a7544 :a7544. +:a7545 :a7545 :a7545. +:a7546 :a7546 :a7546. +:a7547 :a7547 :a7547. +:a7548 :a7548 :a7548. +:a7549 :a7549 :a7549. +:a7550 :a7550 :a7550. +:a7551 :a7551 :a7551. +:a7552 :a7552 :a7552. +:a7553 :a7553 :a7553. +:a7554 :a7554 :a7554. +:a7555 :a7555 :a7555. +:a7556 :a7556 :a7556. +:a7557 :a7557 :a7557. +:a7558 :a7558 :a7558. +:a7559 :a7559 :a7559. +:a7560 :a7560 :a7560. +:a7561 :a7561 :a7561. +:a7562 :a7562 :a7562. +:a7563 :a7563 :a7563. +:a7564 :a7564 :a7564. +:a7565 :a7565 :a7565. +:a7566 :a7566 :a7566. +:a7567 :a7567 :a7567. +:a7568 :a7568 :a7568. +:a7569 :a7569 :a7569. +:a7570 :a7570 :a7570. +:a7571 :a7571 :a7571. +:a7572 :a7572 :a7572. +:a7573 :a7573 :a7573. +:a7574 :a7574 :a7574. +:a7575 :a7575 :a7575. +:a7576 :a7576 :a7576. +:a7577 :a7577 :a7577. +:a7578 :a7578 :a7578. +:a7579 :a7579 :a7579. +:a7580 :a7580 :a7580. +:a7581 :a7581 :a7581. +:a7582 :a7582 :a7582. +:a7583 :a7583 :a7583. +:a7584 :a7584 :a7584. +:a7585 :a7585 :a7585. +:a7586 :a7586 :a7586. +:a7587 :a7587 :a7587. +:a7588 :a7588 :a7588. +:a7589 :a7589 :a7589. +:a7590 :a7590 :a7590. +:a7591 :a7591 :a7591. +:a7592 :a7592 :a7592. +:a7593 :a7593 :a7593. +:a7594 :a7594 :a7594. +:a7595 :a7595 :a7595. +:a7596 :a7596 :a7596. +:a7597 :a7597 :a7597. +:a7598 :a7598 :a7598. +:a7599 :a7599 :a7599. +:a7600 :a7600 :a7600. +:a7601 :a7601 :a7601. +:a7602 :a7602 :a7602. +:a7603 :a7603 :a7603. +:a7604 :a7604 :a7604. +:a7605 :a7605 :a7605. +:a7606 :a7606 :a7606. +:a7607 :a7607 :a7607. +:a7608 :a7608 :a7608. +:a7609 :a7609 :a7609. +:a7610 :a7610 :a7610. +:a7611 :a7611 :a7611. +:a7612 :a7612 :a7612. +:a7613 :a7613 :a7613. +:a7614 :a7614 :a7614. +:a7615 :a7615 :a7615. +:a7616 :a7616 :a7616. +:a7617 :a7617 :a7617. +:a7618 :a7618 :a7618. +:a7619 :a7619 :a7619. +:a7620 :a7620 :a7620. +:a7621 :a7621 :a7621. +:a7622 :a7622 :a7622. +:a7623 :a7623 :a7623. +:a7624 :a7624 :a7624. +:a7625 :a7625 :a7625. +:a7626 :a7626 :a7626. +:a7627 :a7627 :a7627. +:a7628 :a7628 :a7628. +:a7629 :a7629 :a7629. +:a7630 :a7630 :a7630. +:a7631 :a7631 :a7631. +:a7632 :a7632 :a7632. +:a7633 :a7633 :a7633. +:a7634 :a7634 :a7634. +:a7635 :a7635 :a7635. +:a7636 :a7636 :a7636. +:a7637 :a7637 :a7637. +:a7638 :a7638 :a7638. +:a7639 :a7639 :a7639. +:a7640 :a7640 :a7640. +:a7641 :a7641 :a7641. +:a7642 :a7642 :a7642. +:a7643 :a7643 :a7643. +:a7644 :a7644 :a7644. +:a7645 :a7645 :a7645. +:a7646 :a7646 :a7646. +:a7647 :a7647 :a7647. +:a7648 :a7648 :a7648. +:a7649 :a7649 :a7649. +:a7650 :a7650 :a7650. +:a7651 :a7651 :a7651. +:a7652 :a7652 :a7652. +:a7653 :a7653 :a7653. +:a7654 :a7654 :a7654. +:a7655 :a7655 :a7655. +:a7656 :a7656 :a7656. +:a7657 :a7657 :a7657. +:a7658 :a7658 :a7658. +:a7659 :a7659 :a7659. +:a7660 :a7660 :a7660. +:a7661 :a7661 :a7661. +:a7662 :a7662 :a7662. +:a7663 :a7663 :a7663. +:a7664 :a7664 :a7664. +:a7665 :a7665 :a7665. +:a7666 :a7666 :a7666. +:a7667 :a7667 :a7667. +:a7668 :a7668 :a7668. +:a7669 :a7669 :a7669. +:a7670 :a7670 :a7670. +:a7671 :a7671 :a7671. +:a7672 :a7672 :a7672. +:a7673 :a7673 :a7673. +:a7674 :a7674 :a7674. +:a7675 :a7675 :a7675. +:a7676 :a7676 :a7676. +:a7677 :a7677 :a7677. +:a7678 :a7678 :a7678. +:a7679 :a7679 :a7679. +:a7680 :a7680 :a7680. +:a7681 :a7681 :a7681. +:a7682 :a7682 :a7682. +:a7683 :a7683 :a7683. +:a7684 :a7684 :a7684. +:a7685 :a7685 :a7685. +:a7686 :a7686 :a7686. +:a7687 :a7687 :a7687. +:a7688 :a7688 :a7688. +:a7689 :a7689 :a7689. +:a7690 :a7690 :a7690. +:a7691 :a7691 :a7691. +:a7692 :a7692 :a7692. +:a7693 :a7693 :a7693. +:a7694 :a7694 :a7694. +:a7695 :a7695 :a7695. +:a7696 :a7696 :a7696. +:a7697 :a7697 :a7697. +:a7698 :a7698 :a7698. +:a7699 :a7699 :a7699. +:a7700 :a7700 :a7700. +:a7701 :a7701 :a7701. +:a7702 :a7702 :a7702. +:a7703 :a7703 :a7703. +:a7704 :a7704 :a7704. +:a7705 :a7705 :a7705. +:a7706 :a7706 :a7706. +:a7707 :a7707 :a7707. +:a7708 :a7708 :a7708. +:a7709 :a7709 :a7709. +:a7710 :a7710 :a7710. +:a7711 :a7711 :a7711. +:a7712 :a7712 :a7712. +:a7713 :a7713 :a7713. +:a7714 :a7714 :a7714. +:a7715 :a7715 :a7715. +:a7716 :a7716 :a7716. +:a7717 :a7717 :a7717. +:a7718 :a7718 :a7718. +:a7719 :a7719 :a7719. +:a7720 :a7720 :a7720. +:a7721 :a7721 :a7721. +:a7722 :a7722 :a7722. +:a7723 :a7723 :a7723. +:a7724 :a7724 :a7724. +:a7725 :a7725 :a7725. +:a7726 :a7726 :a7726. +:a7727 :a7727 :a7727. +:a7728 :a7728 :a7728. +:a7729 :a7729 :a7729. +:a7730 :a7730 :a7730. +:a7731 :a7731 :a7731. +:a7732 :a7732 :a7732. +:a7733 :a7733 :a7733. +:a7734 :a7734 :a7734. +:a7735 :a7735 :a7735. +:a7736 :a7736 :a7736. +:a7737 :a7737 :a7737. +:a7738 :a7738 :a7738. +:a7739 :a7739 :a7739. +:a7740 :a7740 :a7740. +:a7741 :a7741 :a7741. +:a7742 :a7742 :a7742. +:a7743 :a7743 :a7743. +:a7744 :a7744 :a7744. +:a7745 :a7745 :a7745. +:a7746 :a7746 :a7746. +:a7747 :a7747 :a7747. +:a7748 :a7748 :a7748. +:a7749 :a7749 :a7749. +:a7750 :a7750 :a7750. +:a7751 :a7751 :a7751. +:a7752 :a7752 :a7752. +:a7753 :a7753 :a7753. +:a7754 :a7754 :a7754. +:a7755 :a7755 :a7755. +:a7756 :a7756 :a7756. +:a7757 :a7757 :a7757. +:a7758 :a7758 :a7758. +:a7759 :a7759 :a7759. +:a7760 :a7760 :a7760. +:a7761 :a7761 :a7761. +:a7762 :a7762 :a7762. +:a7763 :a7763 :a7763. +:a7764 :a7764 :a7764. +:a7765 :a7765 :a7765. +:a7766 :a7766 :a7766. +:a7767 :a7767 :a7767. +:a7768 :a7768 :a7768. +:a7769 :a7769 :a7769. +:a7770 :a7770 :a7770. +:a7771 :a7771 :a7771. +:a7772 :a7772 :a7772. +:a7773 :a7773 :a7773. +:a7774 :a7774 :a7774. +:a7775 :a7775 :a7775. +:a7776 :a7776 :a7776. +:a7777 :a7777 :a7777. +:a7778 :a7778 :a7778. +:a7779 :a7779 :a7779. +:a7780 :a7780 :a7780. +:a7781 :a7781 :a7781. +:a7782 :a7782 :a7782. +:a7783 :a7783 :a7783. +:a7784 :a7784 :a7784. +:a7785 :a7785 :a7785. +:a7786 :a7786 :a7786. +:a7787 :a7787 :a7787. +:a7788 :a7788 :a7788. +:a7789 :a7789 :a7789. +:a7790 :a7790 :a7790. +:a7791 :a7791 :a7791. +:a7792 :a7792 :a7792. +:a7793 :a7793 :a7793. +:a7794 :a7794 :a7794. +:a7795 :a7795 :a7795. +:a7796 :a7796 :a7796. +:a7797 :a7797 :a7797. +:a7798 :a7798 :a7798. +:a7799 :a7799 :a7799. +:a7800 :a7800 :a7800. +:a7801 :a7801 :a7801. +:a7802 :a7802 :a7802. +:a7803 :a7803 :a7803. +:a7804 :a7804 :a7804. +:a7805 :a7805 :a7805. +:a7806 :a7806 :a7806. +:a7807 :a7807 :a7807. +:a7808 :a7808 :a7808. +:a7809 :a7809 :a7809. +:a7810 :a7810 :a7810. +:a7811 :a7811 :a7811. +:a7812 :a7812 :a7812. +:a7813 :a7813 :a7813. +:a7814 :a7814 :a7814. +:a7815 :a7815 :a7815. +:a7816 :a7816 :a7816. +:a7817 :a7817 :a7817. +:a7818 :a7818 :a7818. +:a7819 :a7819 :a7819. +:a7820 :a7820 :a7820. +:a7821 :a7821 :a7821. +:a7822 :a7822 :a7822. +:a7823 :a7823 :a7823. +:a7824 :a7824 :a7824. +:a7825 :a7825 :a7825. +:a7826 :a7826 :a7826. +:a7827 :a7827 :a7827. +:a7828 :a7828 :a7828. +:a7829 :a7829 :a7829. +:a7830 :a7830 :a7830. +:a7831 :a7831 :a7831. +:a7832 :a7832 :a7832. +:a7833 :a7833 :a7833. +:a7834 :a7834 :a7834. +:a7835 :a7835 :a7835. +:a7836 :a7836 :a7836. +:a7837 :a7837 :a7837. +:a7838 :a7838 :a7838. +:a7839 :a7839 :a7839. +:a7840 :a7840 :a7840. +:a7841 :a7841 :a7841. +:a7842 :a7842 :a7842. +:a7843 :a7843 :a7843. +:a7844 :a7844 :a7844. +:a7845 :a7845 :a7845. +:a7846 :a7846 :a7846. +:a7847 :a7847 :a7847. +:a7848 :a7848 :a7848. +:a7849 :a7849 :a7849. +:a7850 :a7850 :a7850. +:a7851 :a7851 :a7851. +:a7852 :a7852 :a7852. +:a7853 :a7853 :a7853. +:a7854 :a7854 :a7854. +:a7855 :a7855 :a7855. +:a7856 :a7856 :a7856. +:a7857 :a7857 :a7857. +:a7858 :a7858 :a7858. +:a7859 :a7859 :a7859. +:a7860 :a7860 :a7860. +:a7861 :a7861 :a7861. +:a7862 :a7862 :a7862. +:a7863 :a7863 :a7863. +:a7864 :a7864 :a7864. +:a7865 :a7865 :a7865. +:a7866 :a7866 :a7866. +:a7867 :a7867 :a7867. +:a7868 :a7868 :a7868. +:a7869 :a7869 :a7869. +:a7870 :a7870 :a7870. +:a7871 :a7871 :a7871. +:a7872 :a7872 :a7872. +:a7873 :a7873 :a7873. +:a7874 :a7874 :a7874. +:a7875 :a7875 :a7875. +:a7876 :a7876 :a7876. +:a7877 :a7877 :a7877. +:a7878 :a7878 :a7878. +:a7879 :a7879 :a7879. +:a7880 :a7880 :a7880. +:a7881 :a7881 :a7881. +:a7882 :a7882 :a7882. +:a7883 :a7883 :a7883. +:a7884 :a7884 :a7884. +:a7885 :a7885 :a7885. +:a7886 :a7886 :a7886. +:a7887 :a7887 :a7887. +:a7888 :a7888 :a7888. +:a7889 :a7889 :a7889. +:a7890 :a7890 :a7890. +:a7891 :a7891 :a7891. +:a7892 :a7892 :a7892. +:a7893 :a7893 :a7893. +:a7894 :a7894 :a7894. +:a7895 :a7895 :a7895. +:a7896 :a7896 :a7896. +:a7897 :a7897 :a7897. +:a7898 :a7898 :a7898. +:a7899 :a7899 :a7899. +:a7900 :a7900 :a7900. +:a7901 :a7901 :a7901. +:a7902 :a7902 :a7902. +:a7903 :a7903 :a7903. +:a7904 :a7904 :a7904. +:a7905 :a7905 :a7905. +:a7906 :a7906 :a7906. +:a7907 :a7907 :a7907. +:a7908 :a7908 :a7908. +:a7909 :a7909 :a7909. +:a7910 :a7910 :a7910. +:a7911 :a7911 :a7911. +:a7912 :a7912 :a7912. +:a7913 :a7913 :a7913. +:a7914 :a7914 :a7914. +:a7915 :a7915 :a7915. +:a7916 :a7916 :a7916. +:a7917 :a7917 :a7917. +:a7918 :a7918 :a7918. +:a7919 :a7919 :a7919. +:a7920 :a7920 :a7920. +:a7921 :a7921 :a7921. +:a7922 :a7922 :a7922. +:a7923 :a7923 :a7923. +:a7924 :a7924 :a7924. +:a7925 :a7925 :a7925. +:a7926 :a7926 :a7926. +:a7927 :a7927 :a7927. +:a7928 :a7928 :a7928. +:a7929 :a7929 :a7929. +:a7930 :a7930 :a7930. +:a7931 :a7931 :a7931. +:a7932 :a7932 :a7932. +:a7933 :a7933 :a7933. +:a7934 :a7934 :a7934. +:a7935 :a7935 :a7935. +:a7936 :a7936 :a7936. +:a7937 :a7937 :a7937. +:a7938 :a7938 :a7938. +:a7939 :a7939 :a7939. +:a7940 :a7940 :a7940. +:a7941 :a7941 :a7941. +:a7942 :a7942 :a7942. +:a7943 :a7943 :a7943. +:a7944 :a7944 :a7944. +:a7945 :a7945 :a7945. +:a7946 :a7946 :a7946. +:a7947 :a7947 :a7947. +:a7948 :a7948 :a7948. +:a7949 :a7949 :a7949. +:a7950 :a7950 :a7950. +:a7951 :a7951 :a7951. +:a7952 :a7952 :a7952. +:a7953 :a7953 :a7953. +:a7954 :a7954 :a7954. +:a7955 :a7955 :a7955. +:a7956 :a7956 :a7956. +:a7957 :a7957 :a7957. +:a7958 :a7958 :a7958. +:a7959 :a7959 :a7959. +:a7960 :a7960 :a7960. +:a7961 :a7961 :a7961. +:a7962 :a7962 :a7962. +:a7963 :a7963 :a7963. +:a7964 :a7964 :a7964. +:a7965 :a7965 :a7965. +:a7966 :a7966 :a7966. +:a7967 :a7967 :a7967. +:a7968 :a7968 :a7968. +:a7969 :a7969 :a7969. +:a7970 :a7970 :a7970. +:a7971 :a7971 :a7971. +:a7972 :a7972 :a7972. +:a7973 :a7973 :a7973. +:a7974 :a7974 :a7974. +:a7975 :a7975 :a7975. +:a7976 :a7976 :a7976. +:a7977 :a7977 :a7977. +:a7978 :a7978 :a7978. +:a7979 :a7979 :a7979. +:a7980 :a7980 :a7980. +:a7981 :a7981 :a7981. +:a7982 :a7982 :a7982. +:a7983 :a7983 :a7983. +:a7984 :a7984 :a7984. +:a7985 :a7985 :a7985. +:a7986 :a7986 :a7986. +:a7987 :a7987 :a7987. +:a7988 :a7988 :a7988. +:a7989 :a7989 :a7989. +:a7990 :a7990 :a7990. +:a7991 :a7991 :a7991. +:a7992 :a7992 :a7992. +:a7993 :a7993 :a7993. +:a7994 :a7994 :a7994. +:a7995 :a7995 :a7995. +:a7996 :a7996 :a7996. +:a7997 :a7997 :a7997. +:a7998 :a7998 :a7998. +:a7999 :a7999 :a7999. +:a8000 :a8000 :a8000. +:a8001 :a8001 :a8001. +:a8002 :a8002 :a8002. +:a8003 :a8003 :a8003. +:a8004 :a8004 :a8004. +:a8005 :a8005 :a8005. +:a8006 :a8006 :a8006. +:a8007 :a8007 :a8007. +:a8008 :a8008 :a8008. +:a8009 :a8009 :a8009. +:a8010 :a8010 :a8010. +:a8011 :a8011 :a8011. +:a8012 :a8012 :a8012. +:a8013 :a8013 :a8013. +:a8014 :a8014 :a8014. +:a8015 :a8015 :a8015. +:a8016 :a8016 :a8016. +:a8017 :a8017 :a8017. +:a8018 :a8018 :a8018. +:a8019 :a8019 :a8019. +:a8020 :a8020 :a8020. +:a8021 :a8021 :a8021. +:a8022 :a8022 :a8022. +:a8023 :a8023 :a8023. +:a8024 :a8024 :a8024. +:a8025 :a8025 :a8025. +:a8026 :a8026 :a8026. +:a8027 :a8027 :a8027. +:a8028 :a8028 :a8028. +:a8029 :a8029 :a8029. +:a8030 :a8030 :a8030. +:a8031 :a8031 :a8031. +:a8032 :a8032 :a8032. +:a8033 :a8033 :a8033. +:a8034 :a8034 :a8034. +:a8035 :a8035 :a8035. +:a8036 :a8036 :a8036. +:a8037 :a8037 :a8037. +:a8038 :a8038 :a8038. +:a8039 :a8039 :a8039. +:a8040 :a8040 :a8040. +:a8041 :a8041 :a8041. +:a8042 :a8042 :a8042. +:a8043 :a8043 :a8043. +:a8044 :a8044 :a8044. +:a8045 :a8045 :a8045. +:a8046 :a8046 :a8046. +:a8047 :a8047 :a8047. +:a8048 :a8048 :a8048. +:a8049 :a8049 :a8049. +:a8050 :a8050 :a8050. +:a8051 :a8051 :a8051. +:a8052 :a8052 :a8052. +:a8053 :a8053 :a8053. +:a8054 :a8054 :a8054. +:a8055 :a8055 :a8055. +:a8056 :a8056 :a8056. +:a8057 :a8057 :a8057. +:a8058 :a8058 :a8058. +:a8059 :a8059 :a8059. +:a8060 :a8060 :a8060. +:a8061 :a8061 :a8061. +:a8062 :a8062 :a8062. +:a8063 :a8063 :a8063. +:a8064 :a8064 :a8064. +:a8065 :a8065 :a8065. +:a8066 :a8066 :a8066. +:a8067 :a8067 :a8067. +:a8068 :a8068 :a8068. +:a8069 :a8069 :a8069. +:a8070 :a8070 :a8070. +:a8071 :a8071 :a8071. +:a8072 :a8072 :a8072. +:a8073 :a8073 :a8073. +:a8074 :a8074 :a8074. +:a8075 :a8075 :a8075. +:a8076 :a8076 :a8076. +:a8077 :a8077 :a8077. +:a8078 :a8078 :a8078. +:a8079 :a8079 :a8079. +:a8080 :a8080 :a8080. +:a8081 :a8081 :a8081. +:a8082 :a8082 :a8082. +:a8083 :a8083 :a8083. +:a8084 :a8084 :a8084. +:a8085 :a8085 :a8085. +:a8086 :a8086 :a8086. +:a8087 :a8087 :a8087. +:a8088 :a8088 :a8088. +:a8089 :a8089 :a8089. +:a8090 :a8090 :a8090. +:a8091 :a8091 :a8091. +:a8092 :a8092 :a8092. +:a8093 :a8093 :a8093. +:a8094 :a8094 :a8094. +:a8095 :a8095 :a8095. +:a8096 :a8096 :a8096. +:a8097 :a8097 :a8097. +:a8098 :a8098 :a8098. +:a8099 :a8099 :a8099. +:a8100 :a8100 :a8100. +:a8101 :a8101 :a8101. +:a8102 :a8102 :a8102. +:a8103 :a8103 :a8103. +:a8104 :a8104 :a8104. +:a8105 :a8105 :a8105. +:a8106 :a8106 :a8106. +:a8107 :a8107 :a8107. +:a8108 :a8108 :a8108. +:a8109 :a8109 :a8109. +:a8110 :a8110 :a8110. +:a8111 :a8111 :a8111. +:a8112 :a8112 :a8112. +:a8113 :a8113 :a8113. +:a8114 :a8114 :a8114. +:a8115 :a8115 :a8115. +:a8116 :a8116 :a8116. +:a8117 :a8117 :a8117. +:a8118 :a8118 :a8118. +:a8119 :a8119 :a8119. +:a8120 :a8120 :a8120. +:a8121 :a8121 :a8121. +:a8122 :a8122 :a8122. +:a8123 :a8123 :a8123. +:a8124 :a8124 :a8124. +:a8125 :a8125 :a8125. +:a8126 :a8126 :a8126. +:a8127 :a8127 :a8127. +:a8128 :a8128 :a8128. +:a8129 :a8129 :a8129. +:a8130 :a8130 :a8130. +:a8131 :a8131 :a8131. +:a8132 :a8132 :a8132. +:a8133 :a8133 :a8133. +:a8134 :a8134 :a8134. +:a8135 :a8135 :a8135. +:a8136 :a8136 :a8136. +:a8137 :a8137 :a8137. +:a8138 :a8138 :a8138. +:a8139 :a8139 :a8139. +:a8140 :a8140 :a8140. +:a8141 :a8141 :a8141. +:a8142 :a8142 :a8142. +:a8143 :a8143 :a8143. +:a8144 :a8144 :a8144. +:a8145 :a8145 :a8145. +:a8146 :a8146 :a8146. +:a8147 :a8147 :a8147. +:a8148 :a8148 :a8148. +:a8149 :a8149 :a8149. +:a8150 :a8150 :a8150. +:a8151 :a8151 :a8151. +:a8152 :a8152 :a8152. +:a8153 :a8153 :a8153. +:a8154 :a8154 :a8154. +:a8155 :a8155 :a8155. +:a8156 :a8156 :a8156. +:a8157 :a8157 :a8157. +:a8158 :a8158 :a8158. +:a8159 :a8159 :a8159. +:a8160 :a8160 :a8160. +:a8161 :a8161 :a8161. +:a8162 :a8162 :a8162. +:a8163 :a8163 :a8163. +:a8164 :a8164 :a8164. +:a8165 :a8165 :a8165. +:a8166 :a8166 :a8166. +:a8167 :a8167 :a8167. +:a8168 :a8168 :a8168. +:a8169 :a8169 :a8169. +:a8170 :a8170 :a8170. +:a8171 :a8171 :a8171. +:a8172 :a8172 :a8172. +:a8173 :a8173 :a8173. +:a8174 :a8174 :a8174. +:a8175 :a8175 :a8175. +:a8176 :a8176 :a8176. +:a8177 :a8177 :a8177. +:a8178 :a8178 :a8178. +:a8179 :a8179 :a8179. +:a8180 :a8180 :a8180. +:a8181 :a8181 :a8181. +:a8182 :a8182 :a8182. +:a8183 :a8183 :a8183. +:a8184 :a8184 :a8184. +:a8185 :a8185 :a8185. +:a8186 :a8186 :a8186. +:a8187 :a8187 :a8187. +:a8188 :a8188 :a8188. +:a8189 :a8189 :a8189. +:a8190 :a8190 :a8190. +:a8191 :a8191 :a8191. +:a8192 :a8192 :a8192. +:a8193 :a8193 :a8193. +:a8194 :a8194 :a8194. +:a8195 :a8195 :a8195. +:a8196 :a8196 :a8196. +:a8197 :a8197 :a8197. +:a8198 :a8198 :a8198. +:a8199 :a8199 :a8199. +:a8200 :a8200 :a8200. +:a8201 :a8201 :a8201. +:a8202 :a8202 :a8202. +:a8203 :a8203 :a8203. +:a8204 :a8204 :a8204. +:a8205 :a8205 :a8205. +:a8206 :a8206 :a8206. +:a8207 :a8207 :a8207. +:a8208 :a8208 :a8208. +:a8209 :a8209 :a8209. +:a8210 :a8210 :a8210. +:a8211 :a8211 :a8211. +:a8212 :a8212 :a8212. +:a8213 :a8213 :a8213. +:a8214 :a8214 :a8214. +:a8215 :a8215 :a8215. +:a8216 :a8216 :a8216. +:a8217 :a8217 :a8217. +:a8218 :a8218 :a8218. +:a8219 :a8219 :a8219. +:a8220 :a8220 :a8220. +:a8221 :a8221 :a8221. +:a8222 :a8222 :a8222. +:a8223 :a8223 :a8223. +:a8224 :a8224 :a8224. +:a8225 :a8225 :a8225. +:a8226 :a8226 :a8226. +:a8227 :a8227 :a8227. +:a8228 :a8228 :a8228. +:a8229 :a8229 :a8229. +:a8230 :a8230 :a8230. +:a8231 :a8231 :a8231. +:a8232 :a8232 :a8232. +:a8233 :a8233 :a8233. +:a8234 :a8234 :a8234. +:a8235 :a8235 :a8235. +:a8236 :a8236 :a8236. +:a8237 :a8237 :a8237. +:a8238 :a8238 :a8238. +:a8239 :a8239 :a8239. +:a8240 :a8240 :a8240. +:a8241 :a8241 :a8241. +:a8242 :a8242 :a8242. +:a8243 :a8243 :a8243. +:a8244 :a8244 :a8244. +:a8245 :a8245 :a8245. +:a8246 :a8246 :a8246. +:a8247 :a8247 :a8247. +:a8248 :a8248 :a8248. +:a8249 :a8249 :a8249. +:a8250 :a8250 :a8250. +:a8251 :a8251 :a8251. +:a8252 :a8252 :a8252. +:a8253 :a8253 :a8253. +:a8254 :a8254 :a8254. +:a8255 :a8255 :a8255. +:a8256 :a8256 :a8256. +:a8257 :a8257 :a8257. +:a8258 :a8258 :a8258. +:a8259 :a8259 :a8259. +:a8260 :a8260 :a8260. +:a8261 :a8261 :a8261. +:a8262 :a8262 :a8262. +:a8263 :a8263 :a8263. +:a8264 :a8264 :a8264. +:a8265 :a8265 :a8265. +:a8266 :a8266 :a8266. +:a8267 :a8267 :a8267. +:a8268 :a8268 :a8268. +:a8269 :a8269 :a8269. +:a8270 :a8270 :a8270. +:a8271 :a8271 :a8271. +:a8272 :a8272 :a8272. +:a8273 :a8273 :a8273. +:a8274 :a8274 :a8274. +:a8275 :a8275 :a8275. +:a8276 :a8276 :a8276. +:a8277 :a8277 :a8277. +:a8278 :a8278 :a8278. +:a8279 :a8279 :a8279. +:a8280 :a8280 :a8280. +:a8281 :a8281 :a8281. +:a8282 :a8282 :a8282. +:a8283 :a8283 :a8283. +:a8284 :a8284 :a8284. +:a8285 :a8285 :a8285. +:a8286 :a8286 :a8286. +:a8287 :a8287 :a8287. +:a8288 :a8288 :a8288. +:a8289 :a8289 :a8289. +:a8290 :a8290 :a8290. +:a8291 :a8291 :a8291. +:a8292 :a8292 :a8292. +:a8293 :a8293 :a8293. +:a8294 :a8294 :a8294. +:a8295 :a8295 :a8295. +:a8296 :a8296 :a8296. +:a8297 :a8297 :a8297. +:a8298 :a8298 :a8298. +:a8299 :a8299 :a8299. +:a8300 :a8300 :a8300. +:a8301 :a8301 :a8301. +:a8302 :a8302 :a8302. +:a8303 :a8303 :a8303. +:a8304 :a8304 :a8304. +:a8305 :a8305 :a8305. +:a8306 :a8306 :a8306. +:a8307 :a8307 :a8307. +:a8308 :a8308 :a8308. +:a8309 :a8309 :a8309. +:a8310 :a8310 :a8310. +:a8311 :a8311 :a8311. +:a8312 :a8312 :a8312. +:a8313 :a8313 :a8313. +:a8314 :a8314 :a8314. +:a8315 :a8315 :a8315. +:a8316 :a8316 :a8316. +:a8317 :a8317 :a8317. +:a8318 :a8318 :a8318. +:a8319 :a8319 :a8319. +:a8320 :a8320 :a8320. +:a8321 :a8321 :a8321. +:a8322 :a8322 :a8322. +:a8323 :a8323 :a8323. +:a8324 :a8324 :a8324. +:a8325 :a8325 :a8325. +:a8326 :a8326 :a8326. +:a8327 :a8327 :a8327. +:a8328 :a8328 :a8328. +:a8329 :a8329 :a8329. +:a8330 :a8330 :a8330. +:a8331 :a8331 :a8331. +:a8332 :a8332 :a8332. +:a8333 :a8333 :a8333. +:a8334 :a8334 :a8334. +:a8335 :a8335 :a8335. +:a8336 :a8336 :a8336. +:a8337 :a8337 :a8337. +:a8338 :a8338 :a8338. +:a8339 :a8339 :a8339. +:a8340 :a8340 :a8340. +:a8341 :a8341 :a8341. +:a8342 :a8342 :a8342. +:a8343 :a8343 :a8343. +:a8344 :a8344 :a8344. +:a8345 :a8345 :a8345. +:a8346 :a8346 :a8346. +:a8347 :a8347 :a8347. +:a8348 :a8348 :a8348. +:a8349 :a8349 :a8349. +:a8350 :a8350 :a8350. +:a8351 :a8351 :a8351. +:a8352 :a8352 :a8352. +:a8353 :a8353 :a8353. +:a8354 :a8354 :a8354. +:a8355 :a8355 :a8355. +:a8356 :a8356 :a8356. +:a8357 :a8357 :a8357. +:a8358 :a8358 :a8358. +:a8359 :a8359 :a8359. +:a8360 :a8360 :a8360. +:a8361 :a8361 :a8361. +:a8362 :a8362 :a8362. +:a8363 :a8363 :a8363. +:a8364 :a8364 :a8364. +:a8365 :a8365 :a8365. +:a8366 :a8366 :a8366. +:a8367 :a8367 :a8367. +:a8368 :a8368 :a8368. +:a8369 :a8369 :a8369. +:a8370 :a8370 :a8370. +:a8371 :a8371 :a8371. +:a8372 :a8372 :a8372. +:a8373 :a8373 :a8373. +:a8374 :a8374 :a8374. +:a8375 :a8375 :a8375. +:a8376 :a8376 :a8376. +:a8377 :a8377 :a8377. +:a8378 :a8378 :a8378. +:a8379 :a8379 :a8379. +:a8380 :a8380 :a8380. +:a8381 :a8381 :a8381. +:a8382 :a8382 :a8382. +:a8383 :a8383 :a8383. +:a8384 :a8384 :a8384. +:a8385 :a8385 :a8385. +:a8386 :a8386 :a8386. +:a8387 :a8387 :a8387. +:a8388 :a8388 :a8388. +:a8389 :a8389 :a8389. +:a8390 :a8390 :a8390. +:a8391 :a8391 :a8391. +:a8392 :a8392 :a8392. +:a8393 :a8393 :a8393. +:a8394 :a8394 :a8394. +:a8395 :a8395 :a8395. +:a8396 :a8396 :a8396. +:a8397 :a8397 :a8397. +:a8398 :a8398 :a8398. +:a8399 :a8399 :a8399. +:a8400 :a8400 :a8400. +:a8401 :a8401 :a8401. +:a8402 :a8402 :a8402. +:a8403 :a8403 :a8403. +:a8404 :a8404 :a8404. +:a8405 :a8405 :a8405. +:a8406 :a8406 :a8406. +:a8407 :a8407 :a8407. +:a8408 :a8408 :a8408. +:a8409 :a8409 :a8409. +:a8410 :a8410 :a8410. +:a8411 :a8411 :a8411. +:a8412 :a8412 :a8412. +:a8413 :a8413 :a8413. +:a8414 :a8414 :a8414. +:a8415 :a8415 :a8415. +:a8416 :a8416 :a8416. +:a8417 :a8417 :a8417. +:a8418 :a8418 :a8418. +:a8419 :a8419 :a8419. +:a8420 :a8420 :a8420. +:a8421 :a8421 :a8421. +:a8422 :a8422 :a8422. +:a8423 :a8423 :a8423. +:a8424 :a8424 :a8424. +:a8425 :a8425 :a8425. +:a8426 :a8426 :a8426. +:a8427 :a8427 :a8427. +:a8428 :a8428 :a8428. +:a8429 :a8429 :a8429. +:a8430 :a8430 :a8430. +:a8431 :a8431 :a8431. +:a8432 :a8432 :a8432. +:a8433 :a8433 :a8433. +:a8434 :a8434 :a8434. +:a8435 :a8435 :a8435. +:a8436 :a8436 :a8436. +:a8437 :a8437 :a8437. +:a8438 :a8438 :a8438. +:a8439 :a8439 :a8439. +:a8440 :a8440 :a8440. +:a8441 :a8441 :a8441. +:a8442 :a8442 :a8442. +:a8443 :a8443 :a8443. +:a8444 :a8444 :a8444. +:a8445 :a8445 :a8445. +:a8446 :a8446 :a8446. +:a8447 :a8447 :a8447. +:a8448 :a8448 :a8448. +:a8449 :a8449 :a8449. +:a8450 :a8450 :a8450. +:a8451 :a8451 :a8451. +:a8452 :a8452 :a8452. +:a8453 :a8453 :a8453. +:a8454 :a8454 :a8454. +:a8455 :a8455 :a8455. +:a8456 :a8456 :a8456. +:a8457 :a8457 :a8457. +:a8458 :a8458 :a8458. +:a8459 :a8459 :a8459. +:a8460 :a8460 :a8460. +:a8461 :a8461 :a8461. +:a8462 :a8462 :a8462. +:a8463 :a8463 :a8463. +:a8464 :a8464 :a8464. +:a8465 :a8465 :a8465. +:a8466 :a8466 :a8466. +:a8467 :a8467 :a8467. +:a8468 :a8468 :a8468. +:a8469 :a8469 :a8469. +:a8470 :a8470 :a8470. +:a8471 :a8471 :a8471. +:a8472 :a8472 :a8472. +:a8473 :a8473 :a8473. +:a8474 :a8474 :a8474. +:a8475 :a8475 :a8475. +:a8476 :a8476 :a8476. +:a8477 :a8477 :a8477. +:a8478 :a8478 :a8478. +:a8479 :a8479 :a8479. +:a8480 :a8480 :a8480. +:a8481 :a8481 :a8481. +:a8482 :a8482 :a8482. +:a8483 :a8483 :a8483. +:a8484 :a8484 :a8484. +:a8485 :a8485 :a8485. +:a8486 :a8486 :a8486. +:a8487 :a8487 :a8487. +:a8488 :a8488 :a8488. +:a8489 :a8489 :a8489. +:a8490 :a8490 :a8490. +:a8491 :a8491 :a8491. +:a8492 :a8492 :a8492. +:a8493 :a8493 :a8493. +:a8494 :a8494 :a8494. +:a8495 :a8495 :a8495. +:a8496 :a8496 :a8496. +:a8497 :a8497 :a8497. +:a8498 :a8498 :a8498. +:a8499 :a8499 :a8499. +:a8500 :a8500 :a8500. +:a8501 :a8501 :a8501. +:a8502 :a8502 :a8502. +:a8503 :a8503 :a8503. +:a8504 :a8504 :a8504. +:a8505 :a8505 :a8505. +:a8506 :a8506 :a8506. +:a8507 :a8507 :a8507. +:a8508 :a8508 :a8508. +:a8509 :a8509 :a8509. +:a8510 :a8510 :a8510. +:a8511 :a8511 :a8511. +:a8512 :a8512 :a8512. +:a8513 :a8513 :a8513. +:a8514 :a8514 :a8514. +:a8515 :a8515 :a8515. +:a8516 :a8516 :a8516. +:a8517 :a8517 :a8517. +:a8518 :a8518 :a8518. +:a8519 :a8519 :a8519. +:a8520 :a8520 :a8520. +:a8521 :a8521 :a8521. +:a8522 :a8522 :a8522. +:a8523 :a8523 :a8523. +:a8524 :a8524 :a8524. +:a8525 :a8525 :a8525. +:a8526 :a8526 :a8526. +:a8527 :a8527 :a8527. +:a8528 :a8528 :a8528. +:a8529 :a8529 :a8529. +:a8530 :a8530 :a8530. +:a8531 :a8531 :a8531. +:a8532 :a8532 :a8532. +:a8533 :a8533 :a8533. +:a8534 :a8534 :a8534. +:a8535 :a8535 :a8535. +:a8536 :a8536 :a8536. +:a8537 :a8537 :a8537. +:a8538 :a8538 :a8538. +:a8539 :a8539 :a8539. +:a8540 :a8540 :a8540. +:a8541 :a8541 :a8541. +:a8542 :a8542 :a8542. +:a8543 :a8543 :a8543. +:a8544 :a8544 :a8544. +:a8545 :a8545 :a8545. +:a8546 :a8546 :a8546. +:a8547 :a8547 :a8547. +:a8548 :a8548 :a8548. +:a8549 :a8549 :a8549. +:a8550 :a8550 :a8550. +:a8551 :a8551 :a8551. +:a8552 :a8552 :a8552. +:a8553 :a8553 :a8553. +:a8554 :a8554 :a8554. +:a8555 :a8555 :a8555. +:a8556 :a8556 :a8556. +:a8557 :a8557 :a8557. +:a8558 :a8558 :a8558. +:a8559 :a8559 :a8559. +:a8560 :a8560 :a8560. +:a8561 :a8561 :a8561. +:a8562 :a8562 :a8562. +:a8563 :a8563 :a8563. +:a8564 :a8564 :a8564. +:a8565 :a8565 :a8565. +:a8566 :a8566 :a8566. +:a8567 :a8567 :a8567. +:a8568 :a8568 :a8568. +:a8569 :a8569 :a8569. +:a8570 :a8570 :a8570. +:a8571 :a8571 :a8571. +:a8572 :a8572 :a8572. +:a8573 :a8573 :a8573. +:a8574 :a8574 :a8574. +:a8575 :a8575 :a8575. +:a8576 :a8576 :a8576. +:a8577 :a8577 :a8577. +:a8578 :a8578 :a8578. +:a8579 :a8579 :a8579. +:a8580 :a8580 :a8580. +:a8581 :a8581 :a8581. +:a8582 :a8582 :a8582. +:a8583 :a8583 :a8583. +:a8584 :a8584 :a8584. +:a8585 :a8585 :a8585. +:a8586 :a8586 :a8586. +:a8587 :a8587 :a8587. +:a8588 :a8588 :a8588. +:a8589 :a8589 :a8589. +:a8590 :a8590 :a8590. +:a8591 :a8591 :a8591. +:a8592 :a8592 :a8592. +:a8593 :a8593 :a8593. +:a8594 :a8594 :a8594. +:a8595 :a8595 :a8595. +:a8596 :a8596 :a8596. +:a8597 :a8597 :a8597. +:a8598 :a8598 :a8598. +:a8599 :a8599 :a8599. +:a8600 :a8600 :a8600. +:a8601 :a8601 :a8601. +:a8602 :a8602 :a8602. +:a8603 :a8603 :a8603. +:a8604 :a8604 :a8604. +:a8605 :a8605 :a8605. +:a8606 :a8606 :a8606. +:a8607 :a8607 :a8607. +:a8608 :a8608 :a8608. +:a8609 :a8609 :a8609. +:a8610 :a8610 :a8610. +:a8611 :a8611 :a8611. +:a8612 :a8612 :a8612. +:a8613 :a8613 :a8613. +:a8614 :a8614 :a8614. +:a8615 :a8615 :a8615. +:a8616 :a8616 :a8616. +:a8617 :a8617 :a8617. +:a8618 :a8618 :a8618. +:a8619 :a8619 :a8619. +:a8620 :a8620 :a8620. +:a8621 :a8621 :a8621. +:a8622 :a8622 :a8622. +:a8623 :a8623 :a8623. +:a8624 :a8624 :a8624. +:a8625 :a8625 :a8625. +:a8626 :a8626 :a8626. +:a8627 :a8627 :a8627. +:a8628 :a8628 :a8628. +:a8629 :a8629 :a8629. +:a8630 :a8630 :a8630. +:a8631 :a8631 :a8631. +:a8632 :a8632 :a8632. +:a8633 :a8633 :a8633. +:a8634 :a8634 :a8634. +:a8635 :a8635 :a8635. +:a8636 :a8636 :a8636. +:a8637 :a8637 :a8637. +:a8638 :a8638 :a8638. +:a8639 :a8639 :a8639. +:a8640 :a8640 :a8640. +:a8641 :a8641 :a8641. +:a8642 :a8642 :a8642. +:a8643 :a8643 :a8643. +:a8644 :a8644 :a8644. +:a8645 :a8645 :a8645. +:a8646 :a8646 :a8646. +:a8647 :a8647 :a8647. +:a8648 :a8648 :a8648. +:a8649 :a8649 :a8649. +:a8650 :a8650 :a8650. +:a8651 :a8651 :a8651. +:a8652 :a8652 :a8652. +:a8653 :a8653 :a8653. +:a8654 :a8654 :a8654. +:a8655 :a8655 :a8655. +:a8656 :a8656 :a8656. +:a8657 :a8657 :a8657. +:a8658 :a8658 :a8658. +:a8659 :a8659 :a8659. +:a8660 :a8660 :a8660. +:a8661 :a8661 :a8661. +:a8662 :a8662 :a8662. +:a8663 :a8663 :a8663. +:a8664 :a8664 :a8664. +:a8665 :a8665 :a8665. +:a8666 :a8666 :a8666. +:a8667 :a8667 :a8667. +:a8668 :a8668 :a8668. +:a8669 :a8669 :a8669. +:a8670 :a8670 :a8670. +:a8671 :a8671 :a8671. +:a8672 :a8672 :a8672. +:a8673 :a8673 :a8673. +:a8674 :a8674 :a8674. +:a8675 :a8675 :a8675. +:a8676 :a8676 :a8676. +:a8677 :a8677 :a8677. +:a8678 :a8678 :a8678. +:a8679 :a8679 :a8679. +:a8680 :a8680 :a8680. +:a8681 :a8681 :a8681. +:a8682 :a8682 :a8682. +:a8683 :a8683 :a8683. +:a8684 :a8684 :a8684. +:a8685 :a8685 :a8685. +:a8686 :a8686 :a8686. +:a8687 :a8687 :a8687. +:a8688 :a8688 :a8688. +:a8689 :a8689 :a8689. +:a8690 :a8690 :a8690. +:a8691 :a8691 :a8691. +:a8692 :a8692 :a8692. +:a8693 :a8693 :a8693. +:a8694 :a8694 :a8694. +:a8695 :a8695 :a8695. +:a8696 :a8696 :a8696. +:a8697 :a8697 :a8697. +:a8698 :a8698 :a8698. +:a8699 :a8699 :a8699. +:a8700 :a8700 :a8700. +:a8701 :a8701 :a8701. +:a8702 :a8702 :a8702. +:a8703 :a8703 :a8703. +:a8704 :a8704 :a8704. +:a8705 :a8705 :a8705. +:a8706 :a8706 :a8706. +:a8707 :a8707 :a8707. +:a8708 :a8708 :a8708. +:a8709 :a8709 :a8709. +:a8710 :a8710 :a8710. +:a8711 :a8711 :a8711. +:a8712 :a8712 :a8712. +:a8713 :a8713 :a8713. +:a8714 :a8714 :a8714. +:a8715 :a8715 :a8715. +:a8716 :a8716 :a8716. +:a8717 :a8717 :a8717. +:a8718 :a8718 :a8718. +:a8719 :a8719 :a8719. +:a8720 :a8720 :a8720. +:a8721 :a8721 :a8721. +:a8722 :a8722 :a8722. +:a8723 :a8723 :a8723. +:a8724 :a8724 :a8724. +:a8725 :a8725 :a8725. +:a8726 :a8726 :a8726. +:a8727 :a8727 :a8727. +:a8728 :a8728 :a8728. +:a8729 :a8729 :a8729. +:a8730 :a8730 :a8730. +:a8731 :a8731 :a8731. +:a8732 :a8732 :a8732. +:a8733 :a8733 :a8733. +:a8734 :a8734 :a8734. +:a8735 :a8735 :a8735. +:a8736 :a8736 :a8736. +:a8737 :a8737 :a8737. +:a8738 :a8738 :a8738. +:a8739 :a8739 :a8739. +:a8740 :a8740 :a8740. +:a8741 :a8741 :a8741. +:a8742 :a8742 :a8742. +:a8743 :a8743 :a8743. +:a8744 :a8744 :a8744. +:a8745 :a8745 :a8745. +:a8746 :a8746 :a8746. +:a8747 :a8747 :a8747. +:a8748 :a8748 :a8748. +:a8749 :a8749 :a8749. +:a8750 :a8750 :a8750. +:a8751 :a8751 :a8751. +:a8752 :a8752 :a8752. +:a8753 :a8753 :a8753. +:a8754 :a8754 :a8754. +:a8755 :a8755 :a8755. +:a8756 :a8756 :a8756. +:a8757 :a8757 :a8757. +:a8758 :a8758 :a8758. +:a8759 :a8759 :a8759. +:a8760 :a8760 :a8760. +:a8761 :a8761 :a8761. +:a8762 :a8762 :a8762. +:a8763 :a8763 :a8763. +:a8764 :a8764 :a8764. +:a8765 :a8765 :a8765. +:a8766 :a8766 :a8766. +:a8767 :a8767 :a8767. +:a8768 :a8768 :a8768. +:a8769 :a8769 :a8769. +:a8770 :a8770 :a8770. +:a8771 :a8771 :a8771. +:a8772 :a8772 :a8772. +:a8773 :a8773 :a8773. +:a8774 :a8774 :a8774. +:a8775 :a8775 :a8775. +:a8776 :a8776 :a8776. +:a8777 :a8777 :a8777. +:a8778 :a8778 :a8778. +:a8779 :a8779 :a8779. +:a8780 :a8780 :a8780. +:a8781 :a8781 :a8781. +:a8782 :a8782 :a8782. +:a8783 :a8783 :a8783. +:a8784 :a8784 :a8784. +:a8785 :a8785 :a8785. +:a8786 :a8786 :a8786. +:a8787 :a8787 :a8787. +:a8788 :a8788 :a8788. +:a8789 :a8789 :a8789. +:a8790 :a8790 :a8790. +:a8791 :a8791 :a8791. +:a8792 :a8792 :a8792. +:a8793 :a8793 :a8793. +:a8794 :a8794 :a8794. +:a8795 :a8795 :a8795. +:a8796 :a8796 :a8796. +:a8797 :a8797 :a8797. +:a8798 :a8798 :a8798. +:a8799 :a8799 :a8799. +:a8800 :a8800 :a8800. +:a8801 :a8801 :a8801. +:a8802 :a8802 :a8802. +:a8803 :a8803 :a8803. +:a8804 :a8804 :a8804. +:a8805 :a8805 :a8805. +:a8806 :a8806 :a8806. +:a8807 :a8807 :a8807. +:a8808 :a8808 :a8808. +:a8809 :a8809 :a8809. +:a8810 :a8810 :a8810. +:a8811 :a8811 :a8811. +:a8812 :a8812 :a8812. +:a8813 :a8813 :a8813. +:a8814 :a8814 :a8814. +:a8815 :a8815 :a8815. +:a8816 :a8816 :a8816. +:a8817 :a8817 :a8817. +:a8818 :a8818 :a8818. +:a8819 :a8819 :a8819. +:a8820 :a8820 :a8820. +:a8821 :a8821 :a8821. +:a8822 :a8822 :a8822. +:a8823 :a8823 :a8823. +:a8824 :a8824 :a8824. +:a8825 :a8825 :a8825. +:a8826 :a8826 :a8826. +:a8827 :a8827 :a8827. +:a8828 :a8828 :a8828. +:a8829 :a8829 :a8829. +:a8830 :a8830 :a8830. +:a8831 :a8831 :a8831. +:a8832 :a8832 :a8832. +:a8833 :a8833 :a8833. +:a8834 :a8834 :a8834. +:a8835 :a8835 :a8835. +:a8836 :a8836 :a8836. +:a8837 :a8837 :a8837. +:a8838 :a8838 :a8838. +:a8839 :a8839 :a8839. +:a8840 :a8840 :a8840. +:a8841 :a8841 :a8841. +:a8842 :a8842 :a8842. +:a8843 :a8843 :a8843. +:a8844 :a8844 :a8844. +:a8845 :a8845 :a8845. +:a8846 :a8846 :a8846. +:a8847 :a8847 :a8847. +:a8848 :a8848 :a8848. +:a8849 :a8849 :a8849. +:a8850 :a8850 :a8850. +:a8851 :a8851 :a8851. +:a8852 :a8852 :a8852. +:a8853 :a8853 :a8853. +:a8854 :a8854 :a8854. +:a8855 :a8855 :a8855. +:a8856 :a8856 :a8856. +:a8857 :a8857 :a8857. +:a8858 :a8858 :a8858. +:a8859 :a8859 :a8859. +:a8860 :a8860 :a8860. +:a8861 :a8861 :a8861. +:a8862 :a8862 :a8862. +:a8863 :a8863 :a8863. +:a8864 :a8864 :a8864. +:a8865 :a8865 :a8865. +:a8866 :a8866 :a8866. +:a8867 :a8867 :a8867. +:a8868 :a8868 :a8868. +:a8869 :a8869 :a8869. +:a8870 :a8870 :a8870. +:a8871 :a8871 :a8871. +:a8872 :a8872 :a8872. +:a8873 :a8873 :a8873. +:a8874 :a8874 :a8874. +:a8875 :a8875 :a8875. +:a8876 :a8876 :a8876. +:a8877 :a8877 :a8877. +:a8878 :a8878 :a8878. +:a8879 :a8879 :a8879. +:a8880 :a8880 :a8880. +:a8881 :a8881 :a8881. +:a8882 :a8882 :a8882. +:a8883 :a8883 :a8883. +:a8884 :a8884 :a8884. +:a8885 :a8885 :a8885. +:a8886 :a8886 :a8886. +:a8887 :a8887 :a8887. +:a8888 :a8888 :a8888. +:a8889 :a8889 :a8889. +:a8890 :a8890 :a8890. +:a8891 :a8891 :a8891. +:a8892 :a8892 :a8892. +:a8893 :a8893 :a8893. +:a8894 :a8894 :a8894. +:a8895 :a8895 :a8895. +:a8896 :a8896 :a8896. +:a8897 :a8897 :a8897. +:a8898 :a8898 :a8898. +:a8899 :a8899 :a8899. +:a8900 :a8900 :a8900. +:a8901 :a8901 :a8901. +:a8902 :a8902 :a8902. +:a8903 :a8903 :a8903. +:a8904 :a8904 :a8904. +:a8905 :a8905 :a8905. +:a8906 :a8906 :a8906. +:a8907 :a8907 :a8907. +:a8908 :a8908 :a8908. +:a8909 :a8909 :a8909. +:a8910 :a8910 :a8910. +:a8911 :a8911 :a8911. +:a8912 :a8912 :a8912. +:a8913 :a8913 :a8913. +:a8914 :a8914 :a8914. +:a8915 :a8915 :a8915. +:a8916 :a8916 :a8916. +:a8917 :a8917 :a8917. +:a8918 :a8918 :a8918. +:a8919 :a8919 :a8919. +:a8920 :a8920 :a8920. +:a8921 :a8921 :a8921. +:a8922 :a8922 :a8922. +:a8923 :a8923 :a8923. +:a8924 :a8924 :a8924. +:a8925 :a8925 :a8925. +:a8926 :a8926 :a8926. +:a8927 :a8927 :a8927. +:a8928 :a8928 :a8928. +:a8929 :a8929 :a8929. +:a8930 :a8930 :a8930. +:a8931 :a8931 :a8931. +:a8932 :a8932 :a8932. +:a8933 :a8933 :a8933. +:a8934 :a8934 :a8934. +:a8935 :a8935 :a8935. +:a8936 :a8936 :a8936. +:a8937 :a8937 :a8937. +:a8938 :a8938 :a8938. +:a8939 :a8939 :a8939. +:a8940 :a8940 :a8940. +:a8941 :a8941 :a8941. +:a8942 :a8942 :a8942. +:a8943 :a8943 :a8943. +:a8944 :a8944 :a8944. +:a8945 :a8945 :a8945. +:a8946 :a8946 :a8946. +:a8947 :a8947 :a8947. +:a8948 :a8948 :a8948. +:a8949 :a8949 :a8949. +:a8950 :a8950 :a8950. +:a8951 :a8951 :a8951. +:a8952 :a8952 :a8952. +:a8953 :a8953 :a8953. +:a8954 :a8954 :a8954. +:a8955 :a8955 :a8955. +:a8956 :a8956 :a8956. +:a8957 :a8957 :a8957. +:a8958 :a8958 :a8958. +:a8959 :a8959 :a8959. +:a8960 :a8960 :a8960. +:a8961 :a8961 :a8961. +:a8962 :a8962 :a8962. +:a8963 :a8963 :a8963. +:a8964 :a8964 :a8964. +:a8965 :a8965 :a8965. +:a8966 :a8966 :a8966. +:a8967 :a8967 :a8967. +:a8968 :a8968 :a8968. +:a8969 :a8969 :a8969. +:a8970 :a8970 :a8970. +:a8971 :a8971 :a8971. +:a8972 :a8972 :a8972. +:a8973 :a8973 :a8973. +:a8974 :a8974 :a8974. +:a8975 :a8975 :a8975. +:a8976 :a8976 :a8976. +:a8977 :a8977 :a8977. +:a8978 :a8978 :a8978. +:a8979 :a8979 :a8979. +:a8980 :a8980 :a8980. +:a8981 :a8981 :a8981. +:a8982 :a8982 :a8982. +:a8983 :a8983 :a8983. +:a8984 :a8984 :a8984. +:a8985 :a8985 :a8985. +:a8986 :a8986 :a8986. +:a8987 :a8987 :a8987. +:a8988 :a8988 :a8988. +:a8989 :a8989 :a8989. +:a8990 :a8990 :a8990. +:a8991 :a8991 :a8991. +:a8992 :a8992 :a8992. +:a8993 :a8993 :a8993. +:a8994 :a8994 :a8994. +:a8995 :a8995 :a8995. +:a8996 :a8996 :a8996. +:a8997 :a8997 :a8997. +:a8998 :a8998 :a8998. +:a8999 :a8999 :a8999. +:a9000 :a9000 :a9000. +:a9001 :a9001 :a9001. +:a9002 :a9002 :a9002. +:a9003 :a9003 :a9003. +:a9004 :a9004 :a9004. +:a9005 :a9005 :a9005. +:a9006 :a9006 :a9006. +:a9007 :a9007 :a9007. +:a9008 :a9008 :a9008. +:a9009 :a9009 :a9009. +:a9010 :a9010 :a9010. +:a9011 :a9011 :a9011. +:a9012 :a9012 :a9012. +:a9013 :a9013 :a9013. +:a9014 :a9014 :a9014. +:a9015 :a9015 :a9015. +:a9016 :a9016 :a9016. +:a9017 :a9017 :a9017. +:a9018 :a9018 :a9018. +:a9019 :a9019 :a9019. +:a9020 :a9020 :a9020. +:a9021 :a9021 :a9021. +:a9022 :a9022 :a9022. +:a9023 :a9023 :a9023. +:a9024 :a9024 :a9024. +:a9025 :a9025 :a9025. +:a9026 :a9026 :a9026. +:a9027 :a9027 :a9027. +:a9028 :a9028 :a9028. +:a9029 :a9029 :a9029. +:a9030 :a9030 :a9030. +:a9031 :a9031 :a9031. +:a9032 :a9032 :a9032. +:a9033 :a9033 :a9033. +:a9034 :a9034 :a9034. +:a9035 :a9035 :a9035. +:a9036 :a9036 :a9036. +:a9037 :a9037 :a9037. +:a9038 :a9038 :a9038. +:a9039 :a9039 :a9039. +:a9040 :a9040 :a9040. +:a9041 :a9041 :a9041. +:a9042 :a9042 :a9042. +:a9043 :a9043 :a9043. +:a9044 :a9044 :a9044. +:a9045 :a9045 :a9045. +:a9046 :a9046 :a9046. +:a9047 :a9047 :a9047. +:a9048 :a9048 :a9048. +:a9049 :a9049 :a9049. +:a9050 :a9050 :a9050. +:a9051 :a9051 :a9051. +:a9052 :a9052 :a9052. +:a9053 :a9053 :a9053. +:a9054 :a9054 :a9054. +:a9055 :a9055 :a9055. +:a9056 :a9056 :a9056. +:a9057 :a9057 :a9057. +:a9058 :a9058 :a9058. +:a9059 :a9059 :a9059. +:a9060 :a9060 :a9060. +:a9061 :a9061 :a9061. +:a9062 :a9062 :a9062. +:a9063 :a9063 :a9063. +:a9064 :a9064 :a9064. +:a9065 :a9065 :a9065. +:a9066 :a9066 :a9066. +:a9067 :a9067 :a9067. +:a9068 :a9068 :a9068. +:a9069 :a9069 :a9069. +:a9070 :a9070 :a9070. +:a9071 :a9071 :a9071. +:a9072 :a9072 :a9072. +:a9073 :a9073 :a9073. +:a9074 :a9074 :a9074. +:a9075 :a9075 :a9075. +:a9076 :a9076 :a9076. +:a9077 :a9077 :a9077. +:a9078 :a9078 :a9078. +:a9079 :a9079 :a9079. +:a9080 :a9080 :a9080. +:a9081 :a9081 :a9081. +:a9082 :a9082 :a9082. +:a9083 :a9083 :a9083. +:a9084 :a9084 :a9084. +:a9085 :a9085 :a9085. +:a9086 :a9086 :a9086. +:a9087 :a9087 :a9087. +:a9088 :a9088 :a9088. +:a9089 :a9089 :a9089. +:a9090 :a9090 :a9090. +:a9091 :a9091 :a9091. +:a9092 :a9092 :a9092. +:a9093 :a9093 :a9093. +:a9094 :a9094 :a9094. +:a9095 :a9095 :a9095. +:a9096 :a9096 :a9096. +:a9097 :a9097 :a9097. +:a9098 :a9098 :a9098. +:a9099 :a9099 :a9099. +:a9100 :a9100 :a9100. +:a9101 :a9101 :a9101. +:a9102 :a9102 :a9102. +:a9103 :a9103 :a9103. +:a9104 :a9104 :a9104. +:a9105 :a9105 :a9105. +:a9106 :a9106 :a9106. +:a9107 :a9107 :a9107. +:a9108 :a9108 :a9108. +:a9109 :a9109 :a9109. +:a9110 :a9110 :a9110. +:a9111 :a9111 :a9111. +:a9112 :a9112 :a9112. +:a9113 :a9113 :a9113. +:a9114 :a9114 :a9114. +:a9115 :a9115 :a9115. +:a9116 :a9116 :a9116. +:a9117 :a9117 :a9117. +:a9118 :a9118 :a9118. +:a9119 :a9119 :a9119. +:a9120 :a9120 :a9120. +:a9121 :a9121 :a9121. +:a9122 :a9122 :a9122. +:a9123 :a9123 :a9123. +:a9124 :a9124 :a9124. +:a9125 :a9125 :a9125. +:a9126 :a9126 :a9126. +:a9127 :a9127 :a9127. +:a9128 :a9128 :a9128. +:a9129 :a9129 :a9129. +:a9130 :a9130 :a9130. +:a9131 :a9131 :a9131. +:a9132 :a9132 :a9132. +:a9133 :a9133 :a9133. +:a9134 :a9134 :a9134. +:a9135 :a9135 :a9135. +:a9136 :a9136 :a9136. +:a9137 :a9137 :a9137. +:a9138 :a9138 :a9138. +:a9139 :a9139 :a9139. +:a9140 :a9140 :a9140. +:a9141 :a9141 :a9141. +:a9142 :a9142 :a9142. +:a9143 :a9143 :a9143. +:a9144 :a9144 :a9144. +:a9145 :a9145 :a9145. +:a9146 :a9146 :a9146. +:a9147 :a9147 :a9147. +:a9148 :a9148 :a9148. +:a9149 :a9149 :a9149. +:a9150 :a9150 :a9150. +:a9151 :a9151 :a9151. +:a9152 :a9152 :a9152. +:a9153 :a9153 :a9153. +:a9154 :a9154 :a9154. +:a9155 :a9155 :a9155. +:a9156 :a9156 :a9156. +:a9157 :a9157 :a9157. +:a9158 :a9158 :a9158. +:a9159 :a9159 :a9159. +:a9160 :a9160 :a9160. +:a9161 :a9161 :a9161. +:a9162 :a9162 :a9162. +:a9163 :a9163 :a9163. +:a9164 :a9164 :a9164. +:a9165 :a9165 :a9165. +:a9166 :a9166 :a9166. +:a9167 :a9167 :a9167. +:a9168 :a9168 :a9168. +:a9169 :a9169 :a9169. +:a9170 :a9170 :a9170. +:a9171 :a9171 :a9171. +:a9172 :a9172 :a9172. +:a9173 :a9173 :a9173. +:a9174 :a9174 :a9174. +:a9175 :a9175 :a9175. +:a9176 :a9176 :a9176. +:a9177 :a9177 :a9177. +:a9178 :a9178 :a9178. +:a9179 :a9179 :a9179. +:a9180 :a9180 :a9180. +:a9181 :a9181 :a9181. +:a9182 :a9182 :a9182. +:a9183 :a9183 :a9183. +:a9184 :a9184 :a9184. +:a9185 :a9185 :a9185. +:a9186 :a9186 :a9186. +:a9187 :a9187 :a9187. +:a9188 :a9188 :a9188. +:a9189 :a9189 :a9189. +:a9190 :a9190 :a9190. +:a9191 :a9191 :a9191. +:a9192 :a9192 :a9192. +:a9193 :a9193 :a9193. +:a9194 :a9194 :a9194. +:a9195 :a9195 :a9195. +:a9196 :a9196 :a9196. +:a9197 :a9197 :a9197. +:a9198 :a9198 :a9198. +:a9199 :a9199 :a9199. +:a9200 :a9200 :a9200. +:a9201 :a9201 :a9201. +:a9202 :a9202 :a9202. +:a9203 :a9203 :a9203. +:a9204 :a9204 :a9204. +:a9205 :a9205 :a9205. +:a9206 :a9206 :a9206. +:a9207 :a9207 :a9207. +:a9208 :a9208 :a9208. +:a9209 :a9209 :a9209. +:a9210 :a9210 :a9210. +:a9211 :a9211 :a9211. +:a9212 :a9212 :a9212. +:a9213 :a9213 :a9213. +:a9214 :a9214 :a9214. +:a9215 :a9215 :a9215. +:a9216 :a9216 :a9216. +:a9217 :a9217 :a9217. +:a9218 :a9218 :a9218. +:a9219 :a9219 :a9219. +:a9220 :a9220 :a9220. +:a9221 :a9221 :a9221. +:a9222 :a9222 :a9222. +:a9223 :a9223 :a9223. +:a9224 :a9224 :a9224. +:a9225 :a9225 :a9225. +:a9226 :a9226 :a9226. +:a9227 :a9227 :a9227. +:a9228 :a9228 :a9228. +:a9229 :a9229 :a9229. +:a9230 :a9230 :a9230. +:a9231 :a9231 :a9231. +:a9232 :a9232 :a9232. +:a9233 :a9233 :a9233. +:a9234 :a9234 :a9234. +:a9235 :a9235 :a9235. +:a9236 :a9236 :a9236. +:a9237 :a9237 :a9237. +:a9238 :a9238 :a9238. +:a9239 :a9239 :a9239. +:a9240 :a9240 :a9240. +:a9241 :a9241 :a9241. +:a9242 :a9242 :a9242. +:a9243 :a9243 :a9243. +:a9244 :a9244 :a9244. +:a9245 :a9245 :a9245. +:a9246 :a9246 :a9246. +:a9247 :a9247 :a9247. +:a9248 :a9248 :a9248. +:a9249 :a9249 :a9249. +:a9250 :a9250 :a9250. +:a9251 :a9251 :a9251. +:a9252 :a9252 :a9252. +:a9253 :a9253 :a9253. +:a9254 :a9254 :a9254. +:a9255 :a9255 :a9255. +:a9256 :a9256 :a9256. +:a9257 :a9257 :a9257. +:a9258 :a9258 :a9258. +:a9259 :a9259 :a9259. +:a9260 :a9260 :a9260. +:a9261 :a9261 :a9261. +:a9262 :a9262 :a9262. +:a9263 :a9263 :a9263. +:a9264 :a9264 :a9264. +:a9265 :a9265 :a9265. +:a9266 :a9266 :a9266. +:a9267 :a9267 :a9267. +:a9268 :a9268 :a9268. +:a9269 :a9269 :a9269. +:a9270 :a9270 :a9270. +:a9271 :a9271 :a9271. +:a9272 :a9272 :a9272. +:a9273 :a9273 :a9273. +:a9274 :a9274 :a9274. +:a9275 :a9275 :a9275. +:a9276 :a9276 :a9276. +:a9277 :a9277 :a9277. +:a9278 :a9278 :a9278. +:a9279 :a9279 :a9279. +:a9280 :a9280 :a9280. +:a9281 :a9281 :a9281. +:a9282 :a9282 :a9282. +:a9283 :a9283 :a9283. +:a9284 :a9284 :a9284. +:a9285 :a9285 :a9285. +:a9286 :a9286 :a9286. +:a9287 :a9287 :a9287. +:a9288 :a9288 :a9288. +:a9289 :a9289 :a9289. +:a9290 :a9290 :a9290. +:a9291 :a9291 :a9291. +:a9292 :a9292 :a9292. +:a9293 :a9293 :a9293. +:a9294 :a9294 :a9294. +:a9295 :a9295 :a9295. +:a9296 :a9296 :a9296. +:a9297 :a9297 :a9297. +:a9298 :a9298 :a9298. +:a9299 :a9299 :a9299. +:a9300 :a9300 :a9300. +:a9301 :a9301 :a9301. +:a9302 :a9302 :a9302. +:a9303 :a9303 :a9303. +:a9304 :a9304 :a9304. +:a9305 :a9305 :a9305. +:a9306 :a9306 :a9306. +:a9307 :a9307 :a9307. +:a9308 :a9308 :a9308. +:a9309 :a9309 :a9309. +:a9310 :a9310 :a9310. +:a9311 :a9311 :a9311. +:a9312 :a9312 :a9312. +:a9313 :a9313 :a9313. +:a9314 :a9314 :a9314. +:a9315 :a9315 :a9315. +:a9316 :a9316 :a9316. +:a9317 :a9317 :a9317. +:a9318 :a9318 :a9318. +:a9319 :a9319 :a9319. +:a9320 :a9320 :a9320. +:a9321 :a9321 :a9321. +:a9322 :a9322 :a9322. +:a9323 :a9323 :a9323. +:a9324 :a9324 :a9324. +:a9325 :a9325 :a9325. +:a9326 :a9326 :a9326. +:a9327 :a9327 :a9327. +:a9328 :a9328 :a9328. +:a9329 :a9329 :a9329. +:a9330 :a9330 :a9330. +:a9331 :a9331 :a9331. +:a9332 :a9332 :a9332. +:a9333 :a9333 :a9333. +:a9334 :a9334 :a9334. +:a9335 :a9335 :a9335. +:a9336 :a9336 :a9336. +:a9337 :a9337 :a9337. +:a9338 :a9338 :a9338. +:a9339 :a9339 :a9339. +:a9340 :a9340 :a9340. +:a9341 :a9341 :a9341. +:a9342 :a9342 :a9342. +:a9343 :a9343 :a9343. +:a9344 :a9344 :a9344. +:a9345 :a9345 :a9345. +:a9346 :a9346 :a9346. +:a9347 :a9347 :a9347. +:a9348 :a9348 :a9348. +:a9349 :a9349 :a9349. +:a9350 :a9350 :a9350. +:a9351 :a9351 :a9351. +:a9352 :a9352 :a9352. +:a9353 :a9353 :a9353. +:a9354 :a9354 :a9354. +:a9355 :a9355 :a9355. +:a9356 :a9356 :a9356. +:a9357 :a9357 :a9357. +:a9358 :a9358 :a9358. +:a9359 :a9359 :a9359. +:a9360 :a9360 :a9360. +:a9361 :a9361 :a9361. +:a9362 :a9362 :a9362. +:a9363 :a9363 :a9363. +:a9364 :a9364 :a9364. +:a9365 :a9365 :a9365. +:a9366 :a9366 :a9366. +:a9367 :a9367 :a9367. +:a9368 :a9368 :a9368. +:a9369 :a9369 :a9369. +:a9370 :a9370 :a9370. +:a9371 :a9371 :a9371. +:a9372 :a9372 :a9372. +:a9373 :a9373 :a9373. +:a9374 :a9374 :a9374. +:a9375 :a9375 :a9375. +:a9376 :a9376 :a9376. +:a9377 :a9377 :a9377. +:a9378 :a9378 :a9378. +:a9379 :a9379 :a9379. +:a9380 :a9380 :a9380. +:a9381 :a9381 :a9381. +:a9382 :a9382 :a9382. +:a9383 :a9383 :a9383. +:a9384 :a9384 :a9384. +:a9385 :a9385 :a9385. +:a9386 :a9386 :a9386. +:a9387 :a9387 :a9387. +:a9388 :a9388 :a9388. +:a9389 :a9389 :a9389. +:a9390 :a9390 :a9390. +:a9391 :a9391 :a9391. +:a9392 :a9392 :a9392. +:a9393 :a9393 :a9393. +:a9394 :a9394 :a9394. +:a9395 :a9395 :a9395. +:a9396 :a9396 :a9396. +:a9397 :a9397 :a9397. +:a9398 :a9398 :a9398. +:a9399 :a9399 :a9399. +:a9400 :a9400 :a9400. +:a9401 :a9401 :a9401. +:a9402 :a9402 :a9402. +:a9403 :a9403 :a9403. +:a9404 :a9404 :a9404. +:a9405 :a9405 :a9405. +:a9406 :a9406 :a9406. +:a9407 :a9407 :a9407. +:a9408 :a9408 :a9408. +:a9409 :a9409 :a9409. +:a9410 :a9410 :a9410. +:a9411 :a9411 :a9411. +:a9412 :a9412 :a9412. +:a9413 :a9413 :a9413. +:a9414 :a9414 :a9414. +:a9415 :a9415 :a9415. +:a9416 :a9416 :a9416. +:a9417 :a9417 :a9417. +:a9418 :a9418 :a9418. +:a9419 :a9419 :a9419. +:a9420 :a9420 :a9420. +:a9421 :a9421 :a9421. +:a9422 :a9422 :a9422. +:a9423 :a9423 :a9423. +:a9424 :a9424 :a9424. +:a9425 :a9425 :a9425. +:a9426 :a9426 :a9426. +:a9427 :a9427 :a9427. +:a9428 :a9428 :a9428. +:a9429 :a9429 :a9429. +:a9430 :a9430 :a9430. +:a9431 :a9431 :a9431. +:a9432 :a9432 :a9432. +:a9433 :a9433 :a9433. +:a9434 :a9434 :a9434. +:a9435 :a9435 :a9435. +:a9436 :a9436 :a9436. +:a9437 :a9437 :a9437. +:a9438 :a9438 :a9438. +:a9439 :a9439 :a9439. +:a9440 :a9440 :a9440. +:a9441 :a9441 :a9441. +:a9442 :a9442 :a9442. +:a9443 :a9443 :a9443. +:a9444 :a9444 :a9444. +:a9445 :a9445 :a9445. +:a9446 :a9446 :a9446. +:a9447 :a9447 :a9447. +:a9448 :a9448 :a9448. +:a9449 :a9449 :a9449. +:a9450 :a9450 :a9450. +:a9451 :a9451 :a9451. +:a9452 :a9452 :a9452. +:a9453 :a9453 :a9453. +:a9454 :a9454 :a9454. +:a9455 :a9455 :a9455. +:a9456 :a9456 :a9456. +:a9457 :a9457 :a9457. +:a9458 :a9458 :a9458. +:a9459 :a9459 :a9459. +:a9460 :a9460 :a9460. +:a9461 :a9461 :a9461. +:a9462 :a9462 :a9462. +:a9463 :a9463 :a9463. +:a9464 :a9464 :a9464. +:a9465 :a9465 :a9465. +:a9466 :a9466 :a9466. +:a9467 :a9467 :a9467. +:a9468 :a9468 :a9468. +:a9469 :a9469 :a9469. +:a9470 :a9470 :a9470. +:a9471 :a9471 :a9471. +:a9472 :a9472 :a9472. +:a9473 :a9473 :a9473. +:a9474 :a9474 :a9474. +:a9475 :a9475 :a9475. +:a9476 :a9476 :a9476. +:a9477 :a9477 :a9477. +:a9478 :a9478 :a9478. +:a9479 :a9479 :a9479. +:a9480 :a9480 :a9480. +:a9481 :a9481 :a9481. +:a9482 :a9482 :a9482. +:a9483 :a9483 :a9483. +:a9484 :a9484 :a9484. +:a9485 :a9485 :a9485. +:a9486 :a9486 :a9486. +:a9487 :a9487 :a9487. +:a9488 :a9488 :a9488. +:a9489 :a9489 :a9489. +:a9490 :a9490 :a9490. +:a9491 :a9491 :a9491. +:a9492 :a9492 :a9492. +:a9493 :a9493 :a9493. +:a9494 :a9494 :a9494. +:a9495 :a9495 :a9495. +:a9496 :a9496 :a9496. +:a9497 :a9497 :a9497. +:a9498 :a9498 :a9498. +:a9499 :a9499 :a9499. +:a9500 :a9500 :a9500. +:a9501 :a9501 :a9501. +:a9502 :a9502 :a9502. +:a9503 :a9503 :a9503. +:a9504 :a9504 :a9504. +:a9505 :a9505 :a9505. +:a9506 :a9506 :a9506. +:a9507 :a9507 :a9507. +:a9508 :a9508 :a9508. +:a9509 :a9509 :a9509. +:a9510 :a9510 :a9510. +:a9511 :a9511 :a9511. +:a9512 :a9512 :a9512. +:a9513 :a9513 :a9513. +:a9514 :a9514 :a9514. +:a9515 :a9515 :a9515. +:a9516 :a9516 :a9516. +:a9517 :a9517 :a9517. +:a9518 :a9518 :a9518. +:a9519 :a9519 :a9519. +:a9520 :a9520 :a9520. +:a9521 :a9521 :a9521. +:a9522 :a9522 :a9522. +:a9523 :a9523 :a9523. +:a9524 :a9524 :a9524. +:a9525 :a9525 :a9525. +:a9526 :a9526 :a9526. +:a9527 :a9527 :a9527. +:a9528 :a9528 :a9528. +:a9529 :a9529 :a9529. +:a9530 :a9530 :a9530. +:a9531 :a9531 :a9531. +:a9532 :a9532 :a9532. +:a9533 :a9533 :a9533. +:a9534 :a9534 :a9534. +:a9535 :a9535 :a9535. +:a9536 :a9536 :a9536. +:a9537 :a9537 :a9537. +:a9538 :a9538 :a9538. +:a9539 :a9539 :a9539. +:a9540 :a9540 :a9540. +:a9541 :a9541 :a9541. +:a9542 :a9542 :a9542. +:a9543 :a9543 :a9543. +:a9544 :a9544 :a9544. +:a9545 :a9545 :a9545. +:a9546 :a9546 :a9546. +:a9547 :a9547 :a9547. +:a9548 :a9548 :a9548. +:a9549 :a9549 :a9549. +:a9550 :a9550 :a9550. +:a9551 :a9551 :a9551. +:a9552 :a9552 :a9552. +:a9553 :a9553 :a9553. +:a9554 :a9554 :a9554. +:a9555 :a9555 :a9555. +:a9556 :a9556 :a9556. +:a9557 :a9557 :a9557. +:a9558 :a9558 :a9558. +:a9559 :a9559 :a9559. +:a9560 :a9560 :a9560. +:a9561 :a9561 :a9561. +:a9562 :a9562 :a9562. +:a9563 :a9563 :a9563. +:a9564 :a9564 :a9564. +:a9565 :a9565 :a9565. +:a9566 :a9566 :a9566. +:a9567 :a9567 :a9567. +:a9568 :a9568 :a9568. +:a9569 :a9569 :a9569. +:a9570 :a9570 :a9570. +:a9571 :a9571 :a9571. +:a9572 :a9572 :a9572. +:a9573 :a9573 :a9573. +:a9574 :a9574 :a9574. +:a9575 :a9575 :a9575. +:a9576 :a9576 :a9576. +:a9577 :a9577 :a9577. +:a9578 :a9578 :a9578. +:a9579 :a9579 :a9579. +:a9580 :a9580 :a9580. +:a9581 :a9581 :a9581. +:a9582 :a9582 :a9582. +:a9583 :a9583 :a9583. +:a9584 :a9584 :a9584. +:a9585 :a9585 :a9585. +:a9586 :a9586 :a9586. +:a9587 :a9587 :a9587. +:a9588 :a9588 :a9588. +:a9589 :a9589 :a9589. +:a9590 :a9590 :a9590. +:a9591 :a9591 :a9591. +:a9592 :a9592 :a9592. +:a9593 :a9593 :a9593. +:a9594 :a9594 :a9594. +:a9595 :a9595 :a9595. +:a9596 :a9596 :a9596. +:a9597 :a9597 :a9597. +:a9598 :a9598 :a9598. +:a9599 :a9599 :a9599. +:a9600 :a9600 :a9600. +:a9601 :a9601 :a9601. +:a9602 :a9602 :a9602. +:a9603 :a9603 :a9603. +:a9604 :a9604 :a9604. +:a9605 :a9605 :a9605. +:a9606 :a9606 :a9606. +:a9607 :a9607 :a9607. +:a9608 :a9608 :a9608. +:a9609 :a9609 :a9609. +:a9610 :a9610 :a9610. +:a9611 :a9611 :a9611. +:a9612 :a9612 :a9612. +:a9613 :a9613 :a9613. +:a9614 :a9614 :a9614. +:a9615 :a9615 :a9615. +:a9616 :a9616 :a9616. +:a9617 :a9617 :a9617. +:a9618 :a9618 :a9618. +:a9619 :a9619 :a9619. +:a9620 :a9620 :a9620. +:a9621 :a9621 :a9621. +:a9622 :a9622 :a9622. +:a9623 :a9623 :a9623. +:a9624 :a9624 :a9624. +:a9625 :a9625 :a9625. +:a9626 :a9626 :a9626. +:a9627 :a9627 :a9627. +:a9628 :a9628 :a9628. +:a9629 :a9629 :a9629. +:a9630 :a9630 :a9630. +:a9631 :a9631 :a9631. +:a9632 :a9632 :a9632. +:a9633 :a9633 :a9633. +:a9634 :a9634 :a9634. +:a9635 :a9635 :a9635. +:a9636 :a9636 :a9636. +:a9637 :a9637 :a9637. +:a9638 :a9638 :a9638. +:a9639 :a9639 :a9639. +:a9640 :a9640 :a9640. +:a9641 :a9641 :a9641. +:a9642 :a9642 :a9642. +:a9643 :a9643 :a9643. +:a9644 :a9644 :a9644. +:a9645 :a9645 :a9645. +:a9646 :a9646 :a9646. +:a9647 :a9647 :a9647. +:a9648 :a9648 :a9648. +:a9649 :a9649 :a9649. +:a9650 :a9650 :a9650. +:a9651 :a9651 :a9651. +:a9652 :a9652 :a9652. +:a9653 :a9653 :a9653. +:a9654 :a9654 :a9654. +:a9655 :a9655 :a9655. +:a9656 :a9656 :a9656. +:a9657 :a9657 :a9657. +:a9658 :a9658 :a9658. +:a9659 :a9659 :a9659. +:a9660 :a9660 :a9660. +:a9661 :a9661 :a9661. +:a9662 :a9662 :a9662. +:a9663 :a9663 :a9663. +:a9664 :a9664 :a9664. +:a9665 :a9665 :a9665. +:a9666 :a9666 :a9666. +:a9667 :a9667 :a9667. +:a9668 :a9668 :a9668. +:a9669 :a9669 :a9669. +:a9670 :a9670 :a9670. +:a9671 :a9671 :a9671. +:a9672 :a9672 :a9672. +:a9673 :a9673 :a9673. +:a9674 :a9674 :a9674. +:a9675 :a9675 :a9675. +:a9676 :a9676 :a9676. +:a9677 :a9677 :a9677. +:a9678 :a9678 :a9678. +:a9679 :a9679 :a9679. +:a9680 :a9680 :a9680. +:a9681 :a9681 :a9681. +:a9682 :a9682 :a9682. +:a9683 :a9683 :a9683. +:a9684 :a9684 :a9684. +:a9685 :a9685 :a9685. +:a9686 :a9686 :a9686. +:a9687 :a9687 :a9687. +:a9688 :a9688 :a9688. +:a9689 :a9689 :a9689. +:a9690 :a9690 :a9690. +:a9691 :a9691 :a9691. +:a9692 :a9692 :a9692. +:a9693 :a9693 :a9693. +:a9694 :a9694 :a9694. +:a9695 :a9695 :a9695. +:a9696 :a9696 :a9696. +:a9697 :a9697 :a9697. +:a9698 :a9698 :a9698. +:a9699 :a9699 :a9699. +:a9700 :a9700 :a9700. +:a9701 :a9701 :a9701. +:a9702 :a9702 :a9702. +:a9703 :a9703 :a9703. +:a9704 :a9704 :a9704. +:a9705 :a9705 :a9705. +:a9706 :a9706 :a9706. +:a9707 :a9707 :a9707. +:a9708 :a9708 :a9708. +:a9709 :a9709 :a9709. +:a9710 :a9710 :a9710. +:a9711 :a9711 :a9711. +:a9712 :a9712 :a9712. +:a9713 :a9713 :a9713. +:a9714 :a9714 :a9714. +:a9715 :a9715 :a9715. +:a9716 :a9716 :a9716. +:a9717 :a9717 :a9717. +:a9718 :a9718 :a9718. +:a9719 :a9719 :a9719. +:a9720 :a9720 :a9720. +:a9721 :a9721 :a9721. +:a9722 :a9722 :a9722. +:a9723 :a9723 :a9723. +:a9724 :a9724 :a9724. +:a9725 :a9725 :a9725. +:a9726 :a9726 :a9726. +:a9727 :a9727 :a9727. +:a9728 :a9728 :a9728. +:a9729 :a9729 :a9729. +:a9730 :a9730 :a9730. +:a9731 :a9731 :a9731. +:a9732 :a9732 :a9732. +:a9733 :a9733 :a9733. +:a9734 :a9734 :a9734. +:a9735 :a9735 :a9735. +:a9736 :a9736 :a9736. +:a9737 :a9737 :a9737. +:a9738 :a9738 :a9738. +:a9739 :a9739 :a9739. +:a9740 :a9740 :a9740. +:a9741 :a9741 :a9741. +:a9742 :a9742 :a9742. +:a9743 :a9743 :a9743. +:a9744 :a9744 :a9744. +:a9745 :a9745 :a9745. +:a9746 :a9746 :a9746. +:a9747 :a9747 :a9747. +:a9748 :a9748 :a9748. +:a9749 :a9749 :a9749. +:a9750 :a9750 :a9750. +:a9751 :a9751 :a9751. +:a9752 :a9752 :a9752. +:a9753 :a9753 :a9753. +:a9754 :a9754 :a9754. +:a9755 :a9755 :a9755. +:a9756 :a9756 :a9756. +:a9757 :a9757 :a9757. +:a9758 :a9758 :a9758. +:a9759 :a9759 :a9759. +:a9760 :a9760 :a9760. +:a9761 :a9761 :a9761. +:a9762 :a9762 :a9762. +:a9763 :a9763 :a9763. +:a9764 :a9764 :a9764. +:a9765 :a9765 :a9765. +:a9766 :a9766 :a9766. +:a9767 :a9767 :a9767. +:a9768 :a9768 :a9768. +:a9769 :a9769 :a9769. +:a9770 :a9770 :a9770. +:a9771 :a9771 :a9771. +:a9772 :a9772 :a9772. +:a9773 :a9773 :a9773. +:a9774 :a9774 :a9774. +:a9775 :a9775 :a9775. +:a9776 :a9776 :a9776. +:a9777 :a9777 :a9777. +:a9778 :a9778 :a9778. +:a9779 :a9779 :a9779. +:a9780 :a9780 :a9780. +:a9781 :a9781 :a9781. +:a9782 :a9782 :a9782. +:a9783 :a9783 :a9783. +:a9784 :a9784 :a9784. +:a9785 :a9785 :a9785. +:a9786 :a9786 :a9786. +:a9787 :a9787 :a9787. +:a9788 :a9788 :a9788. +:a9789 :a9789 :a9789. +:a9790 :a9790 :a9790. +:a9791 :a9791 :a9791. +:a9792 :a9792 :a9792. +:a9793 :a9793 :a9793. +:a9794 :a9794 :a9794. +:a9795 :a9795 :a9795. +:a9796 :a9796 :a9796. +:a9797 :a9797 :a9797. +:a9798 :a9798 :a9798. +:a9799 :a9799 :a9799. +:a9800 :a9800 :a9800. +:a9801 :a9801 :a9801. +:a9802 :a9802 :a9802. +:a9803 :a9803 :a9803. +:a9804 :a9804 :a9804. +:a9805 :a9805 :a9805. +:a9806 :a9806 :a9806. +:a9807 :a9807 :a9807. +:a9808 :a9808 :a9808. +:a9809 :a9809 :a9809. +:a9810 :a9810 :a9810. +:a9811 :a9811 :a9811. +:a9812 :a9812 :a9812. +:a9813 :a9813 :a9813. +:a9814 :a9814 :a9814. +:a9815 :a9815 :a9815. +:a9816 :a9816 :a9816. +:a9817 :a9817 :a9817. +:a9818 :a9818 :a9818. +:a9819 :a9819 :a9819. +:a9820 :a9820 :a9820. +:a9821 :a9821 :a9821. +:a9822 :a9822 :a9822. +:a9823 :a9823 :a9823. +:a9824 :a9824 :a9824. +:a9825 :a9825 :a9825. +:a9826 :a9826 :a9826. +:a9827 :a9827 :a9827. +:a9828 :a9828 :a9828. +:a9829 :a9829 :a9829. +:a9830 :a9830 :a9830. +:a9831 :a9831 :a9831. +:a9832 :a9832 :a9832. +:a9833 :a9833 :a9833. +:a9834 :a9834 :a9834. +:a9835 :a9835 :a9835. +:a9836 :a9836 :a9836. +:a9837 :a9837 :a9837. +:a9838 :a9838 :a9838. +:a9839 :a9839 :a9839. +:a9840 :a9840 :a9840. +:a9841 :a9841 :a9841. +:a9842 :a9842 :a9842. +:a9843 :a9843 :a9843. +:a9844 :a9844 :a9844. +:a9845 :a9845 :a9845. +:a9846 :a9846 :a9846. +:a9847 :a9847 :a9847. +:a9848 :a9848 :a9848. +:a9849 :a9849 :a9849. +:a9850 :a9850 :a9850. +:a9851 :a9851 :a9851. +:a9852 :a9852 :a9852. +:a9853 :a9853 :a9853. +:a9854 :a9854 :a9854. +:a9855 :a9855 :a9855. +:a9856 :a9856 :a9856. +:a9857 :a9857 :a9857. +:a9858 :a9858 :a9858. +:a9859 :a9859 :a9859. +:a9860 :a9860 :a9860. +:a9861 :a9861 :a9861. +:a9862 :a9862 :a9862. +:a9863 :a9863 :a9863. +:a9864 :a9864 :a9864. +:a9865 :a9865 :a9865. +:a9866 :a9866 :a9866. +:a9867 :a9867 :a9867. +:a9868 :a9868 :a9868. +:a9869 :a9869 :a9869. +:a9870 :a9870 :a9870. +:a9871 :a9871 :a9871. +:a9872 :a9872 :a9872. +:a9873 :a9873 :a9873. +:a9874 :a9874 :a9874. +:a9875 :a9875 :a9875. +:a9876 :a9876 :a9876. +:a9877 :a9877 :a9877. +:a9878 :a9878 :a9878. +:a9879 :a9879 :a9879. +:a9880 :a9880 :a9880. +:a9881 :a9881 :a9881. +:a9882 :a9882 :a9882. +:a9883 :a9883 :a9883. +:a9884 :a9884 :a9884. +:a9885 :a9885 :a9885. +:a9886 :a9886 :a9886. +:a9887 :a9887 :a9887. +:a9888 :a9888 :a9888. +:a9889 :a9889 :a9889. +:a9890 :a9890 :a9890. +:a9891 :a9891 :a9891. +:a9892 :a9892 :a9892. +:a9893 :a9893 :a9893. +:a9894 :a9894 :a9894. +:a9895 :a9895 :a9895. +:a9896 :a9896 :a9896. +:a9897 :a9897 :a9897. +:a9898 :a9898 :a9898. +:a9899 :a9899 :a9899. +:a9900 :a9900 :a9900. +:a9901 :a9901 :a9901. +:a9902 :a9902 :a9902. +:a9903 :a9903 :a9903. +:a9904 :a9904 :a9904. +:a9905 :a9905 :a9905. +:a9906 :a9906 :a9906. +:a9907 :a9907 :a9907. +:a9908 :a9908 :a9908. +:a9909 :a9909 :a9909. +:a9910 :a9910 :a9910. +:a9911 :a9911 :a9911. +:a9912 :a9912 :a9912. +:a9913 :a9913 :a9913. +:a9914 :a9914 :a9914. +:a9915 :a9915 :a9915. +:a9916 :a9916 :a9916. +:a9917 :a9917 :a9917. +:a9918 :a9918 :a9918. +:a9919 :a9919 :a9919. +:a9920 :a9920 :a9920. +:a9921 :a9921 :a9921. +:a9922 :a9922 :a9922. +:a9923 :a9923 :a9923. +:a9924 :a9924 :a9924. +:a9925 :a9925 :a9925. +:a9926 :a9926 :a9926. +:a9927 :a9927 :a9927. +:a9928 :a9928 :a9928. +:a9929 :a9929 :a9929. +:a9930 :a9930 :a9930. +:a9931 :a9931 :a9931. +:a9932 :a9932 :a9932. +:a9933 :a9933 :a9933. +:a9934 :a9934 :a9934. +:a9935 :a9935 :a9935. +:a9936 :a9936 :a9936. +:a9937 :a9937 :a9937. +:a9938 :a9938 :a9938. +:a9939 :a9939 :a9939. +:a9940 :a9940 :a9940. +:a9941 :a9941 :a9941. +:a9942 :a9942 :a9942. +:a9943 :a9943 :a9943. +:a9944 :a9944 :a9944. +:a9945 :a9945 :a9945. +:a9946 :a9946 :a9946. +:a9947 :a9947 :a9947. +:a9948 :a9948 :a9948. +:a9949 :a9949 :a9949. +:a9950 :a9950 :a9950. +:a9951 :a9951 :a9951. +:a9952 :a9952 :a9952. +:a9953 :a9953 :a9953. +:a9954 :a9954 :a9954. +:a9955 :a9955 :a9955. +:a9956 :a9956 :a9956. +:a9957 :a9957 :a9957. +:a9958 :a9958 :a9958. +:a9959 :a9959 :a9959. +:a9960 :a9960 :a9960. +:a9961 :a9961 :a9961. +:a9962 :a9962 :a9962. +:a9963 :a9963 :a9963. +:a9964 :a9964 :a9964. +:a9965 :a9965 :a9965. +:a9966 :a9966 :a9966. +:a9967 :a9967 :a9967. +:a9968 :a9968 :a9968. +:a9969 :a9969 :a9969. +:a9970 :a9970 :a9970. +:a9971 :a9971 :a9971. +:a9972 :a9972 :a9972. +:a9973 :a9973 :a9973. +:a9974 :a9974 :a9974. +:a9975 :a9975 :a9975. +:a9976 :a9976 :a9976. +:a9977 :a9977 :a9977. +:a9978 :a9978 :a9978. +:a9979 :a9979 :a9979. +:a9980 :a9980 :a9980. +:a9981 :a9981 :a9981. +:a9982 :a9982 :a9982. +:a9983 :a9983 :a9983. +:a9984 :a9984 :a9984. +:a9985 :a9985 :a9985. +:a9986 :a9986 :a9986. +:a9987 :a9987 :a9987. +:a9988 :a9988 :a9988. +:a9989 :a9989 :a9989. +:a9990 :a9990 :a9990. +:a9991 :a9991 :a9991. +:a9992 :a9992 :a9992. +:a9993 :a9993 :a9993. +:a9994 :a9994 :a9994. +:a9995 :a9995 :a9995. +:a9996 :a9996 :a9996. +:a9997 :a9997 :a9997. +:a9998 :a9998 :a9998. +:a9999 :a9999 :a9999. +:a10000 :a10000 :a10000. diff --git a/test/good/test-15.nt b/test/good/test-15.nt new file mode 100644 index 00000000..c0604b3b --- /dev/null +++ b/test/good/test-15.nt @@ -0,0 +1,10000 @@ + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . diff --git a/test/good/test-15.ttl b/test/good/test-15.ttl new file mode 100644 index 00000000..10df17df --- /dev/null +++ b/test/good/test-15.ttl @@ -0,0 +1,3 @@ +# 10000 triple objects (10000 triples) more than the default Bison stack size +@prefix : . +:a :b :c1, :c2, :c3, :c4, :c5, :c6, :c7, :c8, :c9, :c10, :c11, :c12, :c13, :c14, :c15, :c16, :c17, :c18, :c19, :c20, :c21, :c22, :c23, :c24, :c25, :c26, :c27, :c28, :c29, :c30, :c31, :c32, :c33, :c34, :c35, :c36, :c37, :c38, :c39, :c40, :c41, :c42, :c43, :c44, :c45, :c46, :c47, :c48, :c49, :c50, :c51, :c52, :c53, :c54, :c55, :c56, :c57, :c58, :c59, :c60, :c61, :c62, :c63, :c64, :c65, :c66, :c67, :c68, :c69, :c70, :c71, :c72, :c73, :c74, :c75, :c76, :c77, :c78, :c79, :c80, :c81, :c82, :c83, :c84, :c85, :c86, :c87, :c88, :c89, :c90, :c91, :c92, :c93, :c94, :c95, :c96, :c97, :c98, :c99, :c100, :c101, :c102, :c103, :c104, :c105, :c106, :c107, :c108, :c109, :c110, :c111, :c112, :c113, :c114, :c115, :c116, :c117, :c118, :c119, :c120, :c121, :c122, :c123, :c124, :c125, :c126, :c127, :c128, :c129, :c130, :c131, :c132, :c133, :c134, :c135, :c136, :c137, :c138, :c139, :c140, :c141, :c142, :c143, :c144, :c145, :c146, :c147, :c148, :c149, :c150, :c151, :c152, :c153, :c154, :c155, :c156, :c157, :c158, :c159, :c160, :c161, :c162, :c163, :c164, :c165, :c166, :c167, :c168, :c169, :c170, :c171, :c172, :c173, :c174, :c175, :c176, :c177, :c178, :c179, :c180, :c181, :c182, :c183, :c184, :c185, :c186, :c187, :c188, :c189, :c190, :c191, :c192, :c193, :c194, :c195, :c196, :c197, :c198, :c199, :c200, :c201, :c202, :c203, :c204, :c205, :c206, :c207, :c208, :c209, :c210, :c211, :c212, :c213, :c214, :c215, :c216, :c217, :c218, :c219, :c220, :c221, :c222, :c223, :c224, :c225, :c226, :c227, :c228, :c229, :c230, :c231, :c232, :c233, :c234, :c235, :c236, :c237, :c238, :c239, :c240, :c241, :c242, :c243, :c244, :c245, :c246, :c247, :c248, :c249, :c250, :c251, :c252, :c253, :c254, :c255, :c256, :c257, :c258, :c259, :c260, :c261, :c262, :c263, :c264, :c265, :c266, :c267, :c268, :c269, :c270, :c271, :c272, :c273, :c274, :c275, :c276, :c277, :c278, :c279, :c280, :c281, :c282, :c283, :c284, :c285, :c286, :c287, :c288, :c289, :c290, :c291, :c292, :c293, :c294, :c295, :c296, :c297, :c298, :c299, :c300, :c301, :c302, :c303, :c304, :c305, :c306, :c307, :c308, :c309, :c310, :c311, :c312, :c313, :c314, :c315, :c316, :c317, :c318, :c319, :c320, :c321, :c322, :c323, :c324, :c325, :c326, :c327, :c328, :c329, :c330, :c331, :c332, :c333, :c334, :c335, :c336, :c337, :c338, :c339, :c340, :c341, :c342, :c343, :c344, :c345, :c346, :c347, :c348, :c349, :c350, :c351, :c352, :c353, :c354, :c355, :c356, :c357, :c358, :c359, :c360, :c361, :c362, :c363, :c364, :c365, :c366, :c367, :c368, :c369, :c370, :c371, :c372, :c373, :c374, :c375, :c376, :c377, :c378, :c379, :c380, :c381, :c382, :c383, :c384, :c385, :c386, :c387, :c388, :c389, :c390, :c391, :c392, :c393, :c394, :c395, :c396, :c397, :c398, :c399, :c400, :c401, :c402, :c403, :c404, :c405, :c406, :c407, :c408, :c409, :c410, :c411, :c412, :c413, :c414, :c415, :c416, :c417, :c418, :c419, :c420, :c421, :c422, :c423, :c424, :c425, :c426, :c427, :c428, :c429, :c430, :c431, :c432, :c433, :c434, :c435, :c436, :c437, :c438, :c439, :c440, :c441, :c442, :c443, :c444, :c445, :c446, :c447, :c448, :c449, :c450, :c451, :c452, :c453, :c454, :c455, :c456, :c457, :c458, :c459, :c460, :c461, :c462, :c463, :c464, :c465, :c466, :c467, :c468, :c469, :c470, :c471, :c472, :c473, :c474, :c475, :c476, :c477, :c478, :c479, :c480, :c481, :c482, :c483, :c484, :c485, :c486, :c487, :c488, :c489, :c490, :c491, :c492, :c493, :c494, :c495, :c496, :c497, :c498, :c499, :c500, :c501, :c502, :c503, :c504, :c505, :c506, :c507, :c508, :c509, :c510, :c511, :c512, :c513, :c514, :c515, :c516, :c517, :c518, :c519, :c520, :c521, :c522, :c523, :c524, :c525, :c526, :c527, :c528, :c529, :c530, :c531, :c532, :c533, :c534, :c535, :c536, :c537, :c538, :c539, :c540, :c541, :c542, :c543, :c544, :c545, :c546, :c547, :c548, :c549, :c550, :c551, :c552, :c553, :c554, :c555, :c556, :c557, :c558, :c559, :c560, :c561, :c562, :c563, :c564, :c565, :c566, :c567, :c568, :c569, :c570, :c571, :c572, :c573, :c574, :c575, :c576, :c577, :c578, :c579, :c580, :c581, :c582, :c583, :c584, :c585, :c586, :c587, :c588, :c589, :c590, :c591, :c592, :c593, :c594, :c595, :c596, :c597, :c598, :c599, :c600, :c601, :c602, :c603, :c604, :c605, :c606, :c607, :c608, :c609, :c610, :c611, :c612, :c613, :c614, :c615, :c616, :c617, :c618, :c619, :c620, :c621, :c622, :c623, :c624, :c625, :c626, :c627, :c628, :c629, :c630, :c631, :c632, :c633, :c634, :c635, :c636, :c637, :c638, :c639, :c640, :c641, :c642, :c643, :c644, :c645, :c646, :c647, :c648, :c649, :c650, :c651, :c652, :c653, :c654, :c655, :c656, :c657, :c658, :c659, :c660, :c661, :c662, :c663, :c664, :c665, :c666, :c667, :c668, :c669, :c670, :c671, :c672, :c673, :c674, :c675, :c676, :c677, :c678, :c679, :c680, :c681, :c682, :c683, :c684, :c685, :c686, :c687, :c688, :c689, :c690, :c691, :c692, :c693, :c694, :c695, :c696, :c697, :c698, :c699, :c700, :c701, :c702, :c703, :c704, :c705, :c706, :c707, :c708, :c709, :c710, :c711, :c712, :c713, :c714, :c715, :c716, :c717, :c718, :c719, :c720, :c721, :c722, :c723, :c724, :c725, :c726, :c727, :c728, :c729, :c730, :c731, :c732, :c733, :c734, :c735, :c736, :c737, :c738, :c739, :c740, :c741, :c742, :c743, :c744, :c745, :c746, :c747, :c748, :c749, :c750, :c751, :c752, :c753, :c754, :c755, :c756, :c757, :c758, :c759, :c760, :c761, :c762, :c763, :c764, :c765, :c766, :c767, :c768, :c769, :c770, :c771, :c772, :c773, :c774, :c775, :c776, :c777, :c778, :c779, :c780, :c781, :c782, :c783, :c784, :c785, :c786, :c787, :c788, :c789, :c790, :c791, :c792, :c793, :c794, :c795, :c796, :c797, :c798, :c799, :c800, :c801, :c802, :c803, :c804, :c805, :c806, :c807, :c808, :c809, :c810, :c811, :c812, :c813, :c814, :c815, :c816, :c817, :c818, :c819, :c820, :c821, :c822, :c823, :c824, :c825, :c826, :c827, :c828, :c829, :c830, :c831, :c832, :c833, :c834, :c835, :c836, :c837, :c838, :c839, :c840, :c841, :c842, :c843, :c844, :c845, :c846, :c847, :c848, :c849, :c850, :c851, :c852, :c853, :c854, :c855, :c856, :c857, :c858, :c859, :c860, :c861, :c862, :c863, :c864, :c865, :c866, :c867, :c868, :c869, :c870, :c871, :c872, :c873, :c874, :c875, :c876, :c877, :c878, :c879, :c880, :c881, :c882, :c883, :c884, :c885, :c886, :c887, :c888, :c889, :c890, :c891, :c892, :c893, :c894, :c895, :c896, :c897, :c898, :c899, :c900, :c901, :c902, :c903, :c904, :c905, :c906, :c907, :c908, :c909, :c910, :c911, :c912, :c913, :c914, :c915, :c916, :c917, :c918, :c919, :c920, :c921, :c922, :c923, :c924, :c925, :c926, :c927, :c928, :c929, :c930, :c931, :c932, :c933, :c934, :c935, :c936, :c937, :c938, :c939, :c940, :c941, :c942, :c943, :c944, :c945, :c946, :c947, :c948, :c949, :c950, :c951, :c952, :c953, :c954, :c955, :c956, :c957, :c958, :c959, :c960, :c961, :c962, :c963, :c964, :c965, :c966, :c967, :c968, :c969, :c970, :c971, :c972, :c973, :c974, :c975, :c976, :c977, :c978, :c979, :c980, :c981, :c982, :c983, :c984, :c985, :c986, :c987, :c988, :c989, :c990, :c991, :c992, :c993, :c994, :c995, :c996, :c997, :c998, :c999, :c1000, :c1001, :c1002, :c1003, :c1004, :c1005, :c1006, :c1007, :c1008, :c1009, :c1010, :c1011, :c1012, :c1013, :c1014, :c1015, :c1016, :c1017, :c1018, :c1019, :c1020, :c1021, :c1022, :c1023, :c1024, :c1025, :c1026, :c1027, :c1028, :c1029, :c1030, :c1031, :c1032, :c1033, :c1034, :c1035, :c1036, :c1037, :c1038, :c1039, :c1040, :c1041, :c1042, :c1043, :c1044, :c1045, :c1046, :c1047, :c1048, :c1049, :c1050, :c1051, :c1052, :c1053, :c1054, :c1055, :c1056, :c1057, :c1058, :c1059, :c1060, :c1061, :c1062, :c1063, :c1064, :c1065, :c1066, :c1067, :c1068, :c1069, :c1070, :c1071, :c1072, :c1073, :c1074, :c1075, :c1076, :c1077, :c1078, :c1079, :c1080, :c1081, :c1082, :c1083, :c1084, :c1085, :c1086, :c1087, :c1088, :c1089, :c1090, :c1091, :c1092, :c1093, :c1094, :c1095, :c1096, :c1097, :c1098, :c1099, :c1100, :c1101, :c1102, :c1103, :c1104, :c1105, :c1106, :c1107, :c1108, :c1109, :c1110, :c1111, :c1112, :c1113, :c1114, :c1115, :c1116, :c1117, :c1118, :c1119, :c1120, :c1121, :c1122, :c1123, :c1124, :c1125, :c1126, :c1127, :c1128, :c1129, :c1130, :c1131, :c1132, :c1133, :c1134, :c1135, :c1136, :c1137, :c1138, :c1139, :c1140, :c1141, :c1142, :c1143, :c1144, :c1145, :c1146, :c1147, :c1148, :c1149, :c1150, :c1151, :c1152, :c1153, :c1154, :c1155, :c1156, :c1157, :c1158, :c1159, :c1160, :c1161, :c1162, :c1163, :c1164, :c1165, :c1166, :c1167, :c1168, :c1169, :c1170, :c1171, :c1172, :c1173, :c1174, :c1175, :c1176, :c1177, :c1178, :c1179, :c1180, :c1181, :c1182, :c1183, :c1184, :c1185, :c1186, :c1187, :c1188, :c1189, :c1190, :c1191, :c1192, :c1193, :c1194, :c1195, :c1196, :c1197, :c1198, :c1199, :c1200, :c1201, :c1202, :c1203, :c1204, :c1205, :c1206, :c1207, :c1208, :c1209, :c1210, :c1211, :c1212, :c1213, :c1214, :c1215, :c1216, :c1217, :c1218, :c1219, :c1220, :c1221, :c1222, :c1223, :c1224, :c1225, :c1226, :c1227, :c1228, :c1229, :c1230, :c1231, :c1232, :c1233, :c1234, :c1235, :c1236, :c1237, :c1238, :c1239, :c1240, :c1241, :c1242, :c1243, :c1244, :c1245, :c1246, :c1247, :c1248, :c1249, :c1250, :c1251, :c1252, :c1253, :c1254, :c1255, :c1256, :c1257, :c1258, :c1259, :c1260, :c1261, :c1262, :c1263, :c1264, :c1265, :c1266, :c1267, :c1268, :c1269, :c1270, :c1271, :c1272, :c1273, :c1274, :c1275, :c1276, :c1277, :c1278, :c1279, :c1280, :c1281, :c1282, :c1283, :c1284, :c1285, :c1286, :c1287, :c1288, :c1289, :c1290, :c1291, :c1292, :c1293, :c1294, :c1295, :c1296, :c1297, :c1298, :c1299, :c1300, :c1301, :c1302, :c1303, :c1304, :c1305, :c1306, :c1307, :c1308, :c1309, :c1310, :c1311, :c1312, :c1313, :c1314, :c1315, :c1316, :c1317, :c1318, :c1319, :c1320, :c1321, :c1322, :c1323, :c1324, :c1325, :c1326, :c1327, :c1328, :c1329, :c1330, :c1331, :c1332, :c1333, :c1334, :c1335, :c1336, :c1337, :c1338, :c1339, :c1340, :c1341, :c1342, :c1343, :c1344, :c1345, :c1346, :c1347, :c1348, :c1349, :c1350, :c1351, :c1352, :c1353, :c1354, :c1355, :c1356, :c1357, :c1358, :c1359, :c1360, :c1361, :c1362, :c1363, :c1364, :c1365, :c1366, :c1367, :c1368, :c1369, :c1370, :c1371, :c1372, :c1373, :c1374, :c1375, :c1376, :c1377, :c1378, :c1379, :c1380, :c1381, :c1382, :c1383, :c1384, :c1385, :c1386, :c1387, :c1388, :c1389, :c1390, :c1391, :c1392, :c1393, :c1394, :c1395, :c1396, :c1397, :c1398, :c1399, :c1400, :c1401, :c1402, :c1403, :c1404, :c1405, :c1406, :c1407, :c1408, :c1409, :c1410, :c1411, :c1412, :c1413, :c1414, :c1415, :c1416, :c1417, :c1418, :c1419, :c1420, :c1421, :c1422, :c1423, :c1424, :c1425, :c1426, :c1427, :c1428, :c1429, :c1430, :c1431, :c1432, :c1433, :c1434, :c1435, :c1436, :c1437, :c1438, :c1439, :c1440, :c1441, :c1442, :c1443, :c1444, :c1445, :c1446, :c1447, :c1448, :c1449, :c1450, :c1451, :c1452, :c1453, :c1454, :c1455, :c1456, :c1457, :c1458, :c1459, :c1460, :c1461, :c1462, :c1463, :c1464, :c1465, :c1466, :c1467, :c1468, :c1469, :c1470, :c1471, :c1472, :c1473, :c1474, :c1475, :c1476, :c1477, :c1478, :c1479, :c1480, :c1481, :c1482, :c1483, :c1484, :c1485, :c1486, :c1487, :c1488, :c1489, :c1490, :c1491, :c1492, :c1493, :c1494, :c1495, :c1496, :c1497, :c1498, :c1499, :c1500, :c1501, :c1502, :c1503, :c1504, :c1505, :c1506, :c1507, :c1508, :c1509, :c1510, :c1511, :c1512, :c1513, :c1514, :c1515, :c1516, :c1517, :c1518, :c1519, :c1520, :c1521, :c1522, :c1523, :c1524, :c1525, :c1526, :c1527, :c1528, :c1529, :c1530, :c1531, :c1532, :c1533, :c1534, :c1535, :c1536, :c1537, :c1538, :c1539, :c1540, :c1541, :c1542, :c1543, :c1544, :c1545, :c1546, :c1547, :c1548, :c1549, :c1550, :c1551, :c1552, :c1553, :c1554, :c1555, :c1556, :c1557, :c1558, :c1559, :c1560, :c1561, :c1562, :c1563, :c1564, :c1565, :c1566, :c1567, :c1568, :c1569, :c1570, :c1571, :c1572, :c1573, :c1574, :c1575, :c1576, :c1577, :c1578, :c1579, :c1580, :c1581, :c1582, :c1583, :c1584, :c1585, :c1586, :c1587, :c1588, :c1589, :c1590, :c1591, :c1592, :c1593, :c1594, :c1595, :c1596, :c1597, :c1598, :c1599, :c1600, :c1601, :c1602, :c1603, :c1604, :c1605, :c1606, :c1607, :c1608, :c1609, :c1610, :c1611, :c1612, :c1613, :c1614, :c1615, :c1616, :c1617, :c1618, :c1619, :c1620, :c1621, :c1622, :c1623, :c1624, :c1625, :c1626, :c1627, :c1628, :c1629, :c1630, :c1631, :c1632, :c1633, :c1634, :c1635, :c1636, :c1637, :c1638, :c1639, :c1640, :c1641, :c1642, :c1643, :c1644, :c1645, :c1646, :c1647, :c1648, :c1649, :c1650, :c1651, :c1652, :c1653, :c1654, :c1655, :c1656, :c1657, :c1658, :c1659, :c1660, :c1661, :c1662, :c1663, :c1664, :c1665, :c1666, :c1667, :c1668, :c1669, :c1670, :c1671, :c1672, :c1673, :c1674, :c1675, :c1676, :c1677, :c1678, :c1679, :c1680, :c1681, :c1682, :c1683, :c1684, :c1685, :c1686, :c1687, :c1688, :c1689, :c1690, :c1691, :c1692, :c1693, :c1694, :c1695, :c1696, :c1697, :c1698, :c1699, :c1700, :c1701, :c1702, :c1703, :c1704, :c1705, :c1706, :c1707, :c1708, :c1709, :c1710, :c1711, :c1712, :c1713, :c1714, :c1715, :c1716, :c1717, :c1718, :c1719, :c1720, :c1721, :c1722, :c1723, :c1724, :c1725, :c1726, :c1727, :c1728, :c1729, :c1730, :c1731, :c1732, :c1733, :c1734, :c1735, :c1736, :c1737, :c1738, :c1739, :c1740, :c1741, :c1742, :c1743, :c1744, :c1745, :c1746, :c1747, :c1748, :c1749, :c1750, :c1751, :c1752, :c1753, :c1754, :c1755, :c1756, :c1757, :c1758, :c1759, :c1760, :c1761, :c1762, :c1763, :c1764, :c1765, :c1766, :c1767, :c1768, :c1769, :c1770, :c1771, :c1772, :c1773, :c1774, :c1775, :c1776, :c1777, :c1778, :c1779, :c1780, :c1781, :c1782, :c1783, :c1784, :c1785, :c1786, :c1787, :c1788, :c1789, :c1790, :c1791, :c1792, :c1793, :c1794, :c1795, :c1796, :c1797, :c1798, :c1799, :c1800, :c1801, :c1802, :c1803, :c1804, :c1805, :c1806, :c1807, :c1808, :c1809, :c1810, :c1811, :c1812, :c1813, :c1814, :c1815, :c1816, :c1817, :c1818, :c1819, :c1820, :c1821, :c1822, :c1823, :c1824, :c1825, :c1826, :c1827, :c1828, :c1829, :c1830, :c1831, :c1832, :c1833, :c1834, :c1835, :c1836, :c1837, :c1838, :c1839, :c1840, :c1841, :c1842, :c1843, :c1844, :c1845, :c1846, :c1847, :c1848, :c1849, :c1850, :c1851, :c1852, :c1853, :c1854, :c1855, :c1856, :c1857, :c1858, :c1859, :c1860, :c1861, :c1862, :c1863, :c1864, :c1865, :c1866, :c1867, :c1868, :c1869, :c1870, :c1871, :c1872, :c1873, :c1874, :c1875, :c1876, :c1877, :c1878, :c1879, :c1880, :c1881, :c1882, :c1883, :c1884, :c1885, :c1886, :c1887, :c1888, :c1889, :c1890, :c1891, :c1892, :c1893, :c1894, :c1895, :c1896, :c1897, :c1898, :c1899, :c1900, :c1901, :c1902, :c1903, :c1904, :c1905, :c1906, :c1907, :c1908, :c1909, :c1910, :c1911, :c1912, :c1913, :c1914, :c1915, :c1916, :c1917, :c1918, :c1919, :c1920, :c1921, :c1922, :c1923, :c1924, :c1925, :c1926, :c1927, :c1928, :c1929, :c1930, :c1931, :c1932, :c1933, :c1934, :c1935, :c1936, :c1937, :c1938, :c1939, :c1940, :c1941, :c1942, :c1943, :c1944, :c1945, :c1946, :c1947, :c1948, :c1949, :c1950, :c1951, :c1952, :c1953, :c1954, :c1955, :c1956, :c1957, :c1958, :c1959, :c1960, :c1961, :c1962, :c1963, :c1964, :c1965, :c1966, :c1967, :c1968, :c1969, :c1970, :c1971, :c1972, :c1973, :c1974, :c1975, :c1976, :c1977, :c1978, :c1979, :c1980, :c1981, :c1982, :c1983, :c1984, :c1985, :c1986, :c1987, :c1988, :c1989, :c1990, :c1991, :c1992, :c1993, :c1994, :c1995, :c1996, :c1997, :c1998, :c1999, :c2000, :c2001, :c2002, :c2003, :c2004, :c2005, :c2006, :c2007, :c2008, :c2009, :c2010, :c2011, :c2012, :c2013, :c2014, :c2015, :c2016, :c2017, :c2018, :c2019, :c2020, :c2021, :c2022, :c2023, :c2024, :c2025, :c2026, :c2027, :c2028, :c2029, :c2030, :c2031, :c2032, :c2033, :c2034, :c2035, :c2036, :c2037, :c2038, :c2039, :c2040, :c2041, :c2042, :c2043, :c2044, :c2045, :c2046, :c2047, :c2048, :c2049, :c2050, :c2051, :c2052, :c2053, :c2054, :c2055, :c2056, :c2057, :c2058, :c2059, :c2060, :c2061, :c2062, :c2063, :c2064, :c2065, :c2066, :c2067, :c2068, :c2069, :c2070, :c2071, :c2072, :c2073, :c2074, :c2075, :c2076, :c2077, :c2078, :c2079, :c2080, :c2081, :c2082, :c2083, :c2084, :c2085, :c2086, :c2087, :c2088, :c2089, :c2090, :c2091, :c2092, :c2093, :c2094, :c2095, :c2096, :c2097, :c2098, :c2099, :c2100, :c2101, :c2102, :c2103, :c2104, :c2105, :c2106, :c2107, :c2108, :c2109, :c2110, :c2111, :c2112, :c2113, :c2114, :c2115, :c2116, :c2117, :c2118, :c2119, :c2120, :c2121, :c2122, :c2123, :c2124, :c2125, :c2126, :c2127, :c2128, :c2129, :c2130, :c2131, :c2132, :c2133, :c2134, :c2135, :c2136, :c2137, :c2138, :c2139, :c2140, :c2141, :c2142, :c2143, :c2144, :c2145, :c2146, :c2147, :c2148, :c2149, :c2150, :c2151, :c2152, :c2153, :c2154, :c2155, :c2156, :c2157, :c2158, :c2159, :c2160, :c2161, :c2162, :c2163, :c2164, :c2165, :c2166, :c2167, :c2168, :c2169, :c2170, :c2171, :c2172, :c2173, :c2174, :c2175, :c2176, :c2177, :c2178, :c2179, :c2180, :c2181, :c2182, :c2183, :c2184, :c2185, :c2186, :c2187, :c2188, :c2189, :c2190, :c2191, :c2192, :c2193, :c2194, :c2195, :c2196, :c2197, :c2198, :c2199, :c2200, :c2201, :c2202, :c2203, :c2204, :c2205, :c2206, :c2207, :c2208, :c2209, :c2210, :c2211, :c2212, :c2213, :c2214, :c2215, :c2216, :c2217, :c2218, :c2219, :c2220, :c2221, :c2222, :c2223, :c2224, :c2225, :c2226, :c2227, :c2228, :c2229, :c2230, :c2231, :c2232, :c2233, :c2234, :c2235, :c2236, :c2237, :c2238, :c2239, :c2240, :c2241, :c2242, :c2243, :c2244, :c2245, :c2246, :c2247, :c2248, :c2249, :c2250, :c2251, :c2252, :c2253, :c2254, :c2255, :c2256, :c2257, :c2258, :c2259, :c2260, :c2261, :c2262, :c2263, :c2264, :c2265, :c2266, :c2267, :c2268, :c2269, :c2270, :c2271, :c2272, :c2273, :c2274, :c2275, :c2276, :c2277, :c2278, :c2279, :c2280, :c2281, :c2282, :c2283, :c2284, :c2285, :c2286, :c2287, :c2288, :c2289, :c2290, :c2291, :c2292, :c2293, :c2294, :c2295, :c2296, :c2297, :c2298, :c2299, :c2300, :c2301, :c2302, :c2303, :c2304, :c2305, :c2306, :c2307, :c2308, :c2309, :c2310, :c2311, :c2312, :c2313, :c2314, :c2315, :c2316, :c2317, :c2318, :c2319, :c2320, :c2321, :c2322, :c2323, :c2324, :c2325, :c2326, :c2327, :c2328, :c2329, :c2330, :c2331, :c2332, :c2333, :c2334, :c2335, :c2336, :c2337, :c2338, :c2339, :c2340, :c2341, :c2342, :c2343, :c2344, :c2345, :c2346, :c2347, :c2348, :c2349, :c2350, :c2351, :c2352, :c2353, :c2354, :c2355, :c2356, :c2357, :c2358, :c2359, :c2360, :c2361, :c2362, :c2363, :c2364, :c2365, :c2366, :c2367, :c2368, :c2369, :c2370, :c2371, :c2372, :c2373, :c2374, :c2375, :c2376, :c2377, :c2378, :c2379, :c2380, :c2381, :c2382, :c2383, :c2384, :c2385, :c2386, :c2387, :c2388, :c2389, :c2390, :c2391, :c2392, :c2393, :c2394, :c2395, :c2396, :c2397, :c2398, :c2399, :c2400, :c2401, :c2402, :c2403, :c2404, :c2405, :c2406, :c2407, :c2408, :c2409, :c2410, :c2411, :c2412, :c2413, :c2414, :c2415, :c2416, :c2417, :c2418, :c2419, :c2420, :c2421, :c2422, :c2423, :c2424, :c2425, :c2426, :c2427, :c2428, :c2429, :c2430, :c2431, :c2432, :c2433, :c2434, :c2435, :c2436, :c2437, :c2438, :c2439, :c2440, :c2441, :c2442, :c2443, :c2444, :c2445, :c2446, :c2447, :c2448, :c2449, :c2450, :c2451, :c2452, :c2453, :c2454, :c2455, :c2456, :c2457, :c2458, :c2459, :c2460, :c2461, :c2462, :c2463, :c2464, :c2465, :c2466, :c2467, :c2468, :c2469, :c2470, :c2471, :c2472, :c2473, :c2474, :c2475, :c2476, :c2477, :c2478, :c2479, :c2480, :c2481, :c2482, :c2483, :c2484, :c2485, :c2486, :c2487, :c2488, :c2489, :c2490, :c2491, :c2492, :c2493, :c2494, :c2495, :c2496, :c2497, :c2498, :c2499, :c2500, :c2501, :c2502, :c2503, :c2504, :c2505, :c2506, :c2507, :c2508, :c2509, :c2510, :c2511, :c2512, :c2513, :c2514, :c2515, :c2516, :c2517, :c2518, :c2519, :c2520, :c2521, :c2522, :c2523, :c2524, :c2525, :c2526, :c2527, :c2528, :c2529, :c2530, :c2531, :c2532, :c2533, :c2534, :c2535, :c2536, :c2537, :c2538, :c2539, :c2540, :c2541, :c2542, :c2543, :c2544, :c2545, :c2546, :c2547, :c2548, :c2549, :c2550, :c2551, :c2552, :c2553, :c2554, :c2555, :c2556, :c2557, :c2558, :c2559, :c2560, :c2561, :c2562, :c2563, :c2564, :c2565, :c2566, :c2567, :c2568, :c2569, :c2570, :c2571, :c2572, :c2573, :c2574, :c2575, :c2576, :c2577, :c2578, :c2579, :c2580, :c2581, :c2582, :c2583, :c2584, :c2585, :c2586, :c2587, :c2588, :c2589, :c2590, :c2591, :c2592, :c2593, :c2594, :c2595, :c2596, :c2597, :c2598, :c2599, :c2600, :c2601, :c2602, :c2603, :c2604, :c2605, :c2606, :c2607, :c2608, :c2609, :c2610, :c2611, :c2612, :c2613, :c2614, :c2615, :c2616, :c2617, :c2618, :c2619, :c2620, :c2621, :c2622, :c2623, :c2624, :c2625, :c2626, :c2627, :c2628, :c2629, :c2630, :c2631, :c2632, :c2633, :c2634, :c2635, :c2636, :c2637, :c2638, :c2639, :c2640, :c2641, :c2642, :c2643, :c2644, :c2645, :c2646, :c2647, :c2648, :c2649, :c2650, :c2651, :c2652, :c2653, :c2654, :c2655, :c2656, :c2657, :c2658, :c2659, :c2660, :c2661, :c2662, :c2663, :c2664, :c2665, :c2666, :c2667, :c2668, :c2669, :c2670, :c2671, :c2672, :c2673, :c2674, :c2675, :c2676, :c2677, :c2678, :c2679, :c2680, :c2681, :c2682, :c2683, :c2684, :c2685, :c2686, :c2687, :c2688, :c2689, :c2690, :c2691, :c2692, :c2693, :c2694, :c2695, :c2696, :c2697, :c2698, :c2699, :c2700, :c2701, :c2702, :c2703, :c2704, :c2705, :c2706, :c2707, :c2708, :c2709, :c2710, :c2711, :c2712, :c2713, :c2714, :c2715, :c2716, :c2717, :c2718, :c2719, :c2720, :c2721, :c2722, :c2723, :c2724, :c2725, :c2726, :c2727, :c2728, :c2729, :c2730, :c2731, :c2732, :c2733, :c2734, :c2735, :c2736, :c2737, :c2738, :c2739, :c2740, :c2741, :c2742, :c2743, :c2744, :c2745, :c2746, :c2747, :c2748, :c2749, :c2750, :c2751, :c2752, :c2753, :c2754, :c2755, :c2756, :c2757, :c2758, :c2759, :c2760, :c2761, :c2762, :c2763, :c2764, :c2765, :c2766, :c2767, :c2768, :c2769, :c2770, :c2771, :c2772, :c2773, :c2774, :c2775, :c2776, :c2777, :c2778, :c2779, :c2780, :c2781, :c2782, :c2783, :c2784, :c2785, :c2786, :c2787, :c2788, :c2789, :c2790, :c2791, :c2792, :c2793, :c2794, :c2795, :c2796, :c2797, :c2798, :c2799, :c2800, :c2801, :c2802, :c2803, :c2804, :c2805, :c2806, :c2807, :c2808, :c2809, :c2810, :c2811, :c2812, :c2813, :c2814, :c2815, :c2816, :c2817, :c2818, :c2819, :c2820, :c2821, :c2822, :c2823, :c2824, :c2825, :c2826, :c2827, :c2828, :c2829, :c2830, :c2831, :c2832, :c2833, :c2834, :c2835, :c2836, :c2837, :c2838, :c2839, :c2840, :c2841, :c2842, :c2843, :c2844, :c2845, :c2846, :c2847, :c2848, :c2849, :c2850, :c2851, :c2852, :c2853, :c2854, :c2855, :c2856, :c2857, :c2858, :c2859, :c2860, :c2861, :c2862, :c2863, :c2864, :c2865, :c2866, :c2867, :c2868, :c2869, :c2870, :c2871, :c2872, :c2873, :c2874, :c2875, :c2876, :c2877, :c2878, :c2879, :c2880, :c2881, :c2882, :c2883, :c2884, :c2885, :c2886, :c2887, :c2888, :c2889, :c2890, :c2891, :c2892, :c2893, :c2894, :c2895, :c2896, :c2897, :c2898, :c2899, :c2900, :c2901, :c2902, :c2903, :c2904, :c2905, :c2906, :c2907, :c2908, :c2909, :c2910, :c2911, :c2912, :c2913, :c2914, :c2915, :c2916, :c2917, :c2918, :c2919, :c2920, :c2921, :c2922, :c2923, :c2924, :c2925, :c2926, :c2927, :c2928, :c2929, :c2930, :c2931, :c2932, :c2933, :c2934, :c2935, :c2936, :c2937, :c2938, :c2939, :c2940, :c2941, :c2942, :c2943, :c2944, :c2945, :c2946, :c2947, :c2948, :c2949, :c2950, :c2951, :c2952, :c2953, :c2954, :c2955, :c2956, :c2957, :c2958, :c2959, :c2960, :c2961, :c2962, :c2963, :c2964, :c2965, :c2966, :c2967, :c2968, :c2969, :c2970, :c2971, :c2972, :c2973, :c2974, :c2975, :c2976, :c2977, :c2978, :c2979, :c2980, :c2981, :c2982, :c2983, :c2984, :c2985, :c2986, :c2987, :c2988, :c2989, :c2990, :c2991, :c2992, :c2993, :c2994, :c2995, :c2996, :c2997, :c2998, :c2999, :c3000, :c3001, :c3002, :c3003, :c3004, :c3005, :c3006, :c3007, :c3008, :c3009, :c3010, :c3011, :c3012, :c3013, :c3014, :c3015, :c3016, :c3017, :c3018, :c3019, :c3020, :c3021, :c3022, :c3023, :c3024, :c3025, :c3026, :c3027, :c3028, :c3029, :c3030, :c3031, :c3032, :c3033, :c3034, :c3035, :c3036, :c3037, :c3038, :c3039, :c3040, :c3041, :c3042, :c3043, :c3044, :c3045, :c3046, :c3047, :c3048, :c3049, :c3050, :c3051, :c3052, :c3053, :c3054, :c3055, :c3056, :c3057, :c3058, :c3059, :c3060, :c3061, :c3062, :c3063, :c3064, :c3065, :c3066, :c3067, :c3068, :c3069, :c3070, :c3071, :c3072, :c3073, :c3074, :c3075, :c3076, :c3077, :c3078, :c3079, :c3080, :c3081, :c3082, :c3083, :c3084, :c3085, :c3086, :c3087, :c3088, :c3089, :c3090, :c3091, :c3092, :c3093, :c3094, :c3095, :c3096, :c3097, :c3098, :c3099, :c3100, :c3101, :c3102, :c3103, :c3104, :c3105, :c3106, :c3107, :c3108, :c3109, :c3110, :c3111, :c3112, :c3113, :c3114, :c3115, :c3116, :c3117, :c3118, :c3119, :c3120, :c3121, :c3122, :c3123, :c3124, :c3125, :c3126, :c3127, :c3128, :c3129, :c3130, :c3131, :c3132, :c3133, :c3134, :c3135, :c3136, :c3137, :c3138, :c3139, :c3140, :c3141, :c3142, :c3143, :c3144, :c3145, :c3146, :c3147, :c3148, :c3149, :c3150, :c3151, :c3152, :c3153, :c3154, :c3155, :c3156, :c3157, :c3158, :c3159, :c3160, :c3161, :c3162, :c3163, :c3164, :c3165, :c3166, :c3167, :c3168, :c3169, :c3170, :c3171, :c3172, :c3173, :c3174, :c3175, :c3176, :c3177, :c3178, :c3179, :c3180, :c3181, :c3182, :c3183, :c3184, :c3185, :c3186, :c3187, :c3188, :c3189, :c3190, :c3191, :c3192, :c3193, :c3194, :c3195, :c3196, :c3197, :c3198, :c3199, :c3200, :c3201, :c3202, :c3203, :c3204, :c3205, :c3206, :c3207, :c3208, :c3209, :c3210, :c3211, :c3212, :c3213, :c3214, :c3215, :c3216, :c3217, :c3218, :c3219, :c3220, :c3221, :c3222, :c3223, :c3224, :c3225, :c3226, :c3227, :c3228, :c3229, :c3230, :c3231, :c3232, :c3233, :c3234, :c3235, :c3236, :c3237, :c3238, :c3239, :c3240, :c3241, :c3242, :c3243, :c3244, :c3245, :c3246, :c3247, :c3248, :c3249, :c3250, :c3251, :c3252, :c3253, :c3254, :c3255, :c3256, :c3257, :c3258, :c3259, :c3260, :c3261, :c3262, :c3263, :c3264, :c3265, :c3266, :c3267, :c3268, :c3269, :c3270, :c3271, :c3272, :c3273, :c3274, :c3275, :c3276, :c3277, :c3278, :c3279, :c3280, :c3281, :c3282, :c3283, :c3284, :c3285, :c3286, :c3287, :c3288, :c3289, :c3290, :c3291, :c3292, :c3293, :c3294, :c3295, :c3296, :c3297, :c3298, :c3299, :c3300, :c3301, :c3302, :c3303, :c3304, :c3305, :c3306, :c3307, :c3308, :c3309, :c3310, :c3311, :c3312, :c3313, :c3314, :c3315, :c3316, :c3317, :c3318, :c3319, :c3320, :c3321, :c3322, :c3323, :c3324, :c3325, :c3326, :c3327, :c3328, :c3329, :c3330, :c3331, :c3332, :c3333, :c3334, :c3335, :c3336, :c3337, :c3338, :c3339, :c3340, :c3341, :c3342, :c3343, :c3344, :c3345, :c3346, :c3347, :c3348, :c3349, :c3350, :c3351, :c3352, :c3353, :c3354, :c3355, :c3356, :c3357, :c3358, :c3359, :c3360, :c3361, :c3362, :c3363, :c3364, :c3365, :c3366, :c3367, :c3368, :c3369, :c3370, :c3371, :c3372, :c3373, :c3374, :c3375, :c3376, :c3377, :c3378, :c3379, :c3380, :c3381, :c3382, :c3383, :c3384, :c3385, :c3386, :c3387, :c3388, :c3389, :c3390, :c3391, :c3392, :c3393, :c3394, :c3395, :c3396, :c3397, :c3398, :c3399, :c3400, :c3401, :c3402, :c3403, :c3404, :c3405, :c3406, :c3407, :c3408, :c3409, :c3410, :c3411, :c3412, :c3413, :c3414, :c3415, :c3416, :c3417, :c3418, :c3419, :c3420, :c3421, :c3422, :c3423, :c3424, :c3425, :c3426, :c3427, :c3428, :c3429, :c3430, :c3431, :c3432, :c3433, :c3434, :c3435, :c3436, :c3437, :c3438, :c3439, :c3440, :c3441, :c3442, :c3443, :c3444, :c3445, :c3446, :c3447, :c3448, :c3449, :c3450, :c3451, :c3452, :c3453, :c3454, :c3455, :c3456, :c3457, :c3458, :c3459, :c3460, :c3461, :c3462, :c3463, :c3464, :c3465, :c3466, :c3467, :c3468, :c3469, :c3470, :c3471, :c3472, :c3473, :c3474, :c3475, :c3476, :c3477, :c3478, :c3479, :c3480, :c3481, :c3482, :c3483, :c3484, :c3485, :c3486, :c3487, :c3488, :c3489, :c3490, :c3491, :c3492, :c3493, :c3494, :c3495, :c3496, :c3497, :c3498, :c3499, :c3500, :c3501, :c3502, :c3503, :c3504, :c3505, :c3506, :c3507, :c3508, :c3509, :c3510, :c3511, :c3512, :c3513, :c3514, :c3515, :c3516, :c3517, :c3518, :c3519, :c3520, :c3521, :c3522, :c3523, :c3524, :c3525, :c3526, :c3527, :c3528, :c3529, :c3530, :c3531, :c3532, :c3533, :c3534, :c3535, :c3536, :c3537, :c3538, :c3539, :c3540, :c3541, :c3542, :c3543, :c3544, :c3545, :c3546, :c3547, :c3548, :c3549, :c3550, :c3551, :c3552, :c3553, :c3554, :c3555, :c3556, :c3557, :c3558, :c3559, :c3560, :c3561, :c3562, :c3563, :c3564, :c3565, :c3566, :c3567, :c3568, :c3569, :c3570, :c3571, :c3572, :c3573, :c3574, :c3575, :c3576, :c3577, :c3578, :c3579, :c3580, :c3581, :c3582, :c3583, :c3584, :c3585, :c3586, :c3587, :c3588, :c3589, :c3590, :c3591, :c3592, :c3593, :c3594, :c3595, :c3596, :c3597, :c3598, :c3599, :c3600, :c3601, :c3602, :c3603, :c3604, :c3605, :c3606, :c3607, :c3608, :c3609, :c3610, :c3611, :c3612, :c3613, :c3614, :c3615, :c3616, :c3617, :c3618, :c3619, :c3620, :c3621, :c3622, :c3623, :c3624, :c3625, :c3626, :c3627, :c3628, :c3629, :c3630, :c3631, :c3632, :c3633, :c3634, :c3635, :c3636, :c3637, :c3638, :c3639, :c3640, :c3641, :c3642, :c3643, :c3644, :c3645, :c3646, :c3647, :c3648, :c3649, :c3650, :c3651, :c3652, :c3653, :c3654, :c3655, :c3656, :c3657, :c3658, :c3659, :c3660, :c3661, :c3662, :c3663, :c3664, :c3665, :c3666, :c3667, :c3668, :c3669, :c3670, :c3671, :c3672, :c3673, :c3674, :c3675, :c3676, :c3677, :c3678, :c3679, :c3680, :c3681, :c3682, :c3683, :c3684, :c3685, :c3686, :c3687, :c3688, :c3689, :c3690, :c3691, :c3692, :c3693, :c3694, :c3695, :c3696, :c3697, :c3698, :c3699, :c3700, :c3701, :c3702, :c3703, :c3704, :c3705, :c3706, :c3707, :c3708, :c3709, :c3710, :c3711, :c3712, :c3713, :c3714, :c3715, :c3716, :c3717, :c3718, :c3719, :c3720, :c3721, :c3722, :c3723, :c3724, :c3725, :c3726, :c3727, :c3728, :c3729, :c3730, :c3731, :c3732, :c3733, :c3734, :c3735, :c3736, :c3737, :c3738, :c3739, :c3740, :c3741, :c3742, :c3743, :c3744, :c3745, :c3746, :c3747, :c3748, :c3749, :c3750, :c3751, :c3752, :c3753, :c3754, :c3755, :c3756, :c3757, :c3758, :c3759, :c3760, :c3761, :c3762, :c3763, :c3764, :c3765, :c3766, :c3767, :c3768, :c3769, :c3770, :c3771, :c3772, :c3773, :c3774, :c3775, :c3776, :c3777, :c3778, :c3779, :c3780, :c3781, :c3782, :c3783, :c3784, :c3785, :c3786, :c3787, :c3788, :c3789, :c3790, :c3791, :c3792, :c3793, :c3794, :c3795, :c3796, :c3797, :c3798, :c3799, :c3800, :c3801, :c3802, :c3803, :c3804, :c3805, :c3806, :c3807, :c3808, :c3809, :c3810, :c3811, :c3812, :c3813, :c3814, :c3815, :c3816, :c3817, :c3818, :c3819, :c3820, :c3821, :c3822, :c3823, :c3824, :c3825, :c3826, :c3827, :c3828, :c3829, :c3830, :c3831, :c3832, :c3833, :c3834, :c3835, :c3836, :c3837, :c3838, :c3839, :c3840, :c3841, :c3842, :c3843, :c3844, :c3845, :c3846, :c3847, :c3848, :c3849, :c3850, :c3851, :c3852, :c3853, :c3854, :c3855, :c3856, :c3857, :c3858, :c3859, :c3860, :c3861, :c3862, :c3863, :c3864, :c3865, :c3866, :c3867, :c3868, :c3869, :c3870, :c3871, :c3872, :c3873, :c3874, :c3875, :c3876, :c3877, :c3878, :c3879, :c3880, :c3881, :c3882, :c3883, :c3884, :c3885, :c3886, :c3887, :c3888, :c3889, :c3890, :c3891, :c3892, :c3893, :c3894, :c3895, :c3896, :c3897, :c3898, :c3899, :c3900, :c3901, :c3902, :c3903, :c3904, :c3905, :c3906, :c3907, :c3908, :c3909, :c3910, :c3911, :c3912, :c3913, :c3914, :c3915, :c3916, :c3917, :c3918, :c3919, :c3920, :c3921, :c3922, :c3923, :c3924, :c3925, :c3926, :c3927, :c3928, :c3929, :c3930, :c3931, :c3932, :c3933, :c3934, :c3935, :c3936, :c3937, :c3938, :c3939, :c3940, :c3941, :c3942, :c3943, :c3944, :c3945, :c3946, :c3947, :c3948, :c3949, :c3950, :c3951, :c3952, :c3953, :c3954, :c3955, :c3956, :c3957, :c3958, :c3959, :c3960, :c3961, :c3962, :c3963, :c3964, :c3965, :c3966, :c3967, :c3968, :c3969, :c3970, :c3971, :c3972, :c3973, :c3974, :c3975, :c3976, :c3977, :c3978, :c3979, :c3980, :c3981, :c3982, :c3983, :c3984, :c3985, :c3986, :c3987, :c3988, :c3989, :c3990, :c3991, :c3992, :c3993, :c3994, :c3995, :c3996, :c3997, :c3998, :c3999, :c4000, :c4001, :c4002, :c4003, :c4004, :c4005, :c4006, :c4007, :c4008, :c4009, :c4010, :c4011, :c4012, :c4013, :c4014, :c4015, :c4016, :c4017, :c4018, :c4019, :c4020, :c4021, :c4022, :c4023, :c4024, :c4025, :c4026, :c4027, :c4028, :c4029, :c4030, :c4031, :c4032, :c4033, :c4034, :c4035, :c4036, :c4037, :c4038, :c4039, :c4040, :c4041, :c4042, :c4043, :c4044, :c4045, :c4046, :c4047, :c4048, :c4049, :c4050, :c4051, :c4052, :c4053, :c4054, :c4055, :c4056, :c4057, :c4058, :c4059, :c4060, :c4061, :c4062, :c4063, :c4064, :c4065, :c4066, :c4067, :c4068, :c4069, :c4070, :c4071, :c4072, :c4073, :c4074, :c4075, :c4076, :c4077, :c4078, :c4079, :c4080, :c4081, :c4082, :c4083, :c4084, :c4085, :c4086, :c4087, :c4088, :c4089, :c4090, :c4091, :c4092, :c4093, :c4094, :c4095, :c4096, :c4097, :c4098, :c4099, :c4100, :c4101, :c4102, :c4103, :c4104, :c4105, :c4106, :c4107, :c4108, :c4109, :c4110, :c4111, :c4112, :c4113, :c4114, :c4115, :c4116, :c4117, :c4118, :c4119, :c4120, :c4121, :c4122, :c4123, :c4124, :c4125, :c4126, :c4127, :c4128, :c4129, :c4130, :c4131, :c4132, :c4133, :c4134, :c4135, :c4136, :c4137, :c4138, :c4139, :c4140, :c4141, :c4142, :c4143, :c4144, :c4145, :c4146, :c4147, :c4148, :c4149, :c4150, :c4151, :c4152, :c4153, :c4154, :c4155, :c4156, :c4157, :c4158, :c4159, :c4160, :c4161, :c4162, :c4163, :c4164, :c4165, :c4166, :c4167, :c4168, :c4169, :c4170, :c4171, :c4172, :c4173, :c4174, :c4175, :c4176, :c4177, :c4178, :c4179, :c4180, :c4181, :c4182, :c4183, :c4184, :c4185, :c4186, :c4187, :c4188, :c4189, :c4190, :c4191, :c4192, :c4193, :c4194, :c4195, :c4196, :c4197, :c4198, :c4199, :c4200, :c4201, :c4202, :c4203, :c4204, :c4205, :c4206, :c4207, :c4208, :c4209, :c4210, :c4211, :c4212, :c4213, :c4214, :c4215, :c4216, :c4217, :c4218, :c4219, :c4220, :c4221, :c4222, :c4223, :c4224, :c4225, :c4226, :c4227, :c4228, :c4229, :c4230, :c4231, :c4232, :c4233, :c4234, :c4235, :c4236, :c4237, :c4238, :c4239, :c4240, :c4241, :c4242, :c4243, :c4244, :c4245, :c4246, :c4247, :c4248, :c4249, :c4250, :c4251, :c4252, :c4253, :c4254, :c4255, :c4256, :c4257, :c4258, :c4259, :c4260, :c4261, :c4262, :c4263, :c4264, :c4265, :c4266, :c4267, :c4268, :c4269, :c4270, :c4271, :c4272, :c4273, :c4274, :c4275, :c4276, :c4277, :c4278, :c4279, :c4280, :c4281, :c4282, :c4283, :c4284, :c4285, :c4286, :c4287, :c4288, :c4289, :c4290, :c4291, :c4292, :c4293, :c4294, :c4295, :c4296, :c4297, :c4298, :c4299, :c4300, :c4301, :c4302, :c4303, :c4304, :c4305, :c4306, :c4307, :c4308, :c4309, :c4310, :c4311, :c4312, :c4313, :c4314, :c4315, :c4316, :c4317, :c4318, :c4319, :c4320, :c4321, :c4322, :c4323, :c4324, :c4325, :c4326, :c4327, :c4328, :c4329, :c4330, :c4331, :c4332, :c4333, :c4334, :c4335, :c4336, :c4337, :c4338, :c4339, :c4340, :c4341, :c4342, :c4343, :c4344, :c4345, :c4346, :c4347, :c4348, :c4349, :c4350, :c4351, :c4352, :c4353, :c4354, :c4355, :c4356, :c4357, :c4358, :c4359, :c4360, :c4361, :c4362, :c4363, :c4364, :c4365, :c4366, :c4367, :c4368, :c4369, :c4370, :c4371, :c4372, :c4373, :c4374, :c4375, :c4376, :c4377, :c4378, :c4379, :c4380, :c4381, :c4382, :c4383, :c4384, :c4385, :c4386, :c4387, :c4388, :c4389, :c4390, :c4391, :c4392, :c4393, :c4394, :c4395, :c4396, :c4397, :c4398, :c4399, :c4400, :c4401, :c4402, :c4403, :c4404, :c4405, :c4406, :c4407, :c4408, :c4409, :c4410, :c4411, :c4412, :c4413, :c4414, :c4415, :c4416, :c4417, :c4418, :c4419, :c4420, :c4421, :c4422, :c4423, :c4424, :c4425, :c4426, :c4427, :c4428, :c4429, :c4430, :c4431, :c4432, :c4433, :c4434, :c4435, :c4436, :c4437, :c4438, :c4439, :c4440, :c4441, :c4442, :c4443, :c4444, :c4445, :c4446, :c4447, :c4448, :c4449, :c4450, :c4451, :c4452, :c4453, :c4454, :c4455, :c4456, :c4457, :c4458, :c4459, :c4460, :c4461, :c4462, :c4463, :c4464, :c4465, :c4466, :c4467, :c4468, :c4469, :c4470, :c4471, :c4472, :c4473, :c4474, :c4475, :c4476, :c4477, :c4478, :c4479, :c4480, :c4481, :c4482, :c4483, :c4484, :c4485, :c4486, :c4487, :c4488, :c4489, :c4490, :c4491, :c4492, :c4493, :c4494, :c4495, :c4496, :c4497, :c4498, :c4499, :c4500, :c4501, :c4502, :c4503, :c4504, :c4505, :c4506, :c4507, :c4508, :c4509, :c4510, :c4511, :c4512, :c4513, :c4514, :c4515, :c4516, :c4517, :c4518, :c4519, :c4520, :c4521, :c4522, :c4523, :c4524, :c4525, :c4526, :c4527, :c4528, :c4529, :c4530, :c4531, :c4532, :c4533, :c4534, :c4535, :c4536, :c4537, :c4538, :c4539, :c4540, :c4541, :c4542, :c4543, :c4544, :c4545, :c4546, :c4547, :c4548, :c4549, :c4550, :c4551, :c4552, :c4553, :c4554, :c4555, :c4556, :c4557, :c4558, :c4559, :c4560, :c4561, :c4562, :c4563, :c4564, :c4565, :c4566, :c4567, :c4568, :c4569, :c4570, :c4571, :c4572, :c4573, :c4574, :c4575, :c4576, :c4577, :c4578, :c4579, :c4580, :c4581, :c4582, :c4583, :c4584, :c4585, :c4586, :c4587, :c4588, :c4589, :c4590, :c4591, :c4592, :c4593, :c4594, :c4595, :c4596, :c4597, :c4598, :c4599, :c4600, :c4601, :c4602, :c4603, :c4604, :c4605, :c4606, :c4607, :c4608, :c4609, :c4610, :c4611, :c4612, :c4613, :c4614, :c4615, :c4616, :c4617, :c4618, :c4619, :c4620, :c4621, :c4622, :c4623, :c4624, :c4625, :c4626, :c4627, :c4628, :c4629, :c4630, :c4631, :c4632, :c4633, :c4634, :c4635, :c4636, :c4637, :c4638, :c4639, :c4640, :c4641, :c4642, :c4643, :c4644, :c4645, :c4646, :c4647, :c4648, :c4649, :c4650, :c4651, :c4652, :c4653, :c4654, :c4655, :c4656, :c4657, :c4658, :c4659, :c4660, :c4661, :c4662, :c4663, :c4664, :c4665, :c4666, :c4667, :c4668, :c4669, :c4670, :c4671, :c4672, :c4673, :c4674, :c4675, :c4676, :c4677, :c4678, :c4679, :c4680, :c4681, :c4682, :c4683, :c4684, :c4685, :c4686, :c4687, :c4688, :c4689, :c4690, :c4691, :c4692, :c4693, :c4694, :c4695, :c4696, :c4697, :c4698, :c4699, :c4700, :c4701, :c4702, :c4703, :c4704, :c4705, :c4706, :c4707, :c4708, :c4709, :c4710, :c4711, :c4712, :c4713, :c4714, :c4715, :c4716, :c4717, :c4718, :c4719, :c4720, :c4721, :c4722, :c4723, :c4724, :c4725, :c4726, :c4727, :c4728, :c4729, :c4730, :c4731, :c4732, :c4733, :c4734, :c4735, :c4736, :c4737, :c4738, :c4739, :c4740, :c4741, :c4742, :c4743, :c4744, :c4745, :c4746, :c4747, :c4748, :c4749, :c4750, :c4751, :c4752, :c4753, :c4754, :c4755, :c4756, :c4757, :c4758, :c4759, :c4760, :c4761, :c4762, :c4763, :c4764, :c4765, :c4766, :c4767, :c4768, :c4769, :c4770, :c4771, :c4772, :c4773, :c4774, :c4775, :c4776, :c4777, :c4778, :c4779, :c4780, :c4781, :c4782, :c4783, :c4784, :c4785, :c4786, :c4787, :c4788, :c4789, :c4790, :c4791, :c4792, :c4793, :c4794, :c4795, :c4796, :c4797, :c4798, :c4799, :c4800, :c4801, :c4802, :c4803, :c4804, :c4805, :c4806, :c4807, :c4808, :c4809, :c4810, :c4811, :c4812, :c4813, :c4814, :c4815, :c4816, :c4817, :c4818, :c4819, :c4820, :c4821, :c4822, :c4823, :c4824, :c4825, :c4826, :c4827, :c4828, :c4829, :c4830, :c4831, :c4832, :c4833, :c4834, :c4835, :c4836, :c4837, :c4838, :c4839, :c4840, :c4841, :c4842, :c4843, :c4844, :c4845, :c4846, :c4847, :c4848, :c4849, :c4850, :c4851, :c4852, :c4853, :c4854, :c4855, :c4856, :c4857, :c4858, :c4859, :c4860, :c4861, :c4862, :c4863, :c4864, :c4865, :c4866, :c4867, :c4868, :c4869, :c4870, :c4871, :c4872, :c4873, :c4874, :c4875, :c4876, :c4877, :c4878, :c4879, :c4880, :c4881, :c4882, :c4883, :c4884, :c4885, :c4886, :c4887, :c4888, :c4889, :c4890, :c4891, :c4892, :c4893, :c4894, :c4895, :c4896, :c4897, :c4898, :c4899, :c4900, :c4901, :c4902, :c4903, :c4904, :c4905, :c4906, :c4907, :c4908, :c4909, :c4910, :c4911, :c4912, :c4913, :c4914, :c4915, :c4916, :c4917, :c4918, :c4919, :c4920, :c4921, :c4922, :c4923, :c4924, :c4925, :c4926, :c4927, :c4928, :c4929, :c4930, :c4931, :c4932, :c4933, :c4934, :c4935, :c4936, :c4937, :c4938, :c4939, :c4940, :c4941, :c4942, :c4943, :c4944, :c4945, :c4946, :c4947, :c4948, :c4949, :c4950, :c4951, :c4952, :c4953, :c4954, :c4955, :c4956, :c4957, :c4958, :c4959, :c4960, :c4961, :c4962, :c4963, :c4964, :c4965, :c4966, :c4967, :c4968, :c4969, :c4970, :c4971, :c4972, :c4973, :c4974, :c4975, :c4976, :c4977, :c4978, :c4979, :c4980, :c4981, :c4982, :c4983, :c4984, :c4985, :c4986, :c4987, :c4988, :c4989, :c4990, :c4991, :c4992, :c4993, :c4994, :c4995, :c4996, :c4997, :c4998, :c4999, :c5000, :c5001, :c5002, :c5003, :c5004, :c5005, :c5006, :c5007, :c5008, :c5009, :c5010, :c5011, :c5012, :c5013, :c5014, :c5015, :c5016, :c5017, :c5018, :c5019, :c5020, :c5021, :c5022, :c5023, :c5024, :c5025, :c5026, :c5027, :c5028, :c5029, :c5030, :c5031, :c5032, :c5033, :c5034, :c5035, :c5036, :c5037, :c5038, :c5039, :c5040, :c5041, :c5042, :c5043, :c5044, :c5045, :c5046, :c5047, :c5048, :c5049, :c5050, :c5051, :c5052, :c5053, :c5054, :c5055, :c5056, :c5057, :c5058, :c5059, :c5060, :c5061, :c5062, :c5063, :c5064, :c5065, :c5066, :c5067, :c5068, :c5069, :c5070, :c5071, :c5072, :c5073, :c5074, :c5075, :c5076, :c5077, :c5078, :c5079, :c5080, :c5081, :c5082, :c5083, :c5084, :c5085, :c5086, :c5087, :c5088, :c5089, :c5090, :c5091, :c5092, :c5093, :c5094, :c5095, :c5096, :c5097, :c5098, :c5099, :c5100, :c5101, :c5102, :c5103, :c5104, :c5105, :c5106, :c5107, :c5108, :c5109, :c5110, :c5111, :c5112, :c5113, :c5114, :c5115, :c5116, :c5117, :c5118, :c5119, :c5120, :c5121, :c5122, :c5123, :c5124, :c5125, :c5126, :c5127, :c5128, :c5129, :c5130, :c5131, :c5132, :c5133, :c5134, :c5135, :c5136, :c5137, :c5138, :c5139, :c5140, :c5141, :c5142, :c5143, :c5144, :c5145, :c5146, :c5147, :c5148, :c5149, :c5150, :c5151, :c5152, :c5153, :c5154, :c5155, :c5156, :c5157, :c5158, :c5159, :c5160, :c5161, :c5162, :c5163, :c5164, :c5165, :c5166, :c5167, :c5168, :c5169, :c5170, :c5171, :c5172, :c5173, :c5174, :c5175, :c5176, :c5177, :c5178, :c5179, :c5180, :c5181, :c5182, :c5183, :c5184, :c5185, :c5186, :c5187, :c5188, :c5189, :c5190, :c5191, :c5192, :c5193, :c5194, :c5195, :c5196, :c5197, :c5198, :c5199, :c5200, :c5201, :c5202, :c5203, :c5204, :c5205, :c5206, :c5207, :c5208, :c5209, :c5210, :c5211, :c5212, :c5213, :c5214, :c5215, :c5216, :c5217, :c5218, :c5219, :c5220, :c5221, :c5222, :c5223, :c5224, :c5225, :c5226, :c5227, :c5228, :c5229, :c5230, :c5231, :c5232, :c5233, :c5234, :c5235, :c5236, :c5237, :c5238, :c5239, :c5240, :c5241, :c5242, :c5243, :c5244, :c5245, :c5246, :c5247, :c5248, :c5249, :c5250, :c5251, :c5252, :c5253, :c5254, :c5255, :c5256, :c5257, :c5258, :c5259, :c5260, :c5261, :c5262, :c5263, :c5264, :c5265, :c5266, :c5267, :c5268, :c5269, :c5270, :c5271, :c5272, :c5273, :c5274, :c5275, :c5276, :c5277, :c5278, :c5279, :c5280, :c5281, :c5282, :c5283, :c5284, :c5285, :c5286, :c5287, :c5288, :c5289, :c5290, :c5291, :c5292, :c5293, :c5294, :c5295, :c5296, :c5297, :c5298, :c5299, :c5300, :c5301, :c5302, :c5303, :c5304, :c5305, :c5306, :c5307, :c5308, :c5309, :c5310, :c5311, :c5312, :c5313, :c5314, :c5315, :c5316, :c5317, :c5318, :c5319, :c5320, :c5321, :c5322, :c5323, :c5324, :c5325, :c5326, :c5327, :c5328, :c5329, :c5330, :c5331, :c5332, :c5333, :c5334, :c5335, :c5336, :c5337, :c5338, :c5339, :c5340, :c5341, :c5342, :c5343, :c5344, :c5345, :c5346, :c5347, :c5348, :c5349, :c5350, :c5351, :c5352, :c5353, :c5354, :c5355, :c5356, :c5357, :c5358, :c5359, :c5360, :c5361, :c5362, :c5363, :c5364, :c5365, :c5366, :c5367, :c5368, :c5369, :c5370, :c5371, :c5372, :c5373, :c5374, :c5375, :c5376, :c5377, :c5378, :c5379, :c5380, :c5381, :c5382, :c5383, :c5384, :c5385, :c5386, :c5387, :c5388, :c5389, :c5390, :c5391, :c5392, :c5393, :c5394, :c5395, :c5396, :c5397, :c5398, :c5399, :c5400, :c5401, :c5402, :c5403, :c5404, :c5405, :c5406, :c5407, :c5408, :c5409, :c5410, :c5411, :c5412, :c5413, :c5414, :c5415, :c5416, :c5417, :c5418, :c5419, :c5420, :c5421, :c5422, :c5423, :c5424, :c5425, :c5426, :c5427, :c5428, :c5429, :c5430, :c5431, :c5432, :c5433, :c5434, :c5435, :c5436, :c5437, :c5438, :c5439, :c5440, :c5441, :c5442, :c5443, :c5444, :c5445, :c5446, :c5447, :c5448, :c5449, :c5450, :c5451, :c5452, :c5453, :c5454, :c5455, :c5456, :c5457, :c5458, :c5459, :c5460, :c5461, :c5462, :c5463, :c5464, :c5465, :c5466, :c5467, :c5468, :c5469, :c5470, :c5471, :c5472, :c5473, :c5474, :c5475, :c5476, :c5477, :c5478, :c5479, :c5480, :c5481, :c5482, :c5483, :c5484, :c5485, :c5486, :c5487, :c5488, :c5489, :c5490, :c5491, :c5492, :c5493, :c5494, :c5495, :c5496, :c5497, :c5498, :c5499, :c5500, :c5501, :c5502, :c5503, :c5504, :c5505, :c5506, :c5507, :c5508, :c5509, :c5510, :c5511, :c5512, :c5513, :c5514, :c5515, :c5516, :c5517, :c5518, :c5519, :c5520, :c5521, :c5522, :c5523, :c5524, :c5525, :c5526, :c5527, :c5528, :c5529, :c5530, :c5531, :c5532, :c5533, :c5534, :c5535, :c5536, :c5537, :c5538, :c5539, :c5540, :c5541, :c5542, :c5543, :c5544, :c5545, :c5546, :c5547, :c5548, :c5549, :c5550, :c5551, :c5552, :c5553, :c5554, :c5555, :c5556, :c5557, :c5558, :c5559, :c5560, :c5561, :c5562, :c5563, :c5564, :c5565, :c5566, :c5567, :c5568, :c5569, :c5570, :c5571, :c5572, :c5573, :c5574, :c5575, :c5576, :c5577, :c5578, :c5579, :c5580, :c5581, :c5582, :c5583, :c5584, :c5585, :c5586, :c5587, :c5588, :c5589, :c5590, :c5591, :c5592, :c5593, :c5594, :c5595, :c5596, :c5597, :c5598, :c5599, :c5600, :c5601, :c5602, :c5603, :c5604, :c5605, :c5606, :c5607, :c5608, :c5609, :c5610, :c5611, :c5612, :c5613, :c5614, :c5615, :c5616, :c5617, :c5618, :c5619, :c5620, :c5621, :c5622, :c5623, :c5624, :c5625, :c5626, :c5627, :c5628, :c5629, :c5630, :c5631, :c5632, :c5633, :c5634, :c5635, :c5636, :c5637, :c5638, :c5639, :c5640, :c5641, :c5642, :c5643, :c5644, :c5645, :c5646, :c5647, :c5648, :c5649, :c5650, :c5651, :c5652, :c5653, :c5654, :c5655, :c5656, :c5657, :c5658, :c5659, :c5660, :c5661, :c5662, :c5663, :c5664, :c5665, :c5666, :c5667, :c5668, :c5669, :c5670, :c5671, :c5672, :c5673, :c5674, :c5675, :c5676, :c5677, :c5678, :c5679, :c5680, :c5681, :c5682, :c5683, :c5684, :c5685, :c5686, :c5687, :c5688, :c5689, :c5690, :c5691, :c5692, :c5693, :c5694, :c5695, :c5696, :c5697, :c5698, :c5699, :c5700, :c5701, :c5702, :c5703, :c5704, :c5705, :c5706, :c5707, :c5708, :c5709, :c5710, :c5711, :c5712, :c5713, :c5714, :c5715, :c5716, :c5717, :c5718, :c5719, :c5720, :c5721, :c5722, :c5723, :c5724, :c5725, :c5726, :c5727, :c5728, :c5729, :c5730, :c5731, :c5732, :c5733, :c5734, :c5735, :c5736, :c5737, :c5738, :c5739, :c5740, :c5741, :c5742, :c5743, :c5744, :c5745, :c5746, :c5747, :c5748, :c5749, :c5750, :c5751, :c5752, :c5753, :c5754, :c5755, :c5756, :c5757, :c5758, :c5759, :c5760, :c5761, :c5762, :c5763, :c5764, :c5765, :c5766, :c5767, :c5768, :c5769, :c5770, :c5771, :c5772, :c5773, :c5774, :c5775, :c5776, :c5777, :c5778, :c5779, :c5780, :c5781, :c5782, :c5783, :c5784, :c5785, :c5786, :c5787, :c5788, :c5789, :c5790, :c5791, :c5792, :c5793, :c5794, :c5795, :c5796, :c5797, :c5798, :c5799, :c5800, :c5801, :c5802, :c5803, :c5804, :c5805, :c5806, :c5807, :c5808, :c5809, :c5810, :c5811, :c5812, :c5813, :c5814, :c5815, :c5816, :c5817, :c5818, :c5819, :c5820, :c5821, :c5822, :c5823, :c5824, :c5825, :c5826, :c5827, :c5828, :c5829, :c5830, :c5831, :c5832, :c5833, :c5834, :c5835, :c5836, :c5837, :c5838, :c5839, :c5840, :c5841, :c5842, :c5843, :c5844, :c5845, :c5846, :c5847, :c5848, :c5849, :c5850, :c5851, :c5852, :c5853, :c5854, :c5855, :c5856, :c5857, :c5858, :c5859, :c5860, :c5861, :c5862, :c5863, :c5864, :c5865, :c5866, :c5867, :c5868, :c5869, :c5870, :c5871, :c5872, :c5873, :c5874, :c5875, :c5876, :c5877, :c5878, :c5879, :c5880, :c5881, :c5882, :c5883, :c5884, :c5885, :c5886, :c5887, :c5888, :c5889, :c5890, :c5891, :c5892, :c5893, :c5894, :c5895, :c5896, :c5897, :c5898, :c5899, :c5900, :c5901, :c5902, :c5903, :c5904, :c5905, :c5906, :c5907, :c5908, :c5909, :c5910, :c5911, :c5912, :c5913, :c5914, :c5915, :c5916, :c5917, :c5918, :c5919, :c5920, :c5921, :c5922, :c5923, :c5924, :c5925, :c5926, :c5927, :c5928, :c5929, :c5930, :c5931, :c5932, :c5933, :c5934, :c5935, :c5936, :c5937, :c5938, :c5939, :c5940, :c5941, :c5942, :c5943, :c5944, :c5945, :c5946, :c5947, :c5948, :c5949, :c5950, :c5951, :c5952, :c5953, :c5954, :c5955, :c5956, :c5957, :c5958, :c5959, :c5960, :c5961, :c5962, :c5963, :c5964, :c5965, :c5966, :c5967, :c5968, :c5969, :c5970, :c5971, :c5972, :c5973, :c5974, :c5975, :c5976, :c5977, :c5978, :c5979, :c5980, :c5981, :c5982, :c5983, :c5984, :c5985, :c5986, :c5987, :c5988, :c5989, :c5990, :c5991, :c5992, :c5993, :c5994, :c5995, :c5996, :c5997, :c5998, :c5999, :c6000, :c6001, :c6002, :c6003, :c6004, :c6005, :c6006, :c6007, :c6008, :c6009, :c6010, :c6011, :c6012, :c6013, :c6014, :c6015, :c6016, :c6017, :c6018, :c6019, :c6020, :c6021, :c6022, :c6023, :c6024, :c6025, :c6026, :c6027, :c6028, :c6029, :c6030, :c6031, :c6032, :c6033, :c6034, :c6035, :c6036, :c6037, :c6038, :c6039, :c6040, :c6041, :c6042, :c6043, :c6044, :c6045, :c6046, :c6047, :c6048, :c6049, :c6050, :c6051, :c6052, :c6053, :c6054, :c6055, :c6056, :c6057, :c6058, :c6059, :c6060, :c6061, :c6062, :c6063, :c6064, :c6065, :c6066, :c6067, :c6068, :c6069, :c6070, :c6071, :c6072, :c6073, :c6074, :c6075, :c6076, :c6077, :c6078, :c6079, :c6080, :c6081, :c6082, :c6083, :c6084, :c6085, :c6086, :c6087, :c6088, :c6089, :c6090, :c6091, :c6092, :c6093, :c6094, :c6095, :c6096, :c6097, :c6098, :c6099, :c6100, :c6101, :c6102, :c6103, :c6104, :c6105, :c6106, :c6107, :c6108, :c6109, :c6110, :c6111, :c6112, :c6113, :c6114, :c6115, :c6116, :c6117, :c6118, :c6119, :c6120, :c6121, :c6122, :c6123, :c6124, :c6125, :c6126, :c6127, :c6128, :c6129, :c6130, :c6131, :c6132, :c6133, :c6134, :c6135, :c6136, :c6137, :c6138, :c6139, :c6140, :c6141, :c6142, :c6143, :c6144, :c6145, :c6146, :c6147, :c6148, :c6149, :c6150, :c6151, :c6152, :c6153, :c6154, :c6155, :c6156, :c6157, :c6158, :c6159, :c6160, :c6161, :c6162, :c6163, :c6164, :c6165, :c6166, :c6167, :c6168, :c6169, :c6170, :c6171, :c6172, :c6173, :c6174, :c6175, :c6176, :c6177, :c6178, :c6179, :c6180, :c6181, :c6182, :c6183, :c6184, :c6185, :c6186, :c6187, :c6188, :c6189, :c6190, :c6191, :c6192, :c6193, :c6194, :c6195, :c6196, :c6197, :c6198, :c6199, :c6200, :c6201, :c6202, :c6203, :c6204, :c6205, :c6206, :c6207, :c6208, :c6209, :c6210, :c6211, :c6212, :c6213, :c6214, :c6215, :c6216, :c6217, :c6218, :c6219, :c6220, :c6221, :c6222, :c6223, :c6224, :c6225, :c6226, :c6227, :c6228, :c6229, :c6230, :c6231, :c6232, :c6233, :c6234, :c6235, :c6236, :c6237, :c6238, :c6239, :c6240, :c6241, :c6242, :c6243, :c6244, :c6245, :c6246, :c6247, :c6248, :c6249, :c6250, :c6251, :c6252, :c6253, :c6254, :c6255, :c6256, :c6257, :c6258, :c6259, :c6260, :c6261, :c6262, :c6263, :c6264, :c6265, :c6266, :c6267, :c6268, :c6269, :c6270, :c6271, :c6272, :c6273, :c6274, :c6275, :c6276, :c6277, :c6278, :c6279, :c6280, :c6281, :c6282, :c6283, :c6284, :c6285, :c6286, :c6287, :c6288, :c6289, :c6290, :c6291, :c6292, :c6293, :c6294, :c6295, :c6296, :c6297, :c6298, :c6299, :c6300, :c6301, :c6302, :c6303, :c6304, :c6305, :c6306, :c6307, :c6308, :c6309, :c6310, :c6311, :c6312, :c6313, :c6314, :c6315, :c6316, :c6317, :c6318, :c6319, :c6320, :c6321, :c6322, :c6323, :c6324, :c6325, :c6326, :c6327, :c6328, :c6329, :c6330, :c6331, :c6332, :c6333, :c6334, :c6335, :c6336, :c6337, :c6338, :c6339, :c6340, :c6341, :c6342, :c6343, :c6344, :c6345, :c6346, :c6347, :c6348, :c6349, :c6350, :c6351, :c6352, :c6353, :c6354, :c6355, :c6356, :c6357, :c6358, :c6359, :c6360, :c6361, :c6362, :c6363, :c6364, :c6365, :c6366, :c6367, :c6368, :c6369, :c6370, :c6371, :c6372, :c6373, :c6374, :c6375, :c6376, :c6377, :c6378, :c6379, :c6380, :c6381, :c6382, :c6383, :c6384, :c6385, :c6386, :c6387, :c6388, :c6389, :c6390, :c6391, :c6392, :c6393, :c6394, :c6395, :c6396, :c6397, :c6398, :c6399, :c6400, :c6401, :c6402, :c6403, :c6404, :c6405, :c6406, :c6407, :c6408, :c6409, :c6410, :c6411, :c6412, :c6413, :c6414, :c6415, :c6416, :c6417, :c6418, :c6419, :c6420, :c6421, :c6422, :c6423, :c6424, :c6425, :c6426, :c6427, :c6428, :c6429, :c6430, :c6431, :c6432, :c6433, :c6434, :c6435, :c6436, :c6437, :c6438, :c6439, :c6440, :c6441, :c6442, :c6443, :c6444, :c6445, :c6446, :c6447, :c6448, :c6449, :c6450, :c6451, :c6452, :c6453, :c6454, :c6455, :c6456, :c6457, :c6458, :c6459, :c6460, :c6461, :c6462, :c6463, :c6464, :c6465, :c6466, :c6467, :c6468, :c6469, :c6470, :c6471, :c6472, :c6473, :c6474, :c6475, :c6476, :c6477, :c6478, :c6479, :c6480, :c6481, :c6482, :c6483, :c6484, :c6485, :c6486, :c6487, :c6488, :c6489, :c6490, :c6491, :c6492, :c6493, :c6494, :c6495, :c6496, :c6497, :c6498, :c6499, :c6500, :c6501, :c6502, :c6503, :c6504, :c6505, :c6506, :c6507, :c6508, :c6509, :c6510, :c6511, :c6512, :c6513, :c6514, :c6515, :c6516, :c6517, :c6518, :c6519, :c6520, :c6521, :c6522, :c6523, :c6524, :c6525, :c6526, :c6527, :c6528, :c6529, :c6530, :c6531, :c6532, :c6533, :c6534, :c6535, :c6536, :c6537, :c6538, :c6539, :c6540, :c6541, :c6542, :c6543, :c6544, :c6545, :c6546, :c6547, :c6548, :c6549, :c6550, :c6551, :c6552, :c6553, :c6554, :c6555, :c6556, :c6557, :c6558, :c6559, :c6560, :c6561, :c6562, :c6563, :c6564, :c6565, :c6566, :c6567, :c6568, :c6569, :c6570, :c6571, :c6572, :c6573, :c6574, :c6575, :c6576, :c6577, :c6578, :c6579, :c6580, :c6581, :c6582, :c6583, :c6584, :c6585, :c6586, :c6587, :c6588, :c6589, :c6590, :c6591, :c6592, :c6593, :c6594, :c6595, :c6596, :c6597, :c6598, :c6599, :c6600, :c6601, :c6602, :c6603, :c6604, :c6605, :c6606, :c6607, :c6608, :c6609, :c6610, :c6611, :c6612, :c6613, :c6614, :c6615, :c6616, :c6617, :c6618, :c6619, :c6620, :c6621, :c6622, :c6623, :c6624, :c6625, :c6626, :c6627, :c6628, :c6629, :c6630, :c6631, :c6632, :c6633, :c6634, :c6635, :c6636, :c6637, :c6638, :c6639, :c6640, :c6641, :c6642, :c6643, :c6644, :c6645, :c6646, :c6647, :c6648, :c6649, :c6650, :c6651, :c6652, :c6653, :c6654, :c6655, :c6656, :c6657, :c6658, :c6659, :c6660, :c6661, :c6662, :c6663, :c6664, :c6665, :c6666, :c6667, :c6668, :c6669, :c6670, :c6671, :c6672, :c6673, :c6674, :c6675, :c6676, :c6677, :c6678, :c6679, :c6680, :c6681, :c6682, :c6683, :c6684, :c6685, :c6686, :c6687, :c6688, :c6689, :c6690, :c6691, :c6692, :c6693, :c6694, :c6695, :c6696, :c6697, :c6698, :c6699, :c6700, :c6701, :c6702, :c6703, :c6704, :c6705, :c6706, :c6707, :c6708, :c6709, :c6710, :c6711, :c6712, :c6713, :c6714, :c6715, :c6716, :c6717, :c6718, :c6719, :c6720, :c6721, :c6722, :c6723, :c6724, :c6725, :c6726, :c6727, :c6728, :c6729, :c6730, :c6731, :c6732, :c6733, :c6734, :c6735, :c6736, :c6737, :c6738, :c6739, :c6740, :c6741, :c6742, :c6743, :c6744, :c6745, :c6746, :c6747, :c6748, :c6749, :c6750, :c6751, :c6752, :c6753, :c6754, :c6755, :c6756, :c6757, :c6758, :c6759, :c6760, :c6761, :c6762, :c6763, :c6764, :c6765, :c6766, :c6767, :c6768, :c6769, :c6770, :c6771, :c6772, :c6773, :c6774, :c6775, :c6776, :c6777, :c6778, :c6779, :c6780, :c6781, :c6782, :c6783, :c6784, :c6785, :c6786, :c6787, :c6788, :c6789, :c6790, :c6791, :c6792, :c6793, :c6794, :c6795, :c6796, :c6797, :c6798, :c6799, :c6800, :c6801, :c6802, :c6803, :c6804, :c6805, :c6806, :c6807, :c6808, :c6809, :c6810, :c6811, :c6812, :c6813, :c6814, :c6815, :c6816, :c6817, :c6818, :c6819, :c6820, :c6821, :c6822, :c6823, :c6824, :c6825, :c6826, :c6827, :c6828, :c6829, :c6830, :c6831, :c6832, :c6833, :c6834, :c6835, :c6836, :c6837, :c6838, :c6839, :c6840, :c6841, :c6842, :c6843, :c6844, :c6845, :c6846, :c6847, :c6848, :c6849, :c6850, :c6851, :c6852, :c6853, :c6854, :c6855, :c6856, :c6857, :c6858, :c6859, :c6860, :c6861, :c6862, :c6863, :c6864, :c6865, :c6866, :c6867, :c6868, :c6869, :c6870, :c6871, :c6872, :c6873, :c6874, :c6875, :c6876, :c6877, :c6878, :c6879, :c6880, :c6881, :c6882, :c6883, :c6884, :c6885, :c6886, :c6887, :c6888, :c6889, :c6890, :c6891, :c6892, :c6893, :c6894, :c6895, :c6896, :c6897, :c6898, :c6899, :c6900, :c6901, :c6902, :c6903, :c6904, :c6905, :c6906, :c6907, :c6908, :c6909, :c6910, :c6911, :c6912, :c6913, :c6914, :c6915, :c6916, :c6917, :c6918, :c6919, :c6920, :c6921, :c6922, :c6923, :c6924, :c6925, :c6926, :c6927, :c6928, :c6929, :c6930, :c6931, :c6932, :c6933, :c6934, :c6935, :c6936, :c6937, :c6938, :c6939, :c6940, :c6941, :c6942, :c6943, :c6944, :c6945, :c6946, :c6947, :c6948, :c6949, :c6950, :c6951, :c6952, :c6953, :c6954, :c6955, :c6956, :c6957, :c6958, :c6959, :c6960, :c6961, :c6962, :c6963, :c6964, :c6965, :c6966, :c6967, :c6968, :c6969, :c6970, :c6971, :c6972, :c6973, :c6974, :c6975, :c6976, :c6977, :c6978, :c6979, :c6980, :c6981, :c6982, :c6983, :c6984, :c6985, :c6986, :c6987, :c6988, :c6989, :c6990, :c6991, :c6992, :c6993, :c6994, :c6995, :c6996, :c6997, :c6998, :c6999, :c7000, :c7001, :c7002, :c7003, :c7004, :c7005, :c7006, :c7007, :c7008, :c7009, :c7010, :c7011, :c7012, :c7013, :c7014, :c7015, :c7016, :c7017, :c7018, :c7019, :c7020, :c7021, :c7022, :c7023, :c7024, :c7025, :c7026, :c7027, :c7028, :c7029, :c7030, :c7031, :c7032, :c7033, :c7034, :c7035, :c7036, :c7037, :c7038, :c7039, :c7040, :c7041, :c7042, :c7043, :c7044, :c7045, :c7046, :c7047, :c7048, :c7049, :c7050, :c7051, :c7052, :c7053, :c7054, :c7055, :c7056, :c7057, :c7058, :c7059, :c7060, :c7061, :c7062, :c7063, :c7064, :c7065, :c7066, :c7067, :c7068, :c7069, :c7070, :c7071, :c7072, :c7073, :c7074, :c7075, :c7076, :c7077, :c7078, :c7079, :c7080, :c7081, :c7082, :c7083, :c7084, :c7085, :c7086, :c7087, :c7088, :c7089, :c7090, :c7091, :c7092, :c7093, :c7094, :c7095, :c7096, :c7097, :c7098, :c7099, :c7100, :c7101, :c7102, :c7103, :c7104, :c7105, :c7106, :c7107, :c7108, :c7109, :c7110, :c7111, :c7112, :c7113, :c7114, :c7115, :c7116, :c7117, :c7118, :c7119, :c7120, :c7121, :c7122, :c7123, :c7124, :c7125, :c7126, :c7127, :c7128, :c7129, :c7130, :c7131, :c7132, :c7133, :c7134, :c7135, :c7136, :c7137, :c7138, :c7139, :c7140, :c7141, :c7142, :c7143, :c7144, :c7145, :c7146, :c7147, :c7148, :c7149, :c7150, :c7151, :c7152, :c7153, :c7154, :c7155, :c7156, :c7157, :c7158, :c7159, :c7160, :c7161, :c7162, :c7163, :c7164, :c7165, :c7166, :c7167, :c7168, :c7169, :c7170, :c7171, :c7172, :c7173, :c7174, :c7175, :c7176, :c7177, :c7178, :c7179, :c7180, :c7181, :c7182, :c7183, :c7184, :c7185, :c7186, :c7187, :c7188, :c7189, :c7190, :c7191, :c7192, :c7193, :c7194, :c7195, :c7196, :c7197, :c7198, :c7199, :c7200, :c7201, :c7202, :c7203, :c7204, :c7205, :c7206, :c7207, :c7208, :c7209, :c7210, :c7211, :c7212, :c7213, :c7214, :c7215, :c7216, :c7217, :c7218, :c7219, :c7220, :c7221, :c7222, :c7223, :c7224, :c7225, :c7226, :c7227, :c7228, :c7229, :c7230, :c7231, :c7232, :c7233, :c7234, :c7235, :c7236, :c7237, :c7238, :c7239, :c7240, :c7241, :c7242, :c7243, :c7244, :c7245, :c7246, :c7247, :c7248, :c7249, :c7250, :c7251, :c7252, :c7253, :c7254, :c7255, :c7256, :c7257, :c7258, :c7259, :c7260, :c7261, :c7262, :c7263, :c7264, :c7265, :c7266, :c7267, :c7268, :c7269, :c7270, :c7271, :c7272, :c7273, :c7274, :c7275, :c7276, :c7277, :c7278, :c7279, :c7280, :c7281, :c7282, :c7283, :c7284, :c7285, :c7286, :c7287, :c7288, :c7289, :c7290, :c7291, :c7292, :c7293, :c7294, :c7295, :c7296, :c7297, :c7298, :c7299, :c7300, :c7301, :c7302, :c7303, :c7304, :c7305, :c7306, :c7307, :c7308, :c7309, :c7310, :c7311, :c7312, :c7313, :c7314, :c7315, :c7316, :c7317, :c7318, :c7319, :c7320, :c7321, :c7322, :c7323, :c7324, :c7325, :c7326, :c7327, :c7328, :c7329, :c7330, :c7331, :c7332, :c7333, :c7334, :c7335, :c7336, :c7337, :c7338, :c7339, :c7340, :c7341, :c7342, :c7343, :c7344, :c7345, :c7346, :c7347, :c7348, :c7349, :c7350, :c7351, :c7352, :c7353, :c7354, :c7355, :c7356, :c7357, :c7358, :c7359, :c7360, :c7361, :c7362, :c7363, :c7364, :c7365, :c7366, :c7367, :c7368, :c7369, :c7370, :c7371, :c7372, :c7373, :c7374, :c7375, :c7376, :c7377, :c7378, :c7379, :c7380, :c7381, :c7382, :c7383, :c7384, :c7385, :c7386, :c7387, :c7388, :c7389, :c7390, :c7391, :c7392, :c7393, :c7394, :c7395, :c7396, :c7397, :c7398, :c7399, :c7400, :c7401, :c7402, :c7403, :c7404, :c7405, :c7406, :c7407, :c7408, :c7409, :c7410, :c7411, :c7412, :c7413, :c7414, :c7415, :c7416, :c7417, :c7418, :c7419, :c7420, :c7421, :c7422, :c7423, :c7424, :c7425, :c7426, :c7427, :c7428, :c7429, :c7430, :c7431, :c7432, :c7433, :c7434, :c7435, :c7436, :c7437, :c7438, :c7439, :c7440, :c7441, :c7442, :c7443, :c7444, :c7445, :c7446, :c7447, :c7448, :c7449, :c7450, :c7451, :c7452, :c7453, :c7454, :c7455, :c7456, :c7457, :c7458, :c7459, :c7460, :c7461, :c7462, :c7463, :c7464, :c7465, :c7466, :c7467, :c7468, :c7469, :c7470, :c7471, :c7472, :c7473, :c7474, :c7475, :c7476, :c7477, :c7478, :c7479, :c7480, :c7481, :c7482, :c7483, :c7484, :c7485, :c7486, :c7487, :c7488, :c7489, :c7490, :c7491, :c7492, :c7493, :c7494, :c7495, :c7496, :c7497, :c7498, :c7499, :c7500, :c7501, :c7502, :c7503, :c7504, :c7505, :c7506, :c7507, :c7508, :c7509, :c7510, :c7511, :c7512, :c7513, :c7514, :c7515, :c7516, :c7517, :c7518, :c7519, :c7520, :c7521, :c7522, :c7523, :c7524, :c7525, :c7526, :c7527, :c7528, :c7529, :c7530, :c7531, :c7532, :c7533, :c7534, :c7535, :c7536, :c7537, :c7538, :c7539, :c7540, :c7541, :c7542, :c7543, :c7544, :c7545, :c7546, :c7547, :c7548, :c7549, :c7550, :c7551, :c7552, :c7553, :c7554, :c7555, :c7556, :c7557, :c7558, :c7559, :c7560, :c7561, :c7562, :c7563, :c7564, :c7565, :c7566, :c7567, :c7568, :c7569, :c7570, :c7571, :c7572, :c7573, :c7574, :c7575, :c7576, :c7577, :c7578, :c7579, :c7580, :c7581, :c7582, :c7583, :c7584, :c7585, :c7586, :c7587, :c7588, :c7589, :c7590, :c7591, :c7592, :c7593, :c7594, :c7595, :c7596, :c7597, :c7598, :c7599, :c7600, :c7601, :c7602, :c7603, :c7604, :c7605, :c7606, :c7607, :c7608, :c7609, :c7610, :c7611, :c7612, :c7613, :c7614, :c7615, :c7616, :c7617, :c7618, :c7619, :c7620, :c7621, :c7622, :c7623, :c7624, :c7625, :c7626, :c7627, :c7628, :c7629, :c7630, :c7631, :c7632, :c7633, :c7634, :c7635, :c7636, :c7637, :c7638, :c7639, :c7640, :c7641, :c7642, :c7643, :c7644, :c7645, :c7646, :c7647, :c7648, :c7649, :c7650, :c7651, :c7652, :c7653, :c7654, :c7655, :c7656, :c7657, :c7658, :c7659, :c7660, :c7661, :c7662, :c7663, :c7664, :c7665, :c7666, :c7667, :c7668, :c7669, :c7670, :c7671, :c7672, :c7673, :c7674, :c7675, :c7676, :c7677, :c7678, :c7679, :c7680, :c7681, :c7682, :c7683, :c7684, :c7685, :c7686, :c7687, :c7688, :c7689, :c7690, :c7691, :c7692, :c7693, :c7694, :c7695, :c7696, :c7697, :c7698, :c7699, :c7700, :c7701, :c7702, :c7703, :c7704, :c7705, :c7706, :c7707, :c7708, :c7709, :c7710, :c7711, :c7712, :c7713, :c7714, :c7715, :c7716, :c7717, :c7718, :c7719, :c7720, :c7721, :c7722, :c7723, :c7724, :c7725, :c7726, :c7727, :c7728, :c7729, :c7730, :c7731, :c7732, :c7733, :c7734, :c7735, :c7736, :c7737, :c7738, :c7739, :c7740, :c7741, :c7742, :c7743, :c7744, :c7745, :c7746, :c7747, :c7748, :c7749, :c7750, :c7751, :c7752, :c7753, :c7754, :c7755, :c7756, :c7757, :c7758, :c7759, :c7760, :c7761, :c7762, :c7763, :c7764, :c7765, :c7766, :c7767, :c7768, :c7769, :c7770, :c7771, :c7772, :c7773, :c7774, :c7775, :c7776, :c7777, :c7778, :c7779, :c7780, :c7781, :c7782, :c7783, :c7784, :c7785, :c7786, :c7787, :c7788, :c7789, :c7790, :c7791, :c7792, :c7793, :c7794, :c7795, :c7796, :c7797, :c7798, :c7799, :c7800, :c7801, :c7802, :c7803, :c7804, :c7805, :c7806, :c7807, :c7808, :c7809, :c7810, :c7811, :c7812, :c7813, :c7814, :c7815, :c7816, :c7817, :c7818, :c7819, :c7820, :c7821, :c7822, :c7823, :c7824, :c7825, :c7826, :c7827, :c7828, :c7829, :c7830, :c7831, :c7832, :c7833, :c7834, :c7835, :c7836, :c7837, :c7838, :c7839, :c7840, :c7841, :c7842, :c7843, :c7844, :c7845, :c7846, :c7847, :c7848, :c7849, :c7850, :c7851, :c7852, :c7853, :c7854, :c7855, :c7856, :c7857, :c7858, :c7859, :c7860, :c7861, :c7862, :c7863, :c7864, :c7865, :c7866, :c7867, :c7868, :c7869, :c7870, :c7871, :c7872, :c7873, :c7874, :c7875, :c7876, :c7877, :c7878, :c7879, :c7880, :c7881, :c7882, :c7883, :c7884, :c7885, :c7886, :c7887, :c7888, :c7889, :c7890, :c7891, :c7892, :c7893, :c7894, :c7895, :c7896, :c7897, :c7898, :c7899, :c7900, :c7901, :c7902, :c7903, :c7904, :c7905, :c7906, :c7907, :c7908, :c7909, :c7910, :c7911, :c7912, :c7913, :c7914, :c7915, :c7916, :c7917, :c7918, :c7919, :c7920, :c7921, :c7922, :c7923, :c7924, :c7925, :c7926, :c7927, :c7928, :c7929, :c7930, :c7931, :c7932, :c7933, :c7934, :c7935, :c7936, :c7937, :c7938, :c7939, :c7940, :c7941, :c7942, :c7943, :c7944, :c7945, :c7946, :c7947, :c7948, :c7949, :c7950, :c7951, :c7952, :c7953, :c7954, :c7955, :c7956, :c7957, :c7958, :c7959, :c7960, :c7961, :c7962, :c7963, :c7964, :c7965, :c7966, :c7967, :c7968, :c7969, :c7970, :c7971, :c7972, :c7973, :c7974, :c7975, :c7976, :c7977, :c7978, :c7979, :c7980, :c7981, :c7982, :c7983, :c7984, :c7985, :c7986, :c7987, :c7988, :c7989, :c7990, :c7991, :c7992, :c7993, :c7994, :c7995, :c7996, :c7997, :c7998, :c7999, :c8000, :c8001, :c8002, :c8003, :c8004, :c8005, :c8006, :c8007, :c8008, :c8009, :c8010, :c8011, :c8012, :c8013, :c8014, :c8015, :c8016, :c8017, :c8018, :c8019, :c8020, :c8021, :c8022, :c8023, :c8024, :c8025, :c8026, :c8027, :c8028, :c8029, :c8030, :c8031, :c8032, :c8033, :c8034, :c8035, :c8036, :c8037, :c8038, :c8039, :c8040, :c8041, :c8042, :c8043, :c8044, :c8045, :c8046, :c8047, :c8048, :c8049, :c8050, :c8051, :c8052, :c8053, :c8054, :c8055, :c8056, :c8057, :c8058, :c8059, :c8060, :c8061, :c8062, :c8063, :c8064, :c8065, :c8066, :c8067, :c8068, :c8069, :c8070, :c8071, :c8072, :c8073, :c8074, :c8075, :c8076, :c8077, :c8078, :c8079, :c8080, :c8081, :c8082, :c8083, :c8084, :c8085, :c8086, :c8087, :c8088, :c8089, :c8090, :c8091, :c8092, :c8093, :c8094, :c8095, :c8096, :c8097, :c8098, :c8099, :c8100, :c8101, :c8102, :c8103, :c8104, :c8105, :c8106, :c8107, :c8108, :c8109, :c8110, :c8111, :c8112, :c8113, :c8114, :c8115, :c8116, :c8117, :c8118, :c8119, :c8120, :c8121, :c8122, :c8123, :c8124, :c8125, :c8126, :c8127, :c8128, :c8129, :c8130, :c8131, :c8132, :c8133, :c8134, :c8135, :c8136, :c8137, :c8138, :c8139, :c8140, :c8141, :c8142, :c8143, :c8144, :c8145, :c8146, :c8147, :c8148, :c8149, :c8150, :c8151, :c8152, :c8153, :c8154, :c8155, :c8156, :c8157, :c8158, :c8159, :c8160, :c8161, :c8162, :c8163, :c8164, :c8165, :c8166, :c8167, :c8168, :c8169, :c8170, :c8171, :c8172, :c8173, :c8174, :c8175, :c8176, :c8177, :c8178, :c8179, :c8180, :c8181, :c8182, :c8183, :c8184, :c8185, :c8186, :c8187, :c8188, :c8189, :c8190, :c8191, :c8192, :c8193, :c8194, :c8195, :c8196, :c8197, :c8198, :c8199, :c8200, :c8201, :c8202, :c8203, :c8204, :c8205, :c8206, :c8207, :c8208, :c8209, :c8210, :c8211, :c8212, :c8213, :c8214, :c8215, :c8216, :c8217, :c8218, :c8219, :c8220, :c8221, :c8222, :c8223, :c8224, :c8225, :c8226, :c8227, :c8228, :c8229, :c8230, :c8231, :c8232, :c8233, :c8234, :c8235, :c8236, :c8237, :c8238, :c8239, :c8240, :c8241, :c8242, :c8243, :c8244, :c8245, :c8246, :c8247, :c8248, :c8249, :c8250, :c8251, :c8252, :c8253, :c8254, :c8255, :c8256, :c8257, :c8258, :c8259, :c8260, :c8261, :c8262, :c8263, :c8264, :c8265, :c8266, :c8267, :c8268, :c8269, :c8270, :c8271, :c8272, :c8273, :c8274, :c8275, :c8276, :c8277, :c8278, :c8279, :c8280, :c8281, :c8282, :c8283, :c8284, :c8285, :c8286, :c8287, :c8288, :c8289, :c8290, :c8291, :c8292, :c8293, :c8294, :c8295, :c8296, :c8297, :c8298, :c8299, :c8300, :c8301, :c8302, :c8303, :c8304, :c8305, :c8306, :c8307, :c8308, :c8309, :c8310, :c8311, :c8312, :c8313, :c8314, :c8315, :c8316, :c8317, :c8318, :c8319, :c8320, :c8321, :c8322, :c8323, :c8324, :c8325, :c8326, :c8327, :c8328, :c8329, :c8330, :c8331, :c8332, :c8333, :c8334, :c8335, :c8336, :c8337, :c8338, :c8339, :c8340, :c8341, :c8342, :c8343, :c8344, :c8345, :c8346, :c8347, :c8348, :c8349, :c8350, :c8351, :c8352, :c8353, :c8354, :c8355, :c8356, :c8357, :c8358, :c8359, :c8360, :c8361, :c8362, :c8363, :c8364, :c8365, :c8366, :c8367, :c8368, :c8369, :c8370, :c8371, :c8372, :c8373, :c8374, :c8375, :c8376, :c8377, :c8378, :c8379, :c8380, :c8381, :c8382, :c8383, :c8384, :c8385, :c8386, :c8387, :c8388, :c8389, :c8390, :c8391, :c8392, :c8393, :c8394, :c8395, :c8396, :c8397, :c8398, :c8399, :c8400, :c8401, :c8402, :c8403, :c8404, :c8405, :c8406, :c8407, :c8408, :c8409, :c8410, :c8411, :c8412, :c8413, :c8414, :c8415, :c8416, :c8417, :c8418, :c8419, :c8420, :c8421, :c8422, :c8423, :c8424, :c8425, :c8426, :c8427, :c8428, :c8429, :c8430, :c8431, :c8432, :c8433, :c8434, :c8435, :c8436, :c8437, :c8438, :c8439, :c8440, :c8441, :c8442, :c8443, :c8444, :c8445, :c8446, :c8447, :c8448, :c8449, :c8450, :c8451, :c8452, :c8453, :c8454, :c8455, :c8456, :c8457, :c8458, :c8459, :c8460, :c8461, :c8462, :c8463, :c8464, :c8465, :c8466, :c8467, :c8468, :c8469, :c8470, :c8471, :c8472, :c8473, :c8474, :c8475, :c8476, :c8477, :c8478, :c8479, :c8480, :c8481, :c8482, :c8483, :c8484, :c8485, :c8486, :c8487, :c8488, :c8489, :c8490, :c8491, :c8492, :c8493, :c8494, :c8495, :c8496, :c8497, :c8498, :c8499, :c8500, :c8501, :c8502, :c8503, :c8504, :c8505, :c8506, :c8507, :c8508, :c8509, :c8510, :c8511, :c8512, :c8513, :c8514, :c8515, :c8516, :c8517, :c8518, :c8519, :c8520, :c8521, :c8522, :c8523, :c8524, :c8525, :c8526, :c8527, :c8528, :c8529, :c8530, :c8531, :c8532, :c8533, :c8534, :c8535, :c8536, :c8537, :c8538, :c8539, :c8540, :c8541, :c8542, :c8543, :c8544, :c8545, :c8546, :c8547, :c8548, :c8549, :c8550, :c8551, :c8552, :c8553, :c8554, :c8555, :c8556, :c8557, :c8558, :c8559, :c8560, :c8561, :c8562, :c8563, :c8564, :c8565, :c8566, :c8567, :c8568, :c8569, :c8570, :c8571, :c8572, :c8573, :c8574, :c8575, :c8576, :c8577, :c8578, :c8579, :c8580, :c8581, :c8582, :c8583, :c8584, :c8585, :c8586, :c8587, :c8588, :c8589, :c8590, :c8591, :c8592, :c8593, :c8594, :c8595, :c8596, :c8597, :c8598, :c8599, :c8600, :c8601, :c8602, :c8603, :c8604, :c8605, :c8606, :c8607, :c8608, :c8609, :c8610, :c8611, :c8612, :c8613, :c8614, :c8615, :c8616, :c8617, :c8618, :c8619, :c8620, :c8621, :c8622, :c8623, :c8624, :c8625, :c8626, :c8627, :c8628, :c8629, :c8630, :c8631, :c8632, :c8633, :c8634, :c8635, :c8636, :c8637, :c8638, :c8639, :c8640, :c8641, :c8642, :c8643, :c8644, :c8645, :c8646, :c8647, :c8648, :c8649, :c8650, :c8651, :c8652, :c8653, :c8654, :c8655, :c8656, :c8657, :c8658, :c8659, :c8660, :c8661, :c8662, :c8663, :c8664, :c8665, :c8666, :c8667, :c8668, :c8669, :c8670, :c8671, :c8672, :c8673, :c8674, :c8675, :c8676, :c8677, :c8678, :c8679, :c8680, :c8681, :c8682, :c8683, :c8684, :c8685, :c8686, :c8687, :c8688, :c8689, :c8690, :c8691, :c8692, :c8693, :c8694, :c8695, :c8696, :c8697, :c8698, :c8699, :c8700, :c8701, :c8702, :c8703, :c8704, :c8705, :c8706, :c8707, :c8708, :c8709, :c8710, :c8711, :c8712, :c8713, :c8714, :c8715, :c8716, :c8717, :c8718, :c8719, :c8720, :c8721, :c8722, :c8723, :c8724, :c8725, :c8726, :c8727, :c8728, :c8729, :c8730, :c8731, :c8732, :c8733, :c8734, :c8735, :c8736, :c8737, :c8738, :c8739, :c8740, :c8741, :c8742, :c8743, :c8744, :c8745, :c8746, :c8747, :c8748, :c8749, :c8750, :c8751, :c8752, :c8753, :c8754, :c8755, :c8756, :c8757, :c8758, :c8759, :c8760, :c8761, :c8762, :c8763, :c8764, :c8765, :c8766, :c8767, :c8768, :c8769, :c8770, :c8771, :c8772, :c8773, :c8774, :c8775, :c8776, :c8777, :c8778, :c8779, :c8780, :c8781, :c8782, :c8783, :c8784, :c8785, :c8786, :c8787, :c8788, :c8789, :c8790, :c8791, :c8792, :c8793, :c8794, :c8795, :c8796, :c8797, :c8798, :c8799, :c8800, :c8801, :c8802, :c8803, :c8804, :c8805, :c8806, :c8807, :c8808, :c8809, :c8810, :c8811, :c8812, :c8813, :c8814, :c8815, :c8816, :c8817, :c8818, :c8819, :c8820, :c8821, :c8822, :c8823, :c8824, :c8825, :c8826, :c8827, :c8828, :c8829, :c8830, :c8831, :c8832, :c8833, :c8834, :c8835, :c8836, :c8837, :c8838, :c8839, :c8840, :c8841, :c8842, :c8843, :c8844, :c8845, :c8846, :c8847, :c8848, :c8849, :c8850, :c8851, :c8852, :c8853, :c8854, :c8855, :c8856, :c8857, :c8858, :c8859, :c8860, :c8861, :c8862, :c8863, :c8864, :c8865, :c8866, :c8867, :c8868, :c8869, :c8870, :c8871, :c8872, :c8873, :c8874, :c8875, :c8876, :c8877, :c8878, :c8879, :c8880, :c8881, :c8882, :c8883, :c8884, :c8885, :c8886, :c8887, :c8888, :c8889, :c8890, :c8891, :c8892, :c8893, :c8894, :c8895, :c8896, :c8897, :c8898, :c8899, :c8900, :c8901, :c8902, :c8903, :c8904, :c8905, :c8906, :c8907, :c8908, :c8909, :c8910, :c8911, :c8912, :c8913, :c8914, :c8915, :c8916, :c8917, :c8918, :c8919, :c8920, :c8921, :c8922, :c8923, :c8924, :c8925, :c8926, :c8927, :c8928, :c8929, :c8930, :c8931, :c8932, :c8933, :c8934, :c8935, :c8936, :c8937, :c8938, :c8939, :c8940, :c8941, :c8942, :c8943, :c8944, :c8945, :c8946, :c8947, :c8948, :c8949, :c8950, :c8951, :c8952, :c8953, :c8954, :c8955, :c8956, :c8957, :c8958, :c8959, :c8960, :c8961, :c8962, :c8963, :c8964, :c8965, :c8966, :c8967, :c8968, :c8969, :c8970, :c8971, :c8972, :c8973, :c8974, :c8975, :c8976, :c8977, :c8978, :c8979, :c8980, :c8981, :c8982, :c8983, :c8984, :c8985, :c8986, :c8987, :c8988, :c8989, :c8990, :c8991, :c8992, :c8993, :c8994, :c8995, :c8996, :c8997, :c8998, :c8999, :c9000, :c9001, :c9002, :c9003, :c9004, :c9005, :c9006, :c9007, :c9008, :c9009, :c9010, :c9011, :c9012, :c9013, :c9014, :c9015, :c9016, :c9017, :c9018, :c9019, :c9020, :c9021, :c9022, :c9023, :c9024, :c9025, :c9026, :c9027, :c9028, :c9029, :c9030, :c9031, :c9032, :c9033, :c9034, :c9035, :c9036, :c9037, :c9038, :c9039, :c9040, :c9041, :c9042, :c9043, :c9044, :c9045, :c9046, :c9047, :c9048, :c9049, :c9050, :c9051, :c9052, :c9053, :c9054, :c9055, :c9056, :c9057, :c9058, :c9059, :c9060, :c9061, :c9062, :c9063, :c9064, :c9065, :c9066, :c9067, :c9068, :c9069, :c9070, :c9071, :c9072, :c9073, :c9074, :c9075, :c9076, :c9077, :c9078, :c9079, :c9080, :c9081, :c9082, :c9083, :c9084, :c9085, :c9086, :c9087, :c9088, :c9089, :c9090, :c9091, :c9092, :c9093, :c9094, :c9095, :c9096, :c9097, :c9098, :c9099, :c9100, :c9101, :c9102, :c9103, :c9104, :c9105, :c9106, :c9107, :c9108, :c9109, :c9110, :c9111, :c9112, :c9113, :c9114, :c9115, :c9116, :c9117, :c9118, :c9119, :c9120, :c9121, :c9122, :c9123, :c9124, :c9125, :c9126, :c9127, :c9128, :c9129, :c9130, :c9131, :c9132, :c9133, :c9134, :c9135, :c9136, :c9137, :c9138, :c9139, :c9140, :c9141, :c9142, :c9143, :c9144, :c9145, :c9146, :c9147, :c9148, :c9149, :c9150, :c9151, :c9152, :c9153, :c9154, :c9155, :c9156, :c9157, :c9158, :c9159, :c9160, :c9161, :c9162, :c9163, :c9164, :c9165, :c9166, :c9167, :c9168, :c9169, :c9170, :c9171, :c9172, :c9173, :c9174, :c9175, :c9176, :c9177, :c9178, :c9179, :c9180, :c9181, :c9182, :c9183, :c9184, :c9185, :c9186, :c9187, :c9188, :c9189, :c9190, :c9191, :c9192, :c9193, :c9194, :c9195, :c9196, :c9197, :c9198, :c9199, :c9200, :c9201, :c9202, :c9203, :c9204, :c9205, :c9206, :c9207, :c9208, :c9209, :c9210, :c9211, :c9212, :c9213, :c9214, :c9215, :c9216, :c9217, :c9218, :c9219, :c9220, :c9221, :c9222, :c9223, :c9224, :c9225, :c9226, :c9227, :c9228, :c9229, :c9230, :c9231, :c9232, :c9233, :c9234, :c9235, :c9236, :c9237, :c9238, :c9239, :c9240, :c9241, :c9242, :c9243, :c9244, :c9245, :c9246, :c9247, :c9248, :c9249, :c9250, :c9251, :c9252, :c9253, :c9254, :c9255, :c9256, :c9257, :c9258, :c9259, :c9260, :c9261, :c9262, :c9263, :c9264, :c9265, :c9266, :c9267, :c9268, :c9269, :c9270, :c9271, :c9272, :c9273, :c9274, :c9275, :c9276, :c9277, :c9278, :c9279, :c9280, :c9281, :c9282, :c9283, :c9284, :c9285, :c9286, :c9287, :c9288, :c9289, :c9290, :c9291, :c9292, :c9293, :c9294, :c9295, :c9296, :c9297, :c9298, :c9299, :c9300, :c9301, :c9302, :c9303, :c9304, :c9305, :c9306, :c9307, :c9308, :c9309, :c9310, :c9311, :c9312, :c9313, :c9314, :c9315, :c9316, :c9317, :c9318, :c9319, :c9320, :c9321, :c9322, :c9323, :c9324, :c9325, :c9326, :c9327, :c9328, :c9329, :c9330, :c9331, :c9332, :c9333, :c9334, :c9335, :c9336, :c9337, :c9338, :c9339, :c9340, :c9341, :c9342, :c9343, :c9344, :c9345, :c9346, :c9347, :c9348, :c9349, :c9350, :c9351, :c9352, :c9353, :c9354, :c9355, :c9356, :c9357, :c9358, :c9359, :c9360, :c9361, :c9362, :c9363, :c9364, :c9365, :c9366, :c9367, :c9368, :c9369, :c9370, :c9371, :c9372, :c9373, :c9374, :c9375, :c9376, :c9377, :c9378, :c9379, :c9380, :c9381, :c9382, :c9383, :c9384, :c9385, :c9386, :c9387, :c9388, :c9389, :c9390, :c9391, :c9392, :c9393, :c9394, :c9395, :c9396, :c9397, :c9398, :c9399, :c9400, :c9401, :c9402, :c9403, :c9404, :c9405, :c9406, :c9407, :c9408, :c9409, :c9410, :c9411, :c9412, :c9413, :c9414, :c9415, :c9416, :c9417, :c9418, :c9419, :c9420, :c9421, :c9422, :c9423, :c9424, :c9425, :c9426, :c9427, :c9428, :c9429, :c9430, :c9431, :c9432, :c9433, :c9434, :c9435, :c9436, :c9437, :c9438, :c9439, :c9440, :c9441, :c9442, :c9443, :c9444, :c9445, :c9446, :c9447, :c9448, :c9449, :c9450, :c9451, :c9452, :c9453, :c9454, :c9455, :c9456, :c9457, :c9458, :c9459, :c9460, :c9461, :c9462, :c9463, :c9464, :c9465, :c9466, :c9467, :c9468, :c9469, :c9470, :c9471, :c9472, :c9473, :c9474, :c9475, :c9476, :c9477, :c9478, :c9479, :c9480, :c9481, :c9482, :c9483, :c9484, :c9485, :c9486, :c9487, :c9488, :c9489, :c9490, :c9491, :c9492, :c9493, :c9494, :c9495, :c9496, :c9497, :c9498, :c9499, :c9500, :c9501, :c9502, :c9503, :c9504, :c9505, :c9506, :c9507, :c9508, :c9509, :c9510, :c9511, :c9512, :c9513, :c9514, :c9515, :c9516, :c9517, :c9518, :c9519, :c9520, :c9521, :c9522, :c9523, :c9524, :c9525, :c9526, :c9527, :c9528, :c9529, :c9530, :c9531, :c9532, :c9533, :c9534, :c9535, :c9536, :c9537, :c9538, :c9539, :c9540, :c9541, :c9542, :c9543, :c9544, :c9545, :c9546, :c9547, :c9548, :c9549, :c9550, :c9551, :c9552, :c9553, :c9554, :c9555, :c9556, :c9557, :c9558, :c9559, :c9560, :c9561, :c9562, :c9563, :c9564, :c9565, :c9566, :c9567, :c9568, :c9569, :c9570, :c9571, :c9572, :c9573, :c9574, :c9575, :c9576, :c9577, :c9578, :c9579, :c9580, :c9581, :c9582, :c9583, :c9584, :c9585, :c9586, :c9587, :c9588, :c9589, :c9590, :c9591, :c9592, :c9593, :c9594, :c9595, :c9596, :c9597, :c9598, :c9599, :c9600, :c9601, :c9602, :c9603, :c9604, :c9605, :c9606, :c9607, :c9608, :c9609, :c9610, :c9611, :c9612, :c9613, :c9614, :c9615, :c9616, :c9617, :c9618, :c9619, :c9620, :c9621, :c9622, :c9623, :c9624, :c9625, :c9626, :c9627, :c9628, :c9629, :c9630, :c9631, :c9632, :c9633, :c9634, :c9635, :c9636, :c9637, :c9638, :c9639, :c9640, :c9641, :c9642, :c9643, :c9644, :c9645, :c9646, :c9647, :c9648, :c9649, :c9650, :c9651, :c9652, :c9653, :c9654, :c9655, :c9656, :c9657, :c9658, :c9659, :c9660, :c9661, :c9662, :c9663, :c9664, :c9665, :c9666, :c9667, :c9668, :c9669, :c9670, :c9671, :c9672, :c9673, :c9674, :c9675, :c9676, :c9677, :c9678, :c9679, :c9680, :c9681, :c9682, :c9683, :c9684, :c9685, :c9686, :c9687, :c9688, :c9689, :c9690, :c9691, :c9692, :c9693, :c9694, :c9695, :c9696, :c9697, :c9698, :c9699, :c9700, :c9701, :c9702, :c9703, :c9704, :c9705, :c9706, :c9707, :c9708, :c9709, :c9710, :c9711, :c9712, :c9713, :c9714, :c9715, :c9716, :c9717, :c9718, :c9719, :c9720, :c9721, :c9722, :c9723, :c9724, :c9725, :c9726, :c9727, :c9728, :c9729, :c9730, :c9731, :c9732, :c9733, :c9734, :c9735, :c9736, :c9737, :c9738, :c9739, :c9740, :c9741, :c9742, :c9743, :c9744, :c9745, :c9746, :c9747, :c9748, :c9749, :c9750, :c9751, :c9752, :c9753, :c9754, :c9755, :c9756, :c9757, :c9758, :c9759, :c9760, :c9761, :c9762, :c9763, :c9764, :c9765, :c9766, :c9767, :c9768, :c9769, :c9770, :c9771, :c9772, :c9773, :c9774, :c9775, :c9776, :c9777, :c9778, :c9779, :c9780, :c9781, :c9782, :c9783, :c9784, :c9785, :c9786, :c9787, :c9788, :c9789, :c9790, :c9791, :c9792, :c9793, :c9794, :c9795, :c9796, :c9797, :c9798, :c9799, :c9800, :c9801, :c9802, :c9803, :c9804, :c9805, :c9806, :c9807, :c9808, :c9809, :c9810, :c9811, :c9812, :c9813, :c9814, :c9815, :c9816, :c9817, :c9818, :c9819, :c9820, :c9821, :c9822, :c9823, :c9824, :c9825, :c9826, :c9827, :c9828, :c9829, :c9830, :c9831, :c9832, :c9833, :c9834, :c9835, :c9836, :c9837, :c9838, :c9839, :c9840, :c9841, :c9842, :c9843, :c9844, :c9845, :c9846, :c9847, :c9848, :c9849, :c9850, :c9851, :c9852, :c9853, :c9854, :c9855, :c9856, :c9857, :c9858, :c9859, :c9860, :c9861, :c9862, :c9863, :c9864, :c9865, :c9866, :c9867, :c9868, :c9869, :c9870, :c9871, :c9872, :c9873, :c9874, :c9875, :c9876, :c9877, :c9878, :c9879, :c9880, :c9881, :c9882, :c9883, :c9884, :c9885, :c9886, :c9887, :c9888, :c9889, :c9890, :c9891, :c9892, :c9893, :c9894, :c9895, :c9896, :c9897, :c9898, :c9899, :c9900, :c9901, :c9902, :c9903, :c9904, :c9905, :c9906, :c9907, :c9908, :c9909, :c9910, :c9911, :c9912, :c9913, :c9914, :c9915, :c9916, :c9917, :c9918, :c9919, :c9920, :c9921, :c9922, :c9923, :c9924, :c9925, :c9926, :c9927, :c9928, :c9929, :c9930, :c9931, :c9932, :c9933, :c9934, :c9935, :c9936, :c9937, :c9938, :c9939, :c9940, :c9941, :c9942, :c9943, :c9944, :c9945, :c9946, :c9947, :c9948, :c9949, :c9950, :c9951, :c9952, :c9953, :c9954, :c9955, :c9956, :c9957, :c9958, :c9959, :c9960, :c9961, :c9962, :c9963, :c9964, :c9965, :c9966, :c9967, :c9968, :c9969, :c9970, :c9971, :c9972, :c9973, :c9974, :c9975, :c9976, :c9977, :c9978, :c9979, :c9980, :c9981, :c9982, :c9983, :c9984, :c9985, :c9986, :c9987, :c9988, :c9989, :c9990, :c9991, :c9992, :c9993, :c9994, :c9995, :c9996, :c9997, :c9998, :c9999, :c10000 . diff --git a/test/good/test-16.nt b/test/good/test-16.nt new file mode 100644 index 00000000..c0604b3b --- /dev/null +++ b/test/good/test-16.nt @@ -0,0 +1,10000 @@ + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . diff --git a/test/good/test-16.ttl b/test/good/test-16.ttl new file mode 100644 index 00000000..a9ac37fb --- /dev/null +++ b/test/good/test-16.ttl @@ -0,0 +1,10002 @@ +# 10000 items (10000 triples) more than the default Bison stack size +@prefix : . +:a :b :c1; + :b :c2; + :b :c3; + :b :c4; + :b :c5; + :b :c6; + :b :c7; + :b :c8; + :b :c9; + :b :c10; + :b :c11; + :b :c12; + :b :c13; + :b :c14; + :b :c15; + :b :c16; + :b :c17; + :b :c18; + :b :c19; + :b :c20; + :b :c21; + :b :c22; + :b :c23; + :b :c24; + :b :c25; + :b :c26; + :b :c27; + :b :c28; + :b :c29; + :b :c30; + :b :c31; + :b :c32; + :b :c33; + :b :c34; + :b :c35; + :b :c36; + :b :c37; + :b :c38; + :b :c39; + :b :c40; + :b :c41; + :b :c42; + :b :c43; + :b :c44; + :b :c45; + :b :c46; + :b :c47; + :b :c48; + :b :c49; + :b :c50; + :b :c51; + :b :c52; + :b :c53; + :b :c54; + :b :c55; + :b :c56; + :b :c57; + :b :c58; + :b :c59; + :b :c60; + :b :c61; + :b :c62; + :b :c63; + :b :c64; + :b :c65; + :b :c66; + :b :c67; + :b :c68; + :b :c69; + :b :c70; + :b :c71; + :b :c72; + :b :c73; + :b :c74; + :b :c75; + :b :c76; + :b :c77; + :b :c78; + :b :c79; + :b :c80; + :b :c81; + :b :c82; + :b :c83; + :b :c84; + :b :c85; + :b :c86; + :b :c87; + :b :c88; + :b :c89; + :b :c90; + :b :c91; + :b :c92; + :b :c93; + :b :c94; + :b :c95; + :b :c96; + :b :c97; + :b :c98; + :b :c99; + :b :c100; + :b :c101; + :b :c102; + :b :c103; + :b :c104; + :b :c105; + :b :c106; + :b :c107; + :b :c108; + :b :c109; + :b :c110; + :b :c111; + :b :c112; + :b :c113; + :b :c114; + :b :c115; + :b :c116; + :b :c117; + :b :c118; + :b :c119; + :b :c120; + :b :c121; + :b :c122; + :b :c123; + :b :c124; + :b :c125; + :b :c126; + :b :c127; + :b :c128; + :b :c129; + :b :c130; + :b :c131; + :b :c132; + :b :c133; + :b :c134; + :b :c135; + :b :c136; + :b :c137; + :b :c138; + :b :c139; + :b :c140; + :b :c141; + :b :c142; + :b :c143; + :b :c144; + :b :c145; + :b :c146; + :b :c147; + :b :c148; + :b :c149; + :b :c150; + :b :c151; + :b :c152; + :b :c153; + :b :c154; + :b :c155; + :b :c156; + :b :c157; + :b :c158; + :b :c159; + :b :c160; + :b :c161; + :b :c162; + :b :c163; + :b :c164; + :b :c165; + :b :c166; + :b :c167; + :b :c168; + :b :c169; + :b :c170; + :b :c171; + :b :c172; + :b :c173; + :b :c174; + :b :c175; + :b :c176; + :b :c177; + :b :c178; + :b :c179; + :b :c180; + :b :c181; + :b :c182; + :b :c183; + :b :c184; + :b :c185; + :b :c186; + :b :c187; + :b :c188; + :b :c189; + :b :c190; + :b :c191; + :b :c192; + :b :c193; + :b :c194; + :b :c195; + :b :c196; + :b :c197; + :b :c198; + :b :c199; + :b :c200; + :b :c201; + :b :c202; + :b :c203; + :b :c204; + :b :c205; + :b :c206; + :b :c207; + :b :c208; + :b :c209; + :b :c210; + :b :c211; + :b :c212; + :b :c213; + :b :c214; + :b :c215; + :b :c216; + :b :c217; + :b :c218; + :b :c219; + :b :c220; + :b :c221; + :b :c222; + :b :c223; + :b :c224; + :b :c225; + :b :c226; + :b :c227; + :b :c228; + :b :c229; + :b :c230; + :b :c231; + :b :c232; + :b :c233; + :b :c234; + :b :c235; + :b :c236; + :b :c237; + :b :c238; + :b :c239; + :b :c240; + :b :c241; + :b :c242; + :b :c243; + :b :c244; + :b :c245; + :b :c246; + :b :c247; + :b :c248; + :b :c249; + :b :c250; + :b :c251; + :b :c252; + :b :c253; + :b :c254; + :b :c255; + :b :c256; + :b :c257; + :b :c258; + :b :c259; + :b :c260; + :b :c261; + :b :c262; + :b :c263; + :b :c264; + :b :c265; + :b :c266; + :b :c267; + :b :c268; + :b :c269; + :b :c270; + :b :c271; + :b :c272; + :b :c273; + :b :c274; + :b :c275; + :b :c276; + :b :c277; + :b :c278; + :b :c279; + :b :c280; + :b :c281; + :b :c282; + :b :c283; + :b :c284; + :b :c285; + :b :c286; + :b :c287; + :b :c288; + :b :c289; + :b :c290; + :b :c291; + :b :c292; + :b :c293; + :b :c294; + :b :c295; + :b :c296; + :b :c297; + :b :c298; + :b :c299; + :b :c300; + :b :c301; + :b :c302; + :b :c303; + :b :c304; + :b :c305; + :b :c306; + :b :c307; + :b :c308; + :b :c309; + :b :c310; + :b :c311; + :b :c312; + :b :c313; + :b :c314; + :b :c315; + :b :c316; + :b :c317; + :b :c318; + :b :c319; + :b :c320; + :b :c321; + :b :c322; + :b :c323; + :b :c324; + :b :c325; + :b :c326; + :b :c327; + :b :c328; + :b :c329; + :b :c330; + :b :c331; + :b :c332; + :b :c333; + :b :c334; + :b :c335; + :b :c336; + :b :c337; + :b :c338; + :b :c339; + :b :c340; + :b :c341; + :b :c342; + :b :c343; + :b :c344; + :b :c345; + :b :c346; + :b :c347; + :b :c348; + :b :c349; + :b :c350; + :b :c351; + :b :c352; + :b :c353; + :b :c354; + :b :c355; + :b :c356; + :b :c357; + :b :c358; + :b :c359; + :b :c360; + :b :c361; + :b :c362; + :b :c363; + :b :c364; + :b :c365; + :b :c366; + :b :c367; + :b :c368; + :b :c369; + :b :c370; + :b :c371; + :b :c372; + :b :c373; + :b :c374; + :b :c375; + :b :c376; + :b :c377; + :b :c378; + :b :c379; + :b :c380; + :b :c381; + :b :c382; + :b :c383; + :b :c384; + :b :c385; + :b :c386; + :b :c387; + :b :c388; + :b :c389; + :b :c390; + :b :c391; + :b :c392; + :b :c393; + :b :c394; + :b :c395; + :b :c396; + :b :c397; + :b :c398; + :b :c399; + :b :c400; + :b :c401; + :b :c402; + :b :c403; + :b :c404; + :b :c405; + :b :c406; + :b :c407; + :b :c408; + :b :c409; + :b :c410; + :b :c411; + :b :c412; + :b :c413; + :b :c414; + :b :c415; + :b :c416; + :b :c417; + :b :c418; + :b :c419; + :b :c420; + :b :c421; + :b :c422; + :b :c423; + :b :c424; + :b :c425; + :b :c426; + :b :c427; + :b :c428; + :b :c429; + :b :c430; + :b :c431; + :b :c432; + :b :c433; + :b :c434; + :b :c435; + :b :c436; + :b :c437; + :b :c438; + :b :c439; + :b :c440; + :b :c441; + :b :c442; + :b :c443; + :b :c444; + :b :c445; + :b :c446; + :b :c447; + :b :c448; + :b :c449; + :b :c450; + :b :c451; + :b :c452; + :b :c453; + :b :c454; + :b :c455; + :b :c456; + :b :c457; + :b :c458; + :b :c459; + :b :c460; + :b :c461; + :b :c462; + :b :c463; + :b :c464; + :b :c465; + :b :c466; + :b :c467; + :b :c468; + :b :c469; + :b :c470; + :b :c471; + :b :c472; + :b :c473; + :b :c474; + :b :c475; + :b :c476; + :b :c477; + :b :c478; + :b :c479; + :b :c480; + :b :c481; + :b :c482; + :b :c483; + :b :c484; + :b :c485; + :b :c486; + :b :c487; + :b :c488; + :b :c489; + :b :c490; + :b :c491; + :b :c492; + :b :c493; + :b :c494; + :b :c495; + :b :c496; + :b :c497; + :b :c498; + :b :c499; + :b :c500; + :b :c501; + :b :c502; + :b :c503; + :b :c504; + :b :c505; + :b :c506; + :b :c507; + :b :c508; + :b :c509; + :b :c510; + :b :c511; + :b :c512; + :b :c513; + :b :c514; + :b :c515; + :b :c516; + :b :c517; + :b :c518; + :b :c519; + :b :c520; + :b :c521; + :b :c522; + :b :c523; + :b :c524; + :b :c525; + :b :c526; + :b :c527; + :b :c528; + :b :c529; + :b :c530; + :b :c531; + :b :c532; + :b :c533; + :b :c534; + :b :c535; + :b :c536; + :b :c537; + :b :c538; + :b :c539; + :b :c540; + :b :c541; + :b :c542; + :b :c543; + :b :c544; + :b :c545; + :b :c546; + :b :c547; + :b :c548; + :b :c549; + :b :c550; + :b :c551; + :b :c552; + :b :c553; + :b :c554; + :b :c555; + :b :c556; + :b :c557; + :b :c558; + :b :c559; + :b :c560; + :b :c561; + :b :c562; + :b :c563; + :b :c564; + :b :c565; + :b :c566; + :b :c567; + :b :c568; + :b :c569; + :b :c570; + :b :c571; + :b :c572; + :b :c573; + :b :c574; + :b :c575; + :b :c576; + :b :c577; + :b :c578; + :b :c579; + :b :c580; + :b :c581; + :b :c582; + :b :c583; + :b :c584; + :b :c585; + :b :c586; + :b :c587; + :b :c588; + :b :c589; + :b :c590; + :b :c591; + :b :c592; + :b :c593; + :b :c594; + :b :c595; + :b :c596; + :b :c597; + :b :c598; + :b :c599; + :b :c600; + :b :c601; + :b :c602; + :b :c603; + :b :c604; + :b :c605; + :b :c606; + :b :c607; + :b :c608; + :b :c609; + :b :c610; + :b :c611; + :b :c612; + :b :c613; + :b :c614; + :b :c615; + :b :c616; + :b :c617; + :b :c618; + :b :c619; + :b :c620; + :b :c621; + :b :c622; + :b :c623; + :b :c624; + :b :c625; + :b :c626; + :b :c627; + :b :c628; + :b :c629; + :b :c630; + :b :c631; + :b :c632; + :b :c633; + :b :c634; + :b :c635; + :b :c636; + :b :c637; + :b :c638; + :b :c639; + :b :c640; + :b :c641; + :b :c642; + :b :c643; + :b :c644; + :b :c645; + :b :c646; + :b :c647; + :b :c648; + :b :c649; + :b :c650; + :b :c651; + :b :c652; + :b :c653; + :b :c654; + :b :c655; + :b :c656; + :b :c657; + :b :c658; + :b :c659; + :b :c660; + :b :c661; + :b :c662; + :b :c663; + :b :c664; + :b :c665; + :b :c666; + :b :c667; + :b :c668; + :b :c669; + :b :c670; + :b :c671; + :b :c672; + :b :c673; + :b :c674; + :b :c675; + :b :c676; + :b :c677; + :b :c678; + :b :c679; + :b :c680; + :b :c681; + :b :c682; + :b :c683; + :b :c684; + :b :c685; + :b :c686; + :b :c687; + :b :c688; + :b :c689; + :b :c690; + :b :c691; + :b :c692; + :b :c693; + :b :c694; + :b :c695; + :b :c696; + :b :c697; + :b :c698; + :b :c699; + :b :c700; + :b :c701; + :b :c702; + :b :c703; + :b :c704; + :b :c705; + :b :c706; + :b :c707; + :b :c708; + :b :c709; + :b :c710; + :b :c711; + :b :c712; + :b :c713; + :b :c714; + :b :c715; + :b :c716; + :b :c717; + :b :c718; + :b :c719; + :b :c720; + :b :c721; + :b :c722; + :b :c723; + :b :c724; + :b :c725; + :b :c726; + :b :c727; + :b :c728; + :b :c729; + :b :c730; + :b :c731; + :b :c732; + :b :c733; + :b :c734; + :b :c735; + :b :c736; + :b :c737; + :b :c738; + :b :c739; + :b :c740; + :b :c741; + :b :c742; + :b :c743; + :b :c744; + :b :c745; + :b :c746; + :b :c747; + :b :c748; + :b :c749; + :b :c750; + :b :c751; + :b :c752; + :b :c753; + :b :c754; + :b :c755; + :b :c756; + :b :c757; + :b :c758; + :b :c759; + :b :c760; + :b :c761; + :b :c762; + :b :c763; + :b :c764; + :b :c765; + :b :c766; + :b :c767; + :b :c768; + :b :c769; + :b :c770; + :b :c771; + :b :c772; + :b :c773; + :b :c774; + :b :c775; + :b :c776; + :b :c777; + :b :c778; + :b :c779; + :b :c780; + :b :c781; + :b :c782; + :b :c783; + :b :c784; + :b :c785; + :b :c786; + :b :c787; + :b :c788; + :b :c789; + :b :c790; + :b :c791; + :b :c792; + :b :c793; + :b :c794; + :b :c795; + :b :c796; + :b :c797; + :b :c798; + :b :c799; + :b :c800; + :b :c801; + :b :c802; + :b :c803; + :b :c804; + :b :c805; + :b :c806; + :b :c807; + :b :c808; + :b :c809; + :b :c810; + :b :c811; + :b :c812; + :b :c813; + :b :c814; + :b :c815; + :b :c816; + :b :c817; + :b :c818; + :b :c819; + :b :c820; + :b :c821; + :b :c822; + :b :c823; + :b :c824; + :b :c825; + :b :c826; + :b :c827; + :b :c828; + :b :c829; + :b :c830; + :b :c831; + :b :c832; + :b :c833; + :b :c834; + :b :c835; + :b :c836; + :b :c837; + :b :c838; + :b :c839; + :b :c840; + :b :c841; + :b :c842; + :b :c843; + :b :c844; + :b :c845; + :b :c846; + :b :c847; + :b :c848; + :b :c849; + :b :c850; + :b :c851; + :b :c852; + :b :c853; + :b :c854; + :b :c855; + :b :c856; + :b :c857; + :b :c858; + :b :c859; + :b :c860; + :b :c861; + :b :c862; + :b :c863; + :b :c864; + :b :c865; + :b :c866; + :b :c867; + :b :c868; + :b :c869; + :b :c870; + :b :c871; + :b :c872; + :b :c873; + :b :c874; + :b :c875; + :b :c876; + :b :c877; + :b :c878; + :b :c879; + :b :c880; + :b :c881; + :b :c882; + :b :c883; + :b :c884; + :b :c885; + :b :c886; + :b :c887; + :b :c888; + :b :c889; + :b :c890; + :b :c891; + :b :c892; + :b :c893; + :b :c894; + :b :c895; + :b :c896; + :b :c897; + :b :c898; + :b :c899; + :b :c900; + :b :c901; + :b :c902; + :b :c903; + :b :c904; + :b :c905; + :b :c906; + :b :c907; + :b :c908; + :b :c909; + :b :c910; + :b :c911; + :b :c912; + :b :c913; + :b :c914; + :b :c915; + :b :c916; + :b :c917; + :b :c918; + :b :c919; + :b :c920; + :b :c921; + :b :c922; + :b :c923; + :b :c924; + :b :c925; + :b :c926; + :b :c927; + :b :c928; + :b :c929; + :b :c930; + :b :c931; + :b :c932; + :b :c933; + :b :c934; + :b :c935; + :b :c936; + :b :c937; + :b :c938; + :b :c939; + :b :c940; + :b :c941; + :b :c942; + :b :c943; + :b :c944; + :b :c945; + :b :c946; + :b :c947; + :b :c948; + :b :c949; + :b :c950; + :b :c951; + :b :c952; + :b :c953; + :b :c954; + :b :c955; + :b :c956; + :b :c957; + :b :c958; + :b :c959; + :b :c960; + :b :c961; + :b :c962; + :b :c963; + :b :c964; + :b :c965; + :b :c966; + :b :c967; + :b :c968; + :b :c969; + :b :c970; + :b :c971; + :b :c972; + :b :c973; + :b :c974; + :b :c975; + :b :c976; + :b :c977; + :b :c978; + :b :c979; + :b :c980; + :b :c981; + :b :c982; + :b :c983; + :b :c984; + :b :c985; + :b :c986; + :b :c987; + :b :c988; + :b :c989; + :b :c990; + :b :c991; + :b :c992; + :b :c993; + :b :c994; + :b :c995; + :b :c996; + :b :c997; + :b :c998; + :b :c999; + :b :c1000; + :b :c1001; + :b :c1002; + :b :c1003; + :b :c1004; + :b :c1005; + :b :c1006; + :b :c1007; + :b :c1008; + :b :c1009; + :b :c1010; + :b :c1011; + :b :c1012; + :b :c1013; + :b :c1014; + :b :c1015; + :b :c1016; + :b :c1017; + :b :c1018; + :b :c1019; + :b :c1020; + :b :c1021; + :b :c1022; + :b :c1023; + :b :c1024; + :b :c1025; + :b :c1026; + :b :c1027; + :b :c1028; + :b :c1029; + :b :c1030; + :b :c1031; + :b :c1032; + :b :c1033; + :b :c1034; + :b :c1035; + :b :c1036; + :b :c1037; + :b :c1038; + :b :c1039; + :b :c1040; + :b :c1041; + :b :c1042; + :b :c1043; + :b :c1044; + :b :c1045; + :b :c1046; + :b :c1047; + :b :c1048; + :b :c1049; + :b :c1050; + :b :c1051; + :b :c1052; + :b :c1053; + :b :c1054; + :b :c1055; + :b :c1056; + :b :c1057; + :b :c1058; + :b :c1059; + :b :c1060; + :b :c1061; + :b :c1062; + :b :c1063; + :b :c1064; + :b :c1065; + :b :c1066; + :b :c1067; + :b :c1068; + :b :c1069; + :b :c1070; + :b :c1071; + :b :c1072; + :b :c1073; + :b :c1074; + :b :c1075; + :b :c1076; + :b :c1077; + :b :c1078; + :b :c1079; + :b :c1080; + :b :c1081; + :b :c1082; + :b :c1083; + :b :c1084; + :b :c1085; + :b :c1086; + :b :c1087; + :b :c1088; + :b :c1089; + :b :c1090; + :b :c1091; + :b :c1092; + :b :c1093; + :b :c1094; + :b :c1095; + :b :c1096; + :b :c1097; + :b :c1098; + :b :c1099; + :b :c1100; + :b :c1101; + :b :c1102; + :b :c1103; + :b :c1104; + :b :c1105; + :b :c1106; + :b :c1107; + :b :c1108; + :b :c1109; + :b :c1110; + :b :c1111; + :b :c1112; + :b :c1113; + :b :c1114; + :b :c1115; + :b :c1116; + :b :c1117; + :b :c1118; + :b :c1119; + :b :c1120; + :b :c1121; + :b :c1122; + :b :c1123; + :b :c1124; + :b :c1125; + :b :c1126; + :b :c1127; + :b :c1128; + :b :c1129; + :b :c1130; + :b :c1131; + :b :c1132; + :b :c1133; + :b :c1134; + :b :c1135; + :b :c1136; + :b :c1137; + :b :c1138; + :b :c1139; + :b :c1140; + :b :c1141; + :b :c1142; + :b :c1143; + :b :c1144; + :b :c1145; + :b :c1146; + :b :c1147; + :b :c1148; + :b :c1149; + :b :c1150; + :b :c1151; + :b :c1152; + :b :c1153; + :b :c1154; + :b :c1155; + :b :c1156; + :b :c1157; + :b :c1158; + :b :c1159; + :b :c1160; + :b :c1161; + :b :c1162; + :b :c1163; + :b :c1164; + :b :c1165; + :b :c1166; + :b :c1167; + :b :c1168; + :b :c1169; + :b :c1170; + :b :c1171; + :b :c1172; + :b :c1173; + :b :c1174; + :b :c1175; + :b :c1176; + :b :c1177; + :b :c1178; + :b :c1179; + :b :c1180; + :b :c1181; + :b :c1182; + :b :c1183; + :b :c1184; + :b :c1185; + :b :c1186; + :b :c1187; + :b :c1188; + :b :c1189; + :b :c1190; + :b :c1191; + :b :c1192; + :b :c1193; + :b :c1194; + :b :c1195; + :b :c1196; + :b :c1197; + :b :c1198; + :b :c1199; + :b :c1200; + :b :c1201; + :b :c1202; + :b :c1203; + :b :c1204; + :b :c1205; + :b :c1206; + :b :c1207; + :b :c1208; + :b :c1209; + :b :c1210; + :b :c1211; + :b :c1212; + :b :c1213; + :b :c1214; + :b :c1215; + :b :c1216; + :b :c1217; + :b :c1218; + :b :c1219; + :b :c1220; + :b :c1221; + :b :c1222; + :b :c1223; + :b :c1224; + :b :c1225; + :b :c1226; + :b :c1227; + :b :c1228; + :b :c1229; + :b :c1230; + :b :c1231; + :b :c1232; + :b :c1233; + :b :c1234; + :b :c1235; + :b :c1236; + :b :c1237; + :b :c1238; + :b :c1239; + :b :c1240; + :b :c1241; + :b :c1242; + :b :c1243; + :b :c1244; + :b :c1245; + :b :c1246; + :b :c1247; + :b :c1248; + :b :c1249; + :b :c1250; + :b :c1251; + :b :c1252; + :b :c1253; + :b :c1254; + :b :c1255; + :b :c1256; + :b :c1257; + :b :c1258; + :b :c1259; + :b :c1260; + :b :c1261; + :b :c1262; + :b :c1263; + :b :c1264; + :b :c1265; + :b :c1266; + :b :c1267; + :b :c1268; + :b :c1269; + :b :c1270; + :b :c1271; + :b :c1272; + :b :c1273; + :b :c1274; + :b :c1275; + :b :c1276; + :b :c1277; + :b :c1278; + :b :c1279; + :b :c1280; + :b :c1281; + :b :c1282; + :b :c1283; + :b :c1284; + :b :c1285; + :b :c1286; + :b :c1287; + :b :c1288; + :b :c1289; + :b :c1290; + :b :c1291; + :b :c1292; + :b :c1293; + :b :c1294; + :b :c1295; + :b :c1296; + :b :c1297; + :b :c1298; + :b :c1299; + :b :c1300; + :b :c1301; + :b :c1302; + :b :c1303; + :b :c1304; + :b :c1305; + :b :c1306; + :b :c1307; + :b :c1308; + :b :c1309; + :b :c1310; + :b :c1311; + :b :c1312; + :b :c1313; + :b :c1314; + :b :c1315; + :b :c1316; + :b :c1317; + :b :c1318; + :b :c1319; + :b :c1320; + :b :c1321; + :b :c1322; + :b :c1323; + :b :c1324; + :b :c1325; + :b :c1326; + :b :c1327; + :b :c1328; + :b :c1329; + :b :c1330; + :b :c1331; + :b :c1332; + :b :c1333; + :b :c1334; + :b :c1335; + :b :c1336; + :b :c1337; + :b :c1338; + :b :c1339; + :b :c1340; + :b :c1341; + :b :c1342; + :b :c1343; + :b :c1344; + :b :c1345; + :b :c1346; + :b :c1347; + :b :c1348; + :b :c1349; + :b :c1350; + :b :c1351; + :b :c1352; + :b :c1353; + :b :c1354; + :b :c1355; + :b :c1356; + :b :c1357; + :b :c1358; + :b :c1359; + :b :c1360; + :b :c1361; + :b :c1362; + :b :c1363; + :b :c1364; + :b :c1365; + :b :c1366; + :b :c1367; + :b :c1368; + :b :c1369; + :b :c1370; + :b :c1371; + :b :c1372; + :b :c1373; + :b :c1374; + :b :c1375; + :b :c1376; + :b :c1377; + :b :c1378; + :b :c1379; + :b :c1380; + :b :c1381; + :b :c1382; + :b :c1383; + :b :c1384; + :b :c1385; + :b :c1386; + :b :c1387; + :b :c1388; + :b :c1389; + :b :c1390; + :b :c1391; + :b :c1392; + :b :c1393; + :b :c1394; + :b :c1395; + :b :c1396; + :b :c1397; + :b :c1398; + :b :c1399; + :b :c1400; + :b :c1401; + :b :c1402; + :b :c1403; + :b :c1404; + :b :c1405; + :b :c1406; + :b :c1407; + :b :c1408; + :b :c1409; + :b :c1410; + :b :c1411; + :b :c1412; + :b :c1413; + :b :c1414; + :b :c1415; + :b :c1416; + :b :c1417; + :b :c1418; + :b :c1419; + :b :c1420; + :b :c1421; + :b :c1422; + :b :c1423; + :b :c1424; + :b :c1425; + :b :c1426; + :b :c1427; + :b :c1428; + :b :c1429; + :b :c1430; + :b :c1431; + :b :c1432; + :b :c1433; + :b :c1434; + :b :c1435; + :b :c1436; + :b :c1437; + :b :c1438; + :b :c1439; + :b :c1440; + :b :c1441; + :b :c1442; + :b :c1443; + :b :c1444; + :b :c1445; + :b :c1446; + :b :c1447; + :b :c1448; + :b :c1449; + :b :c1450; + :b :c1451; + :b :c1452; + :b :c1453; + :b :c1454; + :b :c1455; + :b :c1456; + :b :c1457; + :b :c1458; + :b :c1459; + :b :c1460; + :b :c1461; + :b :c1462; + :b :c1463; + :b :c1464; + :b :c1465; + :b :c1466; + :b :c1467; + :b :c1468; + :b :c1469; + :b :c1470; + :b :c1471; + :b :c1472; + :b :c1473; + :b :c1474; + :b :c1475; + :b :c1476; + :b :c1477; + :b :c1478; + :b :c1479; + :b :c1480; + :b :c1481; + :b :c1482; + :b :c1483; + :b :c1484; + :b :c1485; + :b :c1486; + :b :c1487; + :b :c1488; + :b :c1489; + :b :c1490; + :b :c1491; + :b :c1492; + :b :c1493; + :b :c1494; + :b :c1495; + :b :c1496; + :b :c1497; + :b :c1498; + :b :c1499; + :b :c1500; + :b :c1501; + :b :c1502; + :b :c1503; + :b :c1504; + :b :c1505; + :b :c1506; + :b :c1507; + :b :c1508; + :b :c1509; + :b :c1510; + :b :c1511; + :b :c1512; + :b :c1513; + :b :c1514; + :b :c1515; + :b :c1516; + :b :c1517; + :b :c1518; + :b :c1519; + :b :c1520; + :b :c1521; + :b :c1522; + :b :c1523; + :b :c1524; + :b :c1525; + :b :c1526; + :b :c1527; + :b :c1528; + :b :c1529; + :b :c1530; + :b :c1531; + :b :c1532; + :b :c1533; + :b :c1534; + :b :c1535; + :b :c1536; + :b :c1537; + :b :c1538; + :b :c1539; + :b :c1540; + :b :c1541; + :b :c1542; + :b :c1543; + :b :c1544; + :b :c1545; + :b :c1546; + :b :c1547; + :b :c1548; + :b :c1549; + :b :c1550; + :b :c1551; + :b :c1552; + :b :c1553; + :b :c1554; + :b :c1555; + :b :c1556; + :b :c1557; + :b :c1558; + :b :c1559; + :b :c1560; + :b :c1561; + :b :c1562; + :b :c1563; + :b :c1564; + :b :c1565; + :b :c1566; + :b :c1567; + :b :c1568; + :b :c1569; + :b :c1570; + :b :c1571; + :b :c1572; + :b :c1573; + :b :c1574; + :b :c1575; + :b :c1576; + :b :c1577; + :b :c1578; + :b :c1579; + :b :c1580; + :b :c1581; + :b :c1582; + :b :c1583; + :b :c1584; + :b :c1585; + :b :c1586; + :b :c1587; + :b :c1588; + :b :c1589; + :b :c1590; + :b :c1591; + :b :c1592; + :b :c1593; + :b :c1594; + :b :c1595; + :b :c1596; + :b :c1597; + :b :c1598; + :b :c1599; + :b :c1600; + :b :c1601; + :b :c1602; + :b :c1603; + :b :c1604; + :b :c1605; + :b :c1606; + :b :c1607; + :b :c1608; + :b :c1609; + :b :c1610; + :b :c1611; + :b :c1612; + :b :c1613; + :b :c1614; + :b :c1615; + :b :c1616; + :b :c1617; + :b :c1618; + :b :c1619; + :b :c1620; + :b :c1621; + :b :c1622; + :b :c1623; + :b :c1624; + :b :c1625; + :b :c1626; + :b :c1627; + :b :c1628; + :b :c1629; + :b :c1630; + :b :c1631; + :b :c1632; + :b :c1633; + :b :c1634; + :b :c1635; + :b :c1636; + :b :c1637; + :b :c1638; + :b :c1639; + :b :c1640; + :b :c1641; + :b :c1642; + :b :c1643; + :b :c1644; + :b :c1645; + :b :c1646; + :b :c1647; + :b :c1648; + :b :c1649; + :b :c1650; + :b :c1651; + :b :c1652; + :b :c1653; + :b :c1654; + :b :c1655; + :b :c1656; + :b :c1657; + :b :c1658; + :b :c1659; + :b :c1660; + :b :c1661; + :b :c1662; + :b :c1663; + :b :c1664; + :b :c1665; + :b :c1666; + :b :c1667; + :b :c1668; + :b :c1669; + :b :c1670; + :b :c1671; + :b :c1672; + :b :c1673; + :b :c1674; + :b :c1675; + :b :c1676; + :b :c1677; + :b :c1678; + :b :c1679; + :b :c1680; + :b :c1681; + :b :c1682; + :b :c1683; + :b :c1684; + :b :c1685; + :b :c1686; + :b :c1687; + :b :c1688; + :b :c1689; + :b :c1690; + :b :c1691; + :b :c1692; + :b :c1693; + :b :c1694; + :b :c1695; + :b :c1696; + :b :c1697; + :b :c1698; + :b :c1699; + :b :c1700; + :b :c1701; + :b :c1702; + :b :c1703; + :b :c1704; + :b :c1705; + :b :c1706; + :b :c1707; + :b :c1708; + :b :c1709; + :b :c1710; + :b :c1711; + :b :c1712; + :b :c1713; + :b :c1714; + :b :c1715; + :b :c1716; + :b :c1717; + :b :c1718; + :b :c1719; + :b :c1720; + :b :c1721; + :b :c1722; + :b :c1723; + :b :c1724; + :b :c1725; + :b :c1726; + :b :c1727; + :b :c1728; + :b :c1729; + :b :c1730; + :b :c1731; + :b :c1732; + :b :c1733; + :b :c1734; + :b :c1735; + :b :c1736; + :b :c1737; + :b :c1738; + :b :c1739; + :b :c1740; + :b :c1741; + :b :c1742; + :b :c1743; + :b :c1744; + :b :c1745; + :b :c1746; + :b :c1747; + :b :c1748; + :b :c1749; + :b :c1750; + :b :c1751; + :b :c1752; + :b :c1753; + :b :c1754; + :b :c1755; + :b :c1756; + :b :c1757; + :b :c1758; + :b :c1759; + :b :c1760; + :b :c1761; + :b :c1762; + :b :c1763; + :b :c1764; + :b :c1765; + :b :c1766; + :b :c1767; + :b :c1768; + :b :c1769; + :b :c1770; + :b :c1771; + :b :c1772; + :b :c1773; + :b :c1774; + :b :c1775; + :b :c1776; + :b :c1777; + :b :c1778; + :b :c1779; + :b :c1780; + :b :c1781; + :b :c1782; + :b :c1783; + :b :c1784; + :b :c1785; + :b :c1786; + :b :c1787; + :b :c1788; + :b :c1789; + :b :c1790; + :b :c1791; + :b :c1792; + :b :c1793; + :b :c1794; + :b :c1795; + :b :c1796; + :b :c1797; + :b :c1798; + :b :c1799; + :b :c1800; + :b :c1801; + :b :c1802; + :b :c1803; + :b :c1804; + :b :c1805; + :b :c1806; + :b :c1807; + :b :c1808; + :b :c1809; + :b :c1810; + :b :c1811; + :b :c1812; + :b :c1813; + :b :c1814; + :b :c1815; + :b :c1816; + :b :c1817; + :b :c1818; + :b :c1819; + :b :c1820; + :b :c1821; + :b :c1822; + :b :c1823; + :b :c1824; + :b :c1825; + :b :c1826; + :b :c1827; + :b :c1828; + :b :c1829; + :b :c1830; + :b :c1831; + :b :c1832; + :b :c1833; + :b :c1834; + :b :c1835; + :b :c1836; + :b :c1837; + :b :c1838; + :b :c1839; + :b :c1840; + :b :c1841; + :b :c1842; + :b :c1843; + :b :c1844; + :b :c1845; + :b :c1846; + :b :c1847; + :b :c1848; + :b :c1849; + :b :c1850; + :b :c1851; + :b :c1852; + :b :c1853; + :b :c1854; + :b :c1855; + :b :c1856; + :b :c1857; + :b :c1858; + :b :c1859; + :b :c1860; + :b :c1861; + :b :c1862; + :b :c1863; + :b :c1864; + :b :c1865; + :b :c1866; + :b :c1867; + :b :c1868; + :b :c1869; + :b :c1870; + :b :c1871; + :b :c1872; + :b :c1873; + :b :c1874; + :b :c1875; + :b :c1876; + :b :c1877; + :b :c1878; + :b :c1879; + :b :c1880; + :b :c1881; + :b :c1882; + :b :c1883; + :b :c1884; + :b :c1885; + :b :c1886; + :b :c1887; + :b :c1888; + :b :c1889; + :b :c1890; + :b :c1891; + :b :c1892; + :b :c1893; + :b :c1894; + :b :c1895; + :b :c1896; + :b :c1897; + :b :c1898; + :b :c1899; + :b :c1900; + :b :c1901; + :b :c1902; + :b :c1903; + :b :c1904; + :b :c1905; + :b :c1906; + :b :c1907; + :b :c1908; + :b :c1909; + :b :c1910; + :b :c1911; + :b :c1912; + :b :c1913; + :b :c1914; + :b :c1915; + :b :c1916; + :b :c1917; + :b :c1918; + :b :c1919; + :b :c1920; + :b :c1921; + :b :c1922; + :b :c1923; + :b :c1924; + :b :c1925; + :b :c1926; + :b :c1927; + :b :c1928; + :b :c1929; + :b :c1930; + :b :c1931; + :b :c1932; + :b :c1933; + :b :c1934; + :b :c1935; + :b :c1936; + :b :c1937; + :b :c1938; + :b :c1939; + :b :c1940; + :b :c1941; + :b :c1942; + :b :c1943; + :b :c1944; + :b :c1945; + :b :c1946; + :b :c1947; + :b :c1948; + :b :c1949; + :b :c1950; + :b :c1951; + :b :c1952; + :b :c1953; + :b :c1954; + :b :c1955; + :b :c1956; + :b :c1957; + :b :c1958; + :b :c1959; + :b :c1960; + :b :c1961; + :b :c1962; + :b :c1963; + :b :c1964; + :b :c1965; + :b :c1966; + :b :c1967; + :b :c1968; + :b :c1969; + :b :c1970; + :b :c1971; + :b :c1972; + :b :c1973; + :b :c1974; + :b :c1975; + :b :c1976; + :b :c1977; + :b :c1978; + :b :c1979; + :b :c1980; + :b :c1981; + :b :c1982; + :b :c1983; + :b :c1984; + :b :c1985; + :b :c1986; + :b :c1987; + :b :c1988; + :b :c1989; + :b :c1990; + :b :c1991; + :b :c1992; + :b :c1993; + :b :c1994; + :b :c1995; + :b :c1996; + :b :c1997; + :b :c1998; + :b :c1999; + :b :c2000; + :b :c2001; + :b :c2002; + :b :c2003; + :b :c2004; + :b :c2005; + :b :c2006; + :b :c2007; + :b :c2008; + :b :c2009; + :b :c2010; + :b :c2011; + :b :c2012; + :b :c2013; + :b :c2014; + :b :c2015; + :b :c2016; + :b :c2017; + :b :c2018; + :b :c2019; + :b :c2020; + :b :c2021; + :b :c2022; + :b :c2023; + :b :c2024; + :b :c2025; + :b :c2026; + :b :c2027; + :b :c2028; + :b :c2029; + :b :c2030; + :b :c2031; + :b :c2032; + :b :c2033; + :b :c2034; + :b :c2035; + :b :c2036; + :b :c2037; + :b :c2038; + :b :c2039; + :b :c2040; + :b :c2041; + :b :c2042; + :b :c2043; + :b :c2044; + :b :c2045; + :b :c2046; + :b :c2047; + :b :c2048; + :b :c2049; + :b :c2050; + :b :c2051; + :b :c2052; + :b :c2053; + :b :c2054; + :b :c2055; + :b :c2056; + :b :c2057; + :b :c2058; + :b :c2059; + :b :c2060; + :b :c2061; + :b :c2062; + :b :c2063; + :b :c2064; + :b :c2065; + :b :c2066; + :b :c2067; + :b :c2068; + :b :c2069; + :b :c2070; + :b :c2071; + :b :c2072; + :b :c2073; + :b :c2074; + :b :c2075; + :b :c2076; + :b :c2077; + :b :c2078; + :b :c2079; + :b :c2080; + :b :c2081; + :b :c2082; + :b :c2083; + :b :c2084; + :b :c2085; + :b :c2086; + :b :c2087; + :b :c2088; + :b :c2089; + :b :c2090; + :b :c2091; + :b :c2092; + :b :c2093; + :b :c2094; + :b :c2095; + :b :c2096; + :b :c2097; + :b :c2098; + :b :c2099; + :b :c2100; + :b :c2101; + :b :c2102; + :b :c2103; + :b :c2104; + :b :c2105; + :b :c2106; + :b :c2107; + :b :c2108; + :b :c2109; + :b :c2110; + :b :c2111; + :b :c2112; + :b :c2113; + :b :c2114; + :b :c2115; + :b :c2116; + :b :c2117; + :b :c2118; + :b :c2119; + :b :c2120; + :b :c2121; + :b :c2122; + :b :c2123; + :b :c2124; + :b :c2125; + :b :c2126; + :b :c2127; + :b :c2128; + :b :c2129; + :b :c2130; + :b :c2131; + :b :c2132; + :b :c2133; + :b :c2134; + :b :c2135; + :b :c2136; + :b :c2137; + :b :c2138; + :b :c2139; + :b :c2140; + :b :c2141; + :b :c2142; + :b :c2143; + :b :c2144; + :b :c2145; + :b :c2146; + :b :c2147; + :b :c2148; + :b :c2149; + :b :c2150; + :b :c2151; + :b :c2152; + :b :c2153; + :b :c2154; + :b :c2155; + :b :c2156; + :b :c2157; + :b :c2158; + :b :c2159; + :b :c2160; + :b :c2161; + :b :c2162; + :b :c2163; + :b :c2164; + :b :c2165; + :b :c2166; + :b :c2167; + :b :c2168; + :b :c2169; + :b :c2170; + :b :c2171; + :b :c2172; + :b :c2173; + :b :c2174; + :b :c2175; + :b :c2176; + :b :c2177; + :b :c2178; + :b :c2179; + :b :c2180; + :b :c2181; + :b :c2182; + :b :c2183; + :b :c2184; + :b :c2185; + :b :c2186; + :b :c2187; + :b :c2188; + :b :c2189; + :b :c2190; + :b :c2191; + :b :c2192; + :b :c2193; + :b :c2194; + :b :c2195; + :b :c2196; + :b :c2197; + :b :c2198; + :b :c2199; + :b :c2200; + :b :c2201; + :b :c2202; + :b :c2203; + :b :c2204; + :b :c2205; + :b :c2206; + :b :c2207; + :b :c2208; + :b :c2209; + :b :c2210; + :b :c2211; + :b :c2212; + :b :c2213; + :b :c2214; + :b :c2215; + :b :c2216; + :b :c2217; + :b :c2218; + :b :c2219; + :b :c2220; + :b :c2221; + :b :c2222; + :b :c2223; + :b :c2224; + :b :c2225; + :b :c2226; + :b :c2227; + :b :c2228; + :b :c2229; + :b :c2230; + :b :c2231; + :b :c2232; + :b :c2233; + :b :c2234; + :b :c2235; + :b :c2236; + :b :c2237; + :b :c2238; + :b :c2239; + :b :c2240; + :b :c2241; + :b :c2242; + :b :c2243; + :b :c2244; + :b :c2245; + :b :c2246; + :b :c2247; + :b :c2248; + :b :c2249; + :b :c2250; + :b :c2251; + :b :c2252; + :b :c2253; + :b :c2254; + :b :c2255; + :b :c2256; + :b :c2257; + :b :c2258; + :b :c2259; + :b :c2260; + :b :c2261; + :b :c2262; + :b :c2263; + :b :c2264; + :b :c2265; + :b :c2266; + :b :c2267; + :b :c2268; + :b :c2269; + :b :c2270; + :b :c2271; + :b :c2272; + :b :c2273; + :b :c2274; + :b :c2275; + :b :c2276; + :b :c2277; + :b :c2278; + :b :c2279; + :b :c2280; + :b :c2281; + :b :c2282; + :b :c2283; + :b :c2284; + :b :c2285; + :b :c2286; + :b :c2287; + :b :c2288; + :b :c2289; + :b :c2290; + :b :c2291; + :b :c2292; + :b :c2293; + :b :c2294; + :b :c2295; + :b :c2296; + :b :c2297; + :b :c2298; + :b :c2299; + :b :c2300; + :b :c2301; + :b :c2302; + :b :c2303; + :b :c2304; + :b :c2305; + :b :c2306; + :b :c2307; + :b :c2308; + :b :c2309; + :b :c2310; + :b :c2311; + :b :c2312; + :b :c2313; + :b :c2314; + :b :c2315; + :b :c2316; + :b :c2317; + :b :c2318; + :b :c2319; + :b :c2320; + :b :c2321; + :b :c2322; + :b :c2323; + :b :c2324; + :b :c2325; + :b :c2326; + :b :c2327; + :b :c2328; + :b :c2329; + :b :c2330; + :b :c2331; + :b :c2332; + :b :c2333; + :b :c2334; + :b :c2335; + :b :c2336; + :b :c2337; + :b :c2338; + :b :c2339; + :b :c2340; + :b :c2341; + :b :c2342; + :b :c2343; + :b :c2344; + :b :c2345; + :b :c2346; + :b :c2347; + :b :c2348; + :b :c2349; + :b :c2350; + :b :c2351; + :b :c2352; + :b :c2353; + :b :c2354; + :b :c2355; + :b :c2356; + :b :c2357; + :b :c2358; + :b :c2359; + :b :c2360; + :b :c2361; + :b :c2362; + :b :c2363; + :b :c2364; + :b :c2365; + :b :c2366; + :b :c2367; + :b :c2368; + :b :c2369; + :b :c2370; + :b :c2371; + :b :c2372; + :b :c2373; + :b :c2374; + :b :c2375; + :b :c2376; + :b :c2377; + :b :c2378; + :b :c2379; + :b :c2380; + :b :c2381; + :b :c2382; + :b :c2383; + :b :c2384; + :b :c2385; + :b :c2386; + :b :c2387; + :b :c2388; + :b :c2389; + :b :c2390; + :b :c2391; + :b :c2392; + :b :c2393; + :b :c2394; + :b :c2395; + :b :c2396; + :b :c2397; + :b :c2398; + :b :c2399; + :b :c2400; + :b :c2401; + :b :c2402; + :b :c2403; + :b :c2404; + :b :c2405; + :b :c2406; + :b :c2407; + :b :c2408; + :b :c2409; + :b :c2410; + :b :c2411; + :b :c2412; + :b :c2413; + :b :c2414; + :b :c2415; + :b :c2416; + :b :c2417; + :b :c2418; + :b :c2419; + :b :c2420; + :b :c2421; + :b :c2422; + :b :c2423; + :b :c2424; + :b :c2425; + :b :c2426; + :b :c2427; + :b :c2428; + :b :c2429; + :b :c2430; + :b :c2431; + :b :c2432; + :b :c2433; + :b :c2434; + :b :c2435; + :b :c2436; + :b :c2437; + :b :c2438; + :b :c2439; + :b :c2440; + :b :c2441; + :b :c2442; + :b :c2443; + :b :c2444; + :b :c2445; + :b :c2446; + :b :c2447; + :b :c2448; + :b :c2449; + :b :c2450; + :b :c2451; + :b :c2452; + :b :c2453; + :b :c2454; + :b :c2455; + :b :c2456; + :b :c2457; + :b :c2458; + :b :c2459; + :b :c2460; + :b :c2461; + :b :c2462; + :b :c2463; + :b :c2464; + :b :c2465; + :b :c2466; + :b :c2467; + :b :c2468; + :b :c2469; + :b :c2470; + :b :c2471; + :b :c2472; + :b :c2473; + :b :c2474; + :b :c2475; + :b :c2476; + :b :c2477; + :b :c2478; + :b :c2479; + :b :c2480; + :b :c2481; + :b :c2482; + :b :c2483; + :b :c2484; + :b :c2485; + :b :c2486; + :b :c2487; + :b :c2488; + :b :c2489; + :b :c2490; + :b :c2491; + :b :c2492; + :b :c2493; + :b :c2494; + :b :c2495; + :b :c2496; + :b :c2497; + :b :c2498; + :b :c2499; + :b :c2500; + :b :c2501; + :b :c2502; + :b :c2503; + :b :c2504; + :b :c2505; + :b :c2506; + :b :c2507; + :b :c2508; + :b :c2509; + :b :c2510; + :b :c2511; + :b :c2512; + :b :c2513; + :b :c2514; + :b :c2515; + :b :c2516; + :b :c2517; + :b :c2518; + :b :c2519; + :b :c2520; + :b :c2521; + :b :c2522; + :b :c2523; + :b :c2524; + :b :c2525; + :b :c2526; + :b :c2527; + :b :c2528; + :b :c2529; + :b :c2530; + :b :c2531; + :b :c2532; + :b :c2533; + :b :c2534; + :b :c2535; + :b :c2536; + :b :c2537; + :b :c2538; + :b :c2539; + :b :c2540; + :b :c2541; + :b :c2542; + :b :c2543; + :b :c2544; + :b :c2545; + :b :c2546; + :b :c2547; + :b :c2548; + :b :c2549; + :b :c2550; + :b :c2551; + :b :c2552; + :b :c2553; + :b :c2554; + :b :c2555; + :b :c2556; + :b :c2557; + :b :c2558; + :b :c2559; + :b :c2560; + :b :c2561; + :b :c2562; + :b :c2563; + :b :c2564; + :b :c2565; + :b :c2566; + :b :c2567; + :b :c2568; + :b :c2569; + :b :c2570; + :b :c2571; + :b :c2572; + :b :c2573; + :b :c2574; + :b :c2575; + :b :c2576; + :b :c2577; + :b :c2578; + :b :c2579; + :b :c2580; + :b :c2581; + :b :c2582; + :b :c2583; + :b :c2584; + :b :c2585; + :b :c2586; + :b :c2587; + :b :c2588; + :b :c2589; + :b :c2590; + :b :c2591; + :b :c2592; + :b :c2593; + :b :c2594; + :b :c2595; + :b :c2596; + :b :c2597; + :b :c2598; + :b :c2599; + :b :c2600; + :b :c2601; + :b :c2602; + :b :c2603; + :b :c2604; + :b :c2605; + :b :c2606; + :b :c2607; + :b :c2608; + :b :c2609; + :b :c2610; + :b :c2611; + :b :c2612; + :b :c2613; + :b :c2614; + :b :c2615; + :b :c2616; + :b :c2617; + :b :c2618; + :b :c2619; + :b :c2620; + :b :c2621; + :b :c2622; + :b :c2623; + :b :c2624; + :b :c2625; + :b :c2626; + :b :c2627; + :b :c2628; + :b :c2629; + :b :c2630; + :b :c2631; + :b :c2632; + :b :c2633; + :b :c2634; + :b :c2635; + :b :c2636; + :b :c2637; + :b :c2638; + :b :c2639; + :b :c2640; + :b :c2641; + :b :c2642; + :b :c2643; + :b :c2644; + :b :c2645; + :b :c2646; + :b :c2647; + :b :c2648; + :b :c2649; + :b :c2650; + :b :c2651; + :b :c2652; + :b :c2653; + :b :c2654; + :b :c2655; + :b :c2656; + :b :c2657; + :b :c2658; + :b :c2659; + :b :c2660; + :b :c2661; + :b :c2662; + :b :c2663; + :b :c2664; + :b :c2665; + :b :c2666; + :b :c2667; + :b :c2668; + :b :c2669; + :b :c2670; + :b :c2671; + :b :c2672; + :b :c2673; + :b :c2674; + :b :c2675; + :b :c2676; + :b :c2677; + :b :c2678; + :b :c2679; + :b :c2680; + :b :c2681; + :b :c2682; + :b :c2683; + :b :c2684; + :b :c2685; + :b :c2686; + :b :c2687; + :b :c2688; + :b :c2689; + :b :c2690; + :b :c2691; + :b :c2692; + :b :c2693; + :b :c2694; + :b :c2695; + :b :c2696; + :b :c2697; + :b :c2698; + :b :c2699; + :b :c2700; + :b :c2701; + :b :c2702; + :b :c2703; + :b :c2704; + :b :c2705; + :b :c2706; + :b :c2707; + :b :c2708; + :b :c2709; + :b :c2710; + :b :c2711; + :b :c2712; + :b :c2713; + :b :c2714; + :b :c2715; + :b :c2716; + :b :c2717; + :b :c2718; + :b :c2719; + :b :c2720; + :b :c2721; + :b :c2722; + :b :c2723; + :b :c2724; + :b :c2725; + :b :c2726; + :b :c2727; + :b :c2728; + :b :c2729; + :b :c2730; + :b :c2731; + :b :c2732; + :b :c2733; + :b :c2734; + :b :c2735; + :b :c2736; + :b :c2737; + :b :c2738; + :b :c2739; + :b :c2740; + :b :c2741; + :b :c2742; + :b :c2743; + :b :c2744; + :b :c2745; + :b :c2746; + :b :c2747; + :b :c2748; + :b :c2749; + :b :c2750; + :b :c2751; + :b :c2752; + :b :c2753; + :b :c2754; + :b :c2755; + :b :c2756; + :b :c2757; + :b :c2758; + :b :c2759; + :b :c2760; + :b :c2761; + :b :c2762; + :b :c2763; + :b :c2764; + :b :c2765; + :b :c2766; + :b :c2767; + :b :c2768; + :b :c2769; + :b :c2770; + :b :c2771; + :b :c2772; + :b :c2773; + :b :c2774; + :b :c2775; + :b :c2776; + :b :c2777; + :b :c2778; + :b :c2779; + :b :c2780; + :b :c2781; + :b :c2782; + :b :c2783; + :b :c2784; + :b :c2785; + :b :c2786; + :b :c2787; + :b :c2788; + :b :c2789; + :b :c2790; + :b :c2791; + :b :c2792; + :b :c2793; + :b :c2794; + :b :c2795; + :b :c2796; + :b :c2797; + :b :c2798; + :b :c2799; + :b :c2800; + :b :c2801; + :b :c2802; + :b :c2803; + :b :c2804; + :b :c2805; + :b :c2806; + :b :c2807; + :b :c2808; + :b :c2809; + :b :c2810; + :b :c2811; + :b :c2812; + :b :c2813; + :b :c2814; + :b :c2815; + :b :c2816; + :b :c2817; + :b :c2818; + :b :c2819; + :b :c2820; + :b :c2821; + :b :c2822; + :b :c2823; + :b :c2824; + :b :c2825; + :b :c2826; + :b :c2827; + :b :c2828; + :b :c2829; + :b :c2830; + :b :c2831; + :b :c2832; + :b :c2833; + :b :c2834; + :b :c2835; + :b :c2836; + :b :c2837; + :b :c2838; + :b :c2839; + :b :c2840; + :b :c2841; + :b :c2842; + :b :c2843; + :b :c2844; + :b :c2845; + :b :c2846; + :b :c2847; + :b :c2848; + :b :c2849; + :b :c2850; + :b :c2851; + :b :c2852; + :b :c2853; + :b :c2854; + :b :c2855; + :b :c2856; + :b :c2857; + :b :c2858; + :b :c2859; + :b :c2860; + :b :c2861; + :b :c2862; + :b :c2863; + :b :c2864; + :b :c2865; + :b :c2866; + :b :c2867; + :b :c2868; + :b :c2869; + :b :c2870; + :b :c2871; + :b :c2872; + :b :c2873; + :b :c2874; + :b :c2875; + :b :c2876; + :b :c2877; + :b :c2878; + :b :c2879; + :b :c2880; + :b :c2881; + :b :c2882; + :b :c2883; + :b :c2884; + :b :c2885; + :b :c2886; + :b :c2887; + :b :c2888; + :b :c2889; + :b :c2890; + :b :c2891; + :b :c2892; + :b :c2893; + :b :c2894; + :b :c2895; + :b :c2896; + :b :c2897; + :b :c2898; + :b :c2899; + :b :c2900; + :b :c2901; + :b :c2902; + :b :c2903; + :b :c2904; + :b :c2905; + :b :c2906; + :b :c2907; + :b :c2908; + :b :c2909; + :b :c2910; + :b :c2911; + :b :c2912; + :b :c2913; + :b :c2914; + :b :c2915; + :b :c2916; + :b :c2917; + :b :c2918; + :b :c2919; + :b :c2920; + :b :c2921; + :b :c2922; + :b :c2923; + :b :c2924; + :b :c2925; + :b :c2926; + :b :c2927; + :b :c2928; + :b :c2929; + :b :c2930; + :b :c2931; + :b :c2932; + :b :c2933; + :b :c2934; + :b :c2935; + :b :c2936; + :b :c2937; + :b :c2938; + :b :c2939; + :b :c2940; + :b :c2941; + :b :c2942; + :b :c2943; + :b :c2944; + :b :c2945; + :b :c2946; + :b :c2947; + :b :c2948; + :b :c2949; + :b :c2950; + :b :c2951; + :b :c2952; + :b :c2953; + :b :c2954; + :b :c2955; + :b :c2956; + :b :c2957; + :b :c2958; + :b :c2959; + :b :c2960; + :b :c2961; + :b :c2962; + :b :c2963; + :b :c2964; + :b :c2965; + :b :c2966; + :b :c2967; + :b :c2968; + :b :c2969; + :b :c2970; + :b :c2971; + :b :c2972; + :b :c2973; + :b :c2974; + :b :c2975; + :b :c2976; + :b :c2977; + :b :c2978; + :b :c2979; + :b :c2980; + :b :c2981; + :b :c2982; + :b :c2983; + :b :c2984; + :b :c2985; + :b :c2986; + :b :c2987; + :b :c2988; + :b :c2989; + :b :c2990; + :b :c2991; + :b :c2992; + :b :c2993; + :b :c2994; + :b :c2995; + :b :c2996; + :b :c2997; + :b :c2998; + :b :c2999; + :b :c3000; + :b :c3001; + :b :c3002; + :b :c3003; + :b :c3004; + :b :c3005; + :b :c3006; + :b :c3007; + :b :c3008; + :b :c3009; + :b :c3010; + :b :c3011; + :b :c3012; + :b :c3013; + :b :c3014; + :b :c3015; + :b :c3016; + :b :c3017; + :b :c3018; + :b :c3019; + :b :c3020; + :b :c3021; + :b :c3022; + :b :c3023; + :b :c3024; + :b :c3025; + :b :c3026; + :b :c3027; + :b :c3028; + :b :c3029; + :b :c3030; + :b :c3031; + :b :c3032; + :b :c3033; + :b :c3034; + :b :c3035; + :b :c3036; + :b :c3037; + :b :c3038; + :b :c3039; + :b :c3040; + :b :c3041; + :b :c3042; + :b :c3043; + :b :c3044; + :b :c3045; + :b :c3046; + :b :c3047; + :b :c3048; + :b :c3049; + :b :c3050; + :b :c3051; + :b :c3052; + :b :c3053; + :b :c3054; + :b :c3055; + :b :c3056; + :b :c3057; + :b :c3058; + :b :c3059; + :b :c3060; + :b :c3061; + :b :c3062; + :b :c3063; + :b :c3064; + :b :c3065; + :b :c3066; + :b :c3067; + :b :c3068; + :b :c3069; + :b :c3070; + :b :c3071; + :b :c3072; + :b :c3073; + :b :c3074; + :b :c3075; + :b :c3076; + :b :c3077; + :b :c3078; + :b :c3079; + :b :c3080; + :b :c3081; + :b :c3082; + :b :c3083; + :b :c3084; + :b :c3085; + :b :c3086; + :b :c3087; + :b :c3088; + :b :c3089; + :b :c3090; + :b :c3091; + :b :c3092; + :b :c3093; + :b :c3094; + :b :c3095; + :b :c3096; + :b :c3097; + :b :c3098; + :b :c3099; + :b :c3100; + :b :c3101; + :b :c3102; + :b :c3103; + :b :c3104; + :b :c3105; + :b :c3106; + :b :c3107; + :b :c3108; + :b :c3109; + :b :c3110; + :b :c3111; + :b :c3112; + :b :c3113; + :b :c3114; + :b :c3115; + :b :c3116; + :b :c3117; + :b :c3118; + :b :c3119; + :b :c3120; + :b :c3121; + :b :c3122; + :b :c3123; + :b :c3124; + :b :c3125; + :b :c3126; + :b :c3127; + :b :c3128; + :b :c3129; + :b :c3130; + :b :c3131; + :b :c3132; + :b :c3133; + :b :c3134; + :b :c3135; + :b :c3136; + :b :c3137; + :b :c3138; + :b :c3139; + :b :c3140; + :b :c3141; + :b :c3142; + :b :c3143; + :b :c3144; + :b :c3145; + :b :c3146; + :b :c3147; + :b :c3148; + :b :c3149; + :b :c3150; + :b :c3151; + :b :c3152; + :b :c3153; + :b :c3154; + :b :c3155; + :b :c3156; + :b :c3157; + :b :c3158; + :b :c3159; + :b :c3160; + :b :c3161; + :b :c3162; + :b :c3163; + :b :c3164; + :b :c3165; + :b :c3166; + :b :c3167; + :b :c3168; + :b :c3169; + :b :c3170; + :b :c3171; + :b :c3172; + :b :c3173; + :b :c3174; + :b :c3175; + :b :c3176; + :b :c3177; + :b :c3178; + :b :c3179; + :b :c3180; + :b :c3181; + :b :c3182; + :b :c3183; + :b :c3184; + :b :c3185; + :b :c3186; + :b :c3187; + :b :c3188; + :b :c3189; + :b :c3190; + :b :c3191; + :b :c3192; + :b :c3193; + :b :c3194; + :b :c3195; + :b :c3196; + :b :c3197; + :b :c3198; + :b :c3199; + :b :c3200; + :b :c3201; + :b :c3202; + :b :c3203; + :b :c3204; + :b :c3205; + :b :c3206; + :b :c3207; + :b :c3208; + :b :c3209; + :b :c3210; + :b :c3211; + :b :c3212; + :b :c3213; + :b :c3214; + :b :c3215; + :b :c3216; + :b :c3217; + :b :c3218; + :b :c3219; + :b :c3220; + :b :c3221; + :b :c3222; + :b :c3223; + :b :c3224; + :b :c3225; + :b :c3226; + :b :c3227; + :b :c3228; + :b :c3229; + :b :c3230; + :b :c3231; + :b :c3232; + :b :c3233; + :b :c3234; + :b :c3235; + :b :c3236; + :b :c3237; + :b :c3238; + :b :c3239; + :b :c3240; + :b :c3241; + :b :c3242; + :b :c3243; + :b :c3244; + :b :c3245; + :b :c3246; + :b :c3247; + :b :c3248; + :b :c3249; + :b :c3250; + :b :c3251; + :b :c3252; + :b :c3253; + :b :c3254; + :b :c3255; + :b :c3256; + :b :c3257; + :b :c3258; + :b :c3259; + :b :c3260; + :b :c3261; + :b :c3262; + :b :c3263; + :b :c3264; + :b :c3265; + :b :c3266; + :b :c3267; + :b :c3268; + :b :c3269; + :b :c3270; + :b :c3271; + :b :c3272; + :b :c3273; + :b :c3274; + :b :c3275; + :b :c3276; + :b :c3277; + :b :c3278; + :b :c3279; + :b :c3280; + :b :c3281; + :b :c3282; + :b :c3283; + :b :c3284; + :b :c3285; + :b :c3286; + :b :c3287; + :b :c3288; + :b :c3289; + :b :c3290; + :b :c3291; + :b :c3292; + :b :c3293; + :b :c3294; + :b :c3295; + :b :c3296; + :b :c3297; + :b :c3298; + :b :c3299; + :b :c3300; + :b :c3301; + :b :c3302; + :b :c3303; + :b :c3304; + :b :c3305; + :b :c3306; + :b :c3307; + :b :c3308; + :b :c3309; + :b :c3310; + :b :c3311; + :b :c3312; + :b :c3313; + :b :c3314; + :b :c3315; + :b :c3316; + :b :c3317; + :b :c3318; + :b :c3319; + :b :c3320; + :b :c3321; + :b :c3322; + :b :c3323; + :b :c3324; + :b :c3325; + :b :c3326; + :b :c3327; + :b :c3328; + :b :c3329; + :b :c3330; + :b :c3331; + :b :c3332; + :b :c3333; + :b :c3334; + :b :c3335; + :b :c3336; + :b :c3337; + :b :c3338; + :b :c3339; + :b :c3340; + :b :c3341; + :b :c3342; + :b :c3343; + :b :c3344; + :b :c3345; + :b :c3346; + :b :c3347; + :b :c3348; + :b :c3349; + :b :c3350; + :b :c3351; + :b :c3352; + :b :c3353; + :b :c3354; + :b :c3355; + :b :c3356; + :b :c3357; + :b :c3358; + :b :c3359; + :b :c3360; + :b :c3361; + :b :c3362; + :b :c3363; + :b :c3364; + :b :c3365; + :b :c3366; + :b :c3367; + :b :c3368; + :b :c3369; + :b :c3370; + :b :c3371; + :b :c3372; + :b :c3373; + :b :c3374; + :b :c3375; + :b :c3376; + :b :c3377; + :b :c3378; + :b :c3379; + :b :c3380; + :b :c3381; + :b :c3382; + :b :c3383; + :b :c3384; + :b :c3385; + :b :c3386; + :b :c3387; + :b :c3388; + :b :c3389; + :b :c3390; + :b :c3391; + :b :c3392; + :b :c3393; + :b :c3394; + :b :c3395; + :b :c3396; + :b :c3397; + :b :c3398; + :b :c3399; + :b :c3400; + :b :c3401; + :b :c3402; + :b :c3403; + :b :c3404; + :b :c3405; + :b :c3406; + :b :c3407; + :b :c3408; + :b :c3409; + :b :c3410; + :b :c3411; + :b :c3412; + :b :c3413; + :b :c3414; + :b :c3415; + :b :c3416; + :b :c3417; + :b :c3418; + :b :c3419; + :b :c3420; + :b :c3421; + :b :c3422; + :b :c3423; + :b :c3424; + :b :c3425; + :b :c3426; + :b :c3427; + :b :c3428; + :b :c3429; + :b :c3430; + :b :c3431; + :b :c3432; + :b :c3433; + :b :c3434; + :b :c3435; + :b :c3436; + :b :c3437; + :b :c3438; + :b :c3439; + :b :c3440; + :b :c3441; + :b :c3442; + :b :c3443; + :b :c3444; + :b :c3445; + :b :c3446; + :b :c3447; + :b :c3448; + :b :c3449; + :b :c3450; + :b :c3451; + :b :c3452; + :b :c3453; + :b :c3454; + :b :c3455; + :b :c3456; + :b :c3457; + :b :c3458; + :b :c3459; + :b :c3460; + :b :c3461; + :b :c3462; + :b :c3463; + :b :c3464; + :b :c3465; + :b :c3466; + :b :c3467; + :b :c3468; + :b :c3469; + :b :c3470; + :b :c3471; + :b :c3472; + :b :c3473; + :b :c3474; + :b :c3475; + :b :c3476; + :b :c3477; + :b :c3478; + :b :c3479; + :b :c3480; + :b :c3481; + :b :c3482; + :b :c3483; + :b :c3484; + :b :c3485; + :b :c3486; + :b :c3487; + :b :c3488; + :b :c3489; + :b :c3490; + :b :c3491; + :b :c3492; + :b :c3493; + :b :c3494; + :b :c3495; + :b :c3496; + :b :c3497; + :b :c3498; + :b :c3499; + :b :c3500; + :b :c3501; + :b :c3502; + :b :c3503; + :b :c3504; + :b :c3505; + :b :c3506; + :b :c3507; + :b :c3508; + :b :c3509; + :b :c3510; + :b :c3511; + :b :c3512; + :b :c3513; + :b :c3514; + :b :c3515; + :b :c3516; + :b :c3517; + :b :c3518; + :b :c3519; + :b :c3520; + :b :c3521; + :b :c3522; + :b :c3523; + :b :c3524; + :b :c3525; + :b :c3526; + :b :c3527; + :b :c3528; + :b :c3529; + :b :c3530; + :b :c3531; + :b :c3532; + :b :c3533; + :b :c3534; + :b :c3535; + :b :c3536; + :b :c3537; + :b :c3538; + :b :c3539; + :b :c3540; + :b :c3541; + :b :c3542; + :b :c3543; + :b :c3544; + :b :c3545; + :b :c3546; + :b :c3547; + :b :c3548; + :b :c3549; + :b :c3550; + :b :c3551; + :b :c3552; + :b :c3553; + :b :c3554; + :b :c3555; + :b :c3556; + :b :c3557; + :b :c3558; + :b :c3559; + :b :c3560; + :b :c3561; + :b :c3562; + :b :c3563; + :b :c3564; + :b :c3565; + :b :c3566; + :b :c3567; + :b :c3568; + :b :c3569; + :b :c3570; + :b :c3571; + :b :c3572; + :b :c3573; + :b :c3574; + :b :c3575; + :b :c3576; + :b :c3577; + :b :c3578; + :b :c3579; + :b :c3580; + :b :c3581; + :b :c3582; + :b :c3583; + :b :c3584; + :b :c3585; + :b :c3586; + :b :c3587; + :b :c3588; + :b :c3589; + :b :c3590; + :b :c3591; + :b :c3592; + :b :c3593; + :b :c3594; + :b :c3595; + :b :c3596; + :b :c3597; + :b :c3598; + :b :c3599; + :b :c3600; + :b :c3601; + :b :c3602; + :b :c3603; + :b :c3604; + :b :c3605; + :b :c3606; + :b :c3607; + :b :c3608; + :b :c3609; + :b :c3610; + :b :c3611; + :b :c3612; + :b :c3613; + :b :c3614; + :b :c3615; + :b :c3616; + :b :c3617; + :b :c3618; + :b :c3619; + :b :c3620; + :b :c3621; + :b :c3622; + :b :c3623; + :b :c3624; + :b :c3625; + :b :c3626; + :b :c3627; + :b :c3628; + :b :c3629; + :b :c3630; + :b :c3631; + :b :c3632; + :b :c3633; + :b :c3634; + :b :c3635; + :b :c3636; + :b :c3637; + :b :c3638; + :b :c3639; + :b :c3640; + :b :c3641; + :b :c3642; + :b :c3643; + :b :c3644; + :b :c3645; + :b :c3646; + :b :c3647; + :b :c3648; + :b :c3649; + :b :c3650; + :b :c3651; + :b :c3652; + :b :c3653; + :b :c3654; + :b :c3655; + :b :c3656; + :b :c3657; + :b :c3658; + :b :c3659; + :b :c3660; + :b :c3661; + :b :c3662; + :b :c3663; + :b :c3664; + :b :c3665; + :b :c3666; + :b :c3667; + :b :c3668; + :b :c3669; + :b :c3670; + :b :c3671; + :b :c3672; + :b :c3673; + :b :c3674; + :b :c3675; + :b :c3676; + :b :c3677; + :b :c3678; + :b :c3679; + :b :c3680; + :b :c3681; + :b :c3682; + :b :c3683; + :b :c3684; + :b :c3685; + :b :c3686; + :b :c3687; + :b :c3688; + :b :c3689; + :b :c3690; + :b :c3691; + :b :c3692; + :b :c3693; + :b :c3694; + :b :c3695; + :b :c3696; + :b :c3697; + :b :c3698; + :b :c3699; + :b :c3700; + :b :c3701; + :b :c3702; + :b :c3703; + :b :c3704; + :b :c3705; + :b :c3706; + :b :c3707; + :b :c3708; + :b :c3709; + :b :c3710; + :b :c3711; + :b :c3712; + :b :c3713; + :b :c3714; + :b :c3715; + :b :c3716; + :b :c3717; + :b :c3718; + :b :c3719; + :b :c3720; + :b :c3721; + :b :c3722; + :b :c3723; + :b :c3724; + :b :c3725; + :b :c3726; + :b :c3727; + :b :c3728; + :b :c3729; + :b :c3730; + :b :c3731; + :b :c3732; + :b :c3733; + :b :c3734; + :b :c3735; + :b :c3736; + :b :c3737; + :b :c3738; + :b :c3739; + :b :c3740; + :b :c3741; + :b :c3742; + :b :c3743; + :b :c3744; + :b :c3745; + :b :c3746; + :b :c3747; + :b :c3748; + :b :c3749; + :b :c3750; + :b :c3751; + :b :c3752; + :b :c3753; + :b :c3754; + :b :c3755; + :b :c3756; + :b :c3757; + :b :c3758; + :b :c3759; + :b :c3760; + :b :c3761; + :b :c3762; + :b :c3763; + :b :c3764; + :b :c3765; + :b :c3766; + :b :c3767; + :b :c3768; + :b :c3769; + :b :c3770; + :b :c3771; + :b :c3772; + :b :c3773; + :b :c3774; + :b :c3775; + :b :c3776; + :b :c3777; + :b :c3778; + :b :c3779; + :b :c3780; + :b :c3781; + :b :c3782; + :b :c3783; + :b :c3784; + :b :c3785; + :b :c3786; + :b :c3787; + :b :c3788; + :b :c3789; + :b :c3790; + :b :c3791; + :b :c3792; + :b :c3793; + :b :c3794; + :b :c3795; + :b :c3796; + :b :c3797; + :b :c3798; + :b :c3799; + :b :c3800; + :b :c3801; + :b :c3802; + :b :c3803; + :b :c3804; + :b :c3805; + :b :c3806; + :b :c3807; + :b :c3808; + :b :c3809; + :b :c3810; + :b :c3811; + :b :c3812; + :b :c3813; + :b :c3814; + :b :c3815; + :b :c3816; + :b :c3817; + :b :c3818; + :b :c3819; + :b :c3820; + :b :c3821; + :b :c3822; + :b :c3823; + :b :c3824; + :b :c3825; + :b :c3826; + :b :c3827; + :b :c3828; + :b :c3829; + :b :c3830; + :b :c3831; + :b :c3832; + :b :c3833; + :b :c3834; + :b :c3835; + :b :c3836; + :b :c3837; + :b :c3838; + :b :c3839; + :b :c3840; + :b :c3841; + :b :c3842; + :b :c3843; + :b :c3844; + :b :c3845; + :b :c3846; + :b :c3847; + :b :c3848; + :b :c3849; + :b :c3850; + :b :c3851; + :b :c3852; + :b :c3853; + :b :c3854; + :b :c3855; + :b :c3856; + :b :c3857; + :b :c3858; + :b :c3859; + :b :c3860; + :b :c3861; + :b :c3862; + :b :c3863; + :b :c3864; + :b :c3865; + :b :c3866; + :b :c3867; + :b :c3868; + :b :c3869; + :b :c3870; + :b :c3871; + :b :c3872; + :b :c3873; + :b :c3874; + :b :c3875; + :b :c3876; + :b :c3877; + :b :c3878; + :b :c3879; + :b :c3880; + :b :c3881; + :b :c3882; + :b :c3883; + :b :c3884; + :b :c3885; + :b :c3886; + :b :c3887; + :b :c3888; + :b :c3889; + :b :c3890; + :b :c3891; + :b :c3892; + :b :c3893; + :b :c3894; + :b :c3895; + :b :c3896; + :b :c3897; + :b :c3898; + :b :c3899; + :b :c3900; + :b :c3901; + :b :c3902; + :b :c3903; + :b :c3904; + :b :c3905; + :b :c3906; + :b :c3907; + :b :c3908; + :b :c3909; + :b :c3910; + :b :c3911; + :b :c3912; + :b :c3913; + :b :c3914; + :b :c3915; + :b :c3916; + :b :c3917; + :b :c3918; + :b :c3919; + :b :c3920; + :b :c3921; + :b :c3922; + :b :c3923; + :b :c3924; + :b :c3925; + :b :c3926; + :b :c3927; + :b :c3928; + :b :c3929; + :b :c3930; + :b :c3931; + :b :c3932; + :b :c3933; + :b :c3934; + :b :c3935; + :b :c3936; + :b :c3937; + :b :c3938; + :b :c3939; + :b :c3940; + :b :c3941; + :b :c3942; + :b :c3943; + :b :c3944; + :b :c3945; + :b :c3946; + :b :c3947; + :b :c3948; + :b :c3949; + :b :c3950; + :b :c3951; + :b :c3952; + :b :c3953; + :b :c3954; + :b :c3955; + :b :c3956; + :b :c3957; + :b :c3958; + :b :c3959; + :b :c3960; + :b :c3961; + :b :c3962; + :b :c3963; + :b :c3964; + :b :c3965; + :b :c3966; + :b :c3967; + :b :c3968; + :b :c3969; + :b :c3970; + :b :c3971; + :b :c3972; + :b :c3973; + :b :c3974; + :b :c3975; + :b :c3976; + :b :c3977; + :b :c3978; + :b :c3979; + :b :c3980; + :b :c3981; + :b :c3982; + :b :c3983; + :b :c3984; + :b :c3985; + :b :c3986; + :b :c3987; + :b :c3988; + :b :c3989; + :b :c3990; + :b :c3991; + :b :c3992; + :b :c3993; + :b :c3994; + :b :c3995; + :b :c3996; + :b :c3997; + :b :c3998; + :b :c3999; + :b :c4000; + :b :c4001; + :b :c4002; + :b :c4003; + :b :c4004; + :b :c4005; + :b :c4006; + :b :c4007; + :b :c4008; + :b :c4009; + :b :c4010; + :b :c4011; + :b :c4012; + :b :c4013; + :b :c4014; + :b :c4015; + :b :c4016; + :b :c4017; + :b :c4018; + :b :c4019; + :b :c4020; + :b :c4021; + :b :c4022; + :b :c4023; + :b :c4024; + :b :c4025; + :b :c4026; + :b :c4027; + :b :c4028; + :b :c4029; + :b :c4030; + :b :c4031; + :b :c4032; + :b :c4033; + :b :c4034; + :b :c4035; + :b :c4036; + :b :c4037; + :b :c4038; + :b :c4039; + :b :c4040; + :b :c4041; + :b :c4042; + :b :c4043; + :b :c4044; + :b :c4045; + :b :c4046; + :b :c4047; + :b :c4048; + :b :c4049; + :b :c4050; + :b :c4051; + :b :c4052; + :b :c4053; + :b :c4054; + :b :c4055; + :b :c4056; + :b :c4057; + :b :c4058; + :b :c4059; + :b :c4060; + :b :c4061; + :b :c4062; + :b :c4063; + :b :c4064; + :b :c4065; + :b :c4066; + :b :c4067; + :b :c4068; + :b :c4069; + :b :c4070; + :b :c4071; + :b :c4072; + :b :c4073; + :b :c4074; + :b :c4075; + :b :c4076; + :b :c4077; + :b :c4078; + :b :c4079; + :b :c4080; + :b :c4081; + :b :c4082; + :b :c4083; + :b :c4084; + :b :c4085; + :b :c4086; + :b :c4087; + :b :c4088; + :b :c4089; + :b :c4090; + :b :c4091; + :b :c4092; + :b :c4093; + :b :c4094; + :b :c4095; + :b :c4096; + :b :c4097; + :b :c4098; + :b :c4099; + :b :c4100; + :b :c4101; + :b :c4102; + :b :c4103; + :b :c4104; + :b :c4105; + :b :c4106; + :b :c4107; + :b :c4108; + :b :c4109; + :b :c4110; + :b :c4111; + :b :c4112; + :b :c4113; + :b :c4114; + :b :c4115; + :b :c4116; + :b :c4117; + :b :c4118; + :b :c4119; + :b :c4120; + :b :c4121; + :b :c4122; + :b :c4123; + :b :c4124; + :b :c4125; + :b :c4126; + :b :c4127; + :b :c4128; + :b :c4129; + :b :c4130; + :b :c4131; + :b :c4132; + :b :c4133; + :b :c4134; + :b :c4135; + :b :c4136; + :b :c4137; + :b :c4138; + :b :c4139; + :b :c4140; + :b :c4141; + :b :c4142; + :b :c4143; + :b :c4144; + :b :c4145; + :b :c4146; + :b :c4147; + :b :c4148; + :b :c4149; + :b :c4150; + :b :c4151; + :b :c4152; + :b :c4153; + :b :c4154; + :b :c4155; + :b :c4156; + :b :c4157; + :b :c4158; + :b :c4159; + :b :c4160; + :b :c4161; + :b :c4162; + :b :c4163; + :b :c4164; + :b :c4165; + :b :c4166; + :b :c4167; + :b :c4168; + :b :c4169; + :b :c4170; + :b :c4171; + :b :c4172; + :b :c4173; + :b :c4174; + :b :c4175; + :b :c4176; + :b :c4177; + :b :c4178; + :b :c4179; + :b :c4180; + :b :c4181; + :b :c4182; + :b :c4183; + :b :c4184; + :b :c4185; + :b :c4186; + :b :c4187; + :b :c4188; + :b :c4189; + :b :c4190; + :b :c4191; + :b :c4192; + :b :c4193; + :b :c4194; + :b :c4195; + :b :c4196; + :b :c4197; + :b :c4198; + :b :c4199; + :b :c4200; + :b :c4201; + :b :c4202; + :b :c4203; + :b :c4204; + :b :c4205; + :b :c4206; + :b :c4207; + :b :c4208; + :b :c4209; + :b :c4210; + :b :c4211; + :b :c4212; + :b :c4213; + :b :c4214; + :b :c4215; + :b :c4216; + :b :c4217; + :b :c4218; + :b :c4219; + :b :c4220; + :b :c4221; + :b :c4222; + :b :c4223; + :b :c4224; + :b :c4225; + :b :c4226; + :b :c4227; + :b :c4228; + :b :c4229; + :b :c4230; + :b :c4231; + :b :c4232; + :b :c4233; + :b :c4234; + :b :c4235; + :b :c4236; + :b :c4237; + :b :c4238; + :b :c4239; + :b :c4240; + :b :c4241; + :b :c4242; + :b :c4243; + :b :c4244; + :b :c4245; + :b :c4246; + :b :c4247; + :b :c4248; + :b :c4249; + :b :c4250; + :b :c4251; + :b :c4252; + :b :c4253; + :b :c4254; + :b :c4255; + :b :c4256; + :b :c4257; + :b :c4258; + :b :c4259; + :b :c4260; + :b :c4261; + :b :c4262; + :b :c4263; + :b :c4264; + :b :c4265; + :b :c4266; + :b :c4267; + :b :c4268; + :b :c4269; + :b :c4270; + :b :c4271; + :b :c4272; + :b :c4273; + :b :c4274; + :b :c4275; + :b :c4276; + :b :c4277; + :b :c4278; + :b :c4279; + :b :c4280; + :b :c4281; + :b :c4282; + :b :c4283; + :b :c4284; + :b :c4285; + :b :c4286; + :b :c4287; + :b :c4288; + :b :c4289; + :b :c4290; + :b :c4291; + :b :c4292; + :b :c4293; + :b :c4294; + :b :c4295; + :b :c4296; + :b :c4297; + :b :c4298; + :b :c4299; + :b :c4300; + :b :c4301; + :b :c4302; + :b :c4303; + :b :c4304; + :b :c4305; + :b :c4306; + :b :c4307; + :b :c4308; + :b :c4309; + :b :c4310; + :b :c4311; + :b :c4312; + :b :c4313; + :b :c4314; + :b :c4315; + :b :c4316; + :b :c4317; + :b :c4318; + :b :c4319; + :b :c4320; + :b :c4321; + :b :c4322; + :b :c4323; + :b :c4324; + :b :c4325; + :b :c4326; + :b :c4327; + :b :c4328; + :b :c4329; + :b :c4330; + :b :c4331; + :b :c4332; + :b :c4333; + :b :c4334; + :b :c4335; + :b :c4336; + :b :c4337; + :b :c4338; + :b :c4339; + :b :c4340; + :b :c4341; + :b :c4342; + :b :c4343; + :b :c4344; + :b :c4345; + :b :c4346; + :b :c4347; + :b :c4348; + :b :c4349; + :b :c4350; + :b :c4351; + :b :c4352; + :b :c4353; + :b :c4354; + :b :c4355; + :b :c4356; + :b :c4357; + :b :c4358; + :b :c4359; + :b :c4360; + :b :c4361; + :b :c4362; + :b :c4363; + :b :c4364; + :b :c4365; + :b :c4366; + :b :c4367; + :b :c4368; + :b :c4369; + :b :c4370; + :b :c4371; + :b :c4372; + :b :c4373; + :b :c4374; + :b :c4375; + :b :c4376; + :b :c4377; + :b :c4378; + :b :c4379; + :b :c4380; + :b :c4381; + :b :c4382; + :b :c4383; + :b :c4384; + :b :c4385; + :b :c4386; + :b :c4387; + :b :c4388; + :b :c4389; + :b :c4390; + :b :c4391; + :b :c4392; + :b :c4393; + :b :c4394; + :b :c4395; + :b :c4396; + :b :c4397; + :b :c4398; + :b :c4399; + :b :c4400; + :b :c4401; + :b :c4402; + :b :c4403; + :b :c4404; + :b :c4405; + :b :c4406; + :b :c4407; + :b :c4408; + :b :c4409; + :b :c4410; + :b :c4411; + :b :c4412; + :b :c4413; + :b :c4414; + :b :c4415; + :b :c4416; + :b :c4417; + :b :c4418; + :b :c4419; + :b :c4420; + :b :c4421; + :b :c4422; + :b :c4423; + :b :c4424; + :b :c4425; + :b :c4426; + :b :c4427; + :b :c4428; + :b :c4429; + :b :c4430; + :b :c4431; + :b :c4432; + :b :c4433; + :b :c4434; + :b :c4435; + :b :c4436; + :b :c4437; + :b :c4438; + :b :c4439; + :b :c4440; + :b :c4441; + :b :c4442; + :b :c4443; + :b :c4444; + :b :c4445; + :b :c4446; + :b :c4447; + :b :c4448; + :b :c4449; + :b :c4450; + :b :c4451; + :b :c4452; + :b :c4453; + :b :c4454; + :b :c4455; + :b :c4456; + :b :c4457; + :b :c4458; + :b :c4459; + :b :c4460; + :b :c4461; + :b :c4462; + :b :c4463; + :b :c4464; + :b :c4465; + :b :c4466; + :b :c4467; + :b :c4468; + :b :c4469; + :b :c4470; + :b :c4471; + :b :c4472; + :b :c4473; + :b :c4474; + :b :c4475; + :b :c4476; + :b :c4477; + :b :c4478; + :b :c4479; + :b :c4480; + :b :c4481; + :b :c4482; + :b :c4483; + :b :c4484; + :b :c4485; + :b :c4486; + :b :c4487; + :b :c4488; + :b :c4489; + :b :c4490; + :b :c4491; + :b :c4492; + :b :c4493; + :b :c4494; + :b :c4495; + :b :c4496; + :b :c4497; + :b :c4498; + :b :c4499; + :b :c4500; + :b :c4501; + :b :c4502; + :b :c4503; + :b :c4504; + :b :c4505; + :b :c4506; + :b :c4507; + :b :c4508; + :b :c4509; + :b :c4510; + :b :c4511; + :b :c4512; + :b :c4513; + :b :c4514; + :b :c4515; + :b :c4516; + :b :c4517; + :b :c4518; + :b :c4519; + :b :c4520; + :b :c4521; + :b :c4522; + :b :c4523; + :b :c4524; + :b :c4525; + :b :c4526; + :b :c4527; + :b :c4528; + :b :c4529; + :b :c4530; + :b :c4531; + :b :c4532; + :b :c4533; + :b :c4534; + :b :c4535; + :b :c4536; + :b :c4537; + :b :c4538; + :b :c4539; + :b :c4540; + :b :c4541; + :b :c4542; + :b :c4543; + :b :c4544; + :b :c4545; + :b :c4546; + :b :c4547; + :b :c4548; + :b :c4549; + :b :c4550; + :b :c4551; + :b :c4552; + :b :c4553; + :b :c4554; + :b :c4555; + :b :c4556; + :b :c4557; + :b :c4558; + :b :c4559; + :b :c4560; + :b :c4561; + :b :c4562; + :b :c4563; + :b :c4564; + :b :c4565; + :b :c4566; + :b :c4567; + :b :c4568; + :b :c4569; + :b :c4570; + :b :c4571; + :b :c4572; + :b :c4573; + :b :c4574; + :b :c4575; + :b :c4576; + :b :c4577; + :b :c4578; + :b :c4579; + :b :c4580; + :b :c4581; + :b :c4582; + :b :c4583; + :b :c4584; + :b :c4585; + :b :c4586; + :b :c4587; + :b :c4588; + :b :c4589; + :b :c4590; + :b :c4591; + :b :c4592; + :b :c4593; + :b :c4594; + :b :c4595; + :b :c4596; + :b :c4597; + :b :c4598; + :b :c4599; + :b :c4600; + :b :c4601; + :b :c4602; + :b :c4603; + :b :c4604; + :b :c4605; + :b :c4606; + :b :c4607; + :b :c4608; + :b :c4609; + :b :c4610; + :b :c4611; + :b :c4612; + :b :c4613; + :b :c4614; + :b :c4615; + :b :c4616; + :b :c4617; + :b :c4618; + :b :c4619; + :b :c4620; + :b :c4621; + :b :c4622; + :b :c4623; + :b :c4624; + :b :c4625; + :b :c4626; + :b :c4627; + :b :c4628; + :b :c4629; + :b :c4630; + :b :c4631; + :b :c4632; + :b :c4633; + :b :c4634; + :b :c4635; + :b :c4636; + :b :c4637; + :b :c4638; + :b :c4639; + :b :c4640; + :b :c4641; + :b :c4642; + :b :c4643; + :b :c4644; + :b :c4645; + :b :c4646; + :b :c4647; + :b :c4648; + :b :c4649; + :b :c4650; + :b :c4651; + :b :c4652; + :b :c4653; + :b :c4654; + :b :c4655; + :b :c4656; + :b :c4657; + :b :c4658; + :b :c4659; + :b :c4660; + :b :c4661; + :b :c4662; + :b :c4663; + :b :c4664; + :b :c4665; + :b :c4666; + :b :c4667; + :b :c4668; + :b :c4669; + :b :c4670; + :b :c4671; + :b :c4672; + :b :c4673; + :b :c4674; + :b :c4675; + :b :c4676; + :b :c4677; + :b :c4678; + :b :c4679; + :b :c4680; + :b :c4681; + :b :c4682; + :b :c4683; + :b :c4684; + :b :c4685; + :b :c4686; + :b :c4687; + :b :c4688; + :b :c4689; + :b :c4690; + :b :c4691; + :b :c4692; + :b :c4693; + :b :c4694; + :b :c4695; + :b :c4696; + :b :c4697; + :b :c4698; + :b :c4699; + :b :c4700; + :b :c4701; + :b :c4702; + :b :c4703; + :b :c4704; + :b :c4705; + :b :c4706; + :b :c4707; + :b :c4708; + :b :c4709; + :b :c4710; + :b :c4711; + :b :c4712; + :b :c4713; + :b :c4714; + :b :c4715; + :b :c4716; + :b :c4717; + :b :c4718; + :b :c4719; + :b :c4720; + :b :c4721; + :b :c4722; + :b :c4723; + :b :c4724; + :b :c4725; + :b :c4726; + :b :c4727; + :b :c4728; + :b :c4729; + :b :c4730; + :b :c4731; + :b :c4732; + :b :c4733; + :b :c4734; + :b :c4735; + :b :c4736; + :b :c4737; + :b :c4738; + :b :c4739; + :b :c4740; + :b :c4741; + :b :c4742; + :b :c4743; + :b :c4744; + :b :c4745; + :b :c4746; + :b :c4747; + :b :c4748; + :b :c4749; + :b :c4750; + :b :c4751; + :b :c4752; + :b :c4753; + :b :c4754; + :b :c4755; + :b :c4756; + :b :c4757; + :b :c4758; + :b :c4759; + :b :c4760; + :b :c4761; + :b :c4762; + :b :c4763; + :b :c4764; + :b :c4765; + :b :c4766; + :b :c4767; + :b :c4768; + :b :c4769; + :b :c4770; + :b :c4771; + :b :c4772; + :b :c4773; + :b :c4774; + :b :c4775; + :b :c4776; + :b :c4777; + :b :c4778; + :b :c4779; + :b :c4780; + :b :c4781; + :b :c4782; + :b :c4783; + :b :c4784; + :b :c4785; + :b :c4786; + :b :c4787; + :b :c4788; + :b :c4789; + :b :c4790; + :b :c4791; + :b :c4792; + :b :c4793; + :b :c4794; + :b :c4795; + :b :c4796; + :b :c4797; + :b :c4798; + :b :c4799; + :b :c4800; + :b :c4801; + :b :c4802; + :b :c4803; + :b :c4804; + :b :c4805; + :b :c4806; + :b :c4807; + :b :c4808; + :b :c4809; + :b :c4810; + :b :c4811; + :b :c4812; + :b :c4813; + :b :c4814; + :b :c4815; + :b :c4816; + :b :c4817; + :b :c4818; + :b :c4819; + :b :c4820; + :b :c4821; + :b :c4822; + :b :c4823; + :b :c4824; + :b :c4825; + :b :c4826; + :b :c4827; + :b :c4828; + :b :c4829; + :b :c4830; + :b :c4831; + :b :c4832; + :b :c4833; + :b :c4834; + :b :c4835; + :b :c4836; + :b :c4837; + :b :c4838; + :b :c4839; + :b :c4840; + :b :c4841; + :b :c4842; + :b :c4843; + :b :c4844; + :b :c4845; + :b :c4846; + :b :c4847; + :b :c4848; + :b :c4849; + :b :c4850; + :b :c4851; + :b :c4852; + :b :c4853; + :b :c4854; + :b :c4855; + :b :c4856; + :b :c4857; + :b :c4858; + :b :c4859; + :b :c4860; + :b :c4861; + :b :c4862; + :b :c4863; + :b :c4864; + :b :c4865; + :b :c4866; + :b :c4867; + :b :c4868; + :b :c4869; + :b :c4870; + :b :c4871; + :b :c4872; + :b :c4873; + :b :c4874; + :b :c4875; + :b :c4876; + :b :c4877; + :b :c4878; + :b :c4879; + :b :c4880; + :b :c4881; + :b :c4882; + :b :c4883; + :b :c4884; + :b :c4885; + :b :c4886; + :b :c4887; + :b :c4888; + :b :c4889; + :b :c4890; + :b :c4891; + :b :c4892; + :b :c4893; + :b :c4894; + :b :c4895; + :b :c4896; + :b :c4897; + :b :c4898; + :b :c4899; + :b :c4900; + :b :c4901; + :b :c4902; + :b :c4903; + :b :c4904; + :b :c4905; + :b :c4906; + :b :c4907; + :b :c4908; + :b :c4909; + :b :c4910; + :b :c4911; + :b :c4912; + :b :c4913; + :b :c4914; + :b :c4915; + :b :c4916; + :b :c4917; + :b :c4918; + :b :c4919; + :b :c4920; + :b :c4921; + :b :c4922; + :b :c4923; + :b :c4924; + :b :c4925; + :b :c4926; + :b :c4927; + :b :c4928; + :b :c4929; + :b :c4930; + :b :c4931; + :b :c4932; + :b :c4933; + :b :c4934; + :b :c4935; + :b :c4936; + :b :c4937; + :b :c4938; + :b :c4939; + :b :c4940; + :b :c4941; + :b :c4942; + :b :c4943; + :b :c4944; + :b :c4945; + :b :c4946; + :b :c4947; + :b :c4948; + :b :c4949; + :b :c4950; + :b :c4951; + :b :c4952; + :b :c4953; + :b :c4954; + :b :c4955; + :b :c4956; + :b :c4957; + :b :c4958; + :b :c4959; + :b :c4960; + :b :c4961; + :b :c4962; + :b :c4963; + :b :c4964; + :b :c4965; + :b :c4966; + :b :c4967; + :b :c4968; + :b :c4969; + :b :c4970; + :b :c4971; + :b :c4972; + :b :c4973; + :b :c4974; + :b :c4975; + :b :c4976; + :b :c4977; + :b :c4978; + :b :c4979; + :b :c4980; + :b :c4981; + :b :c4982; + :b :c4983; + :b :c4984; + :b :c4985; + :b :c4986; + :b :c4987; + :b :c4988; + :b :c4989; + :b :c4990; + :b :c4991; + :b :c4992; + :b :c4993; + :b :c4994; + :b :c4995; + :b :c4996; + :b :c4997; + :b :c4998; + :b :c4999; + :b :c5000; + :b :c5001; + :b :c5002; + :b :c5003; + :b :c5004; + :b :c5005; + :b :c5006; + :b :c5007; + :b :c5008; + :b :c5009; + :b :c5010; + :b :c5011; + :b :c5012; + :b :c5013; + :b :c5014; + :b :c5015; + :b :c5016; + :b :c5017; + :b :c5018; + :b :c5019; + :b :c5020; + :b :c5021; + :b :c5022; + :b :c5023; + :b :c5024; + :b :c5025; + :b :c5026; + :b :c5027; + :b :c5028; + :b :c5029; + :b :c5030; + :b :c5031; + :b :c5032; + :b :c5033; + :b :c5034; + :b :c5035; + :b :c5036; + :b :c5037; + :b :c5038; + :b :c5039; + :b :c5040; + :b :c5041; + :b :c5042; + :b :c5043; + :b :c5044; + :b :c5045; + :b :c5046; + :b :c5047; + :b :c5048; + :b :c5049; + :b :c5050; + :b :c5051; + :b :c5052; + :b :c5053; + :b :c5054; + :b :c5055; + :b :c5056; + :b :c5057; + :b :c5058; + :b :c5059; + :b :c5060; + :b :c5061; + :b :c5062; + :b :c5063; + :b :c5064; + :b :c5065; + :b :c5066; + :b :c5067; + :b :c5068; + :b :c5069; + :b :c5070; + :b :c5071; + :b :c5072; + :b :c5073; + :b :c5074; + :b :c5075; + :b :c5076; + :b :c5077; + :b :c5078; + :b :c5079; + :b :c5080; + :b :c5081; + :b :c5082; + :b :c5083; + :b :c5084; + :b :c5085; + :b :c5086; + :b :c5087; + :b :c5088; + :b :c5089; + :b :c5090; + :b :c5091; + :b :c5092; + :b :c5093; + :b :c5094; + :b :c5095; + :b :c5096; + :b :c5097; + :b :c5098; + :b :c5099; + :b :c5100; + :b :c5101; + :b :c5102; + :b :c5103; + :b :c5104; + :b :c5105; + :b :c5106; + :b :c5107; + :b :c5108; + :b :c5109; + :b :c5110; + :b :c5111; + :b :c5112; + :b :c5113; + :b :c5114; + :b :c5115; + :b :c5116; + :b :c5117; + :b :c5118; + :b :c5119; + :b :c5120; + :b :c5121; + :b :c5122; + :b :c5123; + :b :c5124; + :b :c5125; + :b :c5126; + :b :c5127; + :b :c5128; + :b :c5129; + :b :c5130; + :b :c5131; + :b :c5132; + :b :c5133; + :b :c5134; + :b :c5135; + :b :c5136; + :b :c5137; + :b :c5138; + :b :c5139; + :b :c5140; + :b :c5141; + :b :c5142; + :b :c5143; + :b :c5144; + :b :c5145; + :b :c5146; + :b :c5147; + :b :c5148; + :b :c5149; + :b :c5150; + :b :c5151; + :b :c5152; + :b :c5153; + :b :c5154; + :b :c5155; + :b :c5156; + :b :c5157; + :b :c5158; + :b :c5159; + :b :c5160; + :b :c5161; + :b :c5162; + :b :c5163; + :b :c5164; + :b :c5165; + :b :c5166; + :b :c5167; + :b :c5168; + :b :c5169; + :b :c5170; + :b :c5171; + :b :c5172; + :b :c5173; + :b :c5174; + :b :c5175; + :b :c5176; + :b :c5177; + :b :c5178; + :b :c5179; + :b :c5180; + :b :c5181; + :b :c5182; + :b :c5183; + :b :c5184; + :b :c5185; + :b :c5186; + :b :c5187; + :b :c5188; + :b :c5189; + :b :c5190; + :b :c5191; + :b :c5192; + :b :c5193; + :b :c5194; + :b :c5195; + :b :c5196; + :b :c5197; + :b :c5198; + :b :c5199; + :b :c5200; + :b :c5201; + :b :c5202; + :b :c5203; + :b :c5204; + :b :c5205; + :b :c5206; + :b :c5207; + :b :c5208; + :b :c5209; + :b :c5210; + :b :c5211; + :b :c5212; + :b :c5213; + :b :c5214; + :b :c5215; + :b :c5216; + :b :c5217; + :b :c5218; + :b :c5219; + :b :c5220; + :b :c5221; + :b :c5222; + :b :c5223; + :b :c5224; + :b :c5225; + :b :c5226; + :b :c5227; + :b :c5228; + :b :c5229; + :b :c5230; + :b :c5231; + :b :c5232; + :b :c5233; + :b :c5234; + :b :c5235; + :b :c5236; + :b :c5237; + :b :c5238; + :b :c5239; + :b :c5240; + :b :c5241; + :b :c5242; + :b :c5243; + :b :c5244; + :b :c5245; + :b :c5246; + :b :c5247; + :b :c5248; + :b :c5249; + :b :c5250; + :b :c5251; + :b :c5252; + :b :c5253; + :b :c5254; + :b :c5255; + :b :c5256; + :b :c5257; + :b :c5258; + :b :c5259; + :b :c5260; + :b :c5261; + :b :c5262; + :b :c5263; + :b :c5264; + :b :c5265; + :b :c5266; + :b :c5267; + :b :c5268; + :b :c5269; + :b :c5270; + :b :c5271; + :b :c5272; + :b :c5273; + :b :c5274; + :b :c5275; + :b :c5276; + :b :c5277; + :b :c5278; + :b :c5279; + :b :c5280; + :b :c5281; + :b :c5282; + :b :c5283; + :b :c5284; + :b :c5285; + :b :c5286; + :b :c5287; + :b :c5288; + :b :c5289; + :b :c5290; + :b :c5291; + :b :c5292; + :b :c5293; + :b :c5294; + :b :c5295; + :b :c5296; + :b :c5297; + :b :c5298; + :b :c5299; + :b :c5300; + :b :c5301; + :b :c5302; + :b :c5303; + :b :c5304; + :b :c5305; + :b :c5306; + :b :c5307; + :b :c5308; + :b :c5309; + :b :c5310; + :b :c5311; + :b :c5312; + :b :c5313; + :b :c5314; + :b :c5315; + :b :c5316; + :b :c5317; + :b :c5318; + :b :c5319; + :b :c5320; + :b :c5321; + :b :c5322; + :b :c5323; + :b :c5324; + :b :c5325; + :b :c5326; + :b :c5327; + :b :c5328; + :b :c5329; + :b :c5330; + :b :c5331; + :b :c5332; + :b :c5333; + :b :c5334; + :b :c5335; + :b :c5336; + :b :c5337; + :b :c5338; + :b :c5339; + :b :c5340; + :b :c5341; + :b :c5342; + :b :c5343; + :b :c5344; + :b :c5345; + :b :c5346; + :b :c5347; + :b :c5348; + :b :c5349; + :b :c5350; + :b :c5351; + :b :c5352; + :b :c5353; + :b :c5354; + :b :c5355; + :b :c5356; + :b :c5357; + :b :c5358; + :b :c5359; + :b :c5360; + :b :c5361; + :b :c5362; + :b :c5363; + :b :c5364; + :b :c5365; + :b :c5366; + :b :c5367; + :b :c5368; + :b :c5369; + :b :c5370; + :b :c5371; + :b :c5372; + :b :c5373; + :b :c5374; + :b :c5375; + :b :c5376; + :b :c5377; + :b :c5378; + :b :c5379; + :b :c5380; + :b :c5381; + :b :c5382; + :b :c5383; + :b :c5384; + :b :c5385; + :b :c5386; + :b :c5387; + :b :c5388; + :b :c5389; + :b :c5390; + :b :c5391; + :b :c5392; + :b :c5393; + :b :c5394; + :b :c5395; + :b :c5396; + :b :c5397; + :b :c5398; + :b :c5399; + :b :c5400; + :b :c5401; + :b :c5402; + :b :c5403; + :b :c5404; + :b :c5405; + :b :c5406; + :b :c5407; + :b :c5408; + :b :c5409; + :b :c5410; + :b :c5411; + :b :c5412; + :b :c5413; + :b :c5414; + :b :c5415; + :b :c5416; + :b :c5417; + :b :c5418; + :b :c5419; + :b :c5420; + :b :c5421; + :b :c5422; + :b :c5423; + :b :c5424; + :b :c5425; + :b :c5426; + :b :c5427; + :b :c5428; + :b :c5429; + :b :c5430; + :b :c5431; + :b :c5432; + :b :c5433; + :b :c5434; + :b :c5435; + :b :c5436; + :b :c5437; + :b :c5438; + :b :c5439; + :b :c5440; + :b :c5441; + :b :c5442; + :b :c5443; + :b :c5444; + :b :c5445; + :b :c5446; + :b :c5447; + :b :c5448; + :b :c5449; + :b :c5450; + :b :c5451; + :b :c5452; + :b :c5453; + :b :c5454; + :b :c5455; + :b :c5456; + :b :c5457; + :b :c5458; + :b :c5459; + :b :c5460; + :b :c5461; + :b :c5462; + :b :c5463; + :b :c5464; + :b :c5465; + :b :c5466; + :b :c5467; + :b :c5468; + :b :c5469; + :b :c5470; + :b :c5471; + :b :c5472; + :b :c5473; + :b :c5474; + :b :c5475; + :b :c5476; + :b :c5477; + :b :c5478; + :b :c5479; + :b :c5480; + :b :c5481; + :b :c5482; + :b :c5483; + :b :c5484; + :b :c5485; + :b :c5486; + :b :c5487; + :b :c5488; + :b :c5489; + :b :c5490; + :b :c5491; + :b :c5492; + :b :c5493; + :b :c5494; + :b :c5495; + :b :c5496; + :b :c5497; + :b :c5498; + :b :c5499; + :b :c5500; + :b :c5501; + :b :c5502; + :b :c5503; + :b :c5504; + :b :c5505; + :b :c5506; + :b :c5507; + :b :c5508; + :b :c5509; + :b :c5510; + :b :c5511; + :b :c5512; + :b :c5513; + :b :c5514; + :b :c5515; + :b :c5516; + :b :c5517; + :b :c5518; + :b :c5519; + :b :c5520; + :b :c5521; + :b :c5522; + :b :c5523; + :b :c5524; + :b :c5525; + :b :c5526; + :b :c5527; + :b :c5528; + :b :c5529; + :b :c5530; + :b :c5531; + :b :c5532; + :b :c5533; + :b :c5534; + :b :c5535; + :b :c5536; + :b :c5537; + :b :c5538; + :b :c5539; + :b :c5540; + :b :c5541; + :b :c5542; + :b :c5543; + :b :c5544; + :b :c5545; + :b :c5546; + :b :c5547; + :b :c5548; + :b :c5549; + :b :c5550; + :b :c5551; + :b :c5552; + :b :c5553; + :b :c5554; + :b :c5555; + :b :c5556; + :b :c5557; + :b :c5558; + :b :c5559; + :b :c5560; + :b :c5561; + :b :c5562; + :b :c5563; + :b :c5564; + :b :c5565; + :b :c5566; + :b :c5567; + :b :c5568; + :b :c5569; + :b :c5570; + :b :c5571; + :b :c5572; + :b :c5573; + :b :c5574; + :b :c5575; + :b :c5576; + :b :c5577; + :b :c5578; + :b :c5579; + :b :c5580; + :b :c5581; + :b :c5582; + :b :c5583; + :b :c5584; + :b :c5585; + :b :c5586; + :b :c5587; + :b :c5588; + :b :c5589; + :b :c5590; + :b :c5591; + :b :c5592; + :b :c5593; + :b :c5594; + :b :c5595; + :b :c5596; + :b :c5597; + :b :c5598; + :b :c5599; + :b :c5600; + :b :c5601; + :b :c5602; + :b :c5603; + :b :c5604; + :b :c5605; + :b :c5606; + :b :c5607; + :b :c5608; + :b :c5609; + :b :c5610; + :b :c5611; + :b :c5612; + :b :c5613; + :b :c5614; + :b :c5615; + :b :c5616; + :b :c5617; + :b :c5618; + :b :c5619; + :b :c5620; + :b :c5621; + :b :c5622; + :b :c5623; + :b :c5624; + :b :c5625; + :b :c5626; + :b :c5627; + :b :c5628; + :b :c5629; + :b :c5630; + :b :c5631; + :b :c5632; + :b :c5633; + :b :c5634; + :b :c5635; + :b :c5636; + :b :c5637; + :b :c5638; + :b :c5639; + :b :c5640; + :b :c5641; + :b :c5642; + :b :c5643; + :b :c5644; + :b :c5645; + :b :c5646; + :b :c5647; + :b :c5648; + :b :c5649; + :b :c5650; + :b :c5651; + :b :c5652; + :b :c5653; + :b :c5654; + :b :c5655; + :b :c5656; + :b :c5657; + :b :c5658; + :b :c5659; + :b :c5660; + :b :c5661; + :b :c5662; + :b :c5663; + :b :c5664; + :b :c5665; + :b :c5666; + :b :c5667; + :b :c5668; + :b :c5669; + :b :c5670; + :b :c5671; + :b :c5672; + :b :c5673; + :b :c5674; + :b :c5675; + :b :c5676; + :b :c5677; + :b :c5678; + :b :c5679; + :b :c5680; + :b :c5681; + :b :c5682; + :b :c5683; + :b :c5684; + :b :c5685; + :b :c5686; + :b :c5687; + :b :c5688; + :b :c5689; + :b :c5690; + :b :c5691; + :b :c5692; + :b :c5693; + :b :c5694; + :b :c5695; + :b :c5696; + :b :c5697; + :b :c5698; + :b :c5699; + :b :c5700; + :b :c5701; + :b :c5702; + :b :c5703; + :b :c5704; + :b :c5705; + :b :c5706; + :b :c5707; + :b :c5708; + :b :c5709; + :b :c5710; + :b :c5711; + :b :c5712; + :b :c5713; + :b :c5714; + :b :c5715; + :b :c5716; + :b :c5717; + :b :c5718; + :b :c5719; + :b :c5720; + :b :c5721; + :b :c5722; + :b :c5723; + :b :c5724; + :b :c5725; + :b :c5726; + :b :c5727; + :b :c5728; + :b :c5729; + :b :c5730; + :b :c5731; + :b :c5732; + :b :c5733; + :b :c5734; + :b :c5735; + :b :c5736; + :b :c5737; + :b :c5738; + :b :c5739; + :b :c5740; + :b :c5741; + :b :c5742; + :b :c5743; + :b :c5744; + :b :c5745; + :b :c5746; + :b :c5747; + :b :c5748; + :b :c5749; + :b :c5750; + :b :c5751; + :b :c5752; + :b :c5753; + :b :c5754; + :b :c5755; + :b :c5756; + :b :c5757; + :b :c5758; + :b :c5759; + :b :c5760; + :b :c5761; + :b :c5762; + :b :c5763; + :b :c5764; + :b :c5765; + :b :c5766; + :b :c5767; + :b :c5768; + :b :c5769; + :b :c5770; + :b :c5771; + :b :c5772; + :b :c5773; + :b :c5774; + :b :c5775; + :b :c5776; + :b :c5777; + :b :c5778; + :b :c5779; + :b :c5780; + :b :c5781; + :b :c5782; + :b :c5783; + :b :c5784; + :b :c5785; + :b :c5786; + :b :c5787; + :b :c5788; + :b :c5789; + :b :c5790; + :b :c5791; + :b :c5792; + :b :c5793; + :b :c5794; + :b :c5795; + :b :c5796; + :b :c5797; + :b :c5798; + :b :c5799; + :b :c5800; + :b :c5801; + :b :c5802; + :b :c5803; + :b :c5804; + :b :c5805; + :b :c5806; + :b :c5807; + :b :c5808; + :b :c5809; + :b :c5810; + :b :c5811; + :b :c5812; + :b :c5813; + :b :c5814; + :b :c5815; + :b :c5816; + :b :c5817; + :b :c5818; + :b :c5819; + :b :c5820; + :b :c5821; + :b :c5822; + :b :c5823; + :b :c5824; + :b :c5825; + :b :c5826; + :b :c5827; + :b :c5828; + :b :c5829; + :b :c5830; + :b :c5831; + :b :c5832; + :b :c5833; + :b :c5834; + :b :c5835; + :b :c5836; + :b :c5837; + :b :c5838; + :b :c5839; + :b :c5840; + :b :c5841; + :b :c5842; + :b :c5843; + :b :c5844; + :b :c5845; + :b :c5846; + :b :c5847; + :b :c5848; + :b :c5849; + :b :c5850; + :b :c5851; + :b :c5852; + :b :c5853; + :b :c5854; + :b :c5855; + :b :c5856; + :b :c5857; + :b :c5858; + :b :c5859; + :b :c5860; + :b :c5861; + :b :c5862; + :b :c5863; + :b :c5864; + :b :c5865; + :b :c5866; + :b :c5867; + :b :c5868; + :b :c5869; + :b :c5870; + :b :c5871; + :b :c5872; + :b :c5873; + :b :c5874; + :b :c5875; + :b :c5876; + :b :c5877; + :b :c5878; + :b :c5879; + :b :c5880; + :b :c5881; + :b :c5882; + :b :c5883; + :b :c5884; + :b :c5885; + :b :c5886; + :b :c5887; + :b :c5888; + :b :c5889; + :b :c5890; + :b :c5891; + :b :c5892; + :b :c5893; + :b :c5894; + :b :c5895; + :b :c5896; + :b :c5897; + :b :c5898; + :b :c5899; + :b :c5900; + :b :c5901; + :b :c5902; + :b :c5903; + :b :c5904; + :b :c5905; + :b :c5906; + :b :c5907; + :b :c5908; + :b :c5909; + :b :c5910; + :b :c5911; + :b :c5912; + :b :c5913; + :b :c5914; + :b :c5915; + :b :c5916; + :b :c5917; + :b :c5918; + :b :c5919; + :b :c5920; + :b :c5921; + :b :c5922; + :b :c5923; + :b :c5924; + :b :c5925; + :b :c5926; + :b :c5927; + :b :c5928; + :b :c5929; + :b :c5930; + :b :c5931; + :b :c5932; + :b :c5933; + :b :c5934; + :b :c5935; + :b :c5936; + :b :c5937; + :b :c5938; + :b :c5939; + :b :c5940; + :b :c5941; + :b :c5942; + :b :c5943; + :b :c5944; + :b :c5945; + :b :c5946; + :b :c5947; + :b :c5948; + :b :c5949; + :b :c5950; + :b :c5951; + :b :c5952; + :b :c5953; + :b :c5954; + :b :c5955; + :b :c5956; + :b :c5957; + :b :c5958; + :b :c5959; + :b :c5960; + :b :c5961; + :b :c5962; + :b :c5963; + :b :c5964; + :b :c5965; + :b :c5966; + :b :c5967; + :b :c5968; + :b :c5969; + :b :c5970; + :b :c5971; + :b :c5972; + :b :c5973; + :b :c5974; + :b :c5975; + :b :c5976; + :b :c5977; + :b :c5978; + :b :c5979; + :b :c5980; + :b :c5981; + :b :c5982; + :b :c5983; + :b :c5984; + :b :c5985; + :b :c5986; + :b :c5987; + :b :c5988; + :b :c5989; + :b :c5990; + :b :c5991; + :b :c5992; + :b :c5993; + :b :c5994; + :b :c5995; + :b :c5996; + :b :c5997; + :b :c5998; + :b :c5999; + :b :c6000; + :b :c6001; + :b :c6002; + :b :c6003; + :b :c6004; + :b :c6005; + :b :c6006; + :b :c6007; + :b :c6008; + :b :c6009; + :b :c6010; + :b :c6011; + :b :c6012; + :b :c6013; + :b :c6014; + :b :c6015; + :b :c6016; + :b :c6017; + :b :c6018; + :b :c6019; + :b :c6020; + :b :c6021; + :b :c6022; + :b :c6023; + :b :c6024; + :b :c6025; + :b :c6026; + :b :c6027; + :b :c6028; + :b :c6029; + :b :c6030; + :b :c6031; + :b :c6032; + :b :c6033; + :b :c6034; + :b :c6035; + :b :c6036; + :b :c6037; + :b :c6038; + :b :c6039; + :b :c6040; + :b :c6041; + :b :c6042; + :b :c6043; + :b :c6044; + :b :c6045; + :b :c6046; + :b :c6047; + :b :c6048; + :b :c6049; + :b :c6050; + :b :c6051; + :b :c6052; + :b :c6053; + :b :c6054; + :b :c6055; + :b :c6056; + :b :c6057; + :b :c6058; + :b :c6059; + :b :c6060; + :b :c6061; + :b :c6062; + :b :c6063; + :b :c6064; + :b :c6065; + :b :c6066; + :b :c6067; + :b :c6068; + :b :c6069; + :b :c6070; + :b :c6071; + :b :c6072; + :b :c6073; + :b :c6074; + :b :c6075; + :b :c6076; + :b :c6077; + :b :c6078; + :b :c6079; + :b :c6080; + :b :c6081; + :b :c6082; + :b :c6083; + :b :c6084; + :b :c6085; + :b :c6086; + :b :c6087; + :b :c6088; + :b :c6089; + :b :c6090; + :b :c6091; + :b :c6092; + :b :c6093; + :b :c6094; + :b :c6095; + :b :c6096; + :b :c6097; + :b :c6098; + :b :c6099; + :b :c6100; + :b :c6101; + :b :c6102; + :b :c6103; + :b :c6104; + :b :c6105; + :b :c6106; + :b :c6107; + :b :c6108; + :b :c6109; + :b :c6110; + :b :c6111; + :b :c6112; + :b :c6113; + :b :c6114; + :b :c6115; + :b :c6116; + :b :c6117; + :b :c6118; + :b :c6119; + :b :c6120; + :b :c6121; + :b :c6122; + :b :c6123; + :b :c6124; + :b :c6125; + :b :c6126; + :b :c6127; + :b :c6128; + :b :c6129; + :b :c6130; + :b :c6131; + :b :c6132; + :b :c6133; + :b :c6134; + :b :c6135; + :b :c6136; + :b :c6137; + :b :c6138; + :b :c6139; + :b :c6140; + :b :c6141; + :b :c6142; + :b :c6143; + :b :c6144; + :b :c6145; + :b :c6146; + :b :c6147; + :b :c6148; + :b :c6149; + :b :c6150; + :b :c6151; + :b :c6152; + :b :c6153; + :b :c6154; + :b :c6155; + :b :c6156; + :b :c6157; + :b :c6158; + :b :c6159; + :b :c6160; + :b :c6161; + :b :c6162; + :b :c6163; + :b :c6164; + :b :c6165; + :b :c6166; + :b :c6167; + :b :c6168; + :b :c6169; + :b :c6170; + :b :c6171; + :b :c6172; + :b :c6173; + :b :c6174; + :b :c6175; + :b :c6176; + :b :c6177; + :b :c6178; + :b :c6179; + :b :c6180; + :b :c6181; + :b :c6182; + :b :c6183; + :b :c6184; + :b :c6185; + :b :c6186; + :b :c6187; + :b :c6188; + :b :c6189; + :b :c6190; + :b :c6191; + :b :c6192; + :b :c6193; + :b :c6194; + :b :c6195; + :b :c6196; + :b :c6197; + :b :c6198; + :b :c6199; + :b :c6200; + :b :c6201; + :b :c6202; + :b :c6203; + :b :c6204; + :b :c6205; + :b :c6206; + :b :c6207; + :b :c6208; + :b :c6209; + :b :c6210; + :b :c6211; + :b :c6212; + :b :c6213; + :b :c6214; + :b :c6215; + :b :c6216; + :b :c6217; + :b :c6218; + :b :c6219; + :b :c6220; + :b :c6221; + :b :c6222; + :b :c6223; + :b :c6224; + :b :c6225; + :b :c6226; + :b :c6227; + :b :c6228; + :b :c6229; + :b :c6230; + :b :c6231; + :b :c6232; + :b :c6233; + :b :c6234; + :b :c6235; + :b :c6236; + :b :c6237; + :b :c6238; + :b :c6239; + :b :c6240; + :b :c6241; + :b :c6242; + :b :c6243; + :b :c6244; + :b :c6245; + :b :c6246; + :b :c6247; + :b :c6248; + :b :c6249; + :b :c6250; + :b :c6251; + :b :c6252; + :b :c6253; + :b :c6254; + :b :c6255; + :b :c6256; + :b :c6257; + :b :c6258; + :b :c6259; + :b :c6260; + :b :c6261; + :b :c6262; + :b :c6263; + :b :c6264; + :b :c6265; + :b :c6266; + :b :c6267; + :b :c6268; + :b :c6269; + :b :c6270; + :b :c6271; + :b :c6272; + :b :c6273; + :b :c6274; + :b :c6275; + :b :c6276; + :b :c6277; + :b :c6278; + :b :c6279; + :b :c6280; + :b :c6281; + :b :c6282; + :b :c6283; + :b :c6284; + :b :c6285; + :b :c6286; + :b :c6287; + :b :c6288; + :b :c6289; + :b :c6290; + :b :c6291; + :b :c6292; + :b :c6293; + :b :c6294; + :b :c6295; + :b :c6296; + :b :c6297; + :b :c6298; + :b :c6299; + :b :c6300; + :b :c6301; + :b :c6302; + :b :c6303; + :b :c6304; + :b :c6305; + :b :c6306; + :b :c6307; + :b :c6308; + :b :c6309; + :b :c6310; + :b :c6311; + :b :c6312; + :b :c6313; + :b :c6314; + :b :c6315; + :b :c6316; + :b :c6317; + :b :c6318; + :b :c6319; + :b :c6320; + :b :c6321; + :b :c6322; + :b :c6323; + :b :c6324; + :b :c6325; + :b :c6326; + :b :c6327; + :b :c6328; + :b :c6329; + :b :c6330; + :b :c6331; + :b :c6332; + :b :c6333; + :b :c6334; + :b :c6335; + :b :c6336; + :b :c6337; + :b :c6338; + :b :c6339; + :b :c6340; + :b :c6341; + :b :c6342; + :b :c6343; + :b :c6344; + :b :c6345; + :b :c6346; + :b :c6347; + :b :c6348; + :b :c6349; + :b :c6350; + :b :c6351; + :b :c6352; + :b :c6353; + :b :c6354; + :b :c6355; + :b :c6356; + :b :c6357; + :b :c6358; + :b :c6359; + :b :c6360; + :b :c6361; + :b :c6362; + :b :c6363; + :b :c6364; + :b :c6365; + :b :c6366; + :b :c6367; + :b :c6368; + :b :c6369; + :b :c6370; + :b :c6371; + :b :c6372; + :b :c6373; + :b :c6374; + :b :c6375; + :b :c6376; + :b :c6377; + :b :c6378; + :b :c6379; + :b :c6380; + :b :c6381; + :b :c6382; + :b :c6383; + :b :c6384; + :b :c6385; + :b :c6386; + :b :c6387; + :b :c6388; + :b :c6389; + :b :c6390; + :b :c6391; + :b :c6392; + :b :c6393; + :b :c6394; + :b :c6395; + :b :c6396; + :b :c6397; + :b :c6398; + :b :c6399; + :b :c6400; + :b :c6401; + :b :c6402; + :b :c6403; + :b :c6404; + :b :c6405; + :b :c6406; + :b :c6407; + :b :c6408; + :b :c6409; + :b :c6410; + :b :c6411; + :b :c6412; + :b :c6413; + :b :c6414; + :b :c6415; + :b :c6416; + :b :c6417; + :b :c6418; + :b :c6419; + :b :c6420; + :b :c6421; + :b :c6422; + :b :c6423; + :b :c6424; + :b :c6425; + :b :c6426; + :b :c6427; + :b :c6428; + :b :c6429; + :b :c6430; + :b :c6431; + :b :c6432; + :b :c6433; + :b :c6434; + :b :c6435; + :b :c6436; + :b :c6437; + :b :c6438; + :b :c6439; + :b :c6440; + :b :c6441; + :b :c6442; + :b :c6443; + :b :c6444; + :b :c6445; + :b :c6446; + :b :c6447; + :b :c6448; + :b :c6449; + :b :c6450; + :b :c6451; + :b :c6452; + :b :c6453; + :b :c6454; + :b :c6455; + :b :c6456; + :b :c6457; + :b :c6458; + :b :c6459; + :b :c6460; + :b :c6461; + :b :c6462; + :b :c6463; + :b :c6464; + :b :c6465; + :b :c6466; + :b :c6467; + :b :c6468; + :b :c6469; + :b :c6470; + :b :c6471; + :b :c6472; + :b :c6473; + :b :c6474; + :b :c6475; + :b :c6476; + :b :c6477; + :b :c6478; + :b :c6479; + :b :c6480; + :b :c6481; + :b :c6482; + :b :c6483; + :b :c6484; + :b :c6485; + :b :c6486; + :b :c6487; + :b :c6488; + :b :c6489; + :b :c6490; + :b :c6491; + :b :c6492; + :b :c6493; + :b :c6494; + :b :c6495; + :b :c6496; + :b :c6497; + :b :c6498; + :b :c6499; + :b :c6500; + :b :c6501; + :b :c6502; + :b :c6503; + :b :c6504; + :b :c6505; + :b :c6506; + :b :c6507; + :b :c6508; + :b :c6509; + :b :c6510; + :b :c6511; + :b :c6512; + :b :c6513; + :b :c6514; + :b :c6515; + :b :c6516; + :b :c6517; + :b :c6518; + :b :c6519; + :b :c6520; + :b :c6521; + :b :c6522; + :b :c6523; + :b :c6524; + :b :c6525; + :b :c6526; + :b :c6527; + :b :c6528; + :b :c6529; + :b :c6530; + :b :c6531; + :b :c6532; + :b :c6533; + :b :c6534; + :b :c6535; + :b :c6536; + :b :c6537; + :b :c6538; + :b :c6539; + :b :c6540; + :b :c6541; + :b :c6542; + :b :c6543; + :b :c6544; + :b :c6545; + :b :c6546; + :b :c6547; + :b :c6548; + :b :c6549; + :b :c6550; + :b :c6551; + :b :c6552; + :b :c6553; + :b :c6554; + :b :c6555; + :b :c6556; + :b :c6557; + :b :c6558; + :b :c6559; + :b :c6560; + :b :c6561; + :b :c6562; + :b :c6563; + :b :c6564; + :b :c6565; + :b :c6566; + :b :c6567; + :b :c6568; + :b :c6569; + :b :c6570; + :b :c6571; + :b :c6572; + :b :c6573; + :b :c6574; + :b :c6575; + :b :c6576; + :b :c6577; + :b :c6578; + :b :c6579; + :b :c6580; + :b :c6581; + :b :c6582; + :b :c6583; + :b :c6584; + :b :c6585; + :b :c6586; + :b :c6587; + :b :c6588; + :b :c6589; + :b :c6590; + :b :c6591; + :b :c6592; + :b :c6593; + :b :c6594; + :b :c6595; + :b :c6596; + :b :c6597; + :b :c6598; + :b :c6599; + :b :c6600; + :b :c6601; + :b :c6602; + :b :c6603; + :b :c6604; + :b :c6605; + :b :c6606; + :b :c6607; + :b :c6608; + :b :c6609; + :b :c6610; + :b :c6611; + :b :c6612; + :b :c6613; + :b :c6614; + :b :c6615; + :b :c6616; + :b :c6617; + :b :c6618; + :b :c6619; + :b :c6620; + :b :c6621; + :b :c6622; + :b :c6623; + :b :c6624; + :b :c6625; + :b :c6626; + :b :c6627; + :b :c6628; + :b :c6629; + :b :c6630; + :b :c6631; + :b :c6632; + :b :c6633; + :b :c6634; + :b :c6635; + :b :c6636; + :b :c6637; + :b :c6638; + :b :c6639; + :b :c6640; + :b :c6641; + :b :c6642; + :b :c6643; + :b :c6644; + :b :c6645; + :b :c6646; + :b :c6647; + :b :c6648; + :b :c6649; + :b :c6650; + :b :c6651; + :b :c6652; + :b :c6653; + :b :c6654; + :b :c6655; + :b :c6656; + :b :c6657; + :b :c6658; + :b :c6659; + :b :c6660; + :b :c6661; + :b :c6662; + :b :c6663; + :b :c6664; + :b :c6665; + :b :c6666; + :b :c6667; + :b :c6668; + :b :c6669; + :b :c6670; + :b :c6671; + :b :c6672; + :b :c6673; + :b :c6674; + :b :c6675; + :b :c6676; + :b :c6677; + :b :c6678; + :b :c6679; + :b :c6680; + :b :c6681; + :b :c6682; + :b :c6683; + :b :c6684; + :b :c6685; + :b :c6686; + :b :c6687; + :b :c6688; + :b :c6689; + :b :c6690; + :b :c6691; + :b :c6692; + :b :c6693; + :b :c6694; + :b :c6695; + :b :c6696; + :b :c6697; + :b :c6698; + :b :c6699; + :b :c6700; + :b :c6701; + :b :c6702; + :b :c6703; + :b :c6704; + :b :c6705; + :b :c6706; + :b :c6707; + :b :c6708; + :b :c6709; + :b :c6710; + :b :c6711; + :b :c6712; + :b :c6713; + :b :c6714; + :b :c6715; + :b :c6716; + :b :c6717; + :b :c6718; + :b :c6719; + :b :c6720; + :b :c6721; + :b :c6722; + :b :c6723; + :b :c6724; + :b :c6725; + :b :c6726; + :b :c6727; + :b :c6728; + :b :c6729; + :b :c6730; + :b :c6731; + :b :c6732; + :b :c6733; + :b :c6734; + :b :c6735; + :b :c6736; + :b :c6737; + :b :c6738; + :b :c6739; + :b :c6740; + :b :c6741; + :b :c6742; + :b :c6743; + :b :c6744; + :b :c6745; + :b :c6746; + :b :c6747; + :b :c6748; + :b :c6749; + :b :c6750; + :b :c6751; + :b :c6752; + :b :c6753; + :b :c6754; + :b :c6755; + :b :c6756; + :b :c6757; + :b :c6758; + :b :c6759; + :b :c6760; + :b :c6761; + :b :c6762; + :b :c6763; + :b :c6764; + :b :c6765; + :b :c6766; + :b :c6767; + :b :c6768; + :b :c6769; + :b :c6770; + :b :c6771; + :b :c6772; + :b :c6773; + :b :c6774; + :b :c6775; + :b :c6776; + :b :c6777; + :b :c6778; + :b :c6779; + :b :c6780; + :b :c6781; + :b :c6782; + :b :c6783; + :b :c6784; + :b :c6785; + :b :c6786; + :b :c6787; + :b :c6788; + :b :c6789; + :b :c6790; + :b :c6791; + :b :c6792; + :b :c6793; + :b :c6794; + :b :c6795; + :b :c6796; + :b :c6797; + :b :c6798; + :b :c6799; + :b :c6800; + :b :c6801; + :b :c6802; + :b :c6803; + :b :c6804; + :b :c6805; + :b :c6806; + :b :c6807; + :b :c6808; + :b :c6809; + :b :c6810; + :b :c6811; + :b :c6812; + :b :c6813; + :b :c6814; + :b :c6815; + :b :c6816; + :b :c6817; + :b :c6818; + :b :c6819; + :b :c6820; + :b :c6821; + :b :c6822; + :b :c6823; + :b :c6824; + :b :c6825; + :b :c6826; + :b :c6827; + :b :c6828; + :b :c6829; + :b :c6830; + :b :c6831; + :b :c6832; + :b :c6833; + :b :c6834; + :b :c6835; + :b :c6836; + :b :c6837; + :b :c6838; + :b :c6839; + :b :c6840; + :b :c6841; + :b :c6842; + :b :c6843; + :b :c6844; + :b :c6845; + :b :c6846; + :b :c6847; + :b :c6848; + :b :c6849; + :b :c6850; + :b :c6851; + :b :c6852; + :b :c6853; + :b :c6854; + :b :c6855; + :b :c6856; + :b :c6857; + :b :c6858; + :b :c6859; + :b :c6860; + :b :c6861; + :b :c6862; + :b :c6863; + :b :c6864; + :b :c6865; + :b :c6866; + :b :c6867; + :b :c6868; + :b :c6869; + :b :c6870; + :b :c6871; + :b :c6872; + :b :c6873; + :b :c6874; + :b :c6875; + :b :c6876; + :b :c6877; + :b :c6878; + :b :c6879; + :b :c6880; + :b :c6881; + :b :c6882; + :b :c6883; + :b :c6884; + :b :c6885; + :b :c6886; + :b :c6887; + :b :c6888; + :b :c6889; + :b :c6890; + :b :c6891; + :b :c6892; + :b :c6893; + :b :c6894; + :b :c6895; + :b :c6896; + :b :c6897; + :b :c6898; + :b :c6899; + :b :c6900; + :b :c6901; + :b :c6902; + :b :c6903; + :b :c6904; + :b :c6905; + :b :c6906; + :b :c6907; + :b :c6908; + :b :c6909; + :b :c6910; + :b :c6911; + :b :c6912; + :b :c6913; + :b :c6914; + :b :c6915; + :b :c6916; + :b :c6917; + :b :c6918; + :b :c6919; + :b :c6920; + :b :c6921; + :b :c6922; + :b :c6923; + :b :c6924; + :b :c6925; + :b :c6926; + :b :c6927; + :b :c6928; + :b :c6929; + :b :c6930; + :b :c6931; + :b :c6932; + :b :c6933; + :b :c6934; + :b :c6935; + :b :c6936; + :b :c6937; + :b :c6938; + :b :c6939; + :b :c6940; + :b :c6941; + :b :c6942; + :b :c6943; + :b :c6944; + :b :c6945; + :b :c6946; + :b :c6947; + :b :c6948; + :b :c6949; + :b :c6950; + :b :c6951; + :b :c6952; + :b :c6953; + :b :c6954; + :b :c6955; + :b :c6956; + :b :c6957; + :b :c6958; + :b :c6959; + :b :c6960; + :b :c6961; + :b :c6962; + :b :c6963; + :b :c6964; + :b :c6965; + :b :c6966; + :b :c6967; + :b :c6968; + :b :c6969; + :b :c6970; + :b :c6971; + :b :c6972; + :b :c6973; + :b :c6974; + :b :c6975; + :b :c6976; + :b :c6977; + :b :c6978; + :b :c6979; + :b :c6980; + :b :c6981; + :b :c6982; + :b :c6983; + :b :c6984; + :b :c6985; + :b :c6986; + :b :c6987; + :b :c6988; + :b :c6989; + :b :c6990; + :b :c6991; + :b :c6992; + :b :c6993; + :b :c6994; + :b :c6995; + :b :c6996; + :b :c6997; + :b :c6998; + :b :c6999; + :b :c7000; + :b :c7001; + :b :c7002; + :b :c7003; + :b :c7004; + :b :c7005; + :b :c7006; + :b :c7007; + :b :c7008; + :b :c7009; + :b :c7010; + :b :c7011; + :b :c7012; + :b :c7013; + :b :c7014; + :b :c7015; + :b :c7016; + :b :c7017; + :b :c7018; + :b :c7019; + :b :c7020; + :b :c7021; + :b :c7022; + :b :c7023; + :b :c7024; + :b :c7025; + :b :c7026; + :b :c7027; + :b :c7028; + :b :c7029; + :b :c7030; + :b :c7031; + :b :c7032; + :b :c7033; + :b :c7034; + :b :c7035; + :b :c7036; + :b :c7037; + :b :c7038; + :b :c7039; + :b :c7040; + :b :c7041; + :b :c7042; + :b :c7043; + :b :c7044; + :b :c7045; + :b :c7046; + :b :c7047; + :b :c7048; + :b :c7049; + :b :c7050; + :b :c7051; + :b :c7052; + :b :c7053; + :b :c7054; + :b :c7055; + :b :c7056; + :b :c7057; + :b :c7058; + :b :c7059; + :b :c7060; + :b :c7061; + :b :c7062; + :b :c7063; + :b :c7064; + :b :c7065; + :b :c7066; + :b :c7067; + :b :c7068; + :b :c7069; + :b :c7070; + :b :c7071; + :b :c7072; + :b :c7073; + :b :c7074; + :b :c7075; + :b :c7076; + :b :c7077; + :b :c7078; + :b :c7079; + :b :c7080; + :b :c7081; + :b :c7082; + :b :c7083; + :b :c7084; + :b :c7085; + :b :c7086; + :b :c7087; + :b :c7088; + :b :c7089; + :b :c7090; + :b :c7091; + :b :c7092; + :b :c7093; + :b :c7094; + :b :c7095; + :b :c7096; + :b :c7097; + :b :c7098; + :b :c7099; + :b :c7100; + :b :c7101; + :b :c7102; + :b :c7103; + :b :c7104; + :b :c7105; + :b :c7106; + :b :c7107; + :b :c7108; + :b :c7109; + :b :c7110; + :b :c7111; + :b :c7112; + :b :c7113; + :b :c7114; + :b :c7115; + :b :c7116; + :b :c7117; + :b :c7118; + :b :c7119; + :b :c7120; + :b :c7121; + :b :c7122; + :b :c7123; + :b :c7124; + :b :c7125; + :b :c7126; + :b :c7127; + :b :c7128; + :b :c7129; + :b :c7130; + :b :c7131; + :b :c7132; + :b :c7133; + :b :c7134; + :b :c7135; + :b :c7136; + :b :c7137; + :b :c7138; + :b :c7139; + :b :c7140; + :b :c7141; + :b :c7142; + :b :c7143; + :b :c7144; + :b :c7145; + :b :c7146; + :b :c7147; + :b :c7148; + :b :c7149; + :b :c7150; + :b :c7151; + :b :c7152; + :b :c7153; + :b :c7154; + :b :c7155; + :b :c7156; + :b :c7157; + :b :c7158; + :b :c7159; + :b :c7160; + :b :c7161; + :b :c7162; + :b :c7163; + :b :c7164; + :b :c7165; + :b :c7166; + :b :c7167; + :b :c7168; + :b :c7169; + :b :c7170; + :b :c7171; + :b :c7172; + :b :c7173; + :b :c7174; + :b :c7175; + :b :c7176; + :b :c7177; + :b :c7178; + :b :c7179; + :b :c7180; + :b :c7181; + :b :c7182; + :b :c7183; + :b :c7184; + :b :c7185; + :b :c7186; + :b :c7187; + :b :c7188; + :b :c7189; + :b :c7190; + :b :c7191; + :b :c7192; + :b :c7193; + :b :c7194; + :b :c7195; + :b :c7196; + :b :c7197; + :b :c7198; + :b :c7199; + :b :c7200; + :b :c7201; + :b :c7202; + :b :c7203; + :b :c7204; + :b :c7205; + :b :c7206; + :b :c7207; + :b :c7208; + :b :c7209; + :b :c7210; + :b :c7211; + :b :c7212; + :b :c7213; + :b :c7214; + :b :c7215; + :b :c7216; + :b :c7217; + :b :c7218; + :b :c7219; + :b :c7220; + :b :c7221; + :b :c7222; + :b :c7223; + :b :c7224; + :b :c7225; + :b :c7226; + :b :c7227; + :b :c7228; + :b :c7229; + :b :c7230; + :b :c7231; + :b :c7232; + :b :c7233; + :b :c7234; + :b :c7235; + :b :c7236; + :b :c7237; + :b :c7238; + :b :c7239; + :b :c7240; + :b :c7241; + :b :c7242; + :b :c7243; + :b :c7244; + :b :c7245; + :b :c7246; + :b :c7247; + :b :c7248; + :b :c7249; + :b :c7250; + :b :c7251; + :b :c7252; + :b :c7253; + :b :c7254; + :b :c7255; + :b :c7256; + :b :c7257; + :b :c7258; + :b :c7259; + :b :c7260; + :b :c7261; + :b :c7262; + :b :c7263; + :b :c7264; + :b :c7265; + :b :c7266; + :b :c7267; + :b :c7268; + :b :c7269; + :b :c7270; + :b :c7271; + :b :c7272; + :b :c7273; + :b :c7274; + :b :c7275; + :b :c7276; + :b :c7277; + :b :c7278; + :b :c7279; + :b :c7280; + :b :c7281; + :b :c7282; + :b :c7283; + :b :c7284; + :b :c7285; + :b :c7286; + :b :c7287; + :b :c7288; + :b :c7289; + :b :c7290; + :b :c7291; + :b :c7292; + :b :c7293; + :b :c7294; + :b :c7295; + :b :c7296; + :b :c7297; + :b :c7298; + :b :c7299; + :b :c7300; + :b :c7301; + :b :c7302; + :b :c7303; + :b :c7304; + :b :c7305; + :b :c7306; + :b :c7307; + :b :c7308; + :b :c7309; + :b :c7310; + :b :c7311; + :b :c7312; + :b :c7313; + :b :c7314; + :b :c7315; + :b :c7316; + :b :c7317; + :b :c7318; + :b :c7319; + :b :c7320; + :b :c7321; + :b :c7322; + :b :c7323; + :b :c7324; + :b :c7325; + :b :c7326; + :b :c7327; + :b :c7328; + :b :c7329; + :b :c7330; + :b :c7331; + :b :c7332; + :b :c7333; + :b :c7334; + :b :c7335; + :b :c7336; + :b :c7337; + :b :c7338; + :b :c7339; + :b :c7340; + :b :c7341; + :b :c7342; + :b :c7343; + :b :c7344; + :b :c7345; + :b :c7346; + :b :c7347; + :b :c7348; + :b :c7349; + :b :c7350; + :b :c7351; + :b :c7352; + :b :c7353; + :b :c7354; + :b :c7355; + :b :c7356; + :b :c7357; + :b :c7358; + :b :c7359; + :b :c7360; + :b :c7361; + :b :c7362; + :b :c7363; + :b :c7364; + :b :c7365; + :b :c7366; + :b :c7367; + :b :c7368; + :b :c7369; + :b :c7370; + :b :c7371; + :b :c7372; + :b :c7373; + :b :c7374; + :b :c7375; + :b :c7376; + :b :c7377; + :b :c7378; + :b :c7379; + :b :c7380; + :b :c7381; + :b :c7382; + :b :c7383; + :b :c7384; + :b :c7385; + :b :c7386; + :b :c7387; + :b :c7388; + :b :c7389; + :b :c7390; + :b :c7391; + :b :c7392; + :b :c7393; + :b :c7394; + :b :c7395; + :b :c7396; + :b :c7397; + :b :c7398; + :b :c7399; + :b :c7400; + :b :c7401; + :b :c7402; + :b :c7403; + :b :c7404; + :b :c7405; + :b :c7406; + :b :c7407; + :b :c7408; + :b :c7409; + :b :c7410; + :b :c7411; + :b :c7412; + :b :c7413; + :b :c7414; + :b :c7415; + :b :c7416; + :b :c7417; + :b :c7418; + :b :c7419; + :b :c7420; + :b :c7421; + :b :c7422; + :b :c7423; + :b :c7424; + :b :c7425; + :b :c7426; + :b :c7427; + :b :c7428; + :b :c7429; + :b :c7430; + :b :c7431; + :b :c7432; + :b :c7433; + :b :c7434; + :b :c7435; + :b :c7436; + :b :c7437; + :b :c7438; + :b :c7439; + :b :c7440; + :b :c7441; + :b :c7442; + :b :c7443; + :b :c7444; + :b :c7445; + :b :c7446; + :b :c7447; + :b :c7448; + :b :c7449; + :b :c7450; + :b :c7451; + :b :c7452; + :b :c7453; + :b :c7454; + :b :c7455; + :b :c7456; + :b :c7457; + :b :c7458; + :b :c7459; + :b :c7460; + :b :c7461; + :b :c7462; + :b :c7463; + :b :c7464; + :b :c7465; + :b :c7466; + :b :c7467; + :b :c7468; + :b :c7469; + :b :c7470; + :b :c7471; + :b :c7472; + :b :c7473; + :b :c7474; + :b :c7475; + :b :c7476; + :b :c7477; + :b :c7478; + :b :c7479; + :b :c7480; + :b :c7481; + :b :c7482; + :b :c7483; + :b :c7484; + :b :c7485; + :b :c7486; + :b :c7487; + :b :c7488; + :b :c7489; + :b :c7490; + :b :c7491; + :b :c7492; + :b :c7493; + :b :c7494; + :b :c7495; + :b :c7496; + :b :c7497; + :b :c7498; + :b :c7499; + :b :c7500; + :b :c7501; + :b :c7502; + :b :c7503; + :b :c7504; + :b :c7505; + :b :c7506; + :b :c7507; + :b :c7508; + :b :c7509; + :b :c7510; + :b :c7511; + :b :c7512; + :b :c7513; + :b :c7514; + :b :c7515; + :b :c7516; + :b :c7517; + :b :c7518; + :b :c7519; + :b :c7520; + :b :c7521; + :b :c7522; + :b :c7523; + :b :c7524; + :b :c7525; + :b :c7526; + :b :c7527; + :b :c7528; + :b :c7529; + :b :c7530; + :b :c7531; + :b :c7532; + :b :c7533; + :b :c7534; + :b :c7535; + :b :c7536; + :b :c7537; + :b :c7538; + :b :c7539; + :b :c7540; + :b :c7541; + :b :c7542; + :b :c7543; + :b :c7544; + :b :c7545; + :b :c7546; + :b :c7547; + :b :c7548; + :b :c7549; + :b :c7550; + :b :c7551; + :b :c7552; + :b :c7553; + :b :c7554; + :b :c7555; + :b :c7556; + :b :c7557; + :b :c7558; + :b :c7559; + :b :c7560; + :b :c7561; + :b :c7562; + :b :c7563; + :b :c7564; + :b :c7565; + :b :c7566; + :b :c7567; + :b :c7568; + :b :c7569; + :b :c7570; + :b :c7571; + :b :c7572; + :b :c7573; + :b :c7574; + :b :c7575; + :b :c7576; + :b :c7577; + :b :c7578; + :b :c7579; + :b :c7580; + :b :c7581; + :b :c7582; + :b :c7583; + :b :c7584; + :b :c7585; + :b :c7586; + :b :c7587; + :b :c7588; + :b :c7589; + :b :c7590; + :b :c7591; + :b :c7592; + :b :c7593; + :b :c7594; + :b :c7595; + :b :c7596; + :b :c7597; + :b :c7598; + :b :c7599; + :b :c7600; + :b :c7601; + :b :c7602; + :b :c7603; + :b :c7604; + :b :c7605; + :b :c7606; + :b :c7607; + :b :c7608; + :b :c7609; + :b :c7610; + :b :c7611; + :b :c7612; + :b :c7613; + :b :c7614; + :b :c7615; + :b :c7616; + :b :c7617; + :b :c7618; + :b :c7619; + :b :c7620; + :b :c7621; + :b :c7622; + :b :c7623; + :b :c7624; + :b :c7625; + :b :c7626; + :b :c7627; + :b :c7628; + :b :c7629; + :b :c7630; + :b :c7631; + :b :c7632; + :b :c7633; + :b :c7634; + :b :c7635; + :b :c7636; + :b :c7637; + :b :c7638; + :b :c7639; + :b :c7640; + :b :c7641; + :b :c7642; + :b :c7643; + :b :c7644; + :b :c7645; + :b :c7646; + :b :c7647; + :b :c7648; + :b :c7649; + :b :c7650; + :b :c7651; + :b :c7652; + :b :c7653; + :b :c7654; + :b :c7655; + :b :c7656; + :b :c7657; + :b :c7658; + :b :c7659; + :b :c7660; + :b :c7661; + :b :c7662; + :b :c7663; + :b :c7664; + :b :c7665; + :b :c7666; + :b :c7667; + :b :c7668; + :b :c7669; + :b :c7670; + :b :c7671; + :b :c7672; + :b :c7673; + :b :c7674; + :b :c7675; + :b :c7676; + :b :c7677; + :b :c7678; + :b :c7679; + :b :c7680; + :b :c7681; + :b :c7682; + :b :c7683; + :b :c7684; + :b :c7685; + :b :c7686; + :b :c7687; + :b :c7688; + :b :c7689; + :b :c7690; + :b :c7691; + :b :c7692; + :b :c7693; + :b :c7694; + :b :c7695; + :b :c7696; + :b :c7697; + :b :c7698; + :b :c7699; + :b :c7700; + :b :c7701; + :b :c7702; + :b :c7703; + :b :c7704; + :b :c7705; + :b :c7706; + :b :c7707; + :b :c7708; + :b :c7709; + :b :c7710; + :b :c7711; + :b :c7712; + :b :c7713; + :b :c7714; + :b :c7715; + :b :c7716; + :b :c7717; + :b :c7718; + :b :c7719; + :b :c7720; + :b :c7721; + :b :c7722; + :b :c7723; + :b :c7724; + :b :c7725; + :b :c7726; + :b :c7727; + :b :c7728; + :b :c7729; + :b :c7730; + :b :c7731; + :b :c7732; + :b :c7733; + :b :c7734; + :b :c7735; + :b :c7736; + :b :c7737; + :b :c7738; + :b :c7739; + :b :c7740; + :b :c7741; + :b :c7742; + :b :c7743; + :b :c7744; + :b :c7745; + :b :c7746; + :b :c7747; + :b :c7748; + :b :c7749; + :b :c7750; + :b :c7751; + :b :c7752; + :b :c7753; + :b :c7754; + :b :c7755; + :b :c7756; + :b :c7757; + :b :c7758; + :b :c7759; + :b :c7760; + :b :c7761; + :b :c7762; + :b :c7763; + :b :c7764; + :b :c7765; + :b :c7766; + :b :c7767; + :b :c7768; + :b :c7769; + :b :c7770; + :b :c7771; + :b :c7772; + :b :c7773; + :b :c7774; + :b :c7775; + :b :c7776; + :b :c7777; + :b :c7778; + :b :c7779; + :b :c7780; + :b :c7781; + :b :c7782; + :b :c7783; + :b :c7784; + :b :c7785; + :b :c7786; + :b :c7787; + :b :c7788; + :b :c7789; + :b :c7790; + :b :c7791; + :b :c7792; + :b :c7793; + :b :c7794; + :b :c7795; + :b :c7796; + :b :c7797; + :b :c7798; + :b :c7799; + :b :c7800; + :b :c7801; + :b :c7802; + :b :c7803; + :b :c7804; + :b :c7805; + :b :c7806; + :b :c7807; + :b :c7808; + :b :c7809; + :b :c7810; + :b :c7811; + :b :c7812; + :b :c7813; + :b :c7814; + :b :c7815; + :b :c7816; + :b :c7817; + :b :c7818; + :b :c7819; + :b :c7820; + :b :c7821; + :b :c7822; + :b :c7823; + :b :c7824; + :b :c7825; + :b :c7826; + :b :c7827; + :b :c7828; + :b :c7829; + :b :c7830; + :b :c7831; + :b :c7832; + :b :c7833; + :b :c7834; + :b :c7835; + :b :c7836; + :b :c7837; + :b :c7838; + :b :c7839; + :b :c7840; + :b :c7841; + :b :c7842; + :b :c7843; + :b :c7844; + :b :c7845; + :b :c7846; + :b :c7847; + :b :c7848; + :b :c7849; + :b :c7850; + :b :c7851; + :b :c7852; + :b :c7853; + :b :c7854; + :b :c7855; + :b :c7856; + :b :c7857; + :b :c7858; + :b :c7859; + :b :c7860; + :b :c7861; + :b :c7862; + :b :c7863; + :b :c7864; + :b :c7865; + :b :c7866; + :b :c7867; + :b :c7868; + :b :c7869; + :b :c7870; + :b :c7871; + :b :c7872; + :b :c7873; + :b :c7874; + :b :c7875; + :b :c7876; + :b :c7877; + :b :c7878; + :b :c7879; + :b :c7880; + :b :c7881; + :b :c7882; + :b :c7883; + :b :c7884; + :b :c7885; + :b :c7886; + :b :c7887; + :b :c7888; + :b :c7889; + :b :c7890; + :b :c7891; + :b :c7892; + :b :c7893; + :b :c7894; + :b :c7895; + :b :c7896; + :b :c7897; + :b :c7898; + :b :c7899; + :b :c7900; + :b :c7901; + :b :c7902; + :b :c7903; + :b :c7904; + :b :c7905; + :b :c7906; + :b :c7907; + :b :c7908; + :b :c7909; + :b :c7910; + :b :c7911; + :b :c7912; + :b :c7913; + :b :c7914; + :b :c7915; + :b :c7916; + :b :c7917; + :b :c7918; + :b :c7919; + :b :c7920; + :b :c7921; + :b :c7922; + :b :c7923; + :b :c7924; + :b :c7925; + :b :c7926; + :b :c7927; + :b :c7928; + :b :c7929; + :b :c7930; + :b :c7931; + :b :c7932; + :b :c7933; + :b :c7934; + :b :c7935; + :b :c7936; + :b :c7937; + :b :c7938; + :b :c7939; + :b :c7940; + :b :c7941; + :b :c7942; + :b :c7943; + :b :c7944; + :b :c7945; + :b :c7946; + :b :c7947; + :b :c7948; + :b :c7949; + :b :c7950; + :b :c7951; + :b :c7952; + :b :c7953; + :b :c7954; + :b :c7955; + :b :c7956; + :b :c7957; + :b :c7958; + :b :c7959; + :b :c7960; + :b :c7961; + :b :c7962; + :b :c7963; + :b :c7964; + :b :c7965; + :b :c7966; + :b :c7967; + :b :c7968; + :b :c7969; + :b :c7970; + :b :c7971; + :b :c7972; + :b :c7973; + :b :c7974; + :b :c7975; + :b :c7976; + :b :c7977; + :b :c7978; + :b :c7979; + :b :c7980; + :b :c7981; + :b :c7982; + :b :c7983; + :b :c7984; + :b :c7985; + :b :c7986; + :b :c7987; + :b :c7988; + :b :c7989; + :b :c7990; + :b :c7991; + :b :c7992; + :b :c7993; + :b :c7994; + :b :c7995; + :b :c7996; + :b :c7997; + :b :c7998; + :b :c7999; + :b :c8000; + :b :c8001; + :b :c8002; + :b :c8003; + :b :c8004; + :b :c8005; + :b :c8006; + :b :c8007; + :b :c8008; + :b :c8009; + :b :c8010; + :b :c8011; + :b :c8012; + :b :c8013; + :b :c8014; + :b :c8015; + :b :c8016; + :b :c8017; + :b :c8018; + :b :c8019; + :b :c8020; + :b :c8021; + :b :c8022; + :b :c8023; + :b :c8024; + :b :c8025; + :b :c8026; + :b :c8027; + :b :c8028; + :b :c8029; + :b :c8030; + :b :c8031; + :b :c8032; + :b :c8033; + :b :c8034; + :b :c8035; + :b :c8036; + :b :c8037; + :b :c8038; + :b :c8039; + :b :c8040; + :b :c8041; + :b :c8042; + :b :c8043; + :b :c8044; + :b :c8045; + :b :c8046; + :b :c8047; + :b :c8048; + :b :c8049; + :b :c8050; + :b :c8051; + :b :c8052; + :b :c8053; + :b :c8054; + :b :c8055; + :b :c8056; + :b :c8057; + :b :c8058; + :b :c8059; + :b :c8060; + :b :c8061; + :b :c8062; + :b :c8063; + :b :c8064; + :b :c8065; + :b :c8066; + :b :c8067; + :b :c8068; + :b :c8069; + :b :c8070; + :b :c8071; + :b :c8072; + :b :c8073; + :b :c8074; + :b :c8075; + :b :c8076; + :b :c8077; + :b :c8078; + :b :c8079; + :b :c8080; + :b :c8081; + :b :c8082; + :b :c8083; + :b :c8084; + :b :c8085; + :b :c8086; + :b :c8087; + :b :c8088; + :b :c8089; + :b :c8090; + :b :c8091; + :b :c8092; + :b :c8093; + :b :c8094; + :b :c8095; + :b :c8096; + :b :c8097; + :b :c8098; + :b :c8099; + :b :c8100; + :b :c8101; + :b :c8102; + :b :c8103; + :b :c8104; + :b :c8105; + :b :c8106; + :b :c8107; + :b :c8108; + :b :c8109; + :b :c8110; + :b :c8111; + :b :c8112; + :b :c8113; + :b :c8114; + :b :c8115; + :b :c8116; + :b :c8117; + :b :c8118; + :b :c8119; + :b :c8120; + :b :c8121; + :b :c8122; + :b :c8123; + :b :c8124; + :b :c8125; + :b :c8126; + :b :c8127; + :b :c8128; + :b :c8129; + :b :c8130; + :b :c8131; + :b :c8132; + :b :c8133; + :b :c8134; + :b :c8135; + :b :c8136; + :b :c8137; + :b :c8138; + :b :c8139; + :b :c8140; + :b :c8141; + :b :c8142; + :b :c8143; + :b :c8144; + :b :c8145; + :b :c8146; + :b :c8147; + :b :c8148; + :b :c8149; + :b :c8150; + :b :c8151; + :b :c8152; + :b :c8153; + :b :c8154; + :b :c8155; + :b :c8156; + :b :c8157; + :b :c8158; + :b :c8159; + :b :c8160; + :b :c8161; + :b :c8162; + :b :c8163; + :b :c8164; + :b :c8165; + :b :c8166; + :b :c8167; + :b :c8168; + :b :c8169; + :b :c8170; + :b :c8171; + :b :c8172; + :b :c8173; + :b :c8174; + :b :c8175; + :b :c8176; + :b :c8177; + :b :c8178; + :b :c8179; + :b :c8180; + :b :c8181; + :b :c8182; + :b :c8183; + :b :c8184; + :b :c8185; + :b :c8186; + :b :c8187; + :b :c8188; + :b :c8189; + :b :c8190; + :b :c8191; + :b :c8192; + :b :c8193; + :b :c8194; + :b :c8195; + :b :c8196; + :b :c8197; + :b :c8198; + :b :c8199; + :b :c8200; + :b :c8201; + :b :c8202; + :b :c8203; + :b :c8204; + :b :c8205; + :b :c8206; + :b :c8207; + :b :c8208; + :b :c8209; + :b :c8210; + :b :c8211; + :b :c8212; + :b :c8213; + :b :c8214; + :b :c8215; + :b :c8216; + :b :c8217; + :b :c8218; + :b :c8219; + :b :c8220; + :b :c8221; + :b :c8222; + :b :c8223; + :b :c8224; + :b :c8225; + :b :c8226; + :b :c8227; + :b :c8228; + :b :c8229; + :b :c8230; + :b :c8231; + :b :c8232; + :b :c8233; + :b :c8234; + :b :c8235; + :b :c8236; + :b :c8237; + :b :c8238; + :b :c8239; + :b :c8240; + :b :c8241; + :b :c8242; + :b :c8243; + :b :c8244; + :b :c8245; + :b :c8246; + :b :c8247; + :b :c8248; + :b :c8249; + :b :c8250; + :b :c8251; + :b :c8252; + :b :c8253; + :b :c8254; + :b :c8255; + :b :c8256; + :b :c8257; + :b :c8258; + :b :c8259; + :b :c8260; + :b :c8261; + :b :c8262; + :b :c8263; + :b :c8264; + :b :c8265; + :b :c8266; + :b :c8267; + :b :c8268; + :b :c8269; + :b :c8270; + :b :c8271; + :b :c8272; + :b :c8273; + :b :c8274; + :b :c8275; + :b :c8276; + :b :c8277; + :b :c8278; + :b :c8279; + :b :c8280; + :b :c8281; + :b :c8282; + :b :c8283; + :b :c8284; + :b :c8285; + :b :c8286; + :b :c8287; + :b :c8288; + :b :c8289; + :b :c8290; + :b :c8291; + :b :c8292; + :b :c8293; + :b :c8294; + :b :c8295; + :b :c8296; + :b :c8297; + :b :c8298; + :b :c8299; + :b :c8300; + :b :c8301; + :b :c8302; + :b :c8303; + :b :c8304; + :b :c8305; + :b :c8306; + :b :c8307; + :b :c8308; + :b :c8309; + :b :c8310; + :b :c8311; + :b :c8312; + :b :c8313; + :b :c8314; + :b :c8315; + :b :c8316; + :b :c8317; + :b :c8318; + :b :c8319; + :b :c8320; + :b :c8321; + :b :c8322; + :b :c8323; + :b :c8324; + :b :c8325; + :b :c8326; + :b :c8327; + :b :c8328; + :b :c8329; + :b :c8330; + :b :c8331; + :b :c8332; + :b :c8333; + :b :c8334; + :b :c8335; + :b :c8336; + :b :c8337; + :b :c8338; + :b :c8339; + :b :c8340; + :b :c8341; + :b :c8342; + :b :c8343; + :b :c8344; + :b :c8345; + :b :c8346; + :b :c8347; + :b :c8348; + :b :c8349; + :b :c8350; + :b :c8351; + :b :c8352; + :b :c8353; + :b :c8354; + :b :c8355; + :b :c8356; + :b :c8357; + :b :c8358; + :b :c8359; + :b :c8360; + :b :c8361; + :b :c8362; + :b :c8363; + :b :c8364; + :b :c8365; + :b :c8366; + :b :c8367; + :b :c8368; + :b :c8369; + :b :c8370; + :b :c8371; + :b :c8372; + :b :c8373; + :b :c8374; + :b :c8375; + :b :c8376; + :b :c8377; + :b :c8378; + :b :c8379; + :b :c8380; + :b :c8381; + :b :c8382; + :b :c8383; + :b :c8384; + :b :c8385; + :b :c8386; + :b :c8387; + :b :c8388; + :b :c8389; + :b :c8390; + :b :c8391; + :b :c8392; + :b :c8393; + :b :c8394; + :b :c8395; + :b :c8396; + :b :c8397; + :b :c8398; + :b :c8399; + :b :c8400; + :b :c8401; + :b :c8402; + :b :c8403; + :b :c8404; + :b :c8405; + :b :c8406; + :b :c8407; + :b :c8408; + :b :c8409; + :b :c8410; + :b :c8411; + :b :c8412; + :b :c8413; + :b :c8414; + :b :c8415; + :b :c8416; + :b :c8417; + :b :c8418; + :b :c8419; + :b :c8420; + :b :c8421; + :b :c8422; + :b :c8423; + :b :c8424; + :b :c8425; + :b :c8426; + :b :c8427; + :b :c8428; + :b :c8429; + :b :c8430; + :b :c8431; + :b :c8432; + :b :c8433; + :b :c8434; + :b :c8435; + :b :c8436; + :b :c8437; + :b :c8438; + :b :c8439; + :b :c8440; + :b :c8441; + :b :c8442; + :b :c8443; + :b :c8444; + :b :c8445; + :b :c8446; + :b :c8447; + :b :c8448; + :b :c8449; + :b :c8450; + :b :c8451; + :b :c8452; + :b :c8453; + :b :c8454; + :b :c8455; + :b :c8456; + :b :c8457; + :b :c8458; + :b :c8459; + :b :c8460; + :b :c8461; + :b :c8462; + :b :c8463; + :b :c8464; + :b :c8465; + :b :c8466; + :b :c8467; + :b :c8468; + :b :c8469; + :b :c8470; + :b :c8471; + :b :c8472; + :b :c8473; + :b :c8474; + :b :c8475; + :b :c8476; + :b :c8477; + :b :c8478; + :b :c8479; + :b :c8480; + :b :c8481; + :b :c8482; + :b :c8483; + :b :c8484; + :b :c8485; + :b :c8486; + :b :c8487; + :b :c8488; + :b :c8489; + :b :c8490; + :b :c8491; + :b :c8492; + :b :c8493; + :b :c8494; + :b :c8495; + :b :c8496; + :b :c8497; + :b :c8498; + :b :c8499; + :b :c8500; + :b :c8501; + :b :c8502; + :b :c8503; + :b :c8504; + :b :c8505; + :b :c8506; + :b :c8507; + :b :c8508; + :b :c8509; + :b :c8510; + :b :c8511; + :b :c8512; + :b :c8513; + :b :c8514; + :b :c8515; + :b :c8516; + :b :c8517; + :b :c8518; + :b :c8519; + :b :c8520; + :b :c8521; + :b :c8522; + :b :c8523; + :b :c8524; + :b :c8525; + :b :c8526; + :b :c8527; + :b :c8528; + :b :c8529; + :b :c8530; + :b :c8531; + :b :c8532; + :b :c8533; + :b :c8534; + :b :c8535; + :b :c8536; + :b :c8537; + :b :c8538; + :b :c8539; + :b :c8540; + :b :c8541; + :b :c8542; + :b :c8543; + :b :c8544; + :b :c8545; + :b :c8546; + :b :c8547; + :b :c8548; + :b :c8549; + :b :c8550; + :b :c8551; + :b :c8552; + :b :c8553; + :b :c8554; + :b :c8555; + :b :c8556; + :b :c8557; + :b :c8558; + :b :c8559; + :b :c8560; + :b :c8561; + :b :c8562; + :b :c8563; + :b :c8564; + :b :c8565; + :b :c8566; + :b :c8567; + :b :c8568; + :b :c8569; + :b :c8570; + :b :c8571; + :b :c8572; + :b :c8573; + :b :c8574; + :b :c8575; + :b :c8576; + :b :c8577; + :b :c8578; + :b :c8579; + :b :c8580; + :b :c8581; + :b :c8582; + :b :c8583; + :b :c8584; + :b :c8585; + :b :c8586; + :b :c8587; + :b :c8588; + :b :c8589; + :b :c8590; + :b :c8591; + :b :c8592; + :b :c8593; + :b :c8594; + :b :c8595; + :b :c8596; + :b :c8597; + :b :c8598; + :b :c8599; + :b :c8600; + :b :c8601; + :b :c8602; + :b :c8603; + :b :c8604; + :b :c8605; + :b :c8606; + :b :c8607; + :b :c8608; + :b :c8609; + :b :c8610; + :b :c8611; + :b :c8612; + :b :c8613; + :b :c8614; + :b :c8615; + :b :c8616; + :b :c8617; + :b :c8618; + :b :c8619; + :b :c8620; + :b :c8621; + :b :c8622; + :b :c8623; + :b :c8624; + :b :c8625; + :b :c8626; + :b :c8627; + :b :c8628; + :b :c8629; + :b :c8630; + :b :c8631; + :b :c8632; + :b :c8633; + :b :c8634; + :b :c8635; + :b :c8636; + :b :c8637; + :b :c8638; + :b :c8639; + :b :c8640; + :b :c8641; + :b :c8642; + :b :c8643; + :b :c8644; + :b :c8645; + :b :c8646; + :b :c8647; + :b :c8648; + :b :c8649; + :b :c8650; + :b :c8651; + :b :c8652; + :b :c8653; + :b :c8654; + :b :c8655; + :b :c8656; + :b :c8657; + :b :c8658; + :b :c8659; + :b :c8660; + :b :c8661; + :b :c8662; + :b :c8663; + :b :c8664; + :b :c8665; + :b :c8666; + :b :c8667; + :b :c8668; + :b :c8669; + :b :c8670; + :b :c8671; + :b :c8672; + :b :c8673; + :b :c8674; + :b :c8675; + :b :c8676; + :b :c8677; + :b :c8678; + :b :c8679; + :b :c8680; + :b :c8681; + :b :c8682; + :b :c8683; + :b :c8684; + :b :c8685; + :b :c8686; + :b :c8687; + :b :c8688; + :b :c8689; + :b :c8690; + :b :c8691; + :b :c8692; + :b :c8693; + :b :c8694; + :b :c8695; + :b :c8696; + :b :c8697; + :b :c8698; + :b :c8699; + :b :c8700; + :b :c8701; + :b :c8702; + :b :c8703; + :b :c8704; + :b :c8705; + :b :c8706; + :b :c8707; + :b :c8708; + :b :c8709; + :b :c8710; + :b :c8711; + :b :c8712; + :b :c8713; + :b :c8714; + :b :c8715; + :b :c8716; + :b :c8717; + :b :c8718; + :b :c8719; + :b :c8720; + :b :c8721; + :b :c8722; + :b :c8723; + :b :c8724; + :b :c8725; + :b :c8726; + :b :c8727; + :b :c8728; + :b :c8729; + :b :c8730; + :b :c8731; + :b :c8732; + :b :c8733; + :b :c8734; + :b :c8735; + :b :c8736; + :b :c8737; + :b :c8738; + :b :c8739; + :b :c8740; + :b :c8741; + :b :c8742; + :b :c8743; + :b :c8744; + :b :c8745; + :b :c8746; + :b :c8747; + :b :c8748; + :b :c8749; + :b :c8750; + :b :c8751; + :b :c8752; + :b :c8753; + :b :c8754; + :b :c8755; + :b :c8756; + :b :c8757; + :b :c8758; + :b :c8759; + :b :c8760; + :b :c8761; + :b :c8762; + :b :c8763; + :b :c8764; + :b :c8765; + :b :c8766; + :b :c8767; + :b :c8768; + :b :c8769; + :b :c8770; + :b :c8771; + :b :c8772; + :b :c8773; + :b :c8774; + :b :c8775; + :b :c8776; + :b :c8777; + :b :c8778; + :b :c8779; + :b :c8780; + :b :c8781; + :b :c8782; + :b :c8783; + :b :c8784; + :b :c8785; + :b :c8786; + :b :c8787; + :b :c8788; + :b :c8789; + :b :c8790; + :b :c8791; + :b :c8792; + :b :c8793; + :b :c8794; + :b :c8795; + :b :c8796; + :b :c8797; + :b :c8798; + :b :c8799; + :b :c8800; + :b :c8801; + :b :c8802; + :b :c8803; + :b :c8804; + :b :c8805; + :b :c8806; + :b :c8807; + :b :c8808; + :b :c8809; + :b :c8810; + :b :c8811; + :b :c8812; + :b :c8813; + :b :c8814; + :b :c8815; + :b :c8816; + :b :c8817; + :b :c8818; + :b :c8819; + :b :c8820; + :b :c8821; + :b :c8822; + :b :c8823; + :b :c8824; + :b :c8825; + :b :c8826; + :b :c8827; + :b :c8828; + :b :c8829; + :b :c8830; + :b :c8831; + :b :c8832; + :b :c8833; + :b :c8834; + :b :c8835; + :b :c8836; + :b :c8837; + :b :c8838; + :b :c8839; + :b :c8840; + :b :c8841; + :b :c8842; + :b :c8843; + :b :c8844; + :b :c8845; + :b :c8846; + :b :c8847; + :b :c8848; + :b :c8849; + :b :c8850; + :b :c8851; + :b :c8852; + :b :c8853; + :b :c8854; + :b :c8855; + :b :c8856; + :b :c8857; + :b :c8858; + :b :c8859; + :b :c8860; + :b :c8861; + :b :c8862; + :b :c8863; + :b :c8864; + :b :c8865; + :b :c8866; + :b :c8867; + :b :c8868; + :b :c8869; + :b :c8870; + :b :c8871; + :b :c8872; + :b :c8873; + :b :c8874; + :b :c8875; + :b :c8876; + :b :c8877; + :b :c8878; + :b :c8879; + :b :c8880; + :b :c8881; + :b :c8882; + :b :c8883; + :b :c8884; + :b :c8885; + :b :c8886; + :b :c8887; + :b :c8888; + :b :c8889; + :b :c8890; + :b :c8891; + :b :c8892; + :b :c8893; + :b :c8894; + :b :c8895; + :b :c8896; + :b :c8897; + :b :c8898; + :b :c8899; + :b :c8900; + :b :c8901; + :b :c8902; + :b :c8903; + :b :c8904; + :b :c8905; + :b :c8906; + :b :c8907; + :b :c8908; + :b :c8909; + :b :c8910; + :b :c8911; + :b :c8912; + :b :c8913; + :b :c8914; + :b :c8915; + :b :c8916; + :b :c8917; + :b :c8918; + :b :c8919; + :b :c8920; + :b :c8921; + :b :c8922; + :b :c8923; + :b :c8924; + :b :c8925; + :b :c8926; + :b :c8927; + :b :c8928; + :b :c8929; + :b :c8930; + :b :c8931; + :b :c8932; + :b :c8933; + :b :c8934; + :b :c8935; + :b :c8936; + :b :c8937; + :b :c8938; + :b :c8939; + :b :c8940; + :b :c8941; + :b :c8942; + :b :c8943; + :b :c8944; + :b :c8945; + :b :c8946; + :b :c8947; + :b :c8948; + :b :c8949; + :b :c8950; + :b :c8951; + :b :c8952; + :b :c8953; + :b :c8954; + :b :c8955; + :b :c8956; + :b :c8957; + :b :c8958; + :b :c8959; + :b :c8960; + :b :c8961; + :b :c8962; + :b :c8963; + :b :c8964; + :b :c8965; + :b :c8966; + :b :c8967; + :b :c8968; + :b :c8969; + :b :c8970; + :b :c8971; + :b :c8972; + :b :c8973; + :b :c8974; + :b :c8975; + :b :c8976; + :b :c8977; + :b :c8978; + :b :c8979; + :b :c8980; + :b :c8981; + :b :c8982; + :b :c8983; + :b :c8984; + :b :c8985; + :b :c8986; + :b :c8987; + :b :c8988; + :b :c8989; + :b :c8990; + :b :c8991; + :b :c8992; + :b :c8993; + :b :c8994; + :b :c8995; + :b :c8996; + :b :c8997; + :b :c8998; + :b :c8999; + :b :c9000; + :b :c9001; + :b :c9002; + :b :c9003; + :b :c9004; + :b :c9005; + :b :c9006; + :b :c9007; + :b :c9008; + :b :c9009; + :b :c9010; + :b :c9011; + :b :c9012; + :b :c9013; + :b :c9014; + :b :c9015; + :b :c9016; + :b :c9017; + :b :c9018; + :b :c9019; + :b :c9020; + :b :c9021; + :b :c9022; + :b :c9023; + :b :c9024; + :b :c9025; + :b :c9026; + :b :c9027; + :b :c9028; + :b :c9029; + :b :c9030; + :b :c9031; + :b :c9032; + :b :c9033; + :b :c9034; + :b :c9035; + :b :c9036; + :b :c9037; + :b :c9038; + :b :c9039; + :b :c9040; + :b :c9041; + :b :c9042; + :b :c9043; + :b :c9044; + :b :c9045; + :b :c9046; + :b :c9047; + :b :c9048; + :b :c9049; + :b :c9050; + :b :c9051; + :b :c9052; + :b :c9053; + :b :c9054; + :b :c9055; + :b :c9056; + :b :c9057; + :b :c9058; + :b :c9059; + :b :c9060; + :b :c9061; + :b :c9062; + :b :c9063; + :b :c9064; + :b :c9065; + :b :c9066; + :b :c9067; + :b :c9068; + :b :c9069; + :b :c9070; + :b :c9071; + :b :c9072; + :b :c9073; + :b :c9074; + :b :c9075; + :b :c9076; + :b :c9077; + :b :c9078; + :b :c9079; + :b :c9080; + :b :c9081; + :b :c9082; + :b :c9083; + :b :c9084; + :b :c9085; + :b :c9086; + :b :c9087; + :b :c9088; + :b :c9089; + :b :c9090; + :b :c9091; + :b :c9092; + :b :c9093; + :b :c9094; + :b :c9095; + :b :c9096; + :b :c9097; + :b :c9098; + :b :c9099; + :b :c9100; + :b :c9101; + :b :c9102; + :b :c9103; + :b :c9104; + :b :c9105; + :b :c9106; + :b :c9107; + :b :c9108; + :b :c9109; + :b :c9110; + :b :c9111; + :b :c9112; + :b :c9113; + :b :c9114; + :b :c9115; + :b :c9116; + :b :c9117; + :b :c9118; + :b :c9119; + :b :c9120; + :b :c9121; + :b :c9122; + :b :c9123; + :b :c9124; + :b :c9125; + :b :c9126; + :b :c9127; + :b :c9128; + :b :c9129; + :b :c9130; + :b :c9131; + :b :c9132; + :b :c9133; + :b :c9134; + :b :c9135; + :b :c9136; + :b :c9137; + :b :c9138; + :b :c9139; + :b :c9140; + :b :c9141; + :b :c9142; + :b :c9143; + :b :c9144; + :b :c9145; + :b :c9146; + :b :c9147; + :b :c9148; + :b :c9149; + :b :c9150; + :b :c9151; + :b :c9152; + :b :c9153; + :b :c9154; + :b :c9155; + :b :c9156; + :b :c9157; + :b :c9158; + :b :c9159; + :b :c9160; + :b :c9161; + :b :c9162; + :b :c9163; + :b :c9164; + :b :c9165; + :b :c9166; + :b :c9167; + :b :c9168; + :b :c9169; + :b :c9170; + :b :c9171; + :b :c9172; + :b :c9173; + :b :c9174; + :b :c9175; + :b :c9176; + :b :c9177; + :b :c9178; + :b :c9179; + :b :c9180; + :b :c9181; + :b :c9182; + :b :c9183; + :b :c9184; + :b :c9185; + :b :c9186; + :b :c9187; + :b :c9188; + :b :c9189; + :b :c9190; + :b :c9191; + :b :c9192; + :b :c9193; + :b :c9194; + :b :c9195; + :b :c9196; + :b :c9197; + :b :c9198; + :b :c9199; + :b :c9200; + :b :c9201; + :b :c9202; + :b :c9203; + :b :c9204; + :b :c9205; + :b :c9206; + :b :c9207; + :b :c9208; + :b :c9209; + :b :c9210; + :b :c9211; + :b :c9212; + :b :c9213; + :b :c9214; + :b :c9215; + :b :c9216; + :b :c9217; + :b :c9218; + :b :c9219; + :b :c9220; + :b :c9221; + :b :c9222; + :b :c9223; + :b :c9224; + :b :c9225; + :b :c9226; + :b :c9227; + :b :c9228; + :b :c9229; + :b :c9230; + :b :c9231; + :b :c9232; + :b :c9233; + :b :c9234; + :b :c9235; + :b :c9236; + :b :c9237; + :b :c9238; + :b :c9239; + :b :c9240; + :b :c9241; + :b :c9242; + :b :c9243; + :b :c9244; + :b :c9245; + :b :c9246; + :b :c9247; + :b :c9248; + :b :c9249; + :b :c9250; + :b :c9251; + :b :c9252; + :b :c9253; + :b :c9254; + :b :c9255; + :b :c9256; + :b :c9257; + :b :c9258; + :b :c9259; + :b :c9260; + :b :c9261; + :b :c9262; + :b :c9263; + :b :c9264; + :b :c9265; + :b :c9266; + :b :c9267; + :b :c9268; + :b :c9269; + :b :c9270; + :b :c9271; + :b :c9272; + :b :c9273; + :b :c9274; + :b :c9275; + :b :c9276; + :b :c9277; + :b :c9278; + :b :c9279; + :b :c9280; + :b :c9281; + :b :c9282; + :b :c9283; + :b :c9284; + :b :c9285; + :b :c9286; + :b :c9287; + :b :c9288; + :b :c9289; + :b :c9290; + :b :c9291; + :b :c9292; + :b :c9293; + :b :c9294; + :b :c9295; + :b :c9296; + :b :c9297; + :b :c9298; + :b :c9299; + :b :c9300; + :b :c9301; + :b :c9302; + :b :c9303; + :b :c9304; + :b :c9305; + :b :c9306; + :b :c9307; + :b :c9308; + :b :c9309; + :b :c9310; + :b :c9311; + :b :c9312; + :b :c9313; + :b :c9314; + :b :c9315; + :b :c9316; + :b :c9317; + :b :c9318; + :b :c9319; + :b :c9320; + :b :c9321; + :b :c9322; + :b :c9323; + :b :c9324; + :b :c9325; + :b :c9326; + :b :c9327; + :b :c9328; + :b :c9329; + :b :c9330; + :b :c9331; + :b :c9332; + :b :c9333; + :b :c9334; + :b :c9335; + :b :c9336; + :b :c9337; + :b :c9338; + :b :c9339; + :b :c9340; + :b :c9341; + :b :c9342; + :b :c9343; + :b :c9344; + :b :c9345; + :b :c9346; + :b :c9347; + :b :c9348; + :b :c9349; + :b :c9350; + :b :c9351; + :b :c9352; + :b :c9353; + :b :c9354; + :b :c9355; + :b :c9356; + :b :c9357; + :b :c9358; + :b :c9359; + :b :c9360; + :b :c9361; + :b :c9362; + :b :c9363; + :b :c9364; + :b :c9365; + :b :c9366; + :b :c9367; + :b :c9368; + :b :c9369; + :b :c9370; + :b :c9371; + :b :c9372; + :b :c9373; + :b :c9374; + :b :c9375; + :b :c9376; + :b :c9377; + :b :c9378; + :b :c9379; + :b :c9380; + :b :c9381; + :b :c9382; + :b :c9383; + :b :c9384; + :b :c9385; + :b :c9386; + :b :c9387; + :b :c9388; + :b :c9389; + :b :c9390; + :b :c9391; + :b :c9392; + :b :c9393; + :b :c9394; + :b :c9395; + :b :c9396; + :b :c9397; + :b :c9398; + :b :c9399; + :b :c9400; + :b :c9401; + :b :c9402; + :b :c9403; + :b :c9404; + :b :c9405; + :b :c9406; + :b :c9407; + :b :c9408; + :b :c9409; + :b :c9410; + :b :c9411; + :b :c9412; + :b :c9413; + :b :c9414; + :b :c9415; + :b :c9416; + :b :c9417; + :b :c9418; + :b :c9419; + :b :c9420; + :b :c9421; + :b :c9422; + :b :c9423; + :b :c9424; + :b :c9425; + :b :c9426; + :b :c9427; + :b :c9428; + :b :c9429; + :b :c9430; + :b :c9431; + :b :c9432; + :b :c9433; + :b :c9434; + :b :c9435; + :b :c9436; + :b :c9437; + :b :c9438; + :b :c9439; + :b :c9440; + :b :c9441; + :b :c9442; + :b :c9443; + :b :c9444; + :b :c9445; + :b :c9446; + :b :c9447; + :b :c9448; + :b :c9449; + :b :c9450; + :b :c9451; + :b :c9452; + :b :c9453; + :b :c9454; + :b :c9455; + :b :c9456; + :b :c9457; + :b :c9458; + :b :c9459; + :b :c9460; + :b :c9461; + :b :c9462; + :b :c9463; + :b :c9464; + :b :c9465; + :b :c9466; + :b :c9467; + :b :c9468; + :b :c9469; + :b :c9470; + :b :c9471; + :b :c9472; + :b :c9473; + :b :c9474; + :b :c9475; + :b :c9476; + :b :c9477; + :b :c9478; + :b :c9479; + :b :c9480; + :b :c9481; + :b :c9482; + :b :c9483; + :b :c9484; + :b :c9485; + :b :c9486; + :b :c9487; + :b :c9488; + :b :c9489; + :b :c9490; + :b :c9491; + :b :c9492; + :b :c9493; + :b :c9494; + :b :c9495; + :b :c9496; + :b :c9497; + :b :c9498; + :b :c9499; + :b :c9500; + :b :c9501; + :b :c9502; + :b :c9503; + :b :c9504; + :b :c9505; + :b :c9506; + :b :c9507; + :b :c9508; + :b :c9509; + :b :c9510; + :b :c9511; + :b :c9512; + :b :c9513; + :b :c9514; + :b :c9515; + :b :c9516; + :b :c9517; + :b :c9518; + :b :c9519; + :b :c9520; + :b :c9521; + :b :c9522; + :b :c9523; + :b :c9524; + :b :c9525; + :b :c9526; + :b :c9527; + :b :c9528; + :b :c9529; + :b :c9530; + :b :c9531; + :b :c9532; + :b :c9533; + :b :c9534; + :b :c9535; + :b :c9536; + :b :c9537; + :b :c9538; + :b :c9539; + :b :c9540; + :b :c9541; + :b :c9542; + :b :c9543; + :b :c9544; + :b :c9545; + :b :c9546; + :b :c9547; + :b :c9548; + :b :c9549; + :b :c9550; + :b :c9551; + :b :c9552; + :b :c9553; + :b :c9554; + :b :c9555; + :b :c9556; + :b :c9557; + :b :c9558; + :b :c9559; + :b :c9560; + :b :c9561; + :b :c9562; + :b :c9563; + :b :c9564; + :b :c9565; + :b :c9566; + :b :c9567; + :b :c9568; + :b :c9569; + :b :c9570; + :b :c9571; + :b :c9572; + :b :c9573; + :b :c9574; + :b :c9575; + :b :c9576; + :b :c9577; + :b :c9578; + :b :c9579; + :b :c9580; + :b :c9581; + :b :c9582; + :b :c9583; + :b :c9584; + :b :c9585; + :b :c9586; + :b :c9587; + :b :c9588; + :b :c9589; + :b :c9590; + :b :c9591; + :b :c9592; + :b :c9593; + :b :c9594; + :b :c9595; + :b :c9596; + :b :c9597; + :b :c9598; + :b :c9599; + :b :c9600; + :b :c9601; + :b :c9602; + :b :c9603; + :b :c9604; + :b :c9605; + :b :c9606; + :b :c9607; + :b :c9608; + :b :c9609; + :b :c9610; + :b :c9611; + :b :c9612; + :b :c9613; + :b :c9614; + :b :c9615; + :b :c9616; + :b :c9617; + :b :c9618; + :b :c9619; + :b :c9620; + :b :c9621; + :b :c9622; + :b :c9623; + :b :c9624; + :b :c9625; + :b :c9626; + :b :c9627; + :b :c9628; + :b :c9629; + :b :c9630; + :b :c9631; + :b :c9632; + :b :c9633; + :b :c9634; + :b :c9635; + :b :c9636; + :b :c9637; + :b :c9638; + :b :c9639; + :b :c9640; + :b :c9641; + :b :c9642; + :b :c9643; + :b :c9644; + :b :c9645; + :b :c9646; + :b :c9647; + :b :c9648; + :b :c9649; + :b :c9650; + :b :c9651; + :b :c9652; + :b :c9653; + :b :c9654; + :b :c9655; + :b :c9656; + :b :c9657; + :b :c9658; + :b :c9659; + :b :c9660; + :b :c9661; + :b :c9662; + :b :c9663; + :b :c9664; + :b :c9665; + :b :c9666; + :b :c9667; + :b :c9668; + :b :c9669; + :b :c9670; + :b :c9671; + :b :c9672; + :b :c9673; + :b :c9674; + :b :c9675; + :b :c9676; + :b :c9677; + :b :c9678; + :b :c9679; + :b :c9680; + :b :c9681; + :b :c9682; + :b :c9683; + :b :c9684; + :b :c9685; + :b :c9686; + :b :c9687; + :b :c9688; + :b :c9689; + :b :c9690; + :b :c9691; + :b :c9692; + :b :c9693; + :b :c9694; + :b :c9695; + :b :c9696; + :b :c9697; + :b :c9698; + :b :c9699; + :b :c9700; + :b :c9701; + :b :c9702; + :b :c9703; + :b :c9704; + :b :c9705; + :b :c9706; + :b :c9707; + :b :c9708; + :b :c9709; + :b :c9710; + :b :c9711; + :b :c9712; + :b :c9713; + :b :c9714; + :b :c9715; + :b :c9716; + :b :c9717; + :b :c9718; + :b :c9719; + :b :c9720; + :b :c9721; + :b :c9722; + :b :c9723; + :b :c9724; + :b :c9725; + :b :c9726; + :b :c9727; + :b :c9728; + :b :c9729; + :b :c9730; + :b :c9731; + :b :c9732; + :b :c9733; + :b :c9734; + :b :c9735; + :b :c9736; + :b :c9737; + :b :c9738; + :b :c9739; + :b :c9740; + :b :c9741; + :b :c9742; + :b :c9743; + :b :c9744; + :b :c9745; + :b :c9746; + :b :c9747; + :b :c9748; + :b :c9749; + :b :c9750; + :b :c9751; + :b :c9752; + :b :c9753; + :b :c9754; + :b :c9755; + :b :c9756; + :b :c9757; + :b :c9758; + :b :c9759; + :b :c9760; + :b :c9761; + :b :c9762; + :b :c9763; + :b :c9764; + :b :c9765; + :b :c9766; + :b :c9767; + :b :c9768; + :b :c9769; + :b :c9770; + :b :c9771; + :b :c9772; + :b :c9773; + :b :c9774; + :b :c9775; + :b :c9776; + :b :c9777; + :b :c9778; + :b :c9779; + :b :c9780; + :b :c9781; + :b :c9782; + :b :c9783; + :b :c9784; + :b :c9785; + :b :c9786; + :b :c9787; + :b :c9788; + :b :c9789; + :b :c9790; + :b :c9791; + :b :c9792; + :b :c9793; + :b :c9794; + :b :c9795; + :b :c9796; + :b :c9797; + :b :c9798; + :b :c9799; + :b :c9800; + :b :c9801; + :b :c9802; + :b :c9803; + :b :c9804; + :b :c9805; + :b :c9806; + :b :c9807; + :b :c9808; + :b :c9809; + :b :c9810; + :b :c9811; + :b :c9812; + :b :c9813; + :b :c9814; + :b :c9815; + :b :c9816; + :b :c9817; + :b :c9818; + :b :c9819; + :b :c9820; + :b :c9821; + :b :c9822; + :b :c9823; + :b :c9824; + :b :c9825; + :b :c9826; + :b :c9827; + :b :c9828; + :b :c9829; + :b :c9830; + :b :c9831; + :b :c9832; + :b :c9833; + :b :c9834; + :b :c9835; + :b :c9836; + :b :c9837; + :b :c9838; + :b :c9839; + :b :c9840; + :b :c9841; + :b :c9842; + :b :c9843; + :b :c9844; + :b :c9845; + :b :c9846; + :b :c9847; + :b :c9848; + :b :c9849; + :b :c9850; + :b :c9851; + :b :c9852; + :b :c9853; + :b :c9854; + :b :c9855; + :b :c9856; + :b :c9857; + :b :c9858; + :b :c9859; + :b :c9860; + :b :c9861; + :b :c9862; + :b :c9863; + :b :c9864; + :b :c9865; + :b :c9866; + :b :c9867; + :b :c9868; + :b :c9869; + :b :c9870; + :b :c9871; + :b :c9872; + :b :c9873; + :b :c9874; + :b :c9875; + :b :c9876; + :b :c9877; + :b :c9878; + :b :c9879; + :b :c9880; + :b :c9881; + :b :c9882; + :b :c9883; + :b :c9884; + :b :c9885; + :b :c9886; + :b :c9887; + :b :c9888; + :b :c9889; + :b :c9890; + :b :c9891; + :b :c9892; + :b :c9893; + :b :c9894; + :b :c9895; + :b :c9896; + :b :c9897; + :b :c9898; + :b :c9899; + :b :c9900; + :b :c9901; + :b :c9902; + :b :c9903; + :b :c9904; + :b :c9905; + :b :c9906; + :b :c9907; + :b :c9908; + :b :c9909; + :b :c9910; + :b :c9911; + :b :c9912; + :b :c9913; + :b :c9914; + :b :c9915; + :b :c9916; + :b :c9917; + :b :c9918; + :b :c9919; + :b :c9920; + :b :c9921; + :b :c9922; + :b :c9923; + :b :c9924; + :b :c9925; + :b :c9926; + :b :c9927; + :b :c9928; + :b :c9929; + :b :c9930; + :b :c9931; + :b :c9932; + :b :c9933; + :b :c9934; + :b :c9935; + :b :c9936; + :b :c9937; + :b :c9938; + :b :c9939; + :b :c9940; + :b :c9941; + :b :c9942; + :b :c9943; + :b :c9944; + :b :c9945; + :b :c9946; + :b :c9947; + :b :c9948; + :b :c9949; + :b :c9950; + :b :c9951; + :b :c9952; + :b :c9953; + :b :c9954; + :b :c9955; + :b :c9956; + :b :c9957; + :b :c9958; + :b :c9959; + :b :c9960; + :b :c9961; + :b :c9962; + :b :c9963; + :b :c9964; + :b :c9965; + :b :c9966; + :b :c9967; + :b :c9968; + :b :c9969; + :b :c9970; + :b :c9971; + :b :c9972; + :b :c9973; + :b :c9974; + :b :c9975; + :b :c9976; + :b :c9977; + :b :c9978; + :b :c9979; + :b :c9980; + :b :c9981; + :b :c9982; + :b :c9983; + :b :c9984; + :b :c9985; + :b :c9986; + :b :c9987; + :b :c9988; + :b :c9989; + :b :c9990; + :b :c9991; + :b :c9992; + :b :c9993; + :b :c9994; + :b :c9995; + :b :c9996; + :b :c9997; + :b :c9998; + :b :c9999; + :b :c10000 . diff --git a/test/good/test-18.nt b/test/good/test-18.nt new file mode 100644 index 00000000..4ff4b95b --- /dev/null +++ b/test/good/test-18.nt @@ -0,0 +1,2 @@ + "\nthis \ris a \U00015678long\t\nliteral\uABCD\n" . + "\tThis \uABCDis\r \U00015678another\n\none\n" . diff --git a/test/good/test-18.ttl b/test/good/test-18.ttl new file mode 100644 index 00000000..1adfa451 --- /dev/null +++ b/test/good/test-18.ttl @@ -0,0 +1,9 @@ +@prefix : . + +:a :b """\nthis \ris a \U00015678long\t +literal\uABCD +""" . + +:d :e """\tThis \uABCDis\r \U00015678another\n +one +""" . diff --git a/test/good/test-30.nt b/test/good/test-30.nt new file mode 100644 index 00000000..f400cba6 --- /dev/null +++ b/test/good/test-30.nt @@ -0,0 +1,5 @@ + . + . + . + . + . diff --git a/test/good/test-30.ttl b/test/good/test-30.ttl new file mode 100644 index 00000000..9aff060f --- /dev/null +++ b/test/good/test-30.ttl @@ -0,0 +1,12 @@ +# In-scope base URI is http://drobilla.net/sw/serd/test/good/ at this point + . +@base . +# In-scope base URI is http://example.org/ns/ at this point + . +@base . +# In-scope base URI is http://example.org/ns/foo/ at this point + . +@prefix : . +:a4 :b4 :c4 . +@prefix : . +:a5 :b5 :c5 . diff --git a/test/good/test-a-without-whitespace.nt b/test/good/test-a-without-whitespace.nt new file mode 100644 index 00000000..27c5e7da --- /dev/null +++ b/test/good/test-a-without-whitespace.nt @@ -0,0 +1,6 @@ +_:b1 . +_:b2 _:b3 . +_:b4 . + . + _:b5 . + . diff --git a/test/good/test-a-without-whitespace.ttl b/test/good/test-a-without-whitespace.ttl new file mode 100644 index 00000000..2d6db000 --- /dev/null +++ b/test/good/test-a-without-whitespace.ttl @@ -0,0 +1,6 @@ +[a]. +[a[]]. +[a()]. +a. +a[]. +a(). diff --git a/test/good/test-backspace.nt b/test/good/test-backspace.nt new file mode 100644 index 00000000..3dfffa38 --- /dev/null +++ b/test/good/test-backspace.nt @@ -0,0 +1,3 @@ + "\u0008" . + "\u0008" . + "\n\u0008\n" . diff --git a/test/good/test-backspace.ttl b/test/good/test-backspace.ttl new file mode 100644 index 00000000..1e33ba95 --- /dev/null +++ b/test/good/test-backspace.ttl @@ -0,0 +1,5 @@ + "\u0008" . + "" . + """ + +""" . \ No newline at end of file diff --git a/test/good/test-base-nopath.nt b/test/good/test-base-nopath.nt new file mode 100644 index 00000000..8628a30b --- /dev/null +++ b/test/good/test-base-nopath.nt @@ -0,0 +1 @@ + . diff --git a/test/good/test-base-nopath.ttl b/test/good/test-base-nopath.ttl new file mode 100644 index 00000000..8735936a --- /dev/null +++ b/test/good/test-base-nopath.ttl @@ -0,0 +1,3 @@ +@base . + +

. diff --git a/test/good/test-base-query.nt b/test/good/test-base-query.nt new file mode 100644 index 00000000..d40c2f6b --- /dev/null +++ b/test/good/test-base-query.nt @@ -0,0 +1 @@ + . diff --git a/test/good/test-base-query.ttl b/test/good/test-base-query.ttl new file mode 100644 index 00000000..77638817 --- /dev/null +++ b/test/good/test-base-query.ttl @@ -0,0 +1,3 @@ +@base . + +<> a . \ No newline at end of file diff --git a/test/good/test-blank-cont.nt b/test/good/test-blank-cont.nt new file mode 100644 index 00000000..a4b44e7d --- /dev/null +++ b/test/good/test-blank-cont.nt @@ -0,0 +1,4 @@ + _:b1 . +_:b1 . + _:b2 . +_:b2 . diff --git a/test/good/test-blank-cont.ttl b/test/good/test-blank-cont.ttl new file mode 100644 index 00000000..b161cdc4 --- /dev/null +++ b/test/good/test-blank-cont.ttl @@ -0,0 +1,4 @@ +@prefix : . + +:subj :pred [ a :FirstThing ] ; + :pred [ a :SecondThing ] . diff --git a/test/good/test-blank-in-list.nt b/test/good/test-blank-in-list.nt new file mode 100644 index 00000000..36bac6d7 --- /dev/null +++ b/test/good/test-blank-in-list.nt @@ -0,0 +1,4 @@ + _:b1 . +_:b1 _:b2 . +_:b2 . +_:b1 . diff --git a/test/good/test-blank-in-list.ttl b/test/good/test-blank-in-list.ttl new file mode 100644 index 00000000..5c0b0766 --- /dev/null +++ b/test/good/test-blank-in-list.ttl @@ -0,0 +1,2 @@ +@prefix : . +:a :b ( [ :c :d ] ) . diff --git a/test/good/test-blank-node-statement.nt b/test/good/test-blank-node-statement.nt new file mode 100644 index 00000000..3280b28d --- /dev/null +++ b/test/good/test-blank-node-statement.nt @@ -0,0 +1 @@ +_:b1 . diff --git a/test/good/test-blank-node-statement.ttl b/test/good/test-blank-node-statement.ttl new file mode 100644 index 00000000..c84f8487 --- /dev/null +++ b/test/good/test-blank-node-statement.ttl @@ -0,0 +1,3 @@ +[ + +] . diff --git a/test/good/test-blankdot.nt b/test/good/test-blankdot.nt new file mode 100644 index 00000000..9d4b769b --- /dev/null +++ b/test/good/test-blankdot.nt @@ -0,0 +1 @@ + _:c . diff --git a/test/good/test-blankdot.ttl b/test/good/test-blankdot.ttl new file mode 100644 index 00000000..a6ee7234 --- /dev/null +++ b/test/good/test-blankdot.ttl @@ -0,0 +1 @@ + _:c. diff --git a/test/good/test-bom.nt b/test/good/test-bom.nt new file mode 100644 index 00000000..aea1655b --- /dev/null +++ b/test/good/test-bom.nt @@ -0,0 +1 @@ + . diff --git a/test/good/test-bom.ttl b/test/good/test-bom.ttl new file mode 100644 index 00000000..8d6534e1 --- /dev/null +++ b/test/good/test-bom.ttl @@ -0,0 +1,3 @@ +# This file starts with a UTF-8 Byte Order Mark + + a . \ No newline at end of file diff --git a/test/good/test-cr.nt b/test/good/test-cr.nt new file mode 100644 index 00000000..aea1655b --- /dev/null +++ b/test/good/test-cr.nt @@ -0,0 +1 @@ + . diff --git a/test/good/test-cr.ttl b/test/good/test-cr.ttl new file mode 100644 index 00000000..5410648a --- /dev/null +++ b/test/good/test-cr.ttl @@ -0,0 +1,2 @@ +#Test a . + diff --git a/test/good/test-delete.nt b/test/good/test-delete.nt new file mode 100644 index 00000000..41ac8062 --- /dev/null +++ b/test/good/test-delete.nt @@ -0,0 +1,2 @@ + "\u007F" . + "\u007F" . diff --git a/test/good/test-delete.ttl b/test/good/test-delete.ttl new file mode 100644 index 00000000..4bc97060 --- /dev/null +++ b/test/good/test-delete.ttl @@ -0,0 +1,2 @@ + "\u007F" . + "" . diff --git a/test/good/test-digit-start-pname.nt b/test/good/test-digit-start-pname.nt new file mode 100644 index 00000000..66eab7db --- /dev/null +++ b/test/good/test-digit-start-pname.nt @@ -0,0 +1 @@ + . diff --git a/test/good/test-digit-start-pname.ttl b/test/good/test-digit-start-pname.ttl new file mode 100644 index 00000000..6ca8ade8 --- /dev/null +++ b/test/good/test-digit-start-pname.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +eg:1thing a eg:Thing . \ No newline at end of file diff --git a/test/good/test-empty-path-base.nt b/test/good/test-empty-path-base.nt new file mode 100644 index 00000000..9ad50617 --- /dev/null +++ b/test/good/test-empty-path-base.nt @@ -0,0 +1 @@ + . diff --git a/test/good/test-empty-path-base.ttl b/test/good/test-empty-path-base.ttl new file mode 100644 index 00000000..8410553a --- /dev/null +++ b/test/good/test-empty-path-base.ttl @@ -0,0 +1,3 @@ +@base . + + a . diff --git a/test/good/test-empty.nt b/test/good/test-empty.nt new file mode 100644 index 00000000..e69de29b diff --git a/test/good/test-empty.ttl b/test/good/test-empty.ttl new file mode 100644 index 00000000..e69de29b diff --git a/test/good/test-eof-at-page-end.nt b/test/good/test-eof-at-page-end.nt new file mode 100644 index 00000000..64d24586 --- /dev/null +++ b/test/good/test-eof-at-page-end.nt @@ -0,0 +1 @@ + "\n0123456789012345678901234567890123456789\n\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567" . diff --git a/test/good/test-eof-at-page-end.ttl b/test/good/test-eof-at-page-end.ttl new file mode 100644 index 00000000..d6d9af26 --- /dev/null +++ b/test/good/test-eof-at-page-end.ttl @@ -0,0 +1,85 @@ + """ +0123456789012345678901234567890123456789 + +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 + +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 + +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 + +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567""" . \ No newline at end of file diff --git a/test/good/test-escapes.nt b/test/good/test-escapes.nt new file mode 100644 index 00000000..e30222e7 --- /dev/null +++ b/test/good/test-escapes.nt @@ -0,0 +1,2 @@ + "\\\r\n\t" . + . diff --git a/test/good/test-escapes.ttl b/test/good/test-escapes.ttl new file mode 100644 index 00000000..e30222e7 --- /dev/null +++ b/test/good/test-escapes.ttl @@ -0,0 +1,2 @@ + "\\\r\n\t" . + . diff --git a/test/good/test-ext-namedblank-iri.nt b/test/good/test-ext-namedblank-iri.nt new file mode 100644 index 00000000..26075a73 --- /dev/null +++ b/test/good/test-ext-namedblank-iri.nt @@ -0,0 +1,2 @@ + . + "o" . diff --git a/test/good/test-ext-namedblank-iri.ttl b/test/good/test-ext-namedblank-iri.ttl new file mode 100644 index 00000000..28fb32ab --- /dev/null +++ b/test/good/test-ext-namedblank-iri.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +eg:s eg:p [ == ; eg:name "o" ] . diff --git a/test/good/test-ext-namedblank-prefix.nt b/test/good/test-ext-namedblank-prefix.nt new file mode 100644 index 00000000..9a2710fb --- /dev/null +++ b/test/good/test-ext-namedblank-prefix.nt @@ -0,0 +1,2 @@ + . + "o" . diff --git a/test/good/test-ext-namedblank-prefix.ttl b/test/good/test-ext-namedblank-prefix.ttl new file mode 100644 index 00000000..7de79655 --- /dev/null +++ b/test/good/test-ext-namedblank-prefix.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +eg:s eg:p [ == eg:o ; eg:name "o" ] . diff --git a/test/good/test-form-feed.nt b/test/good/test-form-feed.nt new file mode 100644 index 00000000..05478971 --- /dev/null +++ b/test/good/test-form-feed.nt @@ -0,0 +1,2 @@ + "\u000C" . + "\u000C" . diff --git a/test/good/test-form-feed.ttl b/test/good/test-form-feed.ttl new file mode 100644 index 00000000..78921159 --- /dev/null +++ b/test/good/test-form-feed.ttl @@ -0,0 +1,2 @@ + "\u000C" . + " " . diff --git a/test/good/test-id.nt b/test/good/test-id.nt new file mode 100644 index 00000000..b4b11069 --- /dev/null +++ b/test/good/test-id.nt @@ -0,0 +1,2 @@ + _:b1 . +_:B1 . diff --git a/test/good/test-id.ttl b/test/good/test-id.ttl new file mode 100644 index 00000000..cfd0e9ca --- /dev/null +++ b/test/good/test-id.ttl @@ -0,0 +1,4 @@ +@prefix : . + +:c :d [] . +_:b1 :a :b . diff --git a/test/good/test-lang.nt b/test/good/test-lang.nt new file mode 100644 index 00000000..61daecb3 --- /dev/null +++ b/test/good/test-lang.nt @@ -0,0 +1,5 @@ + "Hello"@en . + "Howdy"@en-us . + "Bonjour"@fr . + "Guten Tag"@de-latn-de . + "HEY MAN"@en-crazy0place . diff --git a/test/good/test-lang.ttl b/test/good/test-lang.ttl new file mode 100644 index 00000000..b0616475 --- /dev/null +++ b/test/good/test-lang.ttl @@ -0,0 +1,7 @@ +@prefix : . + +:thing :greeting "Hello"@en ; + :greeting "Howdy"@en-us ; + :greeting "Bonjour"@fr ; + :greeting "Guten Tag"@de-latn-de ; + :greeting "HEY MAN"@en-crazy0place . diff --git a/test/good/test-list-in-blank.nt b/test/good/test-list-in-blank.nt new file mode 100644 index 00000000..108363f2 --- /dev/null +++ b/test/good/test-list-in-blank.nt @@ -0,0 +1,6 @@ + _:b1 . +_:b1 _:b2 . +_:b2 "apple" . +_:b2 _:b3 . +_:b3 "banana" . +_:b3 . diff --git a/test/good/test-list-in-blank.ttl b/test/good/test-list-in-blank.ttl new file mode 100644 index 00000000..bdf75fce --- /dev/null +++ b/test/good/test-list-in-blank.ttl @@ -0,0 +1,2 @@ +@prefix : . +:a :b [ :c ( "apple" "banana" ) ] . diff --git a/test/good/test-list-subject.nt b/test/good/test-list-subject.nt new file mode 100644 index 00000000..e4f9c40c --- /dev/null +++ b/test/good/test-list-subject.nt @@ -0,0 +1,6 @@ + . +_:b1 "apple" . +_:b1 _:b2 . +_:b2 "banana" . +_:b2 . +_:b1 . diff --git a/test/good/test-list-subject.ttl b/test/good/test-list-subject.ttl new file mode 100644 index 00000000..5cd81dfb --- /dev/null +++ b/test/good/test-list-subject.ttl @@ -0,0 +1,2 @@ +() a . +("apple" "banana") a . diff --git a/test/good/test-list.nt b/test/good/test-list.nt new file mode 100644 index 00000000..3a27a5a6 --- /dev/null +++ b/test/good/test-list.nt @@ -0,0 +1 @@ + . diff --git a/test/good/test-list.ttl b/test/good/test-list.ttl new file mode 100644 index 00000000..7f4c7699 --- /dev/null +++ b/test/good/test-list.ttl @@ -0,0 +1 @@ +() a . \ No newline at end of file diff --git a/test/good/test-local-name-ends-with-dot.ttl b/test/good/test-local-name-ends-with-dot.ttl new file mode 100644 index 00000000..e426876d --- /dev/null +++ b/test/good/test-local-name-ends-with-dot.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +eg:s eg:p eg:foo\. . diff --git a/test/good/test-long-string.nt b/test/good/test-long-string.nt new file mode 100644 index 00000000..ba6be49c --- /dev/null +++ b/test/good/test-long-string.nt @@ -0,0 +1 @@ + "This is a\nlong string\nwith\n tabs\nand spaces." . diff --git a/test/good/test-long-string.ttl b/test/good/test-long-string.ttl new file mode 100644 index 00000000..7da44b4b --- /dev/null +++ b/test/good/test-long-string.ttl @@ -0,0 +1,7 @@ +@prefix : . + +:thing :greeting """This is a +long string +with + tabs +and spaces.""" . \ No newline at end of file diff --git a/test/good/test-no-spaces.nt b/test/good/test-no-spaces.nt new file mode 100644 index 00000000..3619a5f0 --- /dev/null +++ b/test/good/test-no-spaces.nt @@ -0,0 +1,4 @@ + . + . + . + . diff --git a/test/good/test-no-spaces.ttl b/test/good/test-no-spaces.ttl new file mode 100644 index 00000000..88171e71 --- /dev/null +++ b/test/good/test-no-spaces.ttl @@ -0,0 +1,3 @@ +@prefix eg: . +eg:s eg:p eg:o;eg:p2 eg:o2,eg:o3 . +eg:s a . \ No newline at end of file diff --git a/test/good/test-non-curie-uri.nt b/test/good/test-non-curie-uri.nt new file mode 100644 index 00000000..502a8754 --- /dev/null +++ b/test/good/test-non-curie-uri.nt @@ -0,0 +1 @@ + . diff --git a/test/good/test-non-curie-uri.ttl b/test/good/test-non-curie-uri.ttl new file mode 100644 index 00000000..40734514 --- /dev/null +++ b/test/good/test-non-curie-uri.ttl @@ -0,0 +1,3 @@ +@prefix eg: . + +eg:s eg:p . diff --git a/test/good/test-num.nt b/test/good/test-num.nt new file mode 100644 index 00000000..54263d46 --- /dev/null +++ b/test/good/test-num.nt @@ -0,0 +1,10 @@ + "0.1"^^ . + "+0.2"^^ . + "-0.3"^^ . + ".4"^^ . + "+.5"^^ . + "-.6"^^ . + "1.58490e-05"^^ . + "1.58490e+05"^^ . + "1.58490e05"^^ . + "1.58490E05"^^ . diff --git a/test/good/test-num.ttl b/test/good/test-num.ttl new file mode 100644 index 00000000..68ad290b --- /dev/null +++ b/test/good/test-num.ttl @@ -0,0 +1,12 @@ +@prefix eg: . + +eg:thing eg:num 0.1 . +eg:thing eg:num +0.2 . +eg:thing eg:num -0.3 . +eg:thing eg:num .4 . +eg:thing eg:num +.5 . +eg:thing eg:num -.6 . +eg:thing eg:num 1.58490e-05 . +eg:thing eg:num 1.58490e+05 . +eg:thing eg:num 1.58490e05 . +eg:thing eg:num 1.58490E05 . diff --git a/test/good/test-out-of-range-unicode.nt b/test/good/test-out-of-range-unicode.nt new file mode 100644 index 00000000..5def9e31 --- /dev/null +++ b/test/good/test-out-of-range-unicode.nt @@ -0,0 +1 @@ + "\uFFFD" . diff --git a/test/good/test-out-of-range-unicode.ttl b/test/good/test-out-of-range-unicode.ttl new file mode 100644 index 00000000..7e64785a --- /dev/null +++ b/test/good/test-out-of-range-unicode.ttl @@ -0,0 +1 @@ + "\U00110000" . diff --git a/test/good/test-prefix.nt b/test/good/test-prefix.nt new file mode 100644 index 00000000..bcfdd4b6 --- /dev/null +++ b/test/good/test-prefix.nt @@ -0,0 +1,6 @@ + . + . + . + . + . + . diff --git a/test/good/test-prefix.ttl b/test/good/test-prefix.ttl new file mode 100644 index 00000000..f79896cb --- /dev/null +++ b/test/good/test-prefix.ttl @@ -0,0 +1,8 @@ +@prefix eg: . + + a . + a . + a . + a . + a . + a . diff --git a/test/good/test-pretty.nt b/test/good/test-pretty.nt new file mode 100644 index 00000000..9251563a --- /dev/null +++ b/test/good/test-pretty.nt @@ -0,0 +1,46 @@ + . +_:b1 . + . +_:b2 _:b3 . +_:b4 "apple" . +_:b4 _:b5 . +_:b5 "banana" . +_:b5 _:b6 . +_:b6 "pear" . +_:b6 . +_:b4 . +_:b7 _:b8 . +_:b8 . +_:b8 _:b9 . +_:b9 . +_:b9 . +_:b7 _:b10 . +_:b10 _:b11 . +_:b11 . +_:b11 _:b12 . +_:b12 . +_:b12 . +_:b10 . +_:b7 . +_:b13 _:b14 . +_:b14 "apple" . +_:b14 _:b15 . +_:b15 "banana" . +_:b15 _:b16 . +_:b16 "pear" . +_:b16 . +_:b17 . +_:b17 . +_:b17 . +_:b18 _:b19 . +_:b19 . +_:b19 . +_:b18 _:b20 . +_:b20 . +_:b21 _:b22 . +_:b22 _:b23 . +_:b23 . +_:b22 _:b24 . +_:b24 _:b25 . +_:b25 . +_:b24 . diff --git a/test/good/test-pretty.ttl b/test/good/test-pretty.ttl new file mode 100644 index 00000000..4eb7204f --- /dev/null +++ b/test/good/test-pretty.ttl @@ -0,0 +1,44 @@ +@prefix : . + +() :isA :List . + +[] :isA :Blank . + +() :sameAs () . + +[] :sameAs [] . + +( + "apple" + "banana" + "pear" +) a :List . + +( + (:a :b) + (:c :d) +) a :List . + +[] + :list ( + "apple" + "banana" + "pear" + ) . + +[] + :a :b , :c , :d . + +[] + :a [ + :b :c ; + :d :e ; + ] , [ + :f :g + ] . + +[] + :list ( + [ a :Apple ] + [ a :Banana ] + ) . \ No newline at end of file diff --git a/test/good/test-rel.nt b/test/good/test-rel.nt new file mode 100644 index 00000000..343ce19c --- /dev/null +++ b/test/good/test-rel.nt @@ -0,0 +1,6 @@ + . + . + . + . + . + . diff --git a/test/good/test-rel.ttl b/test/good/test-rel.ttl new file mode 100644 index 00000000..4752be70 --- /dev/null +++ b/test/good/test-rel.ttl @@ -0,0 +1,6 @@ + a . + a . + a . + a . + a . + a . diff --git a/test/good/test-semi-dot.nt b/test/good/test-semi-dot.nt new file mode 100644 index 00000000..aea1655b --- /dev/null +++ b/test/good/test-semi-dot.nt @@ -0,0 +1 @@ + . diff --git a/test/good/test-semi-dot.ttl b/test/good/test-semi-dot.ttl new file mode 100644 index 00000000..6d4b4146 --- /dev/null +++ b/test/good/test-semi-dot.ttl @@ -0,0 +1 @@ + a ; . \ No newline at end of file diff --git a/test/good/test-several-eaten-dots.nq b/test/good/test-several-eaten-dots.nq new file mode 100644 index 00000000..5cafa59f --- /dev/null +++ b/test/good/test-several-eaten-dots.nq @@ -0,0 +1,3 @@ + . + . + . diff --git a/test/good/test-several-eaten-dots.trig b/test/good/test-several-eaten-dots.trig new file mode 100644 index 00000000..bab135ed --- /dev/null +++ b/test/good/test-several-eaten-dots.trig @@ -0,0 +1,6 @@ +prefix : + +:g { + :s :p1 :o1. + :s :p1 :o2; :p2 :o3. +} \ No newline at end of file diff --git a/test/good/test-uri-escape.nt b/test/good/test-uri-escape.nt new file mode 100644 index 00000000..320e7c33 --- /dev/null +++ b/test/good/test-uri-escape.nt @@ -0,0 +1 @@ + . diff --git a/test/good/test-uri-escape.ttl b/test/good/test-uri-escape.ttl new file mode 100644 index 00000000..320e7c33 --- /dev/null +++ b/test/good/test-uri-escape.ttl @@ -0,0 +1 @@ + . diff --git a/test/good/test-uri.nt b/test/good/test-uri.nt new file mode 100644 index 00000000..1744963c --- /dev/null +++ b/test/good/test-uri.nt @@ -0,0 +1,48 @@ + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . diff --git a/test/good/test-uri.ttl b/test/good/test-uri.ttl new file mode 100644 index 00000000..b6a8d967 --- /dev/null +++ b/test/good/test-uri.ttl @@ -0,0 +1,71 @@ +# http://tools.ietf.org/html/rfc3986#section-5.4 + +@base . + +@prefix owl: . + +# 5.4.1. Normal Examples + owl:sameAs . + owl:sameAs . +<./g> owl:sameAs . + owl:sameAs . + owl:sameAs . + owl:sameAs . + owl:sameAs . + owl:sameAs . +<#s> owl:sameAs . + owl:sameAs . + owl:sameAs . +<;x> owl:sameAs . + owl:sameAs . + owl:sameAs . +<> owl:sameAs . +<.> owl:sameAs . +<./> owl:sameAs . +<..> owl:sameAs . +<../> owl:sameAs . +<../g> owl:sameAs . +<../..> owl:sameAs . +<../../> owl:sameAs . +<../../g> owl:sameAs . + +# 5.4.2. Abnormal Examples +<../../../g> owl:sameAs . +<../../../../g> owl:sameAs . + owl:sameAs . + owl:sameAs . + owl:sameAs . +<.g> owl:sameAs . + owl:sameAs . +<..g> owl:sameAs . +<./../g> owl:sameAs . +# Serd only resolves the leading components +#<./g/.> owl:sameAs . +# owl:sameAs . +# owl:sameAs . +# owl:sameAs . +# owl:sameAs . + owl:sameAs . + owl:sameAs . + owl:sameAs . + owl:sameAs . + +# Additional tests for Serd + owl:sameAs . + owl:sameAs . + owl:sameAs . + owl:sameAs . + owl:sameAs . +<#afragment> owl:sameAs . +<../../../../../../> owl:sameAs . + owl:sameAs . + owl:sameAs . + owl:sameAs . + +@base . + + owl:sameAs . + +@base . + + owl:sameAs . diff --git a/test/good/test-utf8-uri.nt b/test/good/test-utf8-uri.nt new file mode 100644 index 00000000..b8a73a88 --- /dev/null +++ b/test/good/test-utf8-uri.nt @@ -0,0 +1 @@ + . diff --git a/test/good/test-utf8-uri.ttl b/test/good/test-utf8-uri.ttl new file mode 100644 index 00000000..51f26ff2 --- /dev/null +++ b/test/good/test-utf8-uri.ttl @@ -0,0 +1 @@ + a . \ No newline at end of file diff --git a/test/lax/manifest.ttl b/test/lax/manifest.ttl new file mode 100644 index 00000000..e3b11ff4 --- /dev/null +++ b/test/lax/manifest.ttl @@ -0,0 +1,25 @@ +@prefix mf: . +@prefix rdf: . +@prefix rdfs: . +@prefix rdft: . + +<> + rdf:type mf:Manifest ; + rdfs:comment "Serd lax syntax test cases" ; + mf:entries ( + <#test-bad-uri> + <#test-bad-utf8> + ) . + +<#test-bad-uri> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "test-bad-uri" ; + mf:action ; + mf:result . + +<#test-bad-utf8> + rdf:type rdft:TestTurtleNegativeSyntax ; + mf:name "test-bad-utf8" ; + mf:action ; + mf:result . + diff --git a/test/lax/test-bad-uri.nt b/test/lax/test-bad-uri.nt new file mode 100644 index 00000000..7458e12a --- /dev/null +++ b/test/lax/test-bad-uri.nt @@ -0,0 +1,3 @@ + . + . + . diff --git a/test/lax/test-bad-uri.ttl b/test/lax/test-bad-uri.ttl new file mode 100644 index 00000000..8f11b1d7 --- /dev/null +++ b/test/lax/test-bad-uri.ttl @@ -0,0 +1,4 @@ + . + . + . + . diff --git a/test/lax/test-bad-utf8.nt b/test/lax/test-bad-utf8.nt new file mode 100644 index 00000000..09200e9d --- /dev/null +++ b/test/lax/test-bad-utf8.nt @@ -0,0 +1,6 @@ + "Impossible bytes: \uFFFD \uFFFD" . + "2 continuation bytes: \uFFFD" . + "Missing continuation: \uFFFD" . + "Impossible bytes: \uFFFD \uFFFD" . + "2 continuation bytes: \uFFFD" . + "Missing continuation: \uFFFD" . diff --git a/test/lax/test-bad-utf8.ttl b/test/lax/test-bad-utf8.ttl new file mode 100644 index 00000000..526a171f --- /dev/null +++ b/test/lax/test-bad-utf8.ttl @@ -0,0 +1,6 @@ + "Impossible bytes: " . + "2 continuation bytes: " . + "Missing continuation: " . + """Impossible bytes: """ . + """2 continuation bytes: """ . + """Missing continuation: """ . diff --git a/test/read_chunk_test.c b/test/read_chunk_test.c new file mode 100644 index 00000000..26165667 --- /dev/null +++ b/test/read_chunk_test.c @@ -0,0 +1,120 @@ +/* + Copyright 2018-2020 David Robillard + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#undef NDEBUG + +#include "serd/serd.h" + +#include +#include +#include + +static size_t n_base = 0; +static size_t n_prefix = 0; +static size_t n_statement = 0; +static size_t n_end = 0; + +static SerdStatus +on_base(void* handle, const SerdNode* uri) +{ + (void)handle; + (void)uri; + + ++n_base; + return SERD_SUCCESS; +} + +static SerdStatus +on_prefix(void* handle, const SerdNode* name, const SerdNode* uri) +{ + (void)handle; + (void)name; + (void)uri; + + ++n_prefix; + return SERD_SUCCESS; +} + +static SerdStatus +on_statement(void* handle, + SerdStatementFlags flags, + const SerdNode* graph, + const SerdNode* subject, + const SerdNode* predicate, + const SerdNode* object, + const SerdNode* object_datatype, + const SerdNode* object_lang) +{ + (void)handle; + (void)flags; + (void)graph; + (void)subject; + (void)predicate; + (void)object; + (void)object_datatype; + (void)object_lang; + + ++n_statement; + return SERD_SUCCESS; +} + +static SerdStatus +on_end(void* handle, const SerdNode* node) +{ + (void)handle; + (void)node; + + ++n_end; + return SERD_SUCCESS; +} + +int +main(void) +{ + FILE* file = tmpfile(); + + fprintf(file, + "@prefix eg: .\n" + "@base .\n" + "eg:s1 eg:p1 eg:o1 ;\n" + " eg:p2 eg:o2 ,\n" + " eg:o3 .\n" + "eg:s2 eg:p1 eg:o1 ;\n" + " eg:p2 eg:o2 .\n" + "eg:s3 eg:p1 eg:o1 .\n" + "eg:s4 eg:p1 [ eg:p3 eg:o1 ] .\n"); + + fseek(file, 0, SEEK_SET); + + SerdReader* reader = serd_reader_new( + SERD_TURTLE, NULL, NULL, on_base, on_prefix, on_statement, on_end); + assert(reader); + + assert(!serd_reader_start_stream(reader, file, NULL, true)); + + assert(!serd_reader_read_chunk(reader) && n_prefix == 1); + assert(!serd_reader_read_chunk(reader) && n_base == 1); + assert(!serd_reader_read_chunk(reader) && n_statement == 3); + assert(!serd_reader_read_chunk(reader) && n_statement == 5); + assert(!serd_reader_read_chunk(reader) && n_statement == 6); + assert(!serd_reader_read_chunk(reader) && n_statement == 8 && n_end == 1); + assert(serd_reader_read_chunk(reader) == SERD_FAILURE); + assert(serd_reader_read_chunk(reader) == SERD_FAILURE); + + serd_reader_free(reader); + fclose(file); + return 0; +} diff --git a/test/serd_test.c b/test/serd_test.c new file mode 100644 index 00000000..05fb0461 --- /dev/null +++ b/test/serd_test.c @@ -0,0 +1,664 @@ +/* + Copyright 2011-2020 David Robillard + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#undef NDEBUG + +#include "serd/serd.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#define USTR(s) ((const uint8_t*)(s)) + +#ifndef INFINITY +# define INFINITY (DBL_MAX + DBL_MAX) +#endif +#ifndef NAN +# define NAN (INFINITY - INFINITY) +#endif + +static void +test_strtod(double dbl, double max_delta) +{ + char buf[1024]; + snprintf(buf, sizeof(buf), "%f", dbl); + + char* endptr = NULL; + const double out = serd_strtod(buf, &endptr); + + const double diff = fabs(out - dbl); + assert(diff <= max_delta); +} + +typedef struct { + int n_statements; + const SerdNode* graph; +} ReaderTest; + +static SerdStatus +test_sink(void* handle, + SerdStatementFlags flags, + const SerdNode* graph, + const SerdNode* subject, + const SerdNode* predicate, + const SerdNode* object, + const SerdNode* object_datatype, + const SerdNode* object_lang) +{ + (void)flags; + (void)subject; + (void)predicate; + (void)object; + (void)object_datatype; + (void)object_lang; + + ReaderTest* rt = (ReaderTest*)handle; + ++rt->n_statements; + rt->graph = graph; + return SERD_SUCCESS; +} + +/// Returns EOF after a statement, then succeeds again (like a socket) +static size_t +eof_test_read(void* buf, size_t size, size_t nmemb, void* stream) +{ + assert(nmemb == 1); + + static const char* const string = "_:s1 _:o1 .\n" + "_:s2 _:o2 .\n"; + + size_t* count = (size_t*)stream; + if (*count == 34 || *count == 35 || *count + nmemb >= strlen(string)) { + ++*count; + return 0; + } + + memcpy((char*)buf, string + *count, size * nmemb); + *count += nmemb; + return nmemb; +} + +static int +eof_test_error(void* stream) +{ + (void)stream; + return 0; +} + +static void +test_file_uri(const char* hostname, + const char* path, + bool escape, + const char* expected_uri, + const char* expected_path) +{ + if (!expected_path) { + expected_path = path; + } + + SerdNode node = serd_node_new_file_uri( + USTR(path), USTR(hostname), 0, escape); + + uint8_t* out_hostname = NULL; + uint8_t* out_path = serd_file_uri_parse(node.buf, &out_hostname); + assert(!strcmp((const char*)node.buf, expected_uri)); + assert((hostname && out_hostname) || (!hostname && !out_hostname)); + assert(!strcmp((const char*)out_path, (const char*)expected_path)); + + serd_free(out_path); + serd_free(out_hostname); + serd_node_free(&node); +} + +static void +test_read_chunks(void) +{ + ReaderTest* const rt = (ReaderTest*)calloc(1, sizeof(ReaderTest)); + FILE* const f = tmpfile(); + static const char null = 0; + SerdReader* const reader = + serd_reader_new(SERD_TURTLE, rt, free, NULL, NULL, test_sink, NULL); + + assert(reader); + assert(serd_reader_get_handle(reader) == rt); + assert(f); + + SerdStatus st = serd_reader_start_stream(reader, f, NULL, false); + assert(st == SERD_SUCCESS); + + // Write two statement separated by null characters + fprintf(f, "@prefix eg: .\n"); + fprintf(f, "eg:s eg:p eg:o1 .\n"); + fwrite(&null, sizeof(null), 1, f); + fprintf(f, "eg:s eg:p eg:o2 .\n"); + fwrite(&null, sizeof(null), 1, f); + fseek(f, 0, SEEK_SET); + + // Read prefix + st = serd_reader_read_chunk(reader); + assert(st == SERD_SUCCESS); + assert(rt->n_statements == 0); + + // Read first statement + st = serd_reader_read_chunk(reader); + assert(st == SERD_SUCCESS); + assert(rt->n_statements == 1); + + // Read terminator + st = serd_reader_read_chunk(reader); + assert(st == SERD_FAILURE); + assert(rt->n_statements == 1); + + // Read second statement (after null terminator) + st = serd_reader_read_chunk(reader); + assert(st == SERD_SUCCESS); + assert(rt->n_statements == 2); + + // Read terminator + st = serd_reader_read_chunk(reader); + assert(st == SERD_FAILURE); + assert(rt->n_statements == 2); + + // EOF + st = serd_reader_read_chunk(reader); + assert(st == SERD_FAILURE); + assert(rt->n_statements == 2); + + serd_reader_free(reader); + fclose(f); +} + +static void +test_string_to_double(void) +{ + const double expt_test_nums[] = { + 2.0E18, -5e19, +8e20, 2e+24, -5e-5, 8e0, 9e-0, 2e+0 + }; + + const char* expt_test_strs[] = { + "02e18", "-5e019", "+8e20", "2E+24", "-5E-5", "8E0", "9e-0", " 2e+0" + }; + + for (size_t i = 0; i < sizeof(expt_test_nums) / sizeof(double); ++i) { + const double num = serd_strtod(expt_test_strs[i], NULL); + const double delta = fabs(num - expt_test_nums[i]); + assert(delta <= DBL_EPSILON); + + test_strtod(expt_test_nums[i], DBL_EPSILON); + } +} + +static void +test_double_to_node(void) +{ + const double dbl_test_nums[] = { + 0.0, 9.0, 10.0, .01, 2.05, -16.00001, 5.000000005, 0.0000000001, NAN, INFINITY + }; + + const char* dbl_test_strs[] = { + "0.0", "9.0", "10.0", "0.01", "2.05", "-16.00001", "5.00000001", "0.0", NULL, NULL + }; + + for (size_t i = 0; i < sizeof(dbl_test_nums) / sizeof(double); ++i) { + SerdNode node = serd_node_new_decimal(dbl_test_nums[i], 8); + const bool pass = (node.buf && dbl_test_strs[i]) + ? !strcmp((const char*)node.buf, dbl_test_strs[i]) + : ((const char*)node.buf == dbl_test_strs[i]); + assert(pass); + const size_t len = node.buf ? strlen((const char*)node.buf) : 0; + assert(node.n_bytes == len && node.n_chars == len); + serd_node_free(&node); + } +} + +static void +test_integer_to_node(void) +{ + const long int_test_nums[] = { + 0, -0, -23, 23, -12340, 1000, -1000 + }; + + const char* int_test_strs[] = { + "0", "0", "-23", "23", "-12340", "1000", "-1000" + }; + + for (size_t i = 0; i < sizeof(int_test_nums) / sizeof(double); ++i) { + SerdNode node = serd_node_new_integer(int_test_nums[i]); + assert(!strcmp((const char*)node.buf, (const char*)int_test_strs[i])); + const size_t len = strlen((const char*)node.buf); + assert(node.n_bytes == len && node.n_chars == len); + serd_node_free(&node); + } +} + +static void +test_blob_to_node(void) +{ + for (size_t size = 0; size < 256; ++size) { + uint8_t* data = size > 0 ? (uint8_t*)malloc(size) : NULL; + for (size_t i = 0; i < size; ++i) { + data[i] = (uint8_t)((size + i) % 256); + } + + SerdNode blob = serd_node_new_blob(data, size, size % 5); + + assert(blob.n_bytes == blob.n_chars); + assert(blob.n_bytes == strlen((const char*)blob.buf)); + + size_t out_size = 0; + uint8_t* out = (uint8_t*)serd_base64_decode( + blob.buf, blob.n_bytes, &out_size); + assert(out_size == size); + + for (size_t i = 0; i < size; ++i) { + assert(out[i] == data[i]); + } + + serd_node_free(&blob); + serd_free(out); + free(data); + } +} + +static void +test_strlen(void) +{ + const uint8_t str[] = { '"', '5', 0xE2, 0x82, 0xAC, '"', '\n', 0 }; + + size_t n_bytes = 0; + SerdNodeFlags flags = 0; + size_t len = serd_strlen(str, &n_bytes, &flags); + assert(len == 5 && n_bytes == 7 && + flags == (SERD_HAS_QUOTE | SERD_HAS_NEWLINE)); + len = serd_strlen(str, NULL, &flags); + assert(len == 5); + + assert(serd_strlen(str, &n_bytes, NULL) == 5); +} + +static void +test_strerror(void) +{ + const uint8_t* msg = serd_strerror(SERD_SUCCESS); + assert(!strcmp((const char*)msg, "Success")); + for (int i = SERD_FAILURE; i <= SERD_ERR_INTERNAL; ++i) { + msg = serd_strerror((SerdStatus)i); + assert(strcmp((const char*)msg, "Success")); + } + + msg = serd_strerror((SerdStatus)-1); + assert(!strcmp((const char*)msg, "Unknown error")); +} + +static void +test_uri_to_path(void) +{ + const uint8_t* uri = (const uint8_t*)"file:///home/user/foo.ttl"; + assert(!strcmp((const char*)serd_uri_to_path(uri), "/home/user/foo.ttl")); + + uri = (const uint8_t*)"file://localhost/home/user/foo.ttl"; + assert(!strcmp((const char*)serd_uri_to_path(uri), "/home/user/foo.ttl")); + + uri = (const uint8_t*)"file:illegal/file/uri"; + assert(!serd_uri_to_path(uri)); + + uri = (const uint8_t*)"file:///c:/awful/system"; + assert(!strcmp((const char*)serd_uri_to_path(uri), "c:/awful/system")); + + uri = (const uint8_t*)"file:///c:awful/system"; + assert(!strcmp((const char*)serd_uri_to_path(uri), "/c:awful/system")); + + uri = (const uint8_t*)"file:///0/1"; + assert(!strcmp((const char*)serd_uri_to_path(uri), "/0/1")); + + uri = (const uint8_t*)"C:\\Windows\\Sucks"; + assert(!strcmp((const char*)serd_uri_to_path(uri), "C:\\Windows\\Sucks")); + + uri = (const uint8_t*)"C|/Windows/Sucks"; + assert(!strcmp((const char*)serd_uri_to_path(uri), "C|/Windows/Sucks")); +} + +static void +test_uri_parsing(void) +{ + test_file_uri(NULL, "C:/My 100%", true, + "file:///C:/My%20100%%", NULL); + test_file_uri("ahost", "C:\\Pointless Space", true, + "file://ahost/C:/Pointless%20Space", "C:/Pointless Space"); + test_file_uri(NULL, "/foo/bar", true, + "file:///foo/bar", NULL); + test_file_uri("bhost", "/foo/bar", true, + "file://bhost/foo/bar", NULL); + test_file_uri(NULL, "a/relative path", false, + "a/relative path", NULL); + test_file_uri(NULL, "a/relative ", true, + "a/relative%20%3Cpath%3E", NULL); + + // Test tolerance of parsing junk URI escapes + + uint8_t* out_path = serd_file_uri_parse(USTR("file:///foo/%0Xbar"), NULL); + assert(!strcmp((const char*)out_path, "/foo/bar")); + serd_free(out_path); +} + +static void +test_node_equals(void) +{ + const uint8_t replacement_char_str[] = { 0xEF, 0xBF, 0xBD, 0 }; + SerdNode lhs = serd_node_from_string(SERD_LITERAL, replacement_char_str); + SerdNode rhs = serd_node_from_string(SERD_LITERAL, USTR("123")); + assert(!serd_node_equals(&lhs, &rhs)); + + SerdNode qnode = serd_node_from_string(SERD_CURIE, USTR("foo:bar")); + assert(!serd_node_equals(&lhs, &qnode)); + assert(serd_node_equals(&lhs, &lhs)); + + SerdNode null_copy = serd_node_copy(&SERD_NODE_NULL); + assert(serd_node_equals(&SERD_NODE_NULL, &null_copy)); +} + +static void +test_node_from_string(void) +{ + SerdNode node = serd_node_from_string(SERD_LITERAL, (const uint8_t*)"hello\""); + assert(node.n_bytes == 6 && node.n_chars == 6 && + node.flags == SERD_HAS_QUOTE && + !strcmp((const char*)node.buf, "hello\"")); + + node = serd_node_from_string(SERD_URI, NULL); + assert(serd_node_equals(&node, &SERD_NODE_NULL)); +} + +static void +test_node_from_substring(void) +{ + SerdNode empty = serd_node_from_substring(SERD_LITERAL, NULL, 32); + assert(!empty.buf && !empty.n_bytes && !empty.n_chars && !empty.flags && + !empty.type); + + SerdNode a_b = serd_node_from_substring(SERD_LITERAL, USTR("a\"bc"), 3); + assert(a_b.n_bytes == 3 && a_b.n_chars == 3 && + a_b.flags == SERD_HAS_QUOTE && + !strncmp((const char*)a_b.buf, "a\"b", 3)); + + a_b = serd_node_from_substring(SERD_LITERAL, USTR("a\"bc"), 10); + assert(a_b.n_bytes == 4 && a_b.n_chars == 4 && + a_b.flags == SERD_HAS_QUOTE && + !strncmp((const char*)a_b.buf, "a\"bc", 4)); +} + +static void +test_uri_from_string(void) +{ + SerdNode nonsense = serd_node_new_uri_from_string(NULL, NULL, NULL); + assert(nonsense.type == SERD_NOTHING); + + SerdURI base_uri; + SerdNode base = serd_node_new_uri_from_string(USTR("http://example.org/"), + NULL, &base_uri); + SerdNode nil = serd_node_new_uri_from_string(NULL, &base_uri, NULL); + SerdNode nil2 = serd_node_new_uri_from_string(USTR(""), &base_uri, NULL); + assert(nil.type == SERD_URI); + assert(!strcmp((const char*)nil.buf, (const char*)base.buf)); + assert(nil2.type == SERD_URI); + assert(!strcmp((const char*)nil2.buf, (const char*)base.buf)); + serd_node_free(&nil); + serd_node_free(&nil2); + + serd_node_free(&base); +} + +static void +test_relative_uri(void) +{ + SerdURI base_uri; + SerdNode base = serd_node_new_uri_from_string(USTR("http://example.org/"), + NULL, &base_uri); + + SerdNode abs = serd_node_from_string(SERD_URI, USTR("http://example.org/foo/bar")); + SerdURI abs_uri; + serd_uri_parse(abs.buf, &abs_uri); + + SerdURI rel_uri; + SerdNode rel = serd_node_new_relative_uri(&abs_uri, &base_uri, NULL, &rel_uri); + assert(!strcmp((const char*)rel.buf, "/foo/bar")); + + SerdNode up = serd_node_new_relative_uri(&base_uri, &abs_uri, NULL, NULL); + assert(!strcmp((const char*)up.buf, "../")); + + SerdNode noup = serd_node_new_relative_uri(&base_uri, &abs_uri, &abs_uri, NULL); + assert(!strcmp((const char*)noup.buf, "http://example.org/")); + + SerdNode x = serd_node_from_string(SERD_URI, USTR("http://example.org/foo/x")); + SerdURI x_uri; + serd_uri_parse(x.buf, &x_uri); + + SerdNode x_rel = serd_node_new_relative_uri(&x_uri, &abs_uri, &abs_uri, NULL); + assert(!strcmp((const char*)x_rel.buf, "x")); + + serd_node_free(&x_rel); + serd_node_free(&noup); + serd_node_free(&up); + serd_node_free(&rel); + serd_node_free(&base); +} + +static void +test_writer(const char* const path) +{ + FILE* fd = fopen(path, "wb"); + SerdEnv* env = serd_env_new(NULL); + assert(fd); + + SerdWriter* writer = serd_writer_new( + SERD_TURTLE, (SerdStyle)0, env, NULL, serd_file_sink, fd); + assert(writer); + + serd_writer_chop_blank_prefix(writer, USTR("tmp")); + serd_writer_chop_blank_prefix(writer, NULL); + + const SerdNode lit = serd_node_from_string(SERD_LITERAL, USTR("hello")); + + assert(serd_writer_set_base_uri(writer, &lit)); + assert(serd_writer_set_prefix(writer, &lit, &lit)); + assert(serd_writer_end_anon(writer, NULL)); + assert(serd_writer_get_env(writer) == env); + + uint8_t buf[] = { 0x80, 0, 0, 0, 0 }; + SerdNode s = serd_node_from_string(SERD_URI, USTR("")); + SerdNode p = serd_node_from_string(SERD_URI, USTR("http://example.org/pred")); + SerdNode o = serd_node_from_string(SERD_LITERAL, buf); + + // Write 3 invalid statements (should write nothing) + const SerdNode* junk[][5] = { { &s, &p, NULL, NULL, NULL }, + { &s, NULL, &o, NULL, NULL }, + { NULL, &p, &o, NULL, NULL }, + { &s, &p, &SERD_NODE_NULL, NULL, NULL }, + { &s, &SERD_NODE_NULL, &o, NULL, NULL }, + { &SERD_NODE_NULL, &p, &o, NULL, NULL }, + { &s, &o, &o, NULL, NULL }, + { &o, &p, &o, NULL, NULL }, + { &s, &p, &SERD_NODE_NULL, NULL, NULL }, + { NULL, NULL, NULL, NULL, NULL } }; + for (size_t i = 0; i < sizeof(junk) / (sizeof(SerdNode*) * 5); ++i) { + assert(serd_writer_write_statement( + writer, 0, NULL, + junk[i][0], junk[i][1], junk[i][2], junk[i][3], junk[i][4])); + } + + const SerdNode t = serd_node_from_string(SERD_URI, USTR("urn:Type")); + const SerdNode l = serd_node_from_string(SERD_LITERAL, USTR("en")); + const SerdNode* good[][5] = { { &s, &p, &o, NULL, NULL }, + { &s, &p, &o, &SERD_NODE_NULL, &SERD_NODE_NULL }, + { &s, &p, &o, &t, NULL }, + { &s, &p, &o, NULL, &l }, + { &s, &p, &o, &t, &l }, + { &s, &p, &o, &t, &SERD_NODE_NULL }, + { &s, &p, &o, &SERD_NODE_NULL, &l }, + { &s, &p, &o, NULL, &SERD_NODE_NULL }, + { &s, &p, &o, &SERD_NODE_NULL, NULL }, + { &s, &p, &o, &SERD_NODE_NULL, NULL } }; + for (size_t i = 0; i < sizeof(good) / (sizeof(SerdNode*) * 5); ++i) { + assert(!serd_writer_write_statement( + writer, 0, NULL, + good[i][0], good[i][1], good[i][2], good[i][3], good[i][4])); + } + + // Write statements with bad UTF-8 (should be replaced) + const uint8_t bad_str[] = { 0xFF, 0x90, 'h', 'i', 0 }; + SerdNode bad_lit = serd_node_from_string(SERD_LITERAL, bad_str); + SerdNode bad_uri = serd_node_from_string(SERD_URI, bad_str); + assert(!serd_writer_write_statement(writer, 0, NULL, + &s, &p, &bad_lit, NULL, NULL)); + assert(!serd_writer_write_statement(writer, 0, NULL, + &s, &p, &bad_uri, NULL, NULL)); + + // Write 1 valid statement + o = serd_node_from_string(SERD_LITERAL, USTR("hello")); + assert(!serd_writer_write_statement(writer, 0, NULL, + &s, &p, &o, NULL, NULL)); + + serd_writer_free(writer); + + // Test chunk sink + SerdChunk chunk = { NULL, 0 }; + writer = serd_writer_new( + SERD_TURTLE, (SerdStyle)0, env, NULL, serd_chunk_sink, &chunk); + + o = serd_node_from_string(SERD_URI, USTR("http://example.org/base")); + assert(!serd_writer_set_base_uri(writer, &o)); + + serd_writer_free(writer); + uint8_t* out = serd_chunk_sink_finish(&chunk); + + assert(!strcmp((const char*)out, "@base .\n")); + serd_free(out); + + // Test writing empty node + SerdNode nothing = serd_node_from_string(SERD_NOTHING, USTR("")); + FILE* const empty = tmpfile(); + + writer = serd_writer_new( + SERD_TURTLE, (SerdStyle)0, env, NULL, serd_file_sink, empty); + + // FIXME: error handling + serd_writer_write_statement(writer, 0, NULL, + &s, &p, ¬hing, NULL, NULL); + + assert((size_t)ftell(empty) == strlen("<>\n\t ")); + + serd_writer_free(writer); + fclose(empty); + + serd_env_free(env); + fclose(fd); +} + +static void +test_reader(const char* path) +{ + ReaderTest* rt = (ReaderTest*)calloc(1, sizeof(ReaderTest)); + SerdReader* reader = serd_reader_new( + SERD_TURTLE, rt, free, + NULL, NULL, test_sink, NULL); + assert(reader); + assert(serd_reader_get_handle(reader) == rt); + + SerdNode g = serd_node_from_string(SERD_URI, USTR("http://example.org/")); + serd_reader_set_default_graph(reader, &g); + serd_reader_add_blank_prefix(reader, USTR("tmp")); + serd_reader_add_blank_prefix(reader, NULL); + + assert(serd_reader_read_file(reader, USTR("http://notafile"))); + assert(serd_reader_read_file(reader, USTR("file:///better/not/exist"))); + assert(serd_reader_read_file(reader, USTR("file://"))); + + const SerdStatus st = serd_reader_read_file(reader, USTR(path)); + assert(!st); + assert(rt->n_statements == 13); + assert(rt->graph && rt->graph->buf && + !strcmp((const char*)rt->graph->buf, "http://example.org/")); + + assert(serd_reader_read_string(reader, USTR("This isn't Turtle at all."))); + + // A read of a big page hits EOF then fails to read chunks immediately + { + FILE* temp = tmpfile(); + assert(temp); + fprintf(temp, "_:s _:o .\n"); + fflush(temp); + fseek(temp, 0L, SEEK_SET); + + serd_reader_start_stream(reader, temp, NULL, true); + + assert(serd_reader_read_chunk(reader) == SERD_SUCCESS); + assert(serd_reader_read_chunk(reader) == SERD_FAILURE); + assert(serd_reader_read_chunk(reader) == SERD_FAILURE); + + serd_reader_end_stream(reader); + fclose(temp); + } + + // A byte-wise reader that hits EOF once then continues (like a socket) + { + size_t n_reads = 0; + serd_reader_start_source_stream(reader, + (SerdSource)eof_test_read, + (SerdStreamErrorFunc)eof_test_error, + &n_reads, + NULL, + 1); + + assert(serd_reader_read_chunk(reader) == SERD_SUCCESS); + assert(serd_reader_read_chunk(reader) == SERD_FAILURE); + assert(serd_reader_read_chunk(reader) == SERD_SUCCESS); + assert(serd_reader_read_chunk(reader) == SERD_FAILURE); + } + + serd_reader_free(reader); +} + +int +main(void) +{ + test_string_to_double(); + test_double_to_node(); + test_integer_to_node(); + test_blob_to_node(); + test_strlen(); + test_strerror(); + test_uri_to_path(); + test_uri_parsing(); + test_node_equals(); + test_node_from_string(); + test_node_from_substring(); + test_uri_from_string(); + test_relative_uri(); + test_read_chunks(); + + const char* const path = "serd_test.ttl"; + test_writer(path); + test_reader(path); + + printf("Success\n"); + return 0; +} -- cgit v1.2.1