Add tag-based Item constructors in Structured Headers for string-like values As well as overloads for `absl::string_view`. - Prevents accidental implicit conversions from `const char*` and `std::string` that silently defaulted to `kStringType` instead of requiring callers to choose the correct type explicitly, which is important for compliance with specifications using Structured Headers. - Guarantees at compile time that only valid string-like types are constructed, eliminating runtime `QUICHE_CHECK` assertions on the `ItemType` enum parameter. This contains no intentional observable behavioral changes. PiperOrigin-RevId: 978581202
diff --git a/quiche/common/structured_headers.cc b/quiche/common/structured_headers.cc index 78b7dfe..0653b5c 100644 --- a/quiche/common/structured_headers.cc +++ b/quiche/common/structured_headers.cc
@@ -382,9 +382,9 @@ size_t len = input_.find_first_not_of(version_ == kDraft09 ? kTokenChars09 : kTokenChars); if (len == absl::string_view::npos) len = input_.size(); - std::string token(input_.substr(0, len)); + absl::string_view token = input_.substr(0, len); input_.remove_prefix(len); - return Item(std::move(token), Item::kTokenType); + return Item(Item::token, token); } // Parses a Number ([SH09] 4.2.8, [RFC8941] 4.2.4). @@ -493,7 +493,7 @@ input_.remove_prefix(1); } } - return s; + return Item(Item::string, std::move(s)); } // Parses a Byte Sequence ([SH09] 4.2.11, [RFC8941] 4.2.7). @@ -531,7 +531,7 @@ } input_.remove_prefix(len); ConsumeChar(delimiter); - return Item(std::move(*binary), Item::kByteSequenceType); + return Item(Item::byte_sequence, *std::move(binary)); } // Parses a Boolean ([RFC8941] 4.2.8). @@ -815,13 +815,13 @@ Item::Item(std::string value, Item::ItemType type) { switch (type) { case kStringType: - value_.emplace<kStringType>(std::move(value)); + value_.emplace<std::string>(std::move(value)); break; case kTokenType: - value_.emplace<kTokenType>(std::move(value)); + value_.emplace<Token>(std::move(value)); break; case kByteSequenceType: - value_.emplace<kByteSequenceType>(std::move(value)); + value_.emplace<ByteSequence>(std::move(value)); break; default: QUICHE_CHECK(false); @@ -834,6 +834,21 @@ Item::Item(double value) : value_(value) {} Item::Item(bool value) : value_(value) {} +Item::Item(string_t, const char* value) : value_(std::string(value)) {} +Item::Item(string_t, absl::string_view value) : value_(std::string(value)) {} +Item::Item(string_t, std::string value) : value_(std::move(value)) {} + +Item::Item(token_t, const char* value) : value_(Token(value)) {} +Item::Item(token_t, absl::string_view value) + : value_(Token(std::string(value))) {} +Item::Item(token_t, std::string value) : value_(Token(std::move(value))) {} + +Item::Item(byte_sequence_t, const char* value) : value_(ByteSequence(value)) {} +Item::Item(byte_sequence_t, absl::string_view value) + : value_(ByteSequence(std::string(value))) {} +Item::Item(byte_sequence_t, std::string value) + : value_(ByteSequence(std::move(value))) {} + Item::Item(const Item&) = default; Item& Item::operator=(const Item&) = default; @@ -861,23 +876,23 @@ std::string* Item::GetIfString() { return std::get_if<std::string>(&value_); } const std::string* Item::GetIfToken() const { - const auto* token = std::get_if<Token>(&value_); - return token ? &token->value : nullptr; + const auto* wrapper = std::get_if<Token>(&value_); + return wrapper ? &wrapper->value : nullptr; } std::string* Item::GetIfToken() { - auto* token = std::get_if<Token>(&value_); - return token ? &token->value : nullptr; + auto* wrapper = std::get_if<Token>(&value_); + return wrapper ? &wrapper->value : nullptr; } const std::string* Item::GetIfByteSequence() const { - const auto* byte_sequence = std::get_if<ByteSequence>(&value_); - return byte_sequence ? &byte_sequence->value : nullptr; + const auto* wrapper = std::get_if<ByteSequence>(&value_); + return wrapper ? &wrapper->value : nullptr; } std::string* Item::GetIfByteSequence() { - auto* byte_sequence = std::get_if<ByteSequence>(&value_); - return byte_sequence ? &byte_sequence->value : nullptr; + auto* wrapper = std::get_if<ByteSequence>(&value_); + return wrapper ? &wrapper->value : nullptr; } const bool* Item::GetIfBoolean() const { return std::get_if<bool>(&value_); }
diff --git a/quiche/common/structured_headers.h b/quiche/common/structured_headers.h index efb9a2a..5483138 100644 --- a/quiche/common/structured_headers.h +++ b/quiche/common/structured_headers.h
@@ -70,12 +70,47 @@ kByteSequenceType, kBooleanType }; + + struct string_t { + constexpr explicit string_t() = default; + }; + inline static constexpr string_t string; + + struct token_t { + constexpr explicit token_t() = default; + }; + inline static constexpr token_t token; + + struct byte_sequence_t { + constexpr explicit byte_sequence_t() = default; + }; + inline static constexpr byte_sequence_t byte_sequence; + Item(); explicit Item(int64_t value); explicit Item(double value); explicit Item(bool value); + // Prevent pointers from implicitly converting to bool. + template <typename T> + explicit Item(const T*) = delete; + explicit Item(std::nullptr_t) = delete; + + Item(string_t, const char* value); + Item(string_t, absl::string_view value); + Item(string_t, std::string value); + + Item(token_t, const char* value); + Item(token_t, absl::string_view value); + Item(token_t, std::string value); + + Item(byte_sequence_t, const char* value); + Item(byte_sequence_t, absl::string_view value); + Item(byte_sequence_t, std::string value); + // Constructors for string-like items: Strings, Tokens and Byte Sequences. + // Deprecated: Use one of the tag-based constructors with `Item::string`, + // `Item::token`, or `Item::byte_sequence` instead. Item(const char* value, Item::ItemType type = kStringType); Item(std::string value, Item::ItemType type = kStringType);
diff --git a/quiche/common/structured_headers_generated_test.cc b/quiche/common/structured_headers_generated_test.cc index f8fe166..044dd67 100644 --- a/quiche/common/structured_headers_generated_test.cc +++ b/quiche/common/structured_headers_generated_test.cc
@@ -17,7 +17,7 @@ // being automatically translated from the JSON source to C++ unit tests. Please // do not modify, as the contents will be overwritten when this is re-generated. -// Generated on 2026-07-14 from structured-field-tests.git @ +// Generated on 2026-09-09 from structured-field-tests.git @ // 1e280c3ed9ffe0ca5fdb1d97219dddc389007677. namespace quiche { @@ -29,23 +29,24 @@ Item Integer(int64_t value) { return Item(value); } std::pair<std::string, Item> BooleanParam(std::string key, bool value) { - return std::make_pair(key, Item(value)); + return std::make_pair(std::move(key), Item(value)); } std::pair<std::string, Item> DoubleParam(std::string key, double value) { - return std::make_pair(key, Item(value)); + return std::make_pair(std::move(key), Item(value)); } std::pair<std::string, Item> Param(std::string key, int64_t value) { - return std::make_pair(key, Item(value)); + return std::make_pair(std::move(key), Item(value)); } -std::pair<std::string, Item> Param(std::string key, std::string value) { - return std::make_pair(key, Item(value)); +std::pair<std::string, Item> Param(std::string key, absl::string_view value) { + return std::make_pair(std::move(key), Item(Item::string, value)); } -std::pair<std::string, Item> TokenParam(std::string key, std::string value) { - return std::make_pair(key, Item(value, Item::kTokenType)); +std::pair<std::string, Item> TokenParam(std::string key, + absl::string_view value) { + return std::make_pair(std::move(key), Item(Item::token, value)); } const struct ParameterizedItemTestCase { @@ -62,19 +63,15 @@ {"basic binary", ":aGVsbG8=:", 10, - {{Item("hello", Item::kByteSequenceType), {}}}, + {{Item(Item::byte_sequence, "hello"), {}}}, nullptr}, - {"empty binary", - "::", - 2, - {{Item("", Item::kByteSequenceType), {}}}, - nullptr}, + {"empty binary", "::", 2, {{Item(Item::byte_sequence, ""), {}}}, nullptr}, {"padding at beginning", ":=aGVsbG8=:", 11, std::nullopt, nullptr}, {"padding in middle", ":a=GVsbG8=:", 11, std::nullopt, nullptr}, {"bad padding", ":aGVsbG8:", 9, - {{Item("hello", Item::kByteSequenceType), {}}}, + {{Item(Item::byte_sequence, "hello"), {}}}, ":aGVsbG8=:"}, {"bad padding dot", ":aGVsbG8.:", 10, std::nullopt, nullptr}, {"bad end delimiter", ":aGVsbG8=", 9, std::nullopt, nullptr}, @@ -85,12 +82,12 @@ {"non-zero pad bits", ":iZ==:", 6, - {{Item("\211", Item::kByteSequenceType), {}}}, + {{Item(Item::byte_sequence, "\211"), {}}}, ":iQ==:"}, {"non-ASCII binary", ":/+Ah:", 6, - {{Item("\377\340!", Item::kByteSequenceType), {}}}, + {{Item(Item::byte_sequence, "\377\340!"), {}}}, nullptr}, {"base64url binary", ":_-Ah:", 6, std::nullopt, nullptr}, {"binary prefix only", ":", 1, std::nullopt, nullptr}, @@ -129,12 +126,12 @@ {"Example-StringHeader", "\"hello world\"", 13, - {{Item("hello world"), {}}}, + {{Item(Item::string, "hello world"), {}}}, nullptr}, {"Example-BinaryHdr", ":cHJldGVuZCB0aGlzIGlzIGJpbmFyeSBjb250ZW50Lg==:", 46, - {{Item("pretend this is binary content.", Item::kByteSequenceType), {}}}, + {{Item(Item::byte_sequence, "pretend this is binary content."), {}}}, nullptr}, {"Example-BoolHdr", "?1", 2, {{Item(true), {}}}, nullptr}, // item.json @@ -161,7 +158,8 @@ "=========================================================================" "====\"", 1026, - {{Item("==================================================================" + {{Item(Item::string, + "==================================================================" "==================================================================" "==================================================================" "==================================================================" @@ -238,7 +236,8 @@ "\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\" "\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\"", 2050, - {{Item("\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" + {{Item(Item::string, + "\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" "\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" "\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" "\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" @@ -282,15 +281,15 @@ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "a", 512, - {{Item("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + {{Item(Item::token, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - Item::kTokenType), + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), {}}}, nullptr}, {"large byte sequence", @@ -596,6 +595,7 @@ "FhYWFhYWFhYWFhYWFhYQ==:", 21850, {{Item( + Item::byte_sequence, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" @@ -840,8 +840,7 @@ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - Item::kByteSequenceType), + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), {}}}, nullptr}, // number-generated.json @@ -1767,101 +1766,473 @@ {"0x1d in string", "\" \035 \"", 5, std::nullopt, nullptr}, {"0x1e in string", "\" \036 \"", 5, std::nullopt, nullptr}, {"0x1f in string", "\" \037 \"", 5, std::nullopt, nullptr}, - {"0x20 in string", "\" \"", 5, {{Item(" "), {}}}, nullptr}, - {"0x21 in string", "\" ! \"", 5, {{Item(" ! "), {}}}, nullptr}, + {"0x20 in string", + "\" \"", + 5, + {{Item(Item::string, " "), {}}}, + nullptr}, + {"0x21 in string", + "\" ! \"", + 5, + {{Item(Item::string, " ! "), {}}}, + nullptr}, {"0x22 in string", "\" \" \"", 5, std::nullopt, nullptr}, - {"0x23 in string", "\" # \"", 5, {{Item(" # "), {}}}, nullptr}, - {"0x24 in string", "\" $ \"", 5, {{Item(" $ "), {}}}, nullptr}, - {"0x25 in string", "\" % \"", 5, {{Item(" % "), {}}}, nullptr}, - {"0x26 in string", "\" & \"", 5, {{Item(" & "), {}}}, nullptr}, - {"0x27 in string", "\" ' \"", 5, {{Item(" ' "), {}}}, nullptr}, - {"0x28 in string", "\" ( \"", 5, {{Item(" ( "), {}}}, nullptr}, - {"0x29 in string", "\" ) \"", 5, {{Item(" ) "), {}}}, nullptr}, - {"0x2a in string", "\" * \"", 5, {{Item(" * "), {}}}, nullptr}, - {"0x2b in string", "\" + \"", 5, {{Item(" + "), {}}}, nullptr}, - {"0x2c in string", "\" , \"", 5, {{Item(" , "), {}}}, nullptr}, - {"0x2d in string", "\" - \"", 5, {{Item(" - "), {}}}, nullptr}, - {"0x2e in string", "\" . \"", 5, {{Item(" . "), {}}}, nullptr}, - {"0x2f in string", "\" / \"", 5, {{Item(" / "), {}}}, nullptr}, - {"0x30 in string", "\" 0 \"", 5, {{Item(" 0 "), {}}}, nullptr}, - {"0x31 in string", "\" 1 \"", 5, {{Item(" 1 "), {}}}, nullptr}, - {"0x32 in string", "\" 2 \"", 5, {{Item(" 2 "), {}}}, nullptr}, - {"0x33 in string", "\" 3 \"", 5, {{Item(" 3 "), {}}}, nullptr}, - {"0x34 in string", "\" 4 \"", 5, {{Item(" 4 "), {}}}, nullptr}, - {"0x35 in string", "\" 5 \"", 5, {{Item(" 5 "), {}}}, nullptr}, - {"0x36 in string", "\" 6 \"", 5, {{Item(" 6 "), {}}}, nullptr}, - {"0x37 in string", "\" 7 \"", 5, {{Item(" 7 "), {}}}, nullptr}, - {"0x38 in string", "\" 8 \"", 5, {{Item(" 8 "), {}}}, nullptr}, - {"0x39 in string", "\" 9 \"", 5, {{Item(" 9 "), {}}}, nullptr}, - {"0x3a in string", "\" : \"", 5, {{Item(" : "), {}}}, nullptr}, - {"0x3b in string", "\" ; \"", 5, {{Item(" ; "), {}}}, nullptr}, - {"0x3c in string", "\" < \"", 5, {{Item(" < "), {}}}, nullptr}, - {"0x3d in string", "\" = \"", 5, {{Item(" = "), {}}}, nullptr}, - {"0x3e in string", "\" > \"", 5, {{Item(" > "), {}}}, nullptr}, - {"0x3f in string", "\" ? \"", 5, {{Item(" ? "), {}}}, nullptr}, - {"0x40 in string", "\" @ \"", 5, {{Item(" @ "), {}}}, nullptr}, - {"0x41 in string", "\" A \"", 5, {{Item(" A "), {}}}, nullptr}, - {"0x42 in string", "\" B \"", 5, {{Item(" B "), {}}}, nullptr}, - {"0x43 in string", "\" C \"", 5, {{Item(" C "), {}}}, nullptr}, - {"0x44 in string", "\" D \"", 5, {{Item(" D "), {}}}, nullptr}, - {"0x45 in string", "\" E \"", 5, {{Item(" E "), {}}}, nullptr}, - {"0x46 in string", "\" F \"", 5, {{Item(" F "), {}}}, nullptr}, - {"0x47 in string", "\" G \"", 5, {{Item(" G "), {}}}, nullptr}, - {"0x48 in string", "\" H \"", 5, {{Item(" H "), {}}}, nullptr}, - {"0x49 in string", "\" I \"", 5, {{Item(" I "), {}}}, nullptr}, - {"0x4a in string", "\" J \"", 5, {{Item(" J "), {}}}, nullptr}, - {"0x4b in string", "\" K \"", 5, {{Item(" K "), {}}}, nullptr}, - {"0x4c in string", "\" L \"", 5, {{Item(" L "), {}}}, nullptr}, - {"0x4d in string", "\" M \"", 5, {{Item(" M "), {}}}, nullptr}, - {"0x4e in string", "\" N \"", 5, {{Item(" N "), {}}}, nullptr}, - {"0x4f in string", "\" O \"", 5, {{Item(" O "), {}}}, nullptr}, - {"0x50 in string", "\" P \"", 5, {{Item(" P "), {}}}, nullptr}, - {"0x51 in string", "\" Q \"", 5, {{Item(" Q "), {}}}, nullptr}, - {"0x52 in string", "\" R \"", 5, {{Item(" R "), {}}}, nullptr}, - {"0x53 in string", "\" S \"", 5, {{Item(" S "), {}}}, nullptr}, - {"0x54 in string", "\" T \"", 5, {{Item(" T "), {}}}, nullptr}, - {"0x55 in string", "\" U \"", 5, {{Item(" U "), {}}}, nullptr}, - {"0x56 in string", "\" V \"", 5, {{Item(" V "), {}}}, nullptr}, - {"0x57 in string", "\" W \"", 5, {{Item(" W "), {}}}, nullptr}, - {"0x58 in string", "\" X \"", 5, {{Item(" X "), {}}}, nullptr}, - {"0x59 in string", "\" Y \"", 5, {{Item(" Y "), {}}}, nullptr}, - {"0x5a in string", "\" Z \"", 5, {{Item(" Z "), {}}}, nullptr}, - {"0x5b in string", "\" [ \"", 5, {{Item(" [ "), {}}}, nullptr}, + {"0x23 in string", + "\" # \"", + 5, + {{Item(Item::string, " # "), {}}}, + nullptr}, + {"0x24 in string", + "\" $ \"", + 5, + {{Item(Item::string, " $ "), {}}}, + nullptr}, + {"0x25 in string", + "\" % \"", + 5, + {{Item(Item::string, " % "), {}}}, + nullptr}, + {"0x26 in string", + "\" & \"", + 5, + {{Item(Item::string, " & "), {}}}, + nullptr}, + {"0x27 in string", + "\" ' \"", + 5, + {{Item(Item::string, " ' "), {}}}, + nullptr}, + {"0x28 in string", + "\" ( \"", + 5, + {{Item(Item::string, " ( "), {}}}, + nullptr}, + {"0x29 in string", + "\" ) \"", + 5, + {{Item(Item::string, " ) "), {}}}, + nullptr}, + {"0x2a in string", + "\" * \"", + 5, + {{Item(Item::string, " * "), {}}}, + nullptr}, + {"0x2b in string", + "\" + \"", + 5, + {{Item(Item::string, " + "), {}}}, + nullptr}, + {"0x2c in string", + "\" , \"", + 5, + {{Item(Item::string, " , "), {}}}, + nullptr}, + {"0x2d in string", + "\" - \"", + 5, + {{Item(Item::string, " - "), {}}}, + nullptr}, + {"0x2e in string", + "\" . \"", + 5, + {{Item(Item::string, " . "), {}}}, + nullptr}, + {"0x2f in string", + "\" / \"", + 5, + {{Item(Item::string, " / "), {}}}, + nullptr}, + {"0x30 in string", + "\" 0 \"", + 5, + {{Item(Item::string, " 0 "), {}}}, + nullptr}, + {"0x31 in string", + "\" 1 \"", + 5, + {{Item(Item::string, " 1 "), {}}}, + nullptr}, + {"0x32 in string", + "\" 2 \"", + 5, + {{Item(Item::string, " 2 "), {}}}, + nullptr}, + {"0x33 in string", + "\" 3 \"", + 5, + {{Item(Item::string, " 3 "), {}}}, + nullptr}, + {"0x34 in string", + "\" 4 \"", + 5, + {{Item(Item::string, " 4 "), {}}}, + nullptr}, + {"0x35 in string", + "\" 5 \"", + 5, + {{Item(Item::string, " 5 "), {}}}, + nullptr}, + {"0x36 in string", + "\" 6 \"", + 5, + {{Item(Item::string, " 6 "), {}}}, + nullptr}, + {"0x37 in string", + "\" 7 \"", + 5, + {{Item(Item::string, " 7 "), {}}}, + nullptr}, + {"0x38 in string", + "\" 8 \"", + 5, + {{Item(Item::string, " 8 "), {}}}, + nullptr}, + {"0x39 in string", + "\" 9 \"", + 5, + {{Item(Item::string, " 9 "), {}}}, + nullptr}, + {"0x3a in string", + "\" : \"", + 5, + {{Item(Item::string, " : "), {}}}, + nullptr}, + {"0x3b in string", + "\" ; \"", + 5, + {{Item(Item::string, " ; "), {}}}, + nullptr}, + {"0x3c in string", + "\" < \"", + 5, + {{Item(Item::string, " < "), {}}}, + nullptr}, + {"0x3d in string", + "\" = \"", + 5, + {{Item(Item::string, " = "), {}}}, + nullptr}, + {"0x3e in string", + "\" > \"", + 5, + {{Item(Item::string, " > "), {}}}, + nullptr}, + {"0x3f in string", + "\" ? \"", + 5, + {{Item(Item::string, " ? "), {}}}, + nullptr}, + {"0x40 in string", + "\" @ \"", + 5, + {{Item(Item::string, " @ "), {}}}, + nullptr}, + {"0x41 in string", + "\" A \"", + 5, + {{Item(Item::string, " A "), {}}}, + nullptr}, + {"0x42 in string", + "\" B \"", + 5, + {{Item(Item::string, " B "), {}}}, + nullptr}, + {"0x43 in string", + "\" C \"", + 5, + {{Item(Item::string, " C "), {}}}, + nullptr}, + {"0x44 in string", + "\" D \"", + 5, + {{Item(Item::string, " D "), {}}}, + nullptr}, + {"0x45 in string", + "\" E \"", + 5, + {{Item(Item::string, " E "), {}}}, + nullptr}, + {"0x46 in string", + "\" F \"", + 5, + {{Item(Item::string, " F "), {}}}, + nullptr}, + {"0x47 in string", + "\" G \"", + 5, + {{Item(Item::string, " G "), {}}}, + nullptr}, + {"0x48 in string", + "\" H \"", + 5, + {{Item(Item::string, " H "), {}}}, + nullptr}, + {"0x49 in string", + "\" I \"", + 5, + {{Item(Item::string, " I "), {}}}, + nullptr}, + {"0x4a in string", + "\" J \"", + 5, + {{Item(Item::string, " J "), {}}}, + nullptr}, + {"0x4b in string", + "\" K \"", + 5, + {{Item(Item::string, " K "), {}}}, + nullptr}, + {"0x4c in string", + "\" L \"", + 5, + {{Item(Item::string, " L "), {}}}, + nullptr}, + {"0x4d in string", + "\" M \"", + 5, + {{Item(Item::string, " M "), {}}}, + nullptr}, + {"0x4e in string", + "\" N \"", + 5, + {{Item(Item::string, " N "), {}}}, + nullptr}, + {"0x4f in string", + "\" O \"", + 5, + {{Item(Item::string, " O "), {}}}, + nullptr}, + {"0x50 in string", + "\" P \"", + 5, + {{Item(Item::string, " P "), {}}}, + nullptr}, + {"0x51 in string", + "\" Q \"", + 5, + {{Item(Item::string, " Q "), {}}}, + nullptr}, + {"0x52 in string", + "\" R \"", + 5, + {{Item(Item::string, " R "), {}}}, + nullptr}, + {"0x53 in string", + "\" S \"", + 5, + {{Item(Item::string, " S "), {}}}, + nullptr}, + {"0x54 in string", + "\" T \"", + 5, + {{Item(Item::string, " T "), {}}}, + nullptr}, + {"0x55 in string", + "\" U \"", + 5, + {{Item(Item::string, " U "), {}}}, + nullptr}, + {"0x56 in string", + "\" V \"", + 5, + {{Item(Item::string, " V "), {}}}, + nullptr}, + {"0x57 in string", + "\" W \"", + 5, + {{Item(Item::string, " W "), {}}}, + nullptr}, + {"0x58 in string", + "\" X \"", + 5, + {{Item(Item::string, " X "), {}}}, + nullptr}, + {"0x59 in string", + "\" Y \"", + 5, + {{Item(Item::string, " Y "), {}}}, + nullptr}, + {"0x5a in string", + "\" Z \"", + 5, + {{Item(Item::string, " Z "), {}}}, + nullptr}, + {"0x5b in string", + "\" [ \"", + 5, + {{Item(Item::string, " [ "), {}}}, + nullptr}, {"0x5c in string", "\" \\ \"", 5, std::nullopt, nullptr}, - {"0x5d in string", "\" ] \"", 5, {{Item(" ] "), {}}}, nullptr}, - {"0x5e in string", "\" ^ \"", 5, {{Item(" ^ "), {}}}, nullptr}, - {"0x5f in string", "\" _ \"", 5, {{Item(" _ "), {}}}, nullptr}, - {"0x60 in string", "\" ` \"", 5, {{Item(" ` "), {}}}, nullptr}, - {"0x61 in string", "\" a \"", 5, {{Item(" a "), {}}}, nullptr}, - {"0x62 in string", "\" b \"", 5, {{Item(" b "), {}}}, nullptr}, - {"0x63 in string", "\" c \"", 5, {{Item(" c "), {}}}, nullptr}, - {"0x64 in string", "\" d \"", 5, {{Item(" d "), {}}}, nullptr}, - {"0x65 in string", "\" e \"", 5, {{Item(" e "), {}}}, nullptr}, - {"0x66 in string", "\" f \"", 5, {{Item(" f "), {}}}, nullptr}, - {"0x67 in string", "\" g \"", 5, {{Item(" g "), {}}}, nullptr}, - {"0x68 in string", "\" h \"", 5, {{Item(" h "), {}}}, nullptr}, - {"0x69 in string", "\" i \"", 5, {{Item(" i "), {}}}, nullptr}, - {"0x6a in string", "\" j \"", 5, {{Item(" j "), {}}}, nullptr}, - {"0x6b in string", "\" k \"", 5, {{Item(" k "), {}}}, nullptr}, - {"0x6c in string", "\" l \"", 5, {{Item(" l "), {}}}, nullptr}, - {"0x6d in string", "\" m \"", 5, {{Item(" m "), {}}}, nullptr}, - {"0x6e in string", "\" n \"", 5, {{Item(" n "), {}}}, nullptr}, - {"0x6f in string", "\" o \"", 5, {{Item(" o "), {}}}, nullptr}, - {"0x70 in string", "\" p \"", 5, {{Item(" p "), {}}}, nullptr}, - {"0x71 in string", "\" q \"", 5, {{Item(" q "), {}}}, nullptr}, - {"0x72 in string", "\" r \"", 5, {{Item(" r "), {}}}, nullptr}, - {"0x73 in string", "\" s \"", 5, {{Item(" s "), {}}}, nullptr}, - {"0x74 in string", "\" t \"", 5, {{Item(" t "), {}}}, nullptr}, - {"0x75 in string", "\" u \"", 5, {{Item(" u "), {}}}, nullptr}, - {"0x76 in string", "\" v \"", 5, {{Item(" v "), {}}}, nullptr}, - {"0x77 in string", "\" w \"", 5, {{Item(" w "), {}}}, nullptr}, - {"0x78 in string", "\" x \"", 5, {{Item(" x "), {}}}, nullptr}, - {"0x79 in string", "\" y \"", 5, {{Item(" y "), {}}}, nullptr}, - {"0x7a in string", "\" z \"", 5, {{Item(" z "), {}}}, nullptr}, - {"0x7b in string", "\" { \"", 5, {{Item(" { "), {}}}, nullptr}, - {"0x7c in string", "\" | \"", 5, {{Item(" | "), {}}}, nullptr}, - {"0x7d in string", "\" } \"", 5, {{Item(" } "), {}}}, nullptr}, - {"0x7e in string", "\" ~ \"", 5, {{Item(" ~ "), {}}}, nullptr}, + {"0x5d in string", + "\" ] \"", + 5, + {{Item(Item::string, " ] "), {}}}, + nullptr}, + {"0x5e in string", + "\" ^ \"", + 5, + {{Item(Item::string, " ^ "), {}}}, + nullptr}, + {"0x5f in string", + "\" _ \"", + 5, + {{Item(Item::string, " _ "), {}}}, + nullptr}, + {"0x60 in string", + "\" ` \"", + 5, + {{Item(Item::string, " ` "), {}}}, + nullptr}, + {"0x61 in string", + "\" a \"", + 5, + {{Item(Item::string, " a "), {}}}, + nullptr}, + {"0x62 in string", + "\" b \"", + 5, + {{Item(Item::string, " b "), {}}}, + nullptr}, + {"0x63 in string", + "\" c \"", + 5, + {{Item(Item::string, " c "), {}}}, + nullptr}, + {"0x64 in string", + "\" d \"", + 5, + {{Item(Item::string, " d "), {}}}, + nullptr}, + {"0x65 in string", + "\" e \"", + 5, + {{Item(Item::string, " e "), {}}}, + nullptr}, + {"0x66 in string", + "\" f \"", + 5, + {{Item(Item::string, " f "), {}}}, + nullptr}, + {"0x67 in string", + "\" g \"", + 5, + {{Item(Item::string, " g "), {}}}, + nullptr}, + {"0x68 in string", + "\" h \"", + 5, + {{Item(Item::string, " h "), {}}}, + nullptr}, + {"0x69 in string", + "\" i \"", + 5, + {{Item(Item::string, " i "), {}}}, + nullptr}, + {"0x6a in string", + "\" j \"", + 5, + {{Item(Item::string, " j "), {}}}, + nullptr}, + {"0x6b in string", + "\" k \"", + 5, + {{Item(Item::string, " k "), {}}}, + nullptr}, + {"0x6c in string", + "\" l \"", + 5, + {{Item(Item::string, " l "), {}}}, + nullptr}, + {"0x6d in string", + "\" m \"", + 5, + {{Item(Item::string, " m "), {}}}, + nullptr}, + {"0x6e in string", + "\" n \"", + 5, + {{Item(Item::string, " n "), {}}}, + nullptr}, + {"0x6f in string", + "\" o \"", + 5, + {{Item(Item::string, " o "), {}}}, + nullptr}, + {"0x70 in string", + "\" p \"", + 5, + {{Item(Item::string, " p "), {}}}, + nullptr}, + {"0x71 in string", + "\" q \"", + 5, + {{Item(Item::string, " q "), {}}}, + nullptr}, + {"0x72 in string", + "\" r \"", + 5, + {{Item(Item::string, " r "), {}}}, + nullptr}, + {"0x73 in string", + "\" s \"", + 5, + {{Item(Item::string, " s "), {}}}, + nullptr}, + {"0x74 in string", + "\" t \"", + 5, + {{Item(Item::string, " t "), {}}}, + nullptr}, + {"0x75 in string", + "\" u \"", + 5, + {{Item(Item::string, " u "), {}}}, + nullptr}, + {"0x76 in string", + "\" v \"", + 5, + {{Item(Item::string, " v "), {}}}, + nullptr}, + {"0x77 in string", + "\" w \"", + 5, + {{Item(Item::string, " w "), {}}}, + nullptr}, + {"0x78 in string", + "\" x \"", + 5, + {{Item(Item::string, " x "), {}}}, + nullptr}, + {"0x79 in string", + "\" y \"", + 5, + {{Item(Item::string, " y "), {}}}, + nullptr}, + {"0x7a in string", + "\" z \"", + 5, + {{Item(Item::string, " z "), {}}}, + nullptr}, + {"0x7b in string", + "\" { \"", + 5, + {{Item(Item::string, " { "), {}}}, + nullptr}, + {"0x7c in string", + "\" | \"", + 5, + {{Item(Item::string, " | "), {}}}, + nullptr}, + {"0x7d in string", + "\" } \"", + 5, + {{Item(Item::string, " } "), {}}}, + nullptr}, + {"0x7e in string", + "\" ~ \"", + 5, + {{Item(Item::string, " ~ "), {}}}, + nullptr}, {"0x7f in string", "\" \177 \"", 5, std::nullopt, nullptr}, {"Escaped 0x00 in string", "\"\\\000\"", 4, std::nullopt, nullptr}, {"Escaped 0x01 in string", "\"\\\001\"", 4, std::nullopt, nullptr}, @@ -1897,7 +2268,11 @@ {"Escaped 0x1f in string", "\"\\\037\"", 4, std::nullopt, nullptr}, {"Escaped 0x20 in string", "\"\\ \"", 4, std::nullopt, nullptr}, {"Escaped 0x21 in string", "\"\\!\"", 4, std::nullopt, nullptr}, - {"Escaped 0x22 in string", "\"\\\"\"", 4, {{Item("\""), {}}}, nullptr}, + {"Escaped 0x22 in string", + "\"\\\"\"", + 4, + {{Item(Item::string, "\""), {}}}, + nullptr}, {"Escaped 0x23 in string", "\"\\#\"", 4, std::nullopt, nullptr}, {"Escaped 0x24 in string", "\"\\$\"", 4, std::nullopt, nullptr}, {"Escaped 0x25 in string", "\"\\%\"", 4, std::nullopt, nullptr}, @@ -1955,7 +2330,11 @@ {"Escaped 0x59 in string", "\"\\Y\"", 4, std::nullopt, nullptr}, {"Escaped 0x5a in string", "\"\\Z\"", 4, std::nullopt, nullptr}, {"Escaped 0x5b in string", "\"\\[\"", 4, std::nullopt, nullptr}, - {"Escaped 0x5c in string", "\"\\\\\"", 4, {{Item("\\"), {}}}, nullptr}, + {"Escaped 0x5c in string", + "\"\\\\\"", + 4, + {{Item(Item::string, "\\"), {}}}, + nullptr}, {"Escaped 0x5d in string", "\"\\]\"", 4, std::nullopt, nullptr}, {"Escaped 0x5e in string", "\"\\^\"", 4, std::nullopt, nullptr}, {"Escaped 0x5f in string", "\"\\_\"", 4, std::nullopt, nullptr}, @@ -1992,22 +2371,31 @@ {"Escaped 0x7e in string", "\"\\~\"", 4, std::nullopt, nullptr}, {"Escaped 0x7f in string", "\"\\\177\"", 4, std::nullopt, nullptr}, // string.json - {"basic string", "\"foo bar\"", 9, {{Item("foo bar"), {}}}, nullptr}, - {"empty string", "\"\"", 2, {{Item(""), {}}}, nullptr}, + {"basic string", + "\"foo bar\"", + 9, + {{Item(Item::string, "foo bar"), {}}}, + nullptr}, + {"empty string", "\"\"", 2, {{Item(Item::string, ""), {}}}, nullptr}, {"long string", "\"foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo " "foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo " "foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo " "foo foo foo foo foo foo foo foo foo foo foo foo \"", 262, - {{Item("foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo " + {{Item(Item::string, + "foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo " "foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo " "foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo " "foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo " "foo "), {}}}, nullptr}, - {"whitespace string", "\" \"", 5, {{Item(" "), {}}}, nullptr}, + {"whitespace string", + "\" \"", + 5, + {{Item(Item::string, " "), {}}}, + nullptr}, {"non-ascii string", "\"f\374\374\"", 5, std::nullopt, nullptr}, {"tab in string", "\"\t\"", 3, std::nullopt, nullptr}, {"newline in string", "\" \n \"", 5, std::nullopt, nullptr}, @@ -2016,7 +2404,7 @@ {"string quoting", "\"foo \\\"bar\\\" \\\\ baz\"", 20, - {{Item("foo \"bar\" \\ baz"), {}}}, + {{Item(Item::string, "foo \"bar\" \\ baz"), {}}}, nullptr}, {"bad string quoting", "\"foo \\,\"", 8, std::nullopt, nullptr}, {"ending string quote", "\"foo \\\"", 7, std::nullopt, nullptr}, @@ -2024,7 +2412,7 @@ {"two lines string", "\"foo, bar\"", 10, - {{Item("foo, bar"), {}}}, + {{Item(Item::string, "foo, bar"), {}}}, "\"foo, bar\""}, // token-generated.json {"0x00 in token", "a\000a", 3, std::nullopt, nullptr}, @@ -2060,104 +2448,104 @@ {"0x1e in token", "a\036a", 3, std::nullopt, nullptr}, {"0x1f in token", "a\037a", 3, std::nullopt, nullptr}, {"0x20 in token", "a a", 3, std::nullopt, nullptr}, - {"0x21 in token", "a!a", 3, {{Item("a!a", Item::kTokenType), {}}}, nullptr}, + {"0x21 in token", "a!a", 3, {{Item(Item::token, "a!a"), {}}}, nullptr}, {"0x22 in token", "a\"a", 3, std::nullopt, nullptr}, - {"0x23 in token", "a#a", 3, {{Item("a#a", Item::kTokenType), {}}}, nullptr}, - {"0x24 in token", "a$a", 3, {{Item("a$a", Item::kTokenType), {}}}, nullptr}, - {"0x25 in token", "a%a", 3, {{Item("a%a", Item::kTokenType), {}}}, nullptr}, - {"0x26 in token", "a&a", 3, {{Item("a&a", Item::kTokenType), {}}}, nullptr}, - {"0x27 in token", "a'a", 3, {{Item("a'a", Item::kTokenType), {}}}, nullptr}, + {"0x23 in token", "a#a", 3, {{Item(Item::token, "a#a"), {}}}, nullptr}, + {"0x24 in token", "a$a", 3, {{Item(Item::token, "a$a"), {}}}, nullptr}, + {"0x25 in token", "a%a", 3, {{Item(Item::token, "a%a"), {}}}, nullptr}, + {"0x26 in token", "a&a", 3, {{Item(Item::token, "a&a"), {}}}, nullptr}, + {"0x27 in token", "a'a", 3, {{Item(Item::token, "a'a"), {}}}, nullptr}, {"0x28 in token", "a(a", 3, std::nullopt, nullptr}, {"0x29 in token", "a)a", 3, std::nullopt, nullptr}, - {"0x2a in token", "a*a", 3, {{Item("a*a", Item::kTokenType), {}}}, nullptr}, - {"0x2b in token", "a+a", 3, {{Item("a+a", Item::kTokenType), {}}}, nullptr}, + {"0x2a in token", "a*a", 3, {{Item(Item::token, "a*a"), {}}}, nullptr}, + {"0x2b in token", "a+a", 3, {{Item(Item::token, "a+a"), {}}}, nullptr}, {"0x2c in token", "a,a", 3, std::nullopt, nullptr}, - {"0x2d in token", "a-a", 3, {{Item("a-a", Item::kTokenType), {}}}, nullptr}, - {"0x2e in token", "a.a", 3, {{Item("a.a", Item::kTokenType), {}}}, nullptr}, - {"0x2f in token", "a/a", 3, {{Item("a/a", Item::kTokenType), {}}}, nullptr}, - {"0x30 in token", "a0a", 3, {{Item("a0a", Item::kTokenType), {}}}, nullptr}, - {"0x31 in token", "a1a", 3, {{Item("a1a", Item::kTokenType), {}}}, nullptr}, - {"0x32 in token", "a2a", 3, {{Item("a2a", Item::kTokenType), {}}}, nullptr}, - {"0x33 in token", "a3a", 3, {{Item("a3a", Item::kTokenType), {}}}, nullptr}, - {"0x34 in token", "a4a", 3, {{Item("a4a", Item::kTokenType), {}}}, nullptr}, - {"0x35 in token", "a5a", 3, {{Item("a5a", Item::kTokenType), {}}}, nullptr}, - {"0x36 in token", "a6a", 3, {{Item("a6a", Item::kTokenType), {}}}, nullptr}, - {"0x37 in token", "a7a", 3, {{Item("a7a", Item::kTokenType), {}}}, nullptr}, - {"0x38 in token", "a8a", 3, {{Item("a8a", Item::kTokenType), {}}}, nullptr}, - {"0x39 in token", "a9a", 3, {{Item("a9a", Item::kTokenType), {}}}, nullptr}, - {"0x3a in token", "a:a", 3, {{Item("a:a", Item::kTokenType), {}}}, nullptr}, + {"0x2d in token", "a-a", 3, {{Item(Item::token, "a-a"), {}}}, nullptr}, + {"0x2e in token", "a.a", 3, {{Item(Item::token, "a.a"), {}}}, nullptr}, + {"0x2f in token", "a/a", 3, {{Item(Item::token, "a/a"), {}}}, nullptr}, + {"0x30 in token", "a0a", 3, {{Item(Item::token, "a0a"), {}}}, nullptr}, + {"0x31 in token", "a1a", 3, {{Item(Item::token, "a1a"), {}}}, nullptr}, + {"0x32 in token", "a2a", 3, {{Item(Item::token, "a2a"), {}}}, nullptr}, + {"0x33 in token", "a3a", 3, {{Item(Item::token, "a3a"), {}}}, nullptr}, + {"0x34 in token", "a4a", 3, {{Item(Item::token, "a4a"), {}}}, nullptr}, + {"0x35 in token", "a5a", 3, {{Item(Item::token, "a5a"), {}}}, nullptr}, + {"0x36 in token", "a6a", 3, {{Item(Item::token, "a6a"), {}}}, nullptr}, + {"0x37 in token", "a7a", 3, {{Item(Item::token, "a7a"), {}}}, nullptr}, + {"0x38 in token", "a8a", 3, {{Item(Item::token, "a8a"), {}}}, nullptr}, + {"0x39 in token", "a9a", 3, {{Item(Item::token, "a9a"), {}}}, nullptr}, + {"0x3a in token", "a:a", 3, {{Item(Item::token, "a:a"), {}}}, nullptr}, {"0x3b in token", "a;a", 3, - {{Item("a", Item::kTokenType), {BooleanParam("a", true)}}}, + {{Item(Item::token, "a"), {BooleanParam("a", true)}}}, nullptr}, {"0x3c in token", "a<a", 3, std::nullopt, nullptr}, {"0x3d in token", "a=a", 3, std::nullopt, nullptr}, {"0x3e in token", "a>a", 3, std::nullopt, nullptr}, {"0x3f in token", "a?a", 3, std::nullopt, nullptr}, {"0x40 in token", "a@a", 3, std::nullopt, nullptr}, - {"0x41 in token", "aAa", 3, {{Item("aAa", Item::kTokenType), {}}}, nullptr}, - {"0x42 in token", "aBa", 3, {{Item("aBa", Item::kTokenType), {}}}, nullptr}, - {"0x43 in token", "aCa", 3, {{Item("aCa", Item::kTokenType), {}}}, nullptr}, - {"0x44 in token", "aDa", 3, {{Item("aDa", Item::kTokenType), {}}}, nullptr}, - {"0x45 in token", "aEa", 3, {{Item("aEa", Item::kTokenType), {}}}, nullptr}, - {"0x46 in token", "aFa", 3, {{Item("aFa", Item::kTokenType), {}}}, nullptr}, - {"0x47 in token", "aGa", 3, {{Item("aGa", Item::kTokenType), {}}}, nullptr}, - {"0x48 in token", "aHa", 3, {{Item("aHa", Item::kTokenType), {}}}, nullptr}, - {"0x49 in token", "aIa", 3, {{Item("aIa", Item::kTokenType), {}}}, nullptr}, - {"0x4a in token", "aJa", 3, {{Item("aJa", Item::kTokenType), {}}}, nullptr}, - {"0x4b in token", "aKa", 3, {{Item("aKa", Item::kTokenType), {}}}, nullptr}, - {"0x4c in token", "aLa", 3, {{Item("aLa", Item::kTokenType), {}}}, nullptr}, - {"0x4d in token", "aMa", 3, {{Item("aMa", Item::kTokenType), {}}}, nullptr}, - {"0x4e in token", "aNa", 3, {{Item("aNa", Item::kTokenType), {}}}, nullptr}, - {"0x4f in token", "aOa", 3, {{Item("aOa", Item::kTokenType), {}}}, nullptr}, - {"0x50 in token", "aPa", 3, {{Item("aPa", Item::kTokenType), {}}}, nullptr}, - {"0x51 in token", "aQa", 3, {{Item("aQa", Item::kTokenType), {}}}, nullptr}, - {"0x52 in token", "aRa", 3, {{Item("aRa", Item::kTokenType), {}}}, nullptr}, - {"0x53 in token", "aSa", 3, {{Item("aSa", Item::kTokenType), {}}}, nullptr}, - {"0x54 in token", "aTa", 3, {{Item("aTa", Item::kTokenType), {}}}, nullptr}, - {"0x55 in token", "aUa", 3, {{Item("aUa", Item::kTokenType), {}}}, nullptr}, - {"0x56 in token", "aVa", 3, {{Item("aVa", Item::kTokenType), {}}}, nullptr}, - {"0x57 in token", "aWa", 3, {{Item("aWa", Item::kTokenType), {}}}, nullptr}, - {"0x58 in token", "aXa", 3, {{Item("aXa", Item::kTokenType), {}}}, nullptr}, - {"0x59 in token", "aYa", 3, {{Item("aYa", Item::kTokenType), {}}}, nullptr}, - {"0x5a in token", "aZa", 3, {{Item("aZa", Item::kTokenType), {}}}, nullptr}, + {"0x41 in token", "aAa", 3, {{Item(Item::token, "aAa"), {}}}, nullptr}, + {"0x42 in token", "aBa", 3, {{Item(Item::token, "aBa"), {}}}, nullptr}, + {"0x43 in token", "aCa", 3, {{Item(Item::token, "aCa"), {}}}, nullptr}, + {"0x44 in token", "aDa", 3, {{Item(Item::token, "aDa"), {}}}, nullptr}, + {"0x45 in token", "aEa", 3, {{Item(Item::token, "aEa"), {}}}, nullptr}, + {"0x46 in token", "aFa", 3, {{Item(Item::token, "aFa"), {}}}, nullptr}, + {"0x47 in token", "aGa", 3, {{Item(Item::token, "aGa"), {}}}, nullptr}, + {"0x48 in token", "aHa", 3, {{Item(Item::token, "aHa"), {}}}, nullptr}, + {"0x49 in token", "aIa", 3, {{Item(Item::token, "aIa"), {}}}, nullptr}, + {"0x4a in token", "aJa", 3, {{Item(Item::token, "aJa"), {}}}, nullptr}, + {"0x4b in token", "aKa", 3, {{Item(Item::token, "aKa"), {}}}, nullptr}, + {"0x4c in token", "aLa", 3, {{Item(Item::token, "aLa"), {}}}, nullptr}, + {"0x4d in token", "aMa", 3, {{Item(Item::token, "aMa"), {}}}, nullptr}, + {"0x4e in token", "aNa", 3, {{Item(Item::token, "aNa"), {}}}, nullptr}, + {"0x4f in token", "aOa", 3, {{Item(Item::token, "aOa"), {}}}, nullptr}, + {"0x50 in token", "aPa", 3, {{Item(Item::token, "aPa"), {}}}, nullptr}, + {"0x51 in token", "aQa", 3, {{Item(Item::token, "aQa"), {}}}, nullptr}, + {"0x52 in token", "aRa", 3, {{Item(Item::token, "aRa"), {}}}, nullptr}, + {"0x53 in token", "aSa", 3, {{Item(Item::token, "aSa"), {}}}, nullptr}, + {"0x54 in token", "aTa", 3, {{Item(Item::token, "aTa"), {}}}, nullptr}, + {"0x55 in token", "aUa", 3, {{Item(Item::token, "aUa"), {}}}, nullptr}, + {"0x56 in token", "aVa", 3, {{Item(Item::token, "aVa"), {}}}, nullptr}, + {"0x57 in token", "aWa", 3, {{Item(Item::token, "aWa"), {}}}, nullptr}, + {"0x58 in token", "aXa", 3, {{Item(Item::token, "aXa"), {}}}, nullptr}, + {"0x59 in token", "aYa", 3, {{Item(Item::token, "aYa"), {}}}, nullptr}, + {"0x5a in token", "aZa", 3, {{Item(Item::token, "aZa"), {}}}, nullptr}, {"0x5b in token", "a[a", 3, std::nullopt, nullptr}, {"0x5c in token", "a\\a", 3, std::nullopt, nullptr}, {"0x5d in token", "a]a", 3, std::nullopt, nullptr}, - {"0x5e in token", "a^a", 3, {{Item("a^a", Item::kTokenType), {}}}, nullptr}, - {"0x5f in token", "a_a", 3, {{Item("a_a", Item::kTokenType), {}}}, nullptr}, - {"0x60 in token", "a`a", 3, {{Item("a`a", Item::kTokenType), {}}}, nullptr}, - {"0x61 in token", "aaa", 3, {{Item("aaa", Item::kTokenType), {}}}, nullptr}, - {"0x62 in token", "aba", 3, {{Item("aba", Item::kTokenType), {}}}, nullptr}, - {"0x63 in token", "aca", 3, {{Item("aca", Item::kTokenType), {}}}, nullptr}, - {"0x64 in token", "ada", 3, {{Item("ada", Item::kTokenType), {}}}, nullptr}, - {"0x65 in token", "aea", 3, {{Item("aea", Item::kTokenType), {}}}, nullptr}, - {"0x66 in token", "afa", 3, {{Item("afa", Item::kTokenType), {}}}, nullptr}, - {"0x67 in token", "aga", 3, {{Item("aga", Item::kTokenType), {}}}, nullptr}, - {"0x68 in token", "aha", 3, {{Item("aha", Item::kTokenType), {}}}, nullptr}, - {"0x69 in token", "aia", 3, {{Item("aia", Item::kTokenType), {}}}, nullptr}, - {"0x6a in token", "aja", 3, {{Item("aja", Item::kTokenType), {}}}, nullptr}, - {"0x6b in token", "aka", 3, {{Item("aka", Item::kTokenType), {}}}, nullptr}, - {"0x6c in token", "ala", 3, {{Item("ala", Item::kTokenType), {}}}, nullptr}, - {"0x6d in token", "ama", 3, {{Item("ama", Item::kTokenType), {}}}, nullptr}, - {"0x6e in token", "ana", 3, {{Item("ana", Item::kTokenType), {}}}, nullptr}, - {"0x6f in token", "aoa", 3, {{Item("aoa", Item::kTokenType), {}}}, nullptr}, - {"0x70 in token", "apa", 3, {{Item("apa", Item::kTokenType), {}}}, nullptr}, - {"0x71 in token", "aqa", 3, {{Item("aqa", Item::kTokenType), {}}}, nullptr}, - {"0x72 in token", "ara", 3, {{Item("ara", Item::kTokenType), {}}}, nullptr}, - {"0x73 in token", "asa", 3, {{Item("asa", Item::kTokenType), {}}}, nullptr}, - {"0x74 in token", "ata", 3, {{Item("ata", Item::kTokenType), {}}}, nullptr}, - {"0x75 in token", "aua", 3, {{Item("aua", Item::kTokenType), {}}}, nullptr}, - {"0x76 in token", "ava", 3, {{Item("ava", Item::kTokenType), {}}}, nullptr}, - {"0x77 in token", "awa", 3, {{Item("awa", Item::kTokenType), {}}}, nullptr}, - {"0x78 in token", "axa", 3, {{Item("axa", Item::kTokenType), {}}}, nullptr}, - {"0x79 in token", "aya", 3, {{Item("aya", Item::kTokenType), {}}}, nullptr}, - {"0x7a in token", "aza", 3, {{Item("aza", Item::kTokenType), {}}}, nullptr}, + {"0x5e in token", "a^a", 3, {{Item(Item::token, "a^a"), {}}}, nullptr}, + {"0x5f in token", "a_a", 3, {{Item(Item::token, "a_a"), {}}}, nullptr}, + {"0x60 in token", "a`a", 3, {{Item(Item::token, "a`a"), {}}}, nullptr}, + {"0x61 in token", "aaa", 3, {{Item(Item::token, "aaa"), {}}}, nullptr}, + {"0x62 in token", "aba", 3, {{Item(Item::token, "aba"), {}}}, nullptr}, + {"0x63 in token", "aca", 3, {{Item(Item::token, "aca"), {}}}, nullptr}, + {"0x64 in token", "ada", 3, {{Item(Item::token, "ada"), {}}}, nullptr}, + {"0x65 in token", "aea", 3, {{Item(Item::token, "aea"), {}}}, nullptr}, + {"0x66 in token", "afa", 3, {{Item(Item::token, "afa"), {}}}, nullptr}, + {"0x67 in token", "aga", 3, {{Item(Item::token, "aga"), {}}}, nullptr}, + {"0x68 in token", "aha", 3, {{Item(Item::token, "aha"), {}}}, nullptr}, + {"0x69 in token", "aia", 3, {{Item(Item::token, "aia"), {}}}, nullptr}, + {"0x6a in token", "aja", 3, {{Item(Item::token, "aja"), {}}}, nullptr}, + {"0x6b in token", "aka", 3, {{Item(Item::token, "aka"), {}}}, nullptr}, + {"0x6c in token", "ala", 3, {{Item(Item::token, "ala"), {}}}, nullptr}, + {"0x6d in token", "ama", 3, {{Item(Item::token, "ama"), {}}}, nullptr}, + {"0x6e in token", "ana", 3, {{Item(Item::token, "ana"), {}}}, nullptr}, + {"0x6f in token", "aoa", 3, {{Item(Item::token, "aoa"), {}}}, nullptr}, + {"0x70 in token", "apa", 3, {{Item(Item::token, "apa"), {}}}, nullptr}, + {"0x71 in token", "aqa", 3, {{Item(Item::token, "aqa"), {}}}, nullptr}, + {"0x72 in token", "ara", 3, {{Item(Item::token, "ara"), {}}}, nullptr}, + {"0x73 in token", "asa", 3, {{Item(Item::token, "asa"), {}}}, nullptr}, + {"0x74 in token", "ata", 3, {{Item(Item::token, "ata"), {}}}, nullptr}, + {"0x75 in token", "aua", 3, {{Item(Item::token, "aua"), {}}}, nullptr}, + {"0x76 in token", "ava", 3, {{Item(Item::token, "ava"), {}}}, nullptr}, + {"0x77 in token", "awa", 3, {{Item(Item::token, "awa"), {}}}, nullptr}, + {"0x78 in token", "axa", 3, {{Item(Item::token, "axa"), {}}}, nullptr}, + {"0x79 in token", "aya", 3, {{Item(Item::token, "aya"), {}}}, nullptr}, + {"0x7a in token", "aza", 3, {{Item(Item::token, "aza"), {}}}, nullptr}, {"0x7b in token", "a{a", 3, std::nullopt, nullptr}, - {"0x7c in token", "a|a", 3, {{Item("a|a", Item::kTokenType), {}}}, nullptr}, + {"0x7c in token", "a|a", 3, {{Item(Item::token, "a|a"), {}}}, nullptr}, {"0x7d in token", "a}a", 3, std::nullopt, nullptr}, - {"0x7e in token", "a~a", 3, {{Item("a~a", Item::kTokenType), {}}}, nullptr}, + {"0x7e in token", "a~a", 3, {{Item(Item::token, "a~a"), {}}}, nullptr}, {"0x7f in token", "a\177a", 3, std::nullopt, nullptr}, {"0x00 starting a token", "\000a", 2, std::nullopt, nullptr}, {"0x01 starting a token", "\001a", 2, std::nullopt, nullptr}, @@ -2191,11 +2579,7 @@ {"0x1d starting a token", "\035a", 2, std::nullopt, nullptr}, {"0x1e starting a token", "\036a", 2, std::nullopt, nullptr}, {"0x1f starting a token", "\037a", 2, std::nullopt, nullptr}, - {"0x20 starting a token", - " a", - 2, - {{Item("a", Item::kTokenType), {}}}, - "a"}, + {"0x20 starting a token", " a", 2, {{Item(Item::token, "a"), {}}}, "a"}, {"0x21 starting a token", "!a", 2, std::nullopt, nullptr}, {"0x22 starting a token", "\"a", 2, std::nullopt, nullptr}, {"0x23 starting a token", "#a", 2, std::nullopt, nullptr}, @@ -2208,7 +2592,7 @@ {"0x2a starting a token", "*a", 2, - {{Item("*a", Item::kTokenType), {}}}, + {{Item(Item::token, "*a"), {}}}, nullptr}, {"0x2b starting a token", "+a", 2, std::nullopt, nullptr}, {"0x2c starting a token", ",a", 2, std::nullopt, nullptr}, @@ -2235,132 +2619,132 @@ {"0x41 starting a token", "Aa", 2, - {{Item("Aa", Item::kTokenType), {}}}, + {{Item(Item::token, "Aa"), {}}}, nullptr}, {"0x42 starting a token", "Ba", 2, - {{Item("Ba", Item::kTokenType), {}}}, + {{Item(Item::token, "Ba"), {}}}, nullptr}, {"0x43 starting a token", "Ca", 2, - {{Item("Ca", Item::kTokenType), {}}}, + {{Item(Item::token, "Ca"), {}}}, nullptr}, {"0x44 starting a token", "Da", 2, - {{Item("Da", Item::kTokenType), {}}}, + {{Item(Item::token, "Da"), {}}}, nullptr}, {"0x45 starting a token", "Ea", 2, - {{Item("Ea", Item::kTokenType), {}}}, + {{Item(Item::token, "Ea"), {}}}, nullptr}, {"0x46 starting a token", "Fa", 2, - {{Item("Fa", Item::kTokenType), {}}}, + {{Item(Item::token, "Fa"), {}}}, nullptr}, {"0x47 starting a token", "Ga", 2, - {{Item("Ga", Item::kTokenType), {}}}, + {{Item(Item::token, "Ga"), {}}}, nullptr}, {"0x48 starting a token", "Ha", 2, - {{Item("Ha", Item::kTokenType), {}}}, + {{Item(Item::token, "Ha"), {}}}, nullptr}, {"0x49 starting a token", "Ia", 2, - {{Item("Ia", Item::kTokenType), {}}}, + {{Item(Item::token, "Ia"), {}}}, nullptr}, {"0x4a starting a token", "Ja", 2, - {{Item("Ja", Item::kTokenType), {}}}, + {{Item(Item::token, "Ja"), {}}}, nullptr}, {"0x4b starting a token", "Ka", 2, - {{Item("Ka", Item::kTokenType), {}}}, + {{Item(Item::token, "Ka"), {}}}, nullptr}, {"0x4c starting a token", "La", 2, - {{Item("La", Item::kTokenType), {}}}, + {{Item(Item::token, "La"), {}}}, nullptr}, {"0x4d starting a token", "Ma", 2, - {{Item("Ma", Item::kTokenType), {}}}, + {{Item(Item::token, "Ma"), {}}}, nullptr}, {"0x4e starting a token", "Na", 2, - {{Item("Na", Item::kTokenType), {}}}, + {{Item(Item::token, "Na"), {}}}, nullptr}, {"0x4f starting a token", "Oa", 2, - {{Item("Oa", Item::kTokenType), {}}}, + {{Item(Item::token, "Oa"), {}}}, nullptr}, {"0x50 starting a token", "Pa", 2, - {{Item("Pa", Item::kTokenType), {}}}, + {{Item(Item::token, "Pa"), {}}}, nullptr}, {"0x51 starting a token", "Qa", 2, - {{Item("Qa", Item::kTokenType), {}}}, + {{Item(Item::token, "Qa"), {}}}, nullptr}, {"0x52 starting a token", "Ra", 2, - {{Item("Ra", Item::kTokenType), {}}}, + {{Item(Item::token, "Ra"), {}}}, nullptr}, {"0x53 starting a token", "Sa", 2, - {{Item("Sa", Item::kTokenType), {}}}, + {{Item(Item::token, "Sa"), {}}}, nullptr}, {"0x54 starting a token", "Ta", 2, - {{Item("Ta", Item::kTokenType), {}}}, + {{Item(Item::token, "Ta"), {}}}, nullptr}, {"0x55 starting a token", "Ua", 2, - {{Item("Ua", Item::kTokenType), {}}}, + {{Item(Item::token, "Ua"), {}}}, nullptr}, {"0x56 starting a token", "Va", 2, - {{Item("Va", Item::kTokenType), {}}}, + {{Item(Item::token, "Va"), {}}}, nullptr}, {"0x57 starting a token", "Wa", 2, - {{Item("Wa", Item::kTokenType), {}}}, + {{Item(Item::token, "Wa"), {}}}, nullptr}, {"0x58 starting a token", "Xa", 2, - {{Item("Xa", Item::kTokenType), {}}}, + {{Item(Item::token, "Xa"), {}}}, nullptr}, {"0x59 starting a token", "Ya", 2, - {{Item("Ya", Item::kTokenType), {}}}, + {{Item(Item::token, "Ya"), {}}}, nullptr}, {"0x5a starting a token", "Za", 2, - {{Item("Za", Item::kTokenType), {}}}, + {{Item(Item::token, "Za"), {}}}, nullptr}, {"0x5b starting a token", "[a", 2, std::nullopt, nullptr}, {"0x5c starting a token", "\\a", 2, std::nullopt, nullptr}, @@ -2371,132 +2755,132 @@ {"0x61 starting a token", "aa", 2, - {{Item("aa", Item::kTokenType), {}}}, + {{Item(Item::token, "aa"), {}}}, nullptr}, {"0x62 starting a token", "ba", 2, - {{Item("ba", Item::kTokenType), {}}}, + {{Item(Item::token, "ba"), {}}}, nullptr}, {"0x63 starting a token", "ca", 2, - {{Item("ca", Item::kTokenType), {}}}, + {{Item(Item::token, "ca"), {}}}, nullptr}, {"0x64 starting a token", "da", 2, - {{Item("da", Item::kTokenType), {}}}, + {{Item(Item::token, "da"), {}}}, nullptr}, {"0x65 starting a token", "ea", 2, - {{Item("ea", Item::kTokenType), {}}}, + {{Item(Item::token, "ea"), {}}}, nullptr}, {"0x66 starting a token", "fa", 2, - {{Item("fa", Item::kTokenType), {}}}, + {{Item(Item::token, "fa"), {}}}, nullptr}, {"0x67 starting a token", "ga", 2, - {{Item("ga", Item::kTokenType), {}}}, + {{Item(Item::token, "ga"), {}}}, nullptr}, {"0x68 starting a token", "ha", 2, - {{Item("ha", Item::kTokenType), {}}}, + {{Item(Item::token, "ha"), {}}}, nullptr}, {"0x69 starting a token", "ia", 2, - {{Item("ia", Item::kTokenType), {}}}, + {{Item(Item::token, "ia"), {}}}, nullptr}, {"0x6a starting a token", "ja", 2, - {{Item("ja", Item::kTokenType), {}}}, + {{Item(Item::token, "ja"), {}}}, nullptr}, {"0x6b starting a token", "ka", 2, - {{Item("ka", Item::kTokenType), {}}}, + {{Item(Item::token, "ka"), {}}}, nullptr}, {"0x6c starting a token", "la", 2, - {{Item("la", Item::kTokenType), {}}}, + {{Item(Item::token, "la"), {}}}, nullptr}, {"0x6d starting a token", "ma", 2, - {{Item("ma", Item::kTokenType), {}}}, + {{Item(Item::token, "ma"), {}}}, nullptr}, {"0x6e starting a token", "na", 2, - {{Item("na", Item::kTokenType), {}}}, + {{Item(Item::token, "na"), {}}}, nullptr}, {"0x6f starting a token", "oa", 2, - {{Item("oa", Item::kTokenType), {}}}, + {{Item(Item::token, "oa"), {}}}, nullptr}, {"0x70 starting a token", "pa", 2, - {{Item("pa", Item::kTokenType), {}}}, + {{Item(Item::token, "pa"), {}}}, nullptr}, {"0x71 starting a token", "qa", 2, - {{Item("qa", Item::kTokenType), {}}}, + {{Item(Item::token, "qa"), {}}}, nullptr}, {"0x72 starting a token", "ra", 2, - {{Item("ra", Item::kTokenType), {}}}, + {{Item(Item::token, "ra"), {}}}, nullptr}, {"0x73 starting a token", "sa", 2, - {{Item("sa", Item::kTokenType), {}}}, + {{Item(Item::token, "sa"), {}}}, nullptr}, {"0x74 starting a token", "ta", 2, - {{Item("ta", Item::kTokenType), {}}}, + {{Item(Item::token, "ta"), {}}}, nullptr}, {"0x75 starting a token", "ua", 2, - {{Item("ua", Item::kTokenType), {}}}, + {{Item(Item::token, "ua"), {}}}, nullptr}, {"0x76 starting a token", "va", 2, - {{Item("va", Item::kTokenType), {}}}, + {{Item(Item::token, "va"), {}}}, nullptr}, {"0x77 starting a token", "wa", 2, - {{Item("wa", Item::kTokenType), {}}}, + {{Item(Item::token, "wa"), {}}}, nullptr}, {"0x78 starting a token", "xa", 2, - {{Item("xa", Item::kTokenType), {}}}, + {{Item(Item::token, "xa"), {}}}, nullptr}, {"0x79 starting a token", "ya", 2, - {{Item("ya", Item::kTokenType), {}}}, + {{Item(Item::token, "ya"), {}}}, nullptr}, {"0x7a starting a token", "za", 2, - {{Item("za", Item::kTokenType), {}}}, + {{Item(Item::token, "za"), {}}}, nullptr}, {"0x7b starting a token", "{a", 2, std::nullopt, nullptr}, {"0x7c starting a token", "|a", 2, std::nullopt, nullptr}, @@ -2507,17 +2891,17 @@ {"basic token - item", "a_b-c.d3:f%00/*", 15, - {{Item("a_b-c.d3:f%00/*", Item::kTokenType), {}}}, + {{Item(Item::token, "a_b-c.d3:f%00/*"), {}}}, nullptr}, {"token with capitals - item", "fooBar", 6, - {{Item("fooBar", Item::kTokenType), {}}}, + {{Item(Item::token, "fooBar"), {}}}, nullptr}, {"token starting with capitals - item", "FooBar", 6, - {{Item("FooBar", Item::kTokenType), {}}}, + {{Item(Item::token, "FooBar"), {}}}, nullptr}, }; @@ -2534,43 +2918,43 @@ {"Example-StrListHeader", "\"foo\", \"bar\", \"It was the best of times.\"", 41, - {{{Item("foo"), {}}, - {Item("bar"), {}}, - {Item("It was the best of times."), {}}}}, + {{{Item(Item::string, "foo"), {}}, + {Item(Item::string, "bar"), {}}, + {Item(Item::string, "It was the best of times."), {}}}}, nullptr}, {"Example-Hdr (list on one line)", "foo, bar", 8, - {{{Item("foo", Item::kTokenType), {}}, - {Item("bar", Item::kTokenType), {}}}}, + {{{Item(Item::token, "foo"), {}}, {Item(Item::token, "bar"), {}}}}, nullptr}, {"Example-Hdr (list on two lines)", "foo, bar", 8, - {{{Item("foo", Item::kTokenType), {}}, - {Item("bar", Item::kTokenType), {}}}}, + {{{Item(Item::token, "foo"), {}}, {Item(Item::token, "bar"), {}}}}, "foo, bar"}, {"Example-StrListListHeader", "(\"foo\" \"bar\"), (\"baz\"), (\"bat\" \"one\"), ()", 41, - {{{{{Item("foo"), {}}, {Item("bar"), {}}}, {}}, - {{{Item("baz"), {}}}, {}}, - {{{Item("bat"), {}}, {Item("one"), {}}}, {}}, + {{{{{Item(Item::string, "foo"), {}}, {Item(Item::string, "bar"), {}}}, {}}, + {{{Item(Item::string, "baz"), {}}}, {}}, + {{{Item(Item::string, "bat"), {}}, {Item(Item::string, "one"), {}}}, {}}, {std::vector<ParameterizedItem>(), {}}}}, nullptr}, {"Example-ListListParam", "(\"foo\"; a=1;b=2);lvl=5, (\"bar\" \"baz\");lvl=1", 43, - {{{{{Item("foo"), {Param("a", 1), Param("b", 2)}}}, {Param("lvl", 5)}}, - {{{Item("bar"), {}}, {Item("baz"), {}}}, {Param("lvl", 1)}}}}, + {{{{{Item(Item::string, "foo"), {Param("a", 1), Param("b", 2)}}}, + {Param("lvl", 5)}}, + {{{Item(Item::string, "bar"), {}}, {Item(Item::string, "baz"), {}}}, + {Param("lvl", 1)}}}}, "(\"foo\";a=1;b=2);lvl=5, (\"bar\" \"baz\");lvl=1"}, {"Example-ParamListHeader", "abc;a=1;b=2; cde_456, (ghi;jk=4 l);q=\"9\";r=w", 44, - {{{Item("abc", Item::kTokenType), + {{{Item(Item::token, "abc"), {Param("a", 1), Param("b", 2), BooleanParam("cde_456", true)}}, - {{{Item("ghi", Item::kTokenType), {Param("jk", 4)}}, - {Item("l", Item::kTokenType), {}}}, + {{{Item(Item::token, "ghi"), {Param("jk", 4)}}, + {Item(Item::token, "l"), {}}}, {Param("q", "9"), TokenParam("r", "w")}}}}, "abc;a=1;b=2;cde_456, (ghi;jk=4 l);q=\"9\";r=w"}, // key-generated.json @@ -2652,76 +3036,76 @@ {"0x2a in parameterised list key", "foo; a*a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a*a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a*a", 1)}}}}, "foo;a*a=1"}, {"0x2b in parameterised list key", "foo; a+a=1", 10, std::nullopt, nullptr}, {"0x2c in parameterised list key", "foo; a,a=1", 10, std::nullopt, nullptr}, {"0x2d in parameterised list key", "foo; a-a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a-a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a-a", 1)}}}}, "foo;a-a=1"}, {"0x2e in parameterised list key", "foo; a.a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a.a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a.a", 1)}}}}, "foo;a.a=1"}, {"0x2f in parameterised list key", "foo; a/a=1", 10, std::nullopt, nullptr}, {"0x30 in parameterised list key", "foo; a0a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a0a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a0a", 1)}}}}, "foo;a0a=1"}, {"0x31 in parameterised list key", "foo; a1a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a1a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a1a", 1)}}}}, "foo;a1a=1"}, {"0x32 in parameterised list key", "foo; a2a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a2a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a2a", 1)}}}}, "foo;a2a=1"}, {"0x33 in parameterised list key", "foo; a3a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a3a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a3a", 1)}}}}, "foo;a3a=1"}, {"0x34 in parameterised list key", "foo; a4a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a4a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a4a", 1)}}}}, "foo;a4a=1"}, {"0x35 in parameterised list key", "foo; a5a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a5a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a5a", 1)}}}}, "foo;a5a=1"}, {"0x36 in parameterised list key", "foo; a6a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a6a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a6a", 1)}}}}, "foo;a6a=1"}, {"0x37 in parameterised list key", "foo; a7a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a7a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a7a", 1)}}}}, "foo;a7a=1"}, {"0x38 in parameterised list key", "foo; a8a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a8a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a8a", 1)}}}}, "foo;a8a=1"}, {"0x39 in parameterised list key", "foo; a9a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a9a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a9a", 1)}}}}, "foo;a9a=1"}, {"0x3a in parameterised list key", "foo; a:a=1", 10, std::nullopt, nullptr}, {"0x3b in parameterised list key", "foo; a;a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a", 1)}}}}, "foo;a=1"}, {"0x3c in parameterised list key", "foo; a<a=1", 10, std::nullopt, nullptr}, {"0x3d in parameterised list key", "foo; a=a=1", 10, std::nullopt, nullptr}, @@ -2762,138 +3146,138 @@ {"0x5f in parameterised list key", "foo; a_a=1", 10, - {{{Item("foo", Item::kTokenType), {Param("a_a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a_a", 1)}}}}, "foo;a_a=1"}, {"0x60 in parameterised list key", "foo; a`a=1", 10, std::nullopt, nullptr}, {"0x61 in parameterised list key", "foo; aaa=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aaa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aaa", 1)}}}}, "foo;aaa=1"}, {"0x62 in parameterised list key", "foo; aba=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aba", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aba", 1)}}}}, "foo;aba=1"}, {"0x63 in parameterised list key", "foo; aca=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aca", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aca", 1)}}}}, "foo;aca=1"}, {"0x64 in parameterised list key", "foo; ada=1", 10, - {{{Item("foo", Item::kTokenType), {Param("ada", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ada", 1)}}}}, "foo;ada=1"}, {"0x65 in parameterised list key", "foo; aea=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aea", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aea", 1)}}}}, "foo;aea=1"}, {"0x66 in parameterised list key", "foo; afa=1", 10, - {{{Item("foo", Item::kTokenType), {Param("afa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("afa", 1)}}}}, "foo;afa=1"}, {"0x67 in parameterised list key", "foo; aga=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aga", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aga", 1)}}}}, "foo;aga=1"}, {"0x68 in parameterised list key", "foo; aha=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aha", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aha", 1)}}}}, "foo;aha=1"}, {"0x69 in parameterised list key", "foo; aia=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aia", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aia", 1)}}}}, "foo;aia=1"}, {"0x6a in parameterised list key", "foo; aja=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aja", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aja", 1)}}}}, "foo;aja=1"}, {"0x6b in parameterised list key", "foo; aka=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aka", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aka", 1)}}}}, "foo;aka=1"}, {"0x6c in parameterised list key", "foo; ala=1", 10, - {{{Item("foo", Item::kTokenType), {Param("ala", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ala", 1)}}}}, "foo;ala=1"}, {"0x6d in parameterised list key", "foo; ama=1", 10, - {{{Item("foo", Item::kTokenType), {Param("ama", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ama", 1)}}}}, "foo;ama=1"}, {"0x6e in parameterised list key", "foo; ana=1", 10, - {{{Item("foo", Item::kTokenType), {Param("ana", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ana", 1)}}}}, "foo;ana=1"}, {"0x6f in parameterised list key", "foo; aoa=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aoa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aoa", 1)}}}}, "foo;aoa=1"}, {"0x70 in parameterised list key", "foo; apa=1", 10, - {{{Item("foo", Item::kTokenType), {Param("apa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("apa", 1)}}}}, "foo;apa=1"}, {"0x71 in parameterised list key", "foo; aqa=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aqa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aqa", 1)}}}}, "foo;aqa=1"}, {"0x72 in parameterised list key", "foo; ara=1", 10, - {{{Item("foo", Item::kTokenType), {Param("ara", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ara", 1)}}}}, "foo;ara=1"}, {"0x73 in parameterised list key", "foo; asa=1", 10, - {{{Item("foo", Item::kTokenType), {Param("asa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("asa", 1)}}}}, "foo;asa=1"}, {"0x74 in parameterised list key", "foo; ata=1", 10, - {{{Item("foo", Item::kTokenType), {Param("ata", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ata", 1)}}}}, "foo;ata=1"}, {"0x75 in parameterised list key", "foo; aua=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aua", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aua", 1)}}}}, "foo;aua=1"}, {"0x76 in parameterised list key", "foo; ava=1", 10, - {{{Item("foo", Item::kTokenType), {Param("ava", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ava", 1)}}}}, "foo;ava=1"}, {"0x77 in parameterised list key", "foo; awa=1", 10, - {{{Item("foo", Item::kTokenType), {Param("awa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("awa", 1)}}}}, "foo;awa=1"}, {"0x78 in parameterised list key", "foo; axa=1", 10, - {{{Item("foo", Item::kTokenType), {Param("axa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("axa", 1)}}}}, "foo;axa=1"}, {"0x79 in parameterised list key", "foo; aya=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aya", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aya", 1)}}}}, "foo;aya=1"}, {"0x7a in parameterised list key", "foo; aza=1", 10, - {{{Item("foo", Item::kTokenType), {Param("aza", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aza", 1)}}}}, "foo;aza=1"}, {"0x7b in parameterised list key", "foo; a{a=1", 10, std::nullopt, nullptr}, {"0x7c in parameterised list key", "foo; a|a=1", 10, std::nullopt, nullptr}, @@ -2968,7 +3352,7 @@ {"0x20 starting a parameterised list key", "foo; a=1", 9, - {{{Item("foo", Item::kTokenType), {Param("a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a", 1)}}}}, "foo;a=1"}, {"0x21 starting a parameterised list key", "foo; !a=1", 9, std::nullopt, nullptr}, @@ -2991,7 +3375,7 @@ {"0x2a starting a parameterised list key", "foo; *a=1", 9, - {{{Item("foo", Item::kTokenType), {Param("*a", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("*a", 1)}}}}, "foo;*a=1"}, {"0x2b starting a parameterised list key", "foo; +a=1", 9, std::nullopt, nullptr}, @@ -3104,132 +3488,132 @@ {"0x61 starting a parameterised list key", "foo; aa=1", 9, - {{{Item("foo", Item::kTokenType), {Param("aa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("aa", 1)}}}}, "foo;aa=1"}, {"0x62 starting a parameterised list key", "foo; ba=1", 9, - {{{Item("foo", Item::kTokenType), {Param("ba", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ba", 1)}}}}, "foo;ba=1"}, {"0x63 starting a parameterised list key", "foo; ca=1", 9, - {{{Item("foo", Item::kTokenType), {Param("ca", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ca", 1)}}}}, "foo;ca=1"}, {"0x64 starting a parameterised list key", "foo; da=1", 9, - {{{Item("foo", Item::kTokenType), {Param("da", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("da", 1)}}}}, "foo;da=1"}, {"0x65 starting a parameterised list key", "foo; ea=1", 9, - {{{Item("foo", Item::kTokenType), {Param("ea", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ea", 1)}}}}, "foo;ea=1"}, {"0x66 starting a parameterised list key", "foo; fa=1", 9, - {{{Item("foo", Item::kTokenType), {Param("fa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("fa", 1)}}}}, "foo;fa=1"}, {"0x67 starting a parameterised list key", "foo; ga=1", 9, - {{{Item("foo", Item::kTokenType), {Param("ga", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ga", 1)}}}}, "foo;ga=1"}, {"0x68 starting a parameterised list key", "foo; ha=1", 9, - {{{Item("foo", Item::kTokenType), {Param("ha", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ha", 1)}}}}, "foo;ha=1"}, {"0x69 starting a parameterised list key", "foo; ia=1", 9, - {{{Item("foo", Item::kTokenType), {Param("ia", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ia", 1)}}}}, "foo;ia=1"}, {"0x6a starting a parameterised list key", "foo; ja=1", 9, - {{{Item("foo", Item::kTokenType), {Param("ja", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ja", 1)}}}}, "foo;ja=1"}, {"0x6b starting a parameterised list key", "foo; ka=1", 9, - {{{Item("foo", Item::kTokenType), {Param("ka", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ka", 1)}}}}, "foo;ka=1"}, {"0x6c starting a parameterised list key", "foo; la=1", 9, - {{{Item("foo", Item::kTokenType), {Param("la", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("la", 1)}}}}, "foo;la=1"}, {"0x6d starting a parameterised list key", "foo; ma=1", 9, - {{{Item("foo", Item::kTokenType), {Param("ma", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ma", 1)}}}}, "foo;ma=1"}, {"0x6e starting a parameterised list key", "foo; na=1", 9, - {{{Item("foo", Item::kTokenType), {Param("na", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("na", 1)}}}}, "foo;na=1"}, {"0x6f starting a parameterised list key", "foo; oa=1", 9, - {{{Item("foo", Item::kTokenType), {Param("oa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("oa", 1)}}}}, "foo;oa=1"}, {"0x70 starting a parameterised list key", "foo; pa=1", 9, - {{{Item("foo", Item::kTokenType), {Param("pa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("pa", 1)}}}}, "foo;pa=1"}, {"0x71 starting a parameterised list key", "foo; qa=1", 9, - {{{Item("foo", Item::kTokenType), {Param("qa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("qa", 1)}}}}, "foo;qa=1"}, {"0x72 starting a parameterised list key", "foo; ra=1", 9, - {{{Item("foo", Item::kTokenType), {Param("ra", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ra", 1)}}}}, "foo;ra=1"}, {"0x73 starting a parameterised list key", "foo; sa=1", 9, - {{{Item("foo", Item::kTokenType), {Param("sa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("sa", 1)}}}}, "foo;sa=1"}, {"0x74 starting a parameterised list key", "foo; ta=1", 9, - {{{Item("foo", Item::kTokenType), {Param("ta", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ta", 1)}}}}, "foo;ta=1"}, {"0x75 starting a parameterised list key", "foo; ua=1", 9, - {{{Item("foo", Item::kTokenType), {Param("ua", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ua", 1)}}}}, "foo;ua=1"}, {"0x76 starting a parameterised list key", "foo; va=1", 9, - {{{Item("foo", Item::kTokenType), {Param("va", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("va", 1)}}}}, "foo;va=1"}, {"0x77 starting a parameterised list key", "foo; wa=1", 9, - {{{Item("foo", Item::kTokenType), {Param("wa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("wa", 1)}}}}, "foo;wa=1"}, {"0x78 starting a parameterised list key", "foo; xa=1", 9, - {{{Item("foo", Item::kTokenType), {Param("xa", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("xa", 1)}}}}, "foo;xa=1"}, {"0x79 starting a parameterised list key", "foo; ya=1", 9, - {{{Item("foo", Item::kTokenType), {Param("ya", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("ya", 1)}}}}, "foo;ya=1"}, {"0x7a starting a parameterised list key", "foo; za=1", 9, - {{{Item("foo", Item::kTokenType), {Param("za", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("za", 1)}}}}, "foo;za=1"}, {"0x7b starting a parameterised list key", "foo; {a=1", 9, std::nullopt, nullptr}, @@ -3329,1030 +3713,518 @@ "a1010, a1011, a1012, a1013, a1014, a1015, a1016, a1017, a1018, a1019, " "a1020, a1021, a1022, a1023", 6056, - {{{Item("a0", Item::kTokenType), {}}, - {Item("a1", Item::kTokenType), {}}, - {Item("a2", Item::kTokenType), {}}, - {Item("a3", Item::kTokenType), {}}, - {Item("a4", Item::kTokenType), {}}, - {Item("a5", Item::kTokenType), {}}, - {Item("a6", Item::kTokenType), {}}, - {Item("a7", Item::kTokenType), {}}, - {Item("a8", Item::kTokenType), {}}, - {Item("a9", Item::kTokenType), {}}, - {Item("a10", Item::kTokenType), {}}, - {Item("a11", Item::kTokenType), {}}, - {Item("a12", Item::kTokenType), {}}, - {Item("a13", Item::kTokenType), {}}, - {Item("a14", Item::kTokenType), {}}, - {Item("a15", Item::kTokenType), {}}, - {Item("a16", Item::kTokenType), {}}, - {Item("a17", Item::kTokenType), {}}, - {Item("a18", Item::kTokenType), {}}, - {Item("a19", Item::kTokenType), {}}, - {Item("a20", Item::kTokenType), {}}, - {Item("a21", Item::kTokenType), {}}, - {Item("a22", Item::kTokenType), {}}, - {Item("a23", Item::kTokenType), {}}, - {Item("a24", Item::kTokenType), {}}, - {Item("a25", Item::kTokenType), {}}, - {Item("a26", Item::kTokenType), {}}, - {Item("a27", Item::kTokenType), {}}, - {Item("a28", Item::kTokenType), {}}, - {Item("a29", Item::kTokenType), {}}, - {Item("a30", Item::kTokenType), {}}, - {Item("a31", Item::kTokenType), {}}, - {Item("a32", Item::kTokenType), {}}, - {Item("a33", Item::kTokenType), {}}, - {Item("a34", Item::kTokenType), {}}, - {Item("a35", Item::kTokenType), {}}, - {Item("a36", Item::kTokenType), {}}, - {Item("a37", Item::kTokenType), {}}, - {Item("a38", Item::kTokenType), {}}, - {Item("a39", Item::kTokenType), {}}, - {Item("a40", Item::kTokenType), {}}, - {Item("a41", Item::kTokenType), {}}, - {Item("a42", Item::kTokenType), {}}, - {Item("a43", Item::kTokenType), {}}, - {Item("a44", Item::kTokenType), {}}, - {Item("a45", Item::kTokenType), {}}, - {Item("a46", Item::kTokenType), {}}, - {Item("a47", Item::kTokenType), {}}, - {Item("a48", Item::kTokenType), {}}, - {Item("a49", Item::kTokenType), {}}, - {Item("a50", Item::kTokenType), {}}, - {Item("a51", Item::kTokenType), {}}, - {Item("a52", Item::kTokenType), {}}, - {Item("a53", Item::kTokenType), {}}, - {Item("a54", Item::kTokenType), {}}, - {Item("a55", Item::kTokenType), {}}, - {Item("a56", Item::kTokenType), {}}, - {Item("a57", Item::kTokenType), {}}, - {Item("a58", Item::kTokenType), {}}, - {Item("a59", Item::kTokenType), {}}, - {Item("a60", Item::kTokenType), {}}, - {Item("a61", Item::kTokenType), {}}, - {Item("a62", Item::kTokenType), {}}, - {Item("a63", Item::kTokenType), {}}, - {Item("a64", Item::kTokenType), {}}, - {Item("a65", Item::kTokenType), {}}, - {Item("a66", Item::kTokenType), {}}, - {Item("a67", Item::kTokenType), {}}, - {Item("a68", Item::kTokenType), {}}, - {Item("a69", Item::kTokenType), {}}, - {Item("a70", Item::kTokenType), {}}, - {Item("a71", Item::kTokenType), {}}, - {Item("a72", Item::kTokenType), {}}, - {Item("a73", Item::kTokenType), {}}, - {Item("a74", Item::kTokenType), {}}, - {Item("a75", Item::kTokenType), {}}, - {Item("a76", Item::kTokenType), {}}, - {Item("a77", Item::kTokenType), {}}, - {Item("a78", Item::kTokenType), {}}, - {Item("a79", Item::kTokenType), {}}, - {Item("a80", Item::kTokenType), {}}, - {Item("a81", Item::kTokenType), {}}, - {Item("a82", Item::kTokenType), {}}, - {Item("a83", Item::kTokenType), {}}, - {Item("a84", Item::kTokenType), {}}, - {Item("a85", Item::kTokenType), {}}, - {Item("a86", Item::kTokenType), {}}, - {Item("a87", Item::kTokenType), {}}, - {Item("a88", Item::kTokenType), {}}, - {Item("a89", Item::kTokenType), {}}, - {Item("a90", Item::kTokenType), {}}, - {Item("a91", Item::kTokenType), {}}, - {Item("a92", Item::kTokenType), {}}, - {Item("a93", Item::kTokenType), {}}, - {Item("a94", Item::kTokenType), {}}, - {Item("a95", Item::kTokenType), {}}, - {Item("a96", Item::kTokenType), {}}, - {Item("a97", Item::kTokenType), {}}, - {Item("a98", Item::kTokenType), {}}, - {Item("a99", Item::kTokenType), {}}, - {Item("a100", Item::kTokenType), {}}, - {Item("a101", Item::kTokenType), {}}, - {Item("a102", Item::kTokenType), {}}, - {Item("a103", Item::kTokenType), {}}, - {Item("a104", Item::kTokenType), {}}, - {Item("a105", Item::kTokenType), {}}, - {Item("a106", Item::kTokenType), {}}, - {Item("a107", Item::kTokenType), {}}, - {Item("a108", Item::kTokenType), {}}, - {Item("a109", Item::kTokenType), {}}, - {Item("a110", Item::kTokenType), {}}, - {Item("a111", Item::kTokenType), {}}, - {Item("a112", Item::kTokenType), {}}, - {Item("a113", Item::kTokenType), {}}, - {Item("a114", Item::kTokenType), {}}, - {Item("a115", Item::kTokenType), {}}, - {Item("a116", Item::kTokenType), {}}, - {Item("a117", Item::kTokenType), {}}, - {Item("a118", Item::kTokenType), {}}, - {Item("a119", Item::kTokenType), {}}, - {Item("a120", Item::kTokenType), {}}, - {Item("a121", Item::kTokenType), {}}, - {Item("a122", Item::kTokenType), {}}, - {Item("a123", Item::kTokenType), {}}, - {Item("a124", Item::kTokenType), {}}, - {Item("a125", Item::kTokenType), {}}, - {Item("a126", Item::kTokenType), {}}, - {Item("a127", Item::kTokenType), {}}, - {Item("a128", Item::kTokenType), {}}, - {Item("a129", Item::kTokenType), {}}, - {Item("a130", Item::kTokenType), {}}, - {Item("a131", Item::kTokenType), {}}, - {Item("a132", Item::kTokenType), {}}, - {Item("a133", Item::kTokenType), {}}, - {Item("a134", Item::kTokenType), {}}, - {Item("a135", Item::kTokenType), {}}, - {Item("a136", Item::kTokenType), {}}, - {Item("a137", Item::kTokenType), {}}, - {Item("a138", Item::kTokenType), {}}, - {Item("a139", Item::kTokenType), {}}, - {Item("a140", Item::kTokenType), {}}, - {Item("a141", Item::kTokenType), {}}, - {Item("a142", Item::kTokenType), {}}, - {Item("a143", Item::kTokenType), {}}, - {Item("a144", Item::kTokenType), {}}, - {Item("a145", Item::kTokenType), {}}, - {Item("a146", Item::kTokenType), {}}, - {Item("a147", Item::kTokenType), {}}, - {Item("a148", Item::kTokenType), {}}, - {Item("a149", Item::kTokenType), {}}, - {Item("a150", Item::kTokenType), {}}, - {Item("a151", Item::kTokenType), {}}, - {Item("a152", Item::kTokenType), {}}, - {Item("a153", Item::kTokenType), {}}, - {Item("a154", Item::kTokenType), {}}, - {Item("a155", Item::kTokenType), {}}, - {Item("a156", Item::kTokenType), {}}, - {Item("a157", Item::kTokenType), {}}, - {Item("a158", Item::kTokenType), {}}, - {Item("a159", Item::kTokenType), {}}, - {Item("a160", Item::kTokenType), {}}, - {Item("a161", Item::kTokenType), {}}, - {Item("a162", Item::kTokenType), {}}, - {Item("a163", Item::kTokenType), {}}, - {Item("a164", Item::kTokenType), {}}, - {Item("a165", Item::kTokenType), {}}, - {Item("a166", Item::kTokenType), {}}, - {Item("a167", Item::kTokenType), {}}, - {Item("a168", Item::kTokenType), {}}, - {Item("a169", Item::kTokenType), {}}, - {Item("a170", Item::kTokenType), {}}, - {Item("a171", Item::kTokenType), {}}, - {Item("a172", Item::kTokenType), {}}, - {Item("a173", Item::kTokenType), {}}, - {Item("a174", Item::kTokenType), {}}, - {Item("a175", Item::kTokenType), {}}, - {Item("a176", Item::kTokenType), {}}, - {Item("a177", Item::kTokenType), {}}, - {Item("a178", Item::kTokenType), {}}, - {Item("a179", Item::kTokenType), {}}, - {Item("a180", Item::kTokenType), {}}, - {Item("a181", Item::kTokenType), {}}, - {Item("a182", Item::kTokenType), {}}, - {Item("a183", Item::kTokenType), {}}, - {Item("a184", Item::kTokenType), {}}, - {Item("a185", Item::kTokenType), {}}, - {Item("a186", Item::kTokenType), {}}, - {Item("a187", Item::kTokenType), {}}, - {Item("a188", Item::kTokenType), {}}, - {Item("a189", Item::kTokenType), {}}, - {Item("a190", Item::kTokenType), {}}, - {Item("a191", Item::kTokenType), {}}, - {Item("a192", Item::kTokenType), {}}, - {Item("a193", Item::kTokenType), {}}, - {Item("a194", Item::kTokenType), {}}, - {Item("a195", Item::kTokenType), {}}, - {Item("a196", Item::kTokenType), {}}, - {Item("a197", Item::kTokenType), {}}, - {Item("a198", Item::kTokenType), {}}, - {Item("a199", Item::kTokenType), {}}, - {Item("a200", Item::kTokenType), {}}, - {Item("a201", Item::kTokenType), {}}, - {Item("a202", Item::kTokenType), {}}, - {Item("a203", Item::kTokenType), {}}, - {Item("a204", Item::kTokenType), {}}, - {Item("a205", Item::kTokenType), {}}, - {Item("a206", Item::kTokenType), {}}, - {Item("a207", Item::kTokenType), {}}, - {Item("a208", Item::kTokenType), {}}, - {Item("a209", Item::kTokenType), {}}, - {Item("a210", Item::kTokenType), {}}, - {Item("a211", Item::kTokenType), {}}, - {Item("a212", Item::kTokenType), {}}, - {Item("a213", Item::kTokenType), {}}, - {Item("a214", Item::kTokenType), {}}, - {Item("a215", Item::kTokenType), {}}, - {Item("a216", Item::kTokenType), {}}, - {Item("a217", Item::kTokenType), {}}, - {Item("a218", Item::kTokenType), {}}, - {Item("a219", Item::kTokenType), {}}, - {Item("a220", Item::kTokenType), {}}, - {Item("a221", Item::kTokenType), {}}, - {Item("a222", Item::kTokenType), {}}, - {Item("a223", Item::kTokenType), {}}, - {Item("a224", Item::kTokenType), {}}, - {Item("a225", Item::kTokenType), {}}, - {Item("a226", Item::kTokenType), {}}, - {Item("a227", Item::kTokenType), {}}, - {Item("a228", Item::kTokenType), {}}, - {Item("a229", Item::kTokenType), {}}, - {Item("a230", Item::kTokenType), {}}, - {Item("a231", Item::kTokenType), {}}, - {Item("a232", Item::kTokenType), {}}, - {Item("a233", Item::kTokenType), {}}, - {Item("a234", Item::kTokenType), {}}, - {Item("a235", Item::kTokenType), {}}, - {Item("a236", Item::kTokenType), {}}, - {Item("a237", Item::kTokenType), {}}, - {Item("a238", Item::kTokenType), {}}, - {Item("a239", Item::kTokenType), {}}, - {Item("a240", Item::kTokenType), {}}, - {Item("a241", Item::kTokenType), {}}, - {Item("a242", Item::kTokenType), {}}, - {Item("a243", Item::kTokenType), {}}, - {Item("a244", Item::kTokenType), {}}, - {Item("a245", Item::kTokenType), {}}, - {Item("a246", Item::kTokenType), {}}, - {Item("a247", Item::kTokenType), {}}, - {Item("a248", Item::kTokenType), {}}, - {Item("a249", Item::kTokenType), {}}, - {Item("a250", Item::kTokenType), {}}, - {Item("a251", Item::kTokenType), {}}, - {Item("a252", Item::kTokenType), {}}, - {Item("a253", Item::kTokenType), {}}, - {Item("a254", Item::kTokenType), {}}, - {Item("a255", Item::kTokenType), {}}, - {Item("a256", Item::kTokenType), {}}, - {Item("a257", Item::kTokenType), {}}, - {Item("a258", Item::kTokenType), {}}, - {Item("a259", Item::kTokenType), {}}, - {Item("a260", Item::kTokenType), {}}, - {Item("a261", Item::kTokenType), {}}, - {Item("a262", Item::kTokenType), {}}, - {Item("a263", Item::kTokenType), {}}, - {Item("a264", Item::kTokenType), {}}, - {Item("a265", Item::kTokenType), {}}, - {Item("a266", Item::kTokenType), {}}, - {Item("a267", Item::kTokenType), {}}, - {Item("a268", Item::kTokenType), {}}, - {Item("a269", Item::kTokenType), {}}, - {Item("a270", Item::kTokenType), {}}, - {Item("a271", Item::kTokenType), {}}, - {Item("a272", Item::kTokenType), {}}, - {Item("a273", Item::kTokenType), {}}, - {Item("a274", Item::kTokenType), {}}, - {Item("a275", Item::kTokenType), {}}, - {Item("a276", Item::kTokenType), {}}, - {Item("a277", Item::kTokenType), {}}, - {Item("a278", Item::kTokenType), {}}, - {Item("a279", Item::kTokenType), {}}, - {Item("a280", Item::kTokenType), {}}, - {Item("a281", Item::kTokenType), {}}, - {Item("a282", Item::kTokenType), {}}, - {Item("a283", Item::kTokenType), {}}, - {Item("a284", Item::kTokenType), {}}, - {Item("a285", Item::kTokenType), {}}, - {Item("a286", Item::kTokenType), {}}, - {Item("a287", Item::kTokenType), {}}, - {Item("a288", Item::kTokenType), {}}, - {Item("a289", Item::kTokenType), {}}, - {Item("a290", Item::kTokenType), {}}, - {Item("a291", Item::kTokenType), {}}, - {Item("a292", Item::kTokenType), {}}, - {Item("a293", Item::kTokenType), {}}, - {Item("a294", Item::kTokenType), {}}, - {Item("a295", Item::kTokenType), {}}, - {Item("a296", Item::kTokenType), {}}, - {Item("a297", Item::kTokenType), {}}, - {Item("a298", Item::kTokenType), {}}, - {Item("a299", Item::kTokenType), {}}, - {Item("a300", Item::kTokenType), {}}, - {Item("a301", Item::kTokenType), {}}, - {Item("a302", Item::kTokenType), {}}, - {Item("a303", Item::kTokenType), {}}, - {Item("a304", Item::kTokenType), {}}, - {Item("a305", Item::kTokenType), {}}, - {Item("a306", Item::kTokenType), {}}, - {Item("a307", Item::kTokenType), {}}, - {Item("a308", Item::kTokenType), {}}, - {Item("a309", Item::kTokenType), {}}, - {Item("a310", Item::kTokenType), {}}, - {Item("a311", Item::kTokenType), {}}, - {Item("a312", Item::kTokenType), {}}, - {Item("a313", Item::kTokenType), {}}, - {Item("a314", Item::kTokenType), {}}, - {Item("a315", Item::kTokenType), {}}, - {Item("a316", Item::kTokenType), {}}, - {Item("a317", Item::kTokenType), {}}, - {Item("a318", Item::kTokenType), {}}, - {Item("a319", Item::kTokenType), {}}, - {Item("a320", Item::kTokenType), {}}, - {Item("a321", Item::kTokenType), {}}, - {Item("a322", Item::kTokenType), {}}, - {Item("a323", Item::kTokenType), {}}, - {Item("a324", Item::kTokenType), {}}, - {Item("a325", Item::kTokenType), {}}, - {Item("a326", Item::kTokenType), {}}, - {Item("a327", Item::kTokenType), {}}, - {Item("a328", Item::kTokenType), {}}, - {Item("a329", Item::kTokenType), {}}, - {Item("a330", Item::kTokenType), {}}, - {Item("a331", Item::kTokenType), {}}, - {Item("a332", Item::kTokenType), {}}, - {Item("a333", Item::kTokenType), {}}, - {Item("a334", Item::kTokenType), {}}, - {Item("a335", Item::kTokenType), {}}, - {Item("a336", Item::kTokenType), {}}, - {Item("a337", Item::kTokenType), {}}, - {Item("a338", Item::kTokenType), {}}, - {Item("a339", Item::kTokenType), {}}, - {Item("a340", Item::kTokenType), {}}, - {Item("a341", Item::kTokenType), {}}, - {Item("a342", Item::kTokenType), {}}, - {Item("a343", Item::kTokenType), {}}, - {Item("a344", Item::kTokenType), {}}, - {Item("a345", Item::kTokenType), {}}, - {Item("a346", Item::kTokenType), {}}, - {Item("a347", Item::kTokenType), {}}, - {Item("a348", Item::kTokenType), {}}, - {Item("a349", Item::kTokenType), {}}, - {Item("a350", Item::kTokenType), {}}, - {Item("a351", Item::kTokenType), {}}, - {Item("a352", Item::kTokenType), {}}, - {Item("a353", Item::kTokenType), {}}, - {Item("a354", Item::kTokenType), {}}, - {Item("a355", Item::kTokenType), {}}, - {Item("a356", Item::kTokenType), {}}, - {Item("a357", Item::kTokenType), {}}, - {Item("a358", Item::kTokenType), {}}, - {Item("a359", Item::kTokenType), {}}, - {Item("a360", Item::kTokenType), {}}, - {Item("a361", Item::kTokenType), {}}, - {Item("a362", Item::kTokenType), {}}, - {Item("a363", Item::kTokenType), {}}, - {Item("a364", Item::kTokenType), {}}, - {Item("a365", Item::kTokenType), {}}, - {Item("a366", Item::kTokenType), {}}, - {Item("a367", Item::kTokenType), {}}, - {Item("a368", Item::kTokenType), {}}, - {Item("a369", Item::kTokenType), {}}, - {Item("a370", Item::kTokenType), {}}, - {Item("a371", Item::kTokenType), {}}, - {Item("a372", Item::kTokenType), {}}, - {Item("a373", Item::kTokenType), {}}, - {Item("a374", Item::kTokenType), {}}, - {Item("a375", Item::kTokenType), {}}, - {Item("a376", Item::kTokenType), {}}, - {Item("a377", Item::kTokenType), {}}, - {Item("a378", Item::kTokenType), {}}, - {Item("a379", Item::kTokenType), {}}, - {Item("a380", Item::kTokenType), {}}, - {Item("a381", Item::kTokenType), {}}, - {Item("a382", Item::kTokenType), {}}, - {Item("a383", Item::kTokenType), {}}, - {Item("a384", Item::kTokenType), {}}, - {Item("a385", Item::kTokenType), {}}, - {Item("a386", Item::kTokenType), {}}, - {Item("a387", Item::kTokenType), {}}, - {Item("a388", Item::kTokenType), {}}, - {Item("a389", Item::kTokenType), {}}, - {Item("a390", Item::kTokenType), {}}, - {Item("a391", Item::kTokenType), {}}, - {Item("a392", Item::kTokenType), {}}, - {Item("a393", Item::kTokenType), {}}, - {Item("a394", Item::kTokenType), {}}, - {Item("a395", Item::kTokenType), {}}, - {Item("a396", Item::kTokenType), {}}, - {Item("a397", Item::kTokenType), {}}, - {Item("a398", Item::kTokenType), {}}, - {Item("a399", Item::kTokenType), {}}, - {Item("a400", Item::kTokenType), {}}, - {Item("a401", Item::kTokenType), {}}, - {Item("a402", Item::kTokenType), {}}, - {Item("a403", Item::kTokenType), {}}, - {Item("a404", Item::kTokenType), {}}, - {Item("a405", Item::kTokenType), {}}, - {Item("a406", Item::kTokenType), {}}, - {Item("a407", Item::kTokenType), {}}, - {Item("a408", Item::kTokenType), {}}, - {Item("a409", Item::kTokenType), {}}, - {Item("a410", Item::kTokenType), {}}, - {Item("a411", Item::kTokenType), {}}, - {Item("a412", Item::kTokenType), {}}, - {Item("a413", Item::kTokenType), {}}, - {Item("a414", Item::kTokenType), {}}, - {Item("a415", Item::kTokenType), {}}, - {Item("a416", Item::kTokenType), {}}, - {Item("a417", Item::kTokenType), {}}, - {Item("a418", Item::kTokenType), {}}, - {Item("a419", Item::kTokenType), {}}, - {Item("a420", Item::kTokenType), {}}, - {Item("a421", Item::kTokenType), {}}, - {Item("a422", Item::kTokenType), {}}, - {Item("a423", Item::kTokenType), {}}, - {Item("a424", Item::kTokenType), {}}, - {Item("a425", Item::kTokenType), {}}, - {Item("a426", Item::kTokenType), {}}, - {Item("a427", Item::kTokenType), {}}, - {Item("a428", Item::kTokenType), {}}, - {Item("a429", Item::kTokenType), {}}, - {Item("a430", Item::kTokenType), {}}, - {Item("a431", Item::kTokenType), {}}, - {Item("a432", Item::kTokenType), {}}, - {Item("a433", Item::kTokenType), {}}, - {Item("a434", Item::kTokenType), {}}, - {Item("a435", Item::kTokenType), {}}, - {Item("a436", Item::kTokenType), {}}, - {Item("a437", Item::kTokenType), {}}, - {Item("a438", Item::kTokenType), {}}, - {Item("a439", Item::kTokenType), {}}, - {Item("a440", Item::kTokenType), {}}, - {Item("a441", Item::kTokenType), {}}, - {Item("a442", Item::kTokenType), {}}, - {Item("a443", Item::kTokenType), {}}, - {Item("a444", Item::kTokenType), {}}, - {Item("a445", Item::kTokenType), {}}, - {Item("a446", Item::kTokenType), {}}, - {Item("a447", Item::kTokenType), {}}, - {Item("a448", Item::kTokenType), {}}, - {Item("a449", Item::kTokenType), {}}, - {Item("a450", Item::kTokenType), {}}, - {Item("a451", Item::kTokenType), {}}, - {Item("a452", Item::kTokenType), {}}, - {Item("a453", Item::kTokenType), {}}, - {Item("a454", Item::kTokenType), {}}, - {Item("a455", Item::kTokenType), {}}, - {Item("a456", Item::kTokenType), {}}, - {Item("a457", Item::kTokenType), {}}, - {Item("a458", Item::kTokenType), {}}, - {Item("a459", Item::kTokenType), {}}, - {Item("a460", Item::kTokenType), {}}, - {Item("a461", Item::kTokenType), {}}, - {Item("a462", Item::kTokenType), {}}, - {Item("a463", Item::kTokenType), {}}, - {Item("a464", Item::kTokenType), {}}, - {Item("a465", Item::kTokenType), {}}, - {Item("a466", Item::kTokenType), {}}, - {Item("a467", Item::kTokenType), {}}, - {Item("a468", Item::kTokenType), {}}, - {Item("a469", Item::kTokenType), {}}, - {Item("a470", Item::kTokenType), {}}, - {Item("a471", Item::kTokenType), {}}, - {Item("a472", Item::kTokenType), {}}, - {Item("a473", Item::kTokenType), {}}, - {Item("a474", Item::kTokenType), {}}, - {Item("a475", Item::kTokenType), {}}, - {Item("a476", Item::kTokenType), {}}, - {Item("a477", Item::kTokenType), {}}, - {Item("a478", Item::kTokenType), {}}, - {Item("a479", Item::kTokenType), {}}, - {Item("a480", Item::kTokenType), {}}, - {Item("a481", Item::kTokenType), {}}, - {Item("a482", Item::kTokenType), {}}, - {Item("a483", Item::kTokenType), {}}, - {Item("a484", Item::kTokenType), {}}, - {Item("a485", Item::kTokenType), {}}, - {Item("a486", Item::kTokenType), {}}, - {Item("a487", Item::kTokenType), {}}, - {Item("a488", Item::kTokenType), {}}, - {Item("a489", Item::kTokenType), {}}, - {Item("a490", Item::kTokenType), {}}, - {Item("a491", Item::kTokenType), {}}, - {Item("a492", Item::kTokenType), {}}, - {Item("a493", Item::kTokenType), {}}, - {Item("a494", Item::kTokenType), {}}, - {Item("a495", Item::kTokenType), {}}, - {Item("a496", Item::kTokenType), {}}, - {Item("a497", Item::kTokenType), {}}, - {Item("a498", Item::kTokenType), {}}, - {Item("a499", Item::kTokenType), {}}, - {Item("a500", Item::kTokenType), {}}, - {Item("a501", Item::kTokenType), {}}, - {Item("a502", Item::kTokenType), {}}, - {Item("a503", Item::kTokenType), {}}, - {Item("a504", Item::kTokenType), {}}, - {Item("a505", Item::kTokenType), {}}, - {Item("a506", Item::kTokenType), {}}, - {Item("a507", Item::kTokenType), {}}, - {Item("a508", Item::kTokenType), {}}, - {Item("a509", Item::kTokenType), {}}, - {Item("a510", Item::kTokenType), {}}, - {Item("a511", Item::kTokenType), {}}, - {Item("a512", Item::kTokenType), {}}, - {Item("a513", Item::kTokenType), {}}, - {Item("a514", Item::kTokenType), {}}, - {Item("a515", Item::kTokenType), {}}, - {Item("a516", Item::kTokenType), {}}, - {Item("a517", Item::kTokenType), {}}, - {Item("a518", Item::kTokenType), {}}, - {Item("a519", Item::kTokenType), {}}, - {Item("a520", Item::kTokenType), {}}, - {Item("a521", Item::kTokenType), {}}, - {Item("a522", Item::kTokenType), {}}, - {Item("a523", Item::kTokenType), {}}, - {Item("a524", Item::kTokenType), {}}, - {Item("a525", Item::kTokenType), {}}, - {Item("a526", Item::kTokenType), {}}, - {Item("a527", Item::kTokenType), {}}, - {Item("a528", Item::kTokenType), {}}, - {Item("a529", Item::kTokenType), {}}, - {Item("a530", Item::kTokenType), {}}, - {Item("a531", Item::kTokenType), {}}, - {Item("a532", Item::kTokenType), {}}, - {Item("a533", Item::kTokenType), {}}, - {Item("a534", Item::kTokenType), {}}, - {Item("a535", Item::kTokenType), {}}, - {Item("a536", Item::kTokenType), {}}, - {Item("a537", Item::kTokenType), {}}, - {Item("a538", Item::kTokenType), {}}, - {Item("a539", Item::kTokenType), {}}, - {Item("a540", Item::kTokenType), {}}, - {Item("a541", Item::kTokenType), {}}, - {Item("a542", Item::kTokenType), {}}, - {Item("a543", Item::kTokenType), {}}, - {Item("a544", Item::kTokenType), {}}, - {Item("a545", Item::kTokenType), {}}, - {Item("a546", Item::kTokenType), {}}, - {Item("a547", Item::kTokenType), {}}, - {Item("a548", Item::kTokenType), {}}, - {Item("a549", Item::kTokenType), {}}, - {Item("a550", Item::kTokenType), {}}, - {Item("a551", Item::kTokenType), {}}, - {Item("a552", Item::kTokenType), {}}, - {Item("a553", Item::kTokenType), {}}, - {Item("a554", Item::kTokenType), {}}, - {Item("a555", Item::kTokenType), {}}, - {Item("a556", Item::kTokenType), {}}, - {Item("a557", Item::kTokenType), {}}, - {Item("a558", Item::kTokenType), {}}, - {Item("a559", Item::kTokenType), {}}, - {Item("a560", Item::kTokenType), {}}, - {Item("a561", Item::kTokenType), {}}, - {Item("a562", Item::kTokenType), {}}, - {Item("a563", Item::kTokenType), {}}, - {Item("a564", Item::kTokenType), {}}, - {Item("a565", Item::kTokenType), {}}, - {Item("a566", Item::kTokenType), {}}, - {Item("a567", Item::kTokenType), {}}, - {Item("a568", Item::kTokenType), {}}, - {Item("a569", Item::kTokenType), {}}, - {Item("a570", Item::kTokenType), {}}, - {Item("a571", Item::kTokenType), {}}, - {Item("a572", Item::kTokenType), {}}, - {Item("a573", Item::kTokenType), {}}, - {Item("a574", Item::kTokenType), {}}, - {Item("a575", Item::kTokenType), {}}, - {Item("a576", Item::kTokenType), {}}, - {Item("a577", Item::kTokenType), {}}, - {Item("a578", Item::kTokenType), {}}, - {Item("a579", Item::kTokenType), {}}, - {Item("a580", Item::kTokenType), {}}, - {Item("a581", Item::kTokenType), {}}, - {Item("a582", Item::kTokenType), {}}, - {Item("a583", Item::kTokenType), {}}, - {Item("a584", Item::kTokenType), {}}, - {Item("a585", Item::kTokenType), {}}, - {Item("a586", Item::kTokenType), {}}, - {Item("a587", Item::kTokenType), {}}, - {Item("a588", Item::kTokenType), {}}, - {Item("a589", Item::kTokenType), {}}, - {Item("a590", Item::kTokenType), {}}, - {Item("a591", Item::kTokenType), {}}, - {Item("a592", Item::kTokenType), {}}, - {Item("a593", Item::kTokenType), {}}, - {Item("a594", Item::kTokenType), {}}, - {Item("a595", Item::kTokenType), {}}, - {Item("a596", Item::kTokenType), {}}, - {Item("a597", Item::kTokenType), {}}, - {Item("a598", Item::kTokenType), {}}, - {Item("a599", Item::kTokenType), {}}, - {Item("a600", Item::kTokenType), {}}, - {Item("a601", Item::kTokenType), {}}, - {Item("a602", Item::kTokenType), {}}, - {Item("a603", Item::kTokenType), {}}, - {Item("a604", Item::kTokenType), {}}, - {Item("a605", Item::kTokenType), {}}, - {Item("a606", Item::kTokenType), {}}, - {Item("a607", Item::kTokenType), {}}, - {Item("a608", Item::kTokenType), {}}, - {Item("a609", Item::kTokenType), {}}, - {Item("a610", Item::kTokenType), {}}, - {Item("a611", Item::kTokenType), {}}, - {Item("a612", Item::kTokenType), {}}, - {Item("a613", Item::kTokenType), {}}, - {Item("a614", Item::kTokenType), {}}, - {Item("a615", Item::kTokenType), {}}, - {Item("a616", Item::kTokenType), {}}, - {Item("a617", Item::kTokenType), {}}, - {Item("a618", Item::kTokenType), {}}, - {Item("a619", Item::kTokenType), {}}, - {Item("a620", Item::kTokenType), {}}, - {Item("a621", Item::kTokenType), {}}, - {Item("a622", Item::kTokenType), {}}, - {Item("a623", Item::kTokenType), {}}, - {Item("a624", Item::kTokenType), {}}, - {Item("a625", Item::kTokenType), {}}, - {Item("a626", Item::kTokenType), {}}, - {Item("a627", Item::kTokenType), {}}, - {Item("a628", Item::kTokenType), {}}, - {Item("a629", Item::kTokenType), {}}, - {Item("a630", Item::kTokenType), {}}, - {Item("a631", Item::kTokenType), {}}, - {Item("a632", Item::kTokenType), {}}, - {Item("a633", Item::kTokenType), {}}, - {Item("a634", Item::kTokenType), {}}, - {Item("a635", Item::kTokenType), {}}, - {Item("a636", Item::kTokenType), {}}, - {Item("a637", Item::kTokenType), {}}, - {Item("a638", Item::kTokenType), {}}, - {Item("a639", Item::kTokenType), {}}, - {Item("a640", Item::kTokenType), {}}, - {Item("a641", Item::kTokenType), {}}, - {Item("a642", Item::kTokenType), {}}, - {Item("a643", Item::kTokenType), {}}, - {Item("a644", Item::kTokenType), {}}, - {Item("a645", Item::kTokenType), {}}, - {Item("a646", Item::kTokenType), {}}, - {Item("a647", Item::kTokenType), {}}, - {Item("a648", Item::kTokenType), {}}, - {Item("a649", Item::kTokenType), {}}, - {Item("a650", Item::kTokenType), {}}, - {Item("a651", Item::kTokenType), {}}, - {Item("a652", Item::kTokenType), {}}, - {Item("a653", Item::kTokenType), {}}, - {Item("a654", Item::kTokenType), {}}, - {Item("a655", Item::kTokenType), {}}, - {Item("a656", Item::kTokenType), {}}, - {Item("a657", Item::kTokenType), {}}, - {Item("a658", Item::kTokenType), {}}, - {Item("a659", Item::kTokenType), {}}, - {Item("a660", Item::kTokenType), {}}, - {Item("a661", Item::kTokenType), {}}, - {Item("a662", Item::kTokenType), {}}, - {Item("a663", Item::kTokenType), {}}, - {Item("a664", Item::kTokenType), {}}, - {Item("a665", Item::kTokenType), {}}, - {Item("a666", Item::kTokenType), {}}, - {Item("a667", Item::kTokenType), {}}, - {Item("a668", Item::kTokenType), {}}, - {Item("a669", Item::kTokenType), {}}, - {Item("a670", Item::kTokenType), {}}, - {Item("a671", Item::kTokenType), {}}, - {Item("a672", Item::kTokenType), {}}, - {Item("a673", Item::kTokenType), {}}, - {Item("a674", Item::kTokenType), {}}, - {Item("a675", Item::kTokenType), {}}, - {Item("a676", Item::kTokenType), {}}, - {Item("a677", Item::kTokenType), {}}, - {Item("a678", Item::kTokenType), {}}, - {Item("a679", Item::kTokenType), {}}, - {Item("a680", Item::kTokenType), {}}, - {Item("a681", Item::kTokenType), {}}, - {Item("a682", Item::kTokenType), {}}, - {Item("a683", Item::kTokenType), {}}, - {Item("a684", Item::kTokenType), {}}, - {Item("a685", Item::kTokenType), {}}, - {Item("a686", Item::kTokenType), {}}, - {Item("a687", Item::kTokenType), {}}, - {Item("a688", Item::kTokenType), {}}, - {Item("a689", Item::kTokenType), {}}, - {Item("a690", Item::kTokenType), {}}, - {Item("a691", Item::kTokenType), {}}, - {Item("a692", Item::kTokenType), {}}, - {Item("a693", Item::kTokenType), {}}, - {Item("a694", Item::kTokenType), {}}, - {Item("a695", Item::kTokenType), {}}, - {Item("a696", Item::kTokenType), {}}, - {Item("a697", Item::kTokenType), {}}, - {Item("a698", Item::kTokenType), {}}, - {Item("a699", Item::kTokenType), {}}, - {Item("a700", Item::kTokenType), {}}, - {Item("a701", Item::kTokenType), {}}, - {Item("a702", Item::kTokenType), {}}, - {Item("a703", Item::kTokenType), {}}, - {Item("a704", Item::kTokenType), {}}, - {Item("a705", Item::kTokenType), {}}, - {Item("a706", Item::kTokenType), {}}, - {Item("a707", Item::kTokenType), {}}, - {Item("a708", Item::kTokenType), {}}, - {Item("a709", Item::kTokenType), {}}, - {Item("a710", Item::kTokenType), {}}, - {Item("a711", Item::kTokenType), {}}, - {Item("a712", Item::kTokenType), {}}, - {Item("a713", Item::kTokenType), {}}, - {Item("a714", Item::kTokenType), {}}, - {Item("a715", Item::kTokenType), {}}, - {Item("a716", Item::kTokenType), {}}, - {Item("a717", Item::kTokenType), {}}, - {Item("a718", Item::kTokenType), {}}, - {Item("a719", Item::kTokenType), {}}, - {Item("a720", Item::kTokenType), {}}, - {Item("a721", Item::kTokenType), {}}, - {Item("a722", Item::kTokenType), {}}, - {Item("a723", Item::kTokenType), {}}, - {Item("a724", Item::kTokenType), {}}, - {Item("a725", Item::kTokenType), {}}, - {Item("a726", Item::kTokenType), {}}, - {Item("a727", Item::kTokenType), {}}, - {Item("a728", Item::kTokenType), {}}, - {Item("a729", Item::kTokenType), {}}, - {Item("a730", Item::kTokenType), {}}, - {Item("a731", Item::kTokenType), {}}, - {Item("a732", Item::kTokenType), {}}, - {Item("a733", Item::kTokenType), {}}, - {Item("a734", Item::kTokenType), {}}, - {Item("a735", Item::kTokenType), {}}, - {Item("a736", Item::kTokenType), {}}, - {Item("a737", Item::kTokenType), {}}, - {Item("a738", Item::kTokenType), {}}, - {Item("a739", Item::kTokenType), {}}, - {Item("a740", Item::kTokenType), {}}, - {Item("a741", Item::kTokenType), {}}, - {Item("a742", Item::kTokenType), {}}, - {Item("a743", Item::kTokenType), {}}, - {Item("a744", Item::kTokenType), {}}, - {Item("a745", Item::kTokenType), {}}, - {Item("a746", Item::kTokenType), {}}, - {Item("a747", Item::kTokenType), {}}, - {Item("a748", Item::kTokenType), {}}, - {Item("a749", Item::kTokenType), {}}, - {Item("a750", Item::kTokenType), {}}, - {Item("a751", Item::kTokenType), {}}, - {Item("a752", Item::kTokenType), {}}, - {Item("a753", Item::kTokenType), {}}, - {Item("a754", Item::kTokenType), {}}, - {Item("a755", Item::kTokenType), {}}, - {Item("a756", Item::kTokenType), {}}, - {Item("a757", Item::kTokenType), {}}, - {Item("a758", Item::kTokenType), {}}, - {Item("a759", Item::kTokenType), {}}, - {Item("a760", Item::kTokenType), {}}, - {Item("a761", Item::kTokenType), {}}, - {Item("a762", Item::kTokenType), {}}, - {Item("a763", Item::kTokenType), {}}, - {Item("a764", Item::kTokenType), {}}, - {Item("a765", Item::kTokenType), {}}, - {Item("a766", Item::kTokenType), {}}, - {Item("a767", Item::kTokenType), {}}, - {Item("a768", Item::kTokenType), {}}, - {Item("a769", Item::kTokenType), {}}, - {Item("a770", Item::kTokenType), {}}, - {Item("a771", Item::kTokenType), {}}, - {Item("a772", Item::kTokenType), {}}, - {Item("a773", Item::kTokenType), {}}, - {Item("a774", Item::kTokenType), {}}, - {Item("a775", Item::kTokenType), {}}, - {Item("a776", Item::kTokenType), {}}, - {Item("a777", Item::kTokenType), {}}, - {Item("a778", Item::kTokenType), {}}, - {Item("a779", Item::kTokenType), {}}, - {Item("a780", Item::kTokenType), {}}, - {Item("a781", Item::kTokenType), {}}, - {Item("a782", Item::kTokenType), {}}, - {Item("a783", Item::kTokenType), {}}, - {Item("a784", Item::kTokenType), {}}, - {Item("a785", Item::kTokenType), {}}, - {Item("a786", Item::kTokenType), {}}, - {Item("a787", Item::kTokenType), {}}, - {Item("a788", Item::kTokenType), {}}, - {Item("a789", Item::kTokenType), {}}, - {Item("a790", Item::kTokenType), {}}, - {Item("a791", Item::kTokenType), {}}, - {Item("a792", Item::kTokenType), {}}, - {Item("a793", Item::kTokenType), {}}, - {Item("a794", Item::kTokenType), {}}, - {Item("a795", Item::kTokenType), {}}, - {Item("a796", Item::kTokenType), {}}, - {Item("a797", Item::kTokenType), {}}, - {Item("a798", Item::kTokenType), {}}, - {Item("a799", Item::kTokenType), {}}, - {Item("a800", Item::kTokenType), {}}, - {Item("a801", Item::kTokenType), {}}, - {Item("a802", Item::kTokenType), {}}, - {Item("a803", Item::kTokenType), {}}, - {Item("a804", Item::kTokenType), {}}, - {Item("a805", Item::kTokenType), {}}, - {Item("a806", Item::kTokenType), {}}, - {Item("a807", Item::kTokenType), {}}, - {Item("a808", Item::kTokenType), {}}, - {Item("a809", Item::kTokenType), {}}, - {Item("a810", Item::kTokenType), {}}, - {Item("a811", Item::kTokenType), {}}, - {Item("a812", Item::kTokenType), {}}, - {Item("a813", Item::kTokenType), {}}, - {Item("a814", Item::kTokenType), {}}, - {Item("a815", Item::kTokenType), {}}, - {Item("a816", Item::kTokenType), {}}, - {Item("a817", Item::kTokenType), {}}, - {Item("a818", Item::kTokenType), {}}, - {Item("a819", Item::kTokenType), {}}, - {Item("a820", Item::kTokenType), {}}, - {Item("a821", Item::kTokenType), {}}, - {Item("a822", Item::kTokenType), {}}, - {Item("a823", Item::kTokenType), {}}, - {Item("a824", Item::kTokenType), {}}, - {Item("a825", Item::kTokenType), {}}, - {Item("a826", Item::kTokenType), {}}, - {Item("a827", Item::kTokenType), {}}, - {Item("a828", Item::kTokenType), {}}, - {Item("a829", Item::kTokenType), {}}, - {Item("a830", Item::kTokenType), {}}, - {Item("a831", Item::kTokenType), {}}, - {Item("a832", Item::kTokenType), {}}, - {Item("a833", Item::kTokenType), {}}, - {Item("a834", Item::kTokenType), {}}, - {Item("a835", Item::kTokenType), {}}, - {Item("a836", Item::kTokenType), {}}, - {Item("a837", Item::kTokenType), {}}, - {Item("a838", Item::kTokenType), {}}, - {Item("a839", Item::kTokenType), {}}, - {Item("a840", Item::kTokenType), {}}, - {Item("a841", Item::kTokenType), {}}, - {Item("a842", Item::kTokenType), {}}, - {Item("a843", Item::kTokenType), {}}, - {Item("a844", Item::kTokenType), {}}, - {Item("a845", Item::kTokenType), {}}, - {Item("a846", Item::kTokenType), {}}, - {Item("a847", Item::kTokenType), {}}, - {Item("a848", Item::kTokenType), {}}, - {Item("a849", Item::kTokenType), {}}, - {Item("a850", Item::kTokenType), {}}, - {Item("a851", Item::kTokenType), {}}, - {Item("a852", Item::kTokenType), {}}, - {Item("a853", Item::kTokenType), {}}, - {Item("a854", Item::kTokenType), {}}, - {Item("a855", Item::kTokenType), {}}, - {Item("a856", Item::kTokenType), {}}, - {Item("a857", Item::kTokenType), {}}, - {Item("a858", Item::kTokenType), {}}, - {Item("a859", Item::kTokenType), {}}, - {Item("a860", Item::kTokenType), {}}, - {Item("a861", Item::kTokenType), {}}, - {Item("a862", Item::kTokenType), {}}, - {Item("a863", Item::kTokenType), {}}, - {Item("a864", Item::kTokenType), {}}, - {Item("a865", Item::kTokenType), {}}, - {Item("a866", Item::kTokenType), {}}, - {Item("a867", Item::kTokenType), {}}, - {Item("a868", Item::kTokenType), {}}, - {Item("a869", Item::kTokenType), {}}, - {Item("a870", Item::kTokenType), {}}, - {Item("a871", Item::kTokenType), {}}, - {Item("a872", Item::kTokenType), {}}, - {Item("a873", Item::kTokenType), {}}, - {Item("a874", Item::kTokenType), {}}, - {Item("a875", Item::kTokenType), {}}, - {Item("a876", Item::kTokenType), {}}, - {Item("a877", Item::kTokenType), {}}, - {Item("a878", Item::kTokenType), {}}, - {Item("a879", Item::kTokenType), {}}, - {Item("a880", Item::kTokenType), {}}, - {Item("a881", Item::kTokenType), {}}, - {Item("a882", Item::kTokenType), {}}, - {Item("a883", Item::kTokenType), {}}, - {Item("a884", Item::kTokenType), {}}, - {Item("a885", Item::kTokenType), {}}, - {Item("a886", Item::kTokenType), {}}, - {Item("a887", Item::kTokenType), {}}, - {Item("a888", Item::kTokenType), {}}, - {Item("a889", Item::kTokenType), {}}, - {Item("a890", Item::kTokenType), {}}, - {Item("a891", Item::kTokenType), {}}, - {Item("a892", Item::kTokenType), {}}, - {Item("a893", Item::kTokenType), {}}, - {Item("a894", Item::kTokenType), {}}, - {Item("a895", Item::kTokenType), {}}, - {Item("a896", Item::kTokenType), {}}, - {Item("a897", Item::kTokenType), {}}, - {Item("a898", Item::kTokenType), {}}, - {Item("a899", Item::kTokenType), {}}, - {Item("a900", Item::kTokenType), {}}, - {Item("a901", Item::kTokenType), {}}, - {Item("a902", Item::kTokenType), {}}, - {Item("a903", Item::kTokenType), {}}, - {Item("a904", Item::kTokenType), {}}, - {Item("a905", Item::kTokenType), {}}, - {Item("a906", Item::kTokenType), {}}, - {Item("a907", Item::kTokenType), {}}, - {Item("a908", Item::kTokenType), {}}, - {Item("a909", Item::kTokenType), {}}, - {Item("a910", Item::kTokenType), {}}, - {Item("a911", Item::kTokenType), {}}, - {Item("a912", Item::kTokenType), {}}, - {Item("a913", Item::kTokenType), {}}, - {Item("a914", Item::kTokenType), {}}, - {Item("a915", Item::kTokenType), {}}, - {Item("a916", Item::kTokenType), {}}, - {Item("a917", Item::kTokenType), {}}, - {Item("a918", Item::kTokenType), {}}, - {Item("a919", Item::kTokenType), {}}, - {Item("a920", Item::kTokenType), {}}, - {Item("a921", Item::kTokenType), {}}, - {Item("a922", Item::kTokenType), {}}, - {Item("a923", Item::kTokenType), {}}, - {Item("a924", Item::kTokenType), {}}, - {Item("a925", Item::kTokenType), {}}, - {Item("a926", Item::kTokenType), {}}, - {Item("a927", Item::kTokenType), {}}, - {Item("a928", Item::kTokenType), {}}, - {Item("a929", Item::kTokenType), {}}, - {Item("a930", Item::kTokenType), {}}, - {Item("a931", Item::kTokenType), {}}, - {Item("a932", Item::kTokenType), {}}, - {Item("a933", Item::kTokenType), {}}, - {Item("a934", Item::kTokenType), {}}, - {Item("a935", Item::kTokenType), {}}, - {Item("a936", Item::kTokenType), {}}, - {Item("a937", Item::kTokenType), {}}, - {Item("a938", Item::kTokenType), {}}, - {Item("a939", Item::kTokenType), {}}, - {Item("a940", Item::kTokenType), {}}, - {Item("a941", Item::kTokenType), {}}, - {Item("a942", Item::kTokenType), {}}, - {Item("a943", Item::kTokenType), {}}, - {Item("a944", Item::kTokenType), {}}, - {Item("a945", Item::kTokenType), {}}, - {Item("a946", Item::kTokenType), {}}, - {Item("a947", Item::kTokenType), {}}, - {Item("a948", Item::kTokenType), {}}, - {Item("a949", Item::kTokenType), {}}, - {Item("a950", Item::kTokenType), {}}, - {Item("a951", Item::kTokenType), {}}, - {Item("a952", Item::kTokenType), {}}, - {Item("a953", Item::kTokenType), {}}, - {Item("a954", Item::kTokenType), {}}, - {Item("a955", Item::kTokenType), {}}, - {Item("a956", Item::kTokenType), {}}, - {Item("a957", Item::kTokenType), {}}, - {Item("a958", Item::kTokenType), {}}, - {Item("a959", Item::kTokenType), {}}, - {Item("a960", Item::kTokenType), {}}, - {Item("a961", Item::kTokenType), {}}, - {Item("a962", Item::kTokenType), {}}, - {Item("a963", Item::kTokenType), {}}, - {Item("a964", Item::kTokenType), {}}, - {Item("a965", Item::kTokenType), {}}, - {Item("a966", Item::kTokenType), {}}, - {Item("a967", Item::kTokenType), {}}, - {Item("a968", Item::kTokenType), {}}, - {Item("a969", Item::kTokenType), {}}, - {Item("a970", Item::kTokenType), {}}, - {Item("a971", Item::kTokenType), {}}, - {Item("a972", Item::kTokenType), {}}, - {Item("a973", Item::kTokenType), {}}, - {Item("a974", Item::kTokenType), {}}, - {Item("a975", Item::kTokenType), {}}, - {Item("a976", Item::kTokenType), {}}, - {Item("a977", Item::kTokenType), {}}, - {Item("a978", Item::kTokenType), {}}, - {Item("a979", Item::kTokenType), {}}, - {Item("a980", Item::kTokenType), {}}, - {Item("a981", Item::kTokenType), {}}, - {Item("a982", Item::kTokenType), {}}, - {Item("a983", Item::kTokenType), {}}, - {Item("a984", Item::kTokenType), {}}, - {Item("a985", Item::kTokenType), {}}, - {Item("a986", Item::kTokenType), {}}, - {Item("a987", Item::kTokenType), {}}, - {Item("a988", Item::kTokenType), {}}, - {Item("a989", Item::kTokenType), {}}, - {Item("a990", Item::kTokenType), {}}, - {Item("a991", Item::kTokenType), {}}, - {Item("a992", Item::kTokenType), {}}, - {Item("a993", Item::kTokenType), {}}, - {Item("a994", Item::kTokenType), {}}, - {Item("a995", Item::kTokenType), {}}, - {Item("a996", Item::kTokenType), {}}, - {Item("a997", Item::kTokenType), {}}, - {Item("a998", Item::kTokenType), {}}, - {Item("a999", Item::kTokenType), {}}, - {Item("a1000", Item::kTokenType), {}}, - {Item("a1001", Item::kTokenType), {}}, - {Item("a1002", Item::kTokenType), {}}, - {Item("a1003", Item::kTokenType), {}}, - {Item("a1004", Item::kTokenType), {}}, - {Item("a1005", Item::kTokenType), {}}, - {Item("a1006", Item::kTokenType), {}}, - {Item("a1007", Item::kTokenType), {}}, - {Item("a1008", Item::kTokenType), {}}, - {Item("a1009", Item::kTokenType), {}}, - {Item("a1010", Item::kTokenType), {}}, - {Item("a1011", Item::kTokenType), {}}, - {Item("a1012", Item::kTokenType), {}}, - {Item("a1013", Item::kTokenType), {}}, - {Item("a1014", Item::kTokenType), {}}, - {Item("a1015", Item::kTokenType), {}}, - {Item("a1016", Item::kTokenType), {}}, - {Item("a1017", Item::kTokenType), {}}, - {Item("a1018", Item::kTokenType), {}}, - {Item("a1019", Item::kTokenType), {}}, - {Item("a1020", Item::kTokenType), {}}, - {Item("a1021", Item::kTokenType), {}}, - {Item("a1022", Item::kTokenType), {}}, - {Item("a1023", Item::kTokenType), {}}}}, + {{{Item(Item::token, "a0"), {}}, {Item(Item::token, "a1"), {}}, + {Item(Item::token, "a2"), {}}, {Item(Item::token, "a3"), {}}, + {Item(Item::token, "a4"), {}}, {Item(Item::token, "a5"), {}}, + {Item(Item::token, "a6"), {}}, {Item(Item::token, "a7"), {}}, + {Item(Item::token, "a8"), {}}, {Item(Item::token, "a9"), {}}, + {Item(Item::token, "a10"), {}}, {Item(Item::token, "a11"), {}}, + {Item(Item::token, "a12"), {}}, {Item(Item::token, "a13"), {}}, + {Item(Item::token, "a14"), {}}, {Item(Item::token, "a15"), {}}, + {Item(Item::token, "a16"), {}}, {Item(Item::token, "a17"), {}}, + {Item(Item::token, "a18"), {}}, {Item(Item::token, "a19"), {}}, + {Item(Item::token, "a20"), {}}, {Item(Item::token, "a21"), {}}, + {Item(Item::token, "a22"), {}}, {Item(Item::token, "a23"), {}}, + {Item(Item::token, "a24"), {}}, {Item(Item::token, "a25"), {}}, + {Item(Item::token, "a26"), {}}, {Item(Item::token, "a27"), {}}, + {Item(Item::token, "a28"), {}}, {Item(Item::token, "a29"), {}}, + {Item(Item::token, "a30"), {}}, {Item(Item::token, "a31"), {}}, + {Item(Item::token, "a32"), {}}, {Item(Item::token, "a33"), {}}, + {Item(Item::token, "a34"), {}}, {Item(Item::token, "a35"), {}}, + {Item(Item::token, "a36"), {}}, {Item(Item::token, "a37"), {}}, + {Item(Item::token, "a38"), {}}, {Item(Item::token, "a39"), {}}, + {Item(Item::token, "a40"), {}}, {Item(Item::token, "a41"), {}}, + {Item(Item::token, "a42"), {}}, {Item(Item::token, "a43"), {}}, + {Item(Item::token, "a44"), {}}, {Item(Item::token, "a45"), {}}, + {Item(Item::token, "a46"), {}}, {Item(Item::token, "a47"), {}}, + {Item(Item::token, "a48"), {}}, {Item(Item::token, "a49"), {}}, + {Item(Item::token, "a50"), {}}, {Item(Item::token, "a51"), {}}, + {Item(Item::token, "a52"), {}}, {Item(Item::token, "a53"), {}}, + {Item(Item::token, "a54"), {}}, {Item(Item::token, "a55"), {}}, + {Item(Item::token, "a56"), {}}, {Item(Item::token, "a57"), {}}, + {Item(Item::token, "a58"), {}}, {Item(Item::token, "a59"), {}}, + {Item(Item::token, "a60"), {}}, {Item(Item::token, "a61"), {}}, + {Item(Item::token, "a62"), {}}, {Item(Item::token, "a63"), {}}, + {Item(Item::token, "a64"), {}}, {Item(Item::token, "a65"), {}}, + {Item(Item::token, "a66"), {}}, {Item(Item::token, "a67"), {}}, + {Item(Item::token, "a68"), {}}, {Item(Item::token, "a69"), {}}, + {Item(Item::token, "a70"), {}}, {Item(Item::token, "a71"), {}}, + {Item(Item::token, "a72"), {}}, {Item(Item::token, "a73"), {}}, + {Item(Item::token, "a74"), {}}, {Item(Item::token, "a75"), {}}, + {Item(Item::token, "a76"), {}}, {Item(Item::token, "a77"), {}}, + {Item(Item::token, "a78"), {}}, {Item(Item::token, "a79"), {}}, + {Item(Item::token, "a80"), {}}, {Item(Item::token, "a81"), {}}, + {Item(Item::token, "a82"), {}}, {Item(Item::token, "a83"), {}}, + {Item(Item::token, "a84"), {}}, {Item(Item::token, "a85"), {}}, + {Item(Item::token, "a86"), {}}, {Item(Item::token, "a87"), {}}, + {Item(Item::token, "a88"), {}}, {Item(Item::token, "a89"), {}}, + {Item(Item::token, "a90"), {}}, {Item(Item::token, "a91"), {}}, + {Item(Item::token, "a92"), {}}, {Item(Item::token, "a93"), {}}, + {Item(Item::token, "a94"), {}}, {Item(Item::token, "a95"), {}}, + {Item(Item::token, "a96"), {}}, {Item(Item::token, "a97"), {}}, + {Item(Item::token, "a98"), {}}, {Item(Item::token, "a99"), {}}, + {Item(Item::token, "a100"), {}}, {Item(Item::token, "a101"), {}}, + {Item(Item::token, "a102"), {}}, {Item(Item::token, "a103"), {}}, + {Item(Item::token, "a104"), {}}, {Item(Item::token, "a105"), {}}, + {Item(Item::token, "a106"), {}}, {Item(Item::token, "a107"), {}}, + {Item(Item::token, "a108"), {}}, {Item(Item::token, "a109"), {}}, + {Item(Item::token, "a110"), {}}, {Item(Item::token, "a111"), {}}, + {Item(Item::token, "a112"), {}}, {Item(Item::token, "a113"), {}}, + {Item(Item::token, "a114"), {}}, {Item(Item::token, "a115"), {}}, + {Item(Item::token, "a116"), {}}, {Item(Item::token, "a117"), {}}, + {Item(Item::token, "a118"), {}}, {Item(Item::token, "a119"), {}}, + {Item(Item::token, "a120"), {}}, {Item(Item::token, "a121"), {}}, + {Item(Item::token, "a122"), {}}, {Item(Item::token, "a123"), {}}, + {Item(Item::token, "a124"), {}}, {Item(Item::token, "a125"), {}}, + {Item(Item::token, "a126"), {}}, {Item(Item::token, "a127"), {}}, + {Item(Item::token, "a128"), {}}, {Item(Item::token, "a129"), {}}, + {Item(Item::token, "a130"), {}}, {Item(Item::token, "a131"), {}}, + {Item(Item::token, "a132"), {}}, {Item(Item::token, "a133"), {}}, + {Item(Item::token, "a134"), {}}, {Item(Item::token, "a135"), {}}, + {Item(Item::token, "a136"), {}}, {Item(Item::token, "a137"), {}}, + {Item(Item::token, "a138"), {}}, {Item(Item::token, "a139"), {}}, + {Item(Item::token, "a140"), {}}, {Item(Item::token, "a141"), {}}, + {Item(Item::token, "a142"), {}}, {Item(Item::token, "a143"), {}}, + {Item(Item::token, "a144"), {}}, {Item(Item::token, "a145"), {}}, + {Item(Item::token, "a146"), {}}, {Item(Item::token, "a147"), {}}, + {Item(Item::token, "a148"), {}}, {Item(Item::token, "a149"), {}}, + {Item(Item::token, "a150"), {}}, {Item(Item::token, "a151"), {}}, + {Item(Item::token, "a152"), {}}, {Item(Item::token, "a153"), {}}, + {Item(Item::token, "a154"), {}}, {Item(Item::token, "a155"), {}}, + {Item(Item::token, "a156"), {}}, {Item(Item::token, "a157"), {}}, + {Item(Item::token, "a158"), {}}, {Item(Item::token, "a159"), {}}, + {Item(Item::token, "a160"), {}}, {Item(Item::token, "a161"), {}}, + {Item(Item::token, "a162"), {}}, {Item(Item::token, "a163"), {}}, + {Item(Item::token, "a164"), {}}, {Item(Item::token, "a165"), {}}, + {Item(Item::token, "a166"), {}}, {Item(Item::token, "a167"), {}}, + {Item(Item::token, "a168"), {}}, {Item(Item::token, "a169"), {}}, + {Item(Item::token, "a170"), {}}, {Item(Item::token, "a171"), {}}, + {Item(Item::token, "a172"), {}}, {Item(Item::token, "a173"), {}}, + {Item(Item::token, "a174"), {}}, {Item(Item::token, "a175"), {}}, + {Item(Item::token, "a176"), {}}, {Item(Item::token, "a177"), {}}, + {Item(Item::token, "a178"), {}}, {Item(Item::token, "a179"), {}}, + {Item(Item::token, "a180"), {}}, {Item(Item::token, "a181"), {}}, + {Item(Item::token, "a182"), {}}, {Item(Item::token, "a183"), {}}, + {Item(Item::token, "a184"), {}}, {Item(Item::token, "a185"), {}}, + {Item(Item::token, "a186"), {}}, {Item(Item::token, "a187"), {}}, + {Item(Item::token, "a188"), {}}, {Item(Item::token, "a189"), {}}, + {Item(Item::token, "a190"), {}}, {Item(Item::token, "a191"), {}}, + {Item(Item::token, "a192"), {}}, {Item(Item::token, "a193"), {}}, + {Item(Item::token, "a194"), {}}, {Item(Item::token, "a195"), {}}, + {Item(Item::token, "a196"), {}}, {Item(Item::token, "a197"), {}}, + {Item(Item::token, "a198"), {}}, {Item(Item::token, "a199"), {}}, + {Item(Item::token, "a200"), {}}, {Item(Item::token, "a201"), {}}, + {Item(Item::token, "a202"), {}}, {Item(Item::token, "a203"), {}}, + {Item(Item::token, "a204"), {}}, {Item(Item::token, "a205"), {}}, + {Item(Item::token, "a206"), {}}, {Item(Item::token, "a207"), {}}, + {Item(Item::token, "a208"), {}}, {Item(Item::token, "a209"), {}}, + {Item(Item::token, "a210"), {}}, {Item(Item::token, "a211"), {}}, + {Item(Item::token, "a212"), {}}, {Item(Item::token, "a213"), {}}, + {Item(Item::token, "a214"), {}}, {Item(Item::token, "a215"), {}}, + {Item(Item::token, "a216"), {}}, {Item(Item::token, "a217"), {}}, + {Item(Item::token, "a218"), {}}, {Item(Item::token, "a219"), {}}, + {Item(Item::token, "a220"), {}}, {Item(Item::token, "a221"), {}}, + {Item(Item::token, "a222"), {}}, {Item(Item::token, "a223"), {}}, + {Item(Item::token, "a224"), {}}, {Item(Item::token, "a225"), {}}, + {Item(Item::token, "a226"), {}}, {Item(Item::token, "a227"), {}}, + {Item(Item::token, "a228"), {}}, {Item(Item::token, "a229"), {}}, + {Item(Item::token, "a230"), {}}, {Item(Item::token, "a231"), {}}, + {Item(Item::token, "a232"), {}}, {Item(Item::token, "a233"), {}}, + {Item(Item::token, "a234"), {}}, {Item(Item::token, "a235"), {}}, + {Item(Item::token, "a236"), {}}, {Item(Item::token, "a237"), {}}, + {Item(Item::token, "a238"), {}}, {Item(Item::token, "a239"), {}}, + {Item(Item::token, "a240"), {}}, {Item(Item::token, "a241"), {}}, + {Item(Item::token, "a242"), {}}, {Item(Item::token, "a243"), {}}, + {Item(Item::token, "a244"), {}}, {Item(Item::token, "a245"), {}}, + {Item(Item::token, "a246"), {}}, {Item(Item::token, "a247"), {}}, + {Item(Item::token, "a248"), {}}, {Item(Item::token, "a249"), {}}, + {Item(Item::token, "a250"), {}}, {Item(Item::token, "a251"), {}}, + {Item(Item::token, "a252"), {}}, {Item(Item::token, "a253"), {}}, + {Item(Item::token, "a254"), {}}, {Item(Item::token, "a255"), {}}, + {Item(Item::token, "a256"), {}}, {Item(Item::token, "a257"), {}}, + {Item(Item::token, "a258"), {}}, {Item(Item::token, "a259"), {}}, + {Item(Item::token, "a260"), {}}, {Item(Item::token, "a261"), {}}, + {Item(Item::token, "a262"), {}}, {Item(Item::token, "a263"), {}}, + {Item(Item::token, "a264"), {}}, {Item(Item::token, "a265"), {}}, + {Item(Item::token, "a266"), {}}, {Item(Item::token, "a267"), {}}, + {Item(Item::token, "a268"), {}}, {Item(Item::token, "a269"), {}}, + {Item(Item::token, "a270"), {}}, {Item(Item::token, "a271"), {}}, + {Item(Item::token, "a272"), {}}, {Item(Item::token, "a273"), {}}, + {Item(Item::token, "a274"), {}}, {Item(Item::token, "a275"), {}}, + {Item(Item::token, "a276"), {}}, {Item(Item::token, "a277"), {}}, + {Item(Item::token, "a278"), {}}, {Item(Item::token, "a279"), {}}, + {Item(Item::token, "a280"), {}}, {Item(Item::token, "a281"), {}}, + {Item(Item::token, "a282"), {}}, {Item(Item::token, "a283"), {}}, + {Item(Item::token, "a284"), {}}, {Item(Item::token, "a285"), {}}, + {Item(Item::token, "a286"), {}}, {Item(Item::token, "a287"), {}}, + {Item(Item::token, "a288"), {}}, {Item(Item::token, "a289"), {}}, + {Item(Item::token, "a290"), {}}, {Item(Item::token, "a291"), {}}, + {Item(Item::token, "a292"), {}}, {Item(Item::token, "a293"), {}}, + {Item(Item::token, "a294"), {}}, {Item(Item::token, "a295"), {}}, + {Item(Item::token, "a296"), {}}, {Item(Item::token, "a297"), {}}, + {Item(Item::token, "a298"), {}}, {Item(Item::token, "a299"), {}}, + {Item(Item::token, "a300"), {}}, {Item(Item::token, "a301"), {}}, + {Item(Item::token, "a302"), {}}, {Item(Item::token, "a303"), {}}, + {Item(Item::token, "a304"), {}}, {Item(Item::token, "a305"), {}}, + {Item(Item::token, "a306"), {}}, {Item(Item::token, "a307"), {}}, + {Item(Item::token, "a308"), {}}, {Item(Item::token, "a309"), {}}, + {Item(Item::token, "a310"), {}}, {Item(Item::token, "a311"), {}}, + {Item(Item::token, "a312"), {}}, {Item(Item::token, "a313"), {}}, + {Item(Item::token, "a314"), {}}, {Item(Item::token, "a315"), {}}, + {Item(Item::token, "a316"), {}}, {Item(Item::token, "a317"), {}}, + {Item(Item::token, "a318"), {}}, {Item(Item::token, "a319"), {}}, + {Item(Item::token, "a320"), {}}, {Item(Item::token, "a321"), {}}, + {Item(Item::token, "a322"), {}}, {Item(Item::token, "a323"), {}}, + {Item(Item::token, "a324"), {}}, {Item(Item::token, "a325"), {}}, + {Item(Item::token, "a326"), {}}, {Item(Item::token, "a327"), {}}, + {Item(Item::token, "a328"), {}}, {Item(Item::token, "a329"), {}}, + {Item(Item::token, "a330"), {}}, {Item(Item::token, "a331"), {}}, + {Item(Item::token, "a332"), {}}, {Item(Item::token, "a333"), {}}, + {Item(Item::token, "a334"), {}}, {Item(Item::token, "a335"), {}}, + {Item(Item::token, "a336"), {}}, {Item(Item::token, "a337"), {}}, + {Item(Item::token, "a338"), {}}, {Item(Item::token, "a339"), {}}, + {Item(Item::token, "a340"), {}}, {Item(Item::token, "a341"), {}}, + {Item(Item::token, "a342"), {}}, {Item(Item::token, "a343"), {}}, + {Item(Item::token, "a344"), {}}, {Item(Item::token, "a345"), {}}, + {Item(Item::token, "a346"), {}}, {Item(Item::token, "a347"), {}}, + {Item(Item::token, "a348"), {}}, {Item(Item::token, "a349"), {}}, + {Item(Item::token, "a350"), {}}, {Item(Item::token, "a351"), {}}, + {Item(Item::token, "a352"), {}}, {Item(Item::token, "a353"), {}}, + {Item(Item::token, "a354"), {}}, {Item(Item::token, "a355"), {}}, + {Item(Item::token, "a356"), {}}, {Item(Item::token, "a357"), {}}, + {Item(Item::token, "a358"), {}}, {Item(Item::token, "a359"), {}}, + {Item(Item::token, "a360"), {}}, {Item(Item::token, "a361"), {}}, + {Item(Item::token, "a362"), {}}, {Item(Item::token, "a363"), {}}, + {Item(Item::token, "a364"), {}}, {Item(Item::token, "a365"), {}}, + {Item(Item::token, "a366"), {}}, {Item(Item::token, "a367"), {}}, + {Item(Item::token, "a368"), {}}, {Item(Item::token, "a369"), {}}, + {Item(Item::token, "a370"), {}}, {Item(Item::token, "a371"), {}}, + {Item(Item::token, "a372"), {}}, {Item(Item::token, "a373"), {}}, + {Item(Item::token, "a374"), {}}, {Item(Item::token, "a375"), {}}, + {Item(Item::token, "a376"), {}}, {Item(Item::token, "a377"), {}}, + {Item(Item::token, "a378"), {}}, {Item(Item::token, "a379"), {}}, + {Item(Item::token, "a380"), {}}, {Item(Item::token, "a381"), {}}, + {Item(Item::token, "a382"), {}}, {Item(Item::token, "a383"), {}}, + {Item(Item::token, "a384"), {}}, {Item(Item::token, "a385"), {}}, + {Item(Item::token, "a386"), {}}, {Item(Item::token, "a387"), {}}, + {Item(Item::token, "a388"), {}}, {Item(Item::token, "a389"), {}}, + {Item(Item::token, "a390"), {}}, {Item(Item::token, "a391"), {}}, + {Item(Item::token, "a392"), {}}, {Item(Item::token, "a393"), {}}, + {Item(Item::token, "a394"), {}}, {Item(Item::token, "a395"), {}}, + {Item(Item::token, "a396"), {}}, {Item(Item::token, "a397"), {}}, + {Item(Item::token, "a398"), {}}, {Item(Item::token, "a399"), {}}, + {Item(Item::token, "a400"), {}}, {Item(Item::token, "a401"), {}}, + {Item(Item::token, "a402"), {}}, {Item(Item::token, "a403"), {}}, + {Item(Item::token, "a404"), {}}, {Item(Item::token, "a405"), {}}, + {Item(Item::token, "a406"), {}}, {Item(Item::token, "a407"), {}}, + {Item(Item::token, "a408"), {}}, {Item(Item::token, "a409"), {}}, + {Item(Item::token, "a410"), {}}, {Item(Item::token, "a411"), {}}, + {Item(Item::token, "a412"), {}}, {Item(Item::token, "a413"), {}}, + {Item(Item::token, "a414"), {}}, {Item(Item::token, "a415"), {}}, + {Item(Item::token, "a416"), {}}, {Item(Item::token, "a417"), {}}, + {Item(Item::token, "a418"), {}}, {Item(Item::token, "a419"), {}}, + {Item(Item::token, "a420"), {}}, {Item(Item::token, "a421"), {}}, + {Item(Item::token, "a422"), {}}, {Item(Item::token, "a423"), {}}, + {Item(Item::token, "a424"), {}}, {Item(Item::token, "a425"), {}}, + {Item(Item::token, "a426"), {}}, {Item(Item::token, "a427"), {}}, + {Item(Item::token, "a428"), {}}, {Item(Item::token, "a429"), {}}, + {Item(Item::token, "a430"), {}}, {Item(Item::token, "a431"), {}}, + {Item(Item::token, "a432"), {}}, {Item(Item::token, "a433"), {}}, + {Item(Item::token, "a434"), {}}, {Item(Item::token, "a435"), {}}, + {Item(Item::token, "a436"), {}}, {Item(Item::token, "a437"), {}}, + {Item(Item::token, "a438"), {}}, {Item(Item::token, "a439"), {}}, + {Item(Item::token, "a440"), {}}, {Item(Item::token, "a441"), {}}, + {Item(Item::token, "a442"), {}}, {Item(Item::token, "a443"), {}}, + {Item(Item::token, "a444"), {}}, {Item(Item::token, "a445"), {}}, + {Item(Item::token, "a446"), {}}, {Item(Item::token, "a447"), {}}, + {Item(Item::token, "a448"), {}}, {Item(Item::token, "a449"), {}}, + {Item(Item::token, "a450"), {}}, {Item(Item::token, "a451"), {}}, + {Item(Item::token, "a452"), {}}, {Item(Item::token, "a453"), {}}, + {Item(Item::token, "a454"), {}}, {Item(Item::token, "a455"), {}}, + {Item(Item::token, "a456"), {}}, {Item(Item::token, "a457"), {}}, + {Item(Item::token, "a458"), {}}, {Item(Item::token, "a459"), {}}, + {Item(Item::token, "a460"), {}}, {Item(Item::token, "a461"), {}}, + {Item(Item::token, "a462"), {}}, {Item(Item::token, "a463"), {}}, + {Item(Item::token, "a464"), {}}, {Item(Item::token, "a465"), {}}, + {Item(Item::token, "a466"), {}}, {Item(Item::token, "a467"), {}}, + {Item(Item::token, "a468"), {}}, {Item(Item::token, "a469"), {}}, + {Item(Item::token, "a470"), {}}, {Item(Item::token, "a471"), {}}, + {Item(Item::token, "a472"), {}}, {Item(Item::token, "a473"), {}}, + {Item(Item::token, "a474"), {}}, {Item(Item::token, "a475"), {}}, + {Item(Item::token, "a476"), {}}, {Item(Item::token, "a477"), {}}, + {Item(Item::token, "a478"), {}}, {Item(Item::token, "a479"), {}}, + {Item(Item::token, "a480"), {}}, {Item(Item::token, "a481"), {}}, + {Item(Item::token, "a482"), {}}, {Item(Item::token, "a483"), {}}, + {Item(Item::token, "a484"), {}}, {Item(Item::token, "a485"), {}}, + {Item(Item::token, "a486"), {}}, {Item(Item::token, "a487"), {}}, + {Item(Item::token, "a488"), {}}, {Item(Item::token, "a489"), {}}, + {Item(Item::token, "a490"), {}}, {Item(Item::token, "a491"), {}}, + {Item(Item::token, "a492"), {}}, {Item(Item::token, "a493"), {}}, + {Item(Item::token, "a494"), {}}, {Item(Item::token, "a495"), {}}, + {Item(Item::token, "a496"), {}}, {Item(Item::token, "a497"), {}}, + {Item(Item::token, "a498"), {}}, {Item(Item::token, "a499"), {}}, + {Item(Item::token, "a500"), {}}, {Item(Item::token, "a501"), {}}, + {Item(Item::token, "a502"), {}}, {Item(Item::token, "a503"), {}}, + {Item(Item::token, "a504"), {}}, {Item(Item::token, "a505"), {}}, + {Item(Item::token, "a506"), {}}, {Item(Item::token, "a507"), {}}, + {Item(Item::token, "a508"), {}}, {Item(Item::token, "a509"), {}}, + {Item(Item::token, "a510"), {}}, {Item(Item::token, "a511"), {}}, + {Item(Item::token, "a512"), {}}, {Item(Item::token, "a513"), {}}, + {Item(Item::token, "a514"), {}}, {Item(Item::token, "a515"), {}}, + {Item(Item::token, "a516"), {}}, {Item(Item::token, "a517"), {}}, + {Item(Item::token, "a518"), {}}, {Item(Item::token, "a519"), {}}, + {Item(Item::token, "a520"), {}}, {Item(Item::token, "a521"), {}}, + {Item(Item::token, "a522"), {}}, {Item(Item::token, "a523"), {}}, + {Item(Item::token, "a524"), {}}, {Item(Item::token, "a525"), {}}, + {Item(Item::token, "a526"), {}}, {Item(Item::token, "a527"), {}}, + {Item(Item::token, "a528"), {}}, {Item(Item::token, "a529"), {}}, + {Item(Item::token, "a530"), {}}, {Item(Item::token, "a531"), {}}, + {Item(Item::token, "a532"), {}}, {Item(Item::token, "a533"), {}}, + {Item(Item::token, "a534"), {}}, {Item(Item::token, "a535"), {}}, + {Item(Item::token, "a536"), {}}, {Item(Item::token, "a537"), {}}, + {Item(Item::token, "a538"), {}}, {Item(Item::token, "a539"), {}}, + {Item(Item::token, "a540"), {}}, {Item(Item::token, "a541"), {}}, + {Item(Item::token, "a542"), {}}, {Item(Item::token, "a543"), {}}, + {Item(Item::token, "a544"), {}}, {Item(Item::token, "a545"), {}}, + {Item(Item::token, "a546"), {}}, {Item(Item::token, "a547"), {}}, + {Item(Item::token, "a548"), {}}, {Item(Item::token, "a549"), {}}, + {Item(Item::token, "a550"), {}}, {Item(Item::token, "a551"), {}}, + {Item(Item::token, "a552"), {}}, {Item(Item::token, "a553"), {}}, + {Item(Item::token, "a554"), {}}, {Item(Item::token, "a555"), {}}, + {Item(Item::token, "a556"), {}}, {Item(Item::token, "a557"), {}}, + {Item(Item::token, "a558"), {}}, {Item(Item::token, "a559"), {}}, + {Item(Item::token, "a560"), {}}, {Item(Item::token, "a561"), {}}, + {Item(Item::token, "a562"), {}}, {Item(Item::token, "a563"), {}}, + {Item(Item::token, "a564"), {}}, {Item(Item::token, "a565"), {}}, + {Item(Item::token, "a566"), {}}, {Item(Item::token, "a567"), {}}, + {Item(Item::token, "a568"), {}}, {Item(Item::token, "a569"), {}}, + {Item(Item::token, "a570"), {}}, {Item(Item::token, "a571"), {}}, + {Item(Item::token, "a572"), {}}, {Item(Item::token, "a573"), {}}, + {Item(Item::token, "a574"), {}}, {Item(Item::token, "a575"), {}}, + {Item(Item::token, "a576"), {}}, {Item(Item::token, "a577"), {}}, + {Item(Item::token, "a578"), {}}, {Item(Item::token, "a579"), {}}, + {Item(Item::token, "a580"), {}}, {Item(Item::token, "a581"), {}}, + {Item(Item::token, "a582"), {}}, {Item(Item::token, "a583"), {}}, + {Item(Item::token, "a584"), {}}, {Item(Item::token, "a585"), {}}, + {Item(Item::token, "a586"), {}}, {Item(Item::token, "a587"), {}}, + {Item(Item::token, "a588"), {}}, {Item(Item::token, "a589"), {}}, + {Item(Item::token, "a590"), {}}, {Item(Item::token, "a591"), {}}, + {Item(Item::token, "a592"), {}}, {Item(Item::token, "a593"), {}}, + {Item(Item::token, "a594"), {}}, {Item(Item::token, "a595"), {}}, + {Item(Item::token, "a596"), {}}, {Item(Item::token, "a597"), {}}, + {Item(Item::token, "a598"), {}}, {Item(Item::token, "a599"), {}}, + {Item(Item::token, "a600"), {}}, {Item(Item::token, "a601"), {}}, + {Item(Item::token, "a602"), {}}, {Item(Item::token, "a603"), {}}, + {Item(Item::token, "a604"), {}}, {Item(Item::token, "a605"), {}}, + {Item(Item::token, "a606"), {}}, {Item(Item::token, "a607"), {}}, + {Item(Item::token, "a608"), {}}, {Item(Item::token, "a609"), {}}, + {Item(Item::token, "a610"), {}}, {Item(Item::token, "a611"), {}}, + {Item(Item::token, "a612"), {}}, {Item(Item::token, "a613"), {}}, + {Item(Item::token, "a614"), {}}, {Item(Item::token, "a615"), {}}, + {Item(Item::token, "a616"), {}}, {Item(Item::token, "a617"), {}}, + {Item(Item::token, "a618"), {}}, {Item(Item::token, "a619"), {}}, + {Item(Item::token, "a620"), {}}, {Item(Item::token, "a621"), {}}, + {Item(Item::token, "a622"), {}}, {Item(Item::token, "a623"), {}}, + {Item(Item::token, "a624"), {}}, {Item(Item::token, "a625"), {}}, + {Item(Item::token, "a626"), {}}, {Item(Item::token, "a627"), {}}, + {Item(Item::token, "a628"), {}}, {Item(Item::token, "a629"), {}}, + {Item(Item::token, "a630"), {}}, {Item(Item::token, "a631"), {}}, + {Item(Item::token, "a632"), {}}, {Item(Item::token, "a633"), {}}, + {Item(Item::token, "a634"), {}}, {Item(Item::token, "a635"), {}}, + {Item(Item::token, "a636"), {}}, {Item(Item::token, "a637"), {}}, + {Item(Item::token, "a638"), {}}, {Item(Item::token, "a639"), {}}, + {Item(Item::token, "a640"), {}}, {Item(Item::token, "a641"), {}}, + {Item(Item::token, "a642"), {}}, {Item(Item::token, "a643"), {}}, + {Item(Item::token, "a644"), {}}, {Item(Item::token, "a645"), {}}, + {Item(Item::token, "a646"), {}}, {Item(Item::token, "a647"), {}}, + {Item(Item::token, "a648"), {}}, {Item(Item::token, "a649"), {}}, + {Item(Item::token, "a650"), {}}, {Item(Item::token, "a651"), {}}, + {Item(Item::token, "a652"), {}}, {Item(Item::token, "a653"), {}}, + {Item(Item::token, "a654"), {}}, {Item(Item::token, "a655"), {}}, + {Item(Item::token, "a656"), {}}, {Item(Item::token, "a657"), {}}, + {Item(Item::token, "a658"), {}}, {Item(Item::token, "a659"), {}}, + {Item(Item::token, "a660"), {}}, {Item(Item::token, "a661"), {}}, + {Item(Item::token, "a662"), {}}, {Item(Item::token, "a663"), {}}, + {Item(Item::token, "a664"), {}}, {Item(Item::token, "a665"), {}}, + {Item(Item::token, "a666"), {}}, {Item(Item::token, "a667"), {}}, + {Item(Item::token, "a668"), {}}, {Item(Item::token, "a669"), {}}, + {Item(Item::token, "a670"), {}}, {Item(Item::token, "a671"), {}}, + {Item(Item::token, "a672"), {}}, {Item(Item::token, "a673"), {}}, + {Item(Item::token, "a674"), {}}, {Item(Item::token, "a675"), {}}, + {Item(Item::token, "a676"), {}}, {Item(Item::token, "a677"), {}}, + {Item(Item::token, "a678"), {}}, {Item(Item::token, "a679"), {}}, + {Item(Item::token, "a680"), {}}, {Item(Item::token, "a681"), {}}, + {Item(Item::token, "a682"), {}}, {Item(Item::token, "a683"), {}}, + {Item(Item::token, "a684"), {}}, {Item(Item::token, "a685"), {}}, + {Item(Item::token, "a686"), {}}, {Item(Item::token, "a687"), {}}, + {Item(Item::token, "a688"), {}}, {Item(Item::token, "a689"), {}}, + {Item(Item::token, "a690"), {}}, {Item(Item::token, "a691"), {}}, + {Item(Item::token, "a692"), {}}, {Item(Item::token, "a693"), {}}, + {Item(Item::token, "a694"), {}}, {Item(Item::token, "a695"), {}}, + {Item(Item::token, "a696"), {}}, {Item(Item::token, "a697"), {}}, + {Item(Item::token, "a698"), {}}, {Item(Item::token, "a699"), {}}, + {Item(Item::token, "a700"), {}}, {Item(Item::token, "a701"), {}}, + {Item(Item::token, "a702"), {}}, {Item(Item::token, "a703"), {}}, + {Item(Item::token, "a704"), {}}, {Item(Item::token, "a705"), {}}, + {Item(Item::token, "a706"), {}}, {Item(Item::token, "a707"), {}}, + {Item(Item::token, "a708"), {}}, {Item(Item::token, "a709"), {}}, + {Item(Item::token, "a710"), {}}, {Item(Item::token, "a711"), {}}, + {Item(Item::token, "a712"), {}}, {Item(Item::token, "a713"), {}}, + {Item(Item::token, "a714"), {}}, {Item(Item::token, "a715"), {}}, + {Item(Item::token, "a716"), {}}, {Item(Item::token, "a717"), {}}, + {Item(Item::token, "a718"), {}}, {Item(Item::token, "a719"), {}}, + {Item(Item::token, "a720"), {}}, {Item(Item::token, "a721"), {}}, + {Item(Item::token, "a722"), {}}, {Item(Item::token, "a723"), {}}, + {Item(Item::token, "a724"), {}}, {Item(Item::token, "a725"), {}}, + {Item(Item::token, "a726"), {}}, {Item(Item::token, "a727"), {}}, + {Item(Item::token, "a728"), {}}, {Item(Item::token, "a729"), {}}, + {Item(Item::token, "a730"), {}}, {Item(Item::token, "a731"), {}}, + {Item(Item::token, "a732"), {}}, {Item(Item::token, "a733"), {}}, + {Item(Item::token, "a734"), {}}, {Item(Item::token, "a735"), {}}, + {Item(Item::token, "a736"), {}}, {Item(Item::token, "a737"), {}}, + {Item(Item::token, "a738"), {}}, {Item(Item::token, "a739"), {}}, + {Item(Item::token, "a740"), {}}, {Item(Item::token, "a741"), {}}, + {Item(Item::token, "a742"), {}}, {Item(Item::token, "a743"), {}}, + {Item(Item::token, "a744"), {}}, {Item(Item::token, "a745"), {}}, + {Item(Item::token, "a746"), {}}, {Item(Item::token, "a747"), {}}, + {Item(Item::token, "a748"), {}}, {Item(Item::token, "a749"), {}}, + {Item(Item::token, "a750"), {}}, {Item(Item::token, "a751"), {}}, + {Item(Item::token, "a752"), {}}, {Item(Item::token, "a753"), {}}, + {Item(Item::token, "a754"), {}}, {Item(Item::token, "a755"), {}}, + {Item(Item::token, "a756"), {}}, {Item(Item::token, "a757"), {}}, + {Item(Item::token, "a758"), {}}, {Item(Item::token, "a759"), {}}, + {Item(Item::token, "a760"), {}}, {Item(Item::token, "a761"), {}}, + {Item(Item::token, "a762"), {}}, {Item(Item::token, "a763"), {}}, + {Item(Item::token, "a764"), {}}, {Item(Item::token, "a765"), {}}, + {Item(Item::token, "a766"), {}}, {Item(Item::token, "a767"), {}}, + {Item(Item::token, "a768"), {}}, {Item(Item::token, "a769"), {}}, + {Item(Item::token, "a770"), {}}, {Item(Item::token, "a771"), {}}, + {Item(Item::token, "a772"), {}}, {Item(Item::token, "a773"), {}}, + {Item(Item::token, "a774"), {}}, {Item(Item::token, "a775"), {}}, + {Item(Item::token, "a776"), {}}, {Item(Item::token, "a777"), {}}, + {Item(Item::token, "a778"), {}}, {Item(Item::token, "a779"), {}}, + {Item(Item::token, "a780"), {}}, {Item(Item::token, "a781"), {}}, + {Item(Item::token, "a782"), {}}, {Item(Item::token, "a783"), {}}, + {Item(Item::token, "a784"), {}}, {Item(Item::token, "a785"), {}}, + {Item(Item::token, "a786"), {}}, {Item(Item::token, "a787"), {}}, + {Item(Item::token, "a788"), {}}, {Item(Item::token, "a789"), {}}, + {Item(Item::token, "a790"), {}}, {Item(Item::token, "a791"), {}}, + {Item(Item::token, "a792"), {}}, {Item(Item::token, "a793"), {}}, + {Item(Item::token, "a794"), {}}, {Item(Item::token, "a795"), {}}, + {Item(Item::token, "a796"), {}}, {Item(Item::token, "a797"), {}}, + {Item(Item::token, "a798"), {}}, {Item(Item::token, "a799"), {}}, + {Item(Item::token, "a800"), {}}, {Item(Item::token, "a801"), {}}, + {Item(Item::token, "a802"), {}}, {Item(Item::token, "a803"), {}}, + {Item(Item::token, "a804"), {}}, {Item(Item::token, "a805"), {}}, + {Item(Item::token, "a806"), {}}, {Item(Item::token, "a807"), {}}, + {Item(Item::token, "a808"), {}}, {Item(Item::token, "a809"), {}}, + {Item(Item::token, "a810"), {}}, {Item(Item::token, "a811"), {}}, + {Item(Item::token, "a812"), {}}, {Item(Item::token, "a813"), {}}, + {Item(Item::token, "a814"), {}}, {Item(Item::token, "a815"), {}}, + {Item(Item::token, "a816"), {}}, {Item(Item::token, "a817"), {}}, + {Item(Item::token, "a818"), {}}, {Item(Item::token, "a819"), {}}, + {Item(Item::token, "a820"), {}}, {Item(Item::token, "a821"), {}}, + {Item(Item::token, "a822"), {}}, {Item(Item::token, "a823"), {}}, + {Item(Item::token, "a824"), {}}, {Item(Item::token, "a825"), {}}, + {Item(Item::token, "a826"), {}}, {Item(Item::token, "a827"), {}}, + {Item(Item::token, "a828"), {}}, {Item(Item::token, "a829"), {}}, + {Item(Item::token, "a830"), {}}, {Item(Item::token, "a831"), {}}, + {Item(Item::token, "a832"), {}}, {Item(Item::token, "a833"), {}}, + {Item(Item::token, "a834"), {}}, {Item(Item::token, "a835"), {}}, + {Item(Item::token, "a836"), {}}, {Item(Item::token, "a837"), {}}, + {Item(Item::token, "a838"), {}}, {Item(Item::token, "a839"), {}}, + {Item(Item::token, "a840"), {}}, {Item(Item::token, "a841"), {}}, + {Item(Item::token, "a842"), {}}, {Item(Item::token, "a843"), {}}, + {Item(Item::token, "a844"), {}}, {Item(Item::token, "a845"), {}}, + {Item(Item::token, "a846"), {}}, {Item(Item::token, "a847"), {}}, + {Item(Item::token, "a848"), {}}, {Item(Item::token, "a849"), {}}, + {Item(Item::token, "a850"), {}}, {Item(Item::token, "a851"), {}}, + {Item(Item::token, "a852"), {}}, {Item(Item::token, "a853"), {}}, + {Item(Item::token, "a854"), {}}, {Item(Item::token, "a855"), {}}, + {Item(Item::token, "a856"), {}}, {Item(Item::token, "a857"), {}}, + {Item(Item::token, "a858"), {}}, {Item(Item::token, "a859"), {}}, + {Item(Item::token, "a860"), {}}, {Item(Item::token, "a861"), {}}, + {Item(Item::token, "a862"), {}}, {Item(Item::token, "a863"), {}}, + {Item(Item::token, "a864"), {}}, {Item(Item::token, "a865"), {}}, + {Item(Item::token, "a866"), {}}, {Item(Item::token, "a867"), {}}, + {Item(Item::token, "a868"), {}}, {Item(Item::token, "a869"), {}}, + {Item(Item::token, "a870"), {}}, {Item(Item::token, "a871"), {}}, + {Item(Item::token, "a872"), {}}, {Item(Item::token, "a873"), {}}, + {Item(Item::token, "a874"), {}}, {Item(Item::token, "a875"), {}}, + {Item(Item::token, "a876"), {}}, {Item(Item::token, "a877"), {}}, + {Item(Item::token, "a878"), {}}, {Item(Item::token, "a879"), {}}, + {Item(Item::token, "a880"), {}}, {Item(Item::token, "a881"), {}}, + {Item(Item::token, "a882"), {}}, {Item(Item::token, "a883"), {}}, + {Item(Item::token, "a884"), {}}, {Item(Item::token, "a885"), {}}, + {Item(Item::token, "a886"), {}}, {Item(Item::token, "a887"), {}}, + {Item(Item::token, "a888"), {}}, {Item(Item::token, "a889"), {}}, + {Item(Item::token, "a890"), {}}, {Item(Item::token, "a891"), {}}, + {Item(Item::token, "a892"), {}}, {Item(Item::token, "a893"), {}}, + {Item(Item::token, "a894"), {}}, {Item(Item::token, "a895"), {}}, + {Item(Item::token, "a896"), {}}, {Item(Item::token, "a897"), {}}, + {Item(Item::token, "a898"), {}}, {Item(Item::token, "a899"), {}}, + {Item(Item::token, "a900"), {}}, {Item(Item::token, "a901"), {}}, + {Item(Item::token, "a902"), {}}, {Item(Item::token, "a903"), {}}, + {Item(Item::token, "a904"), {}}, {Item(Item::token, "a905"), {}}, + {Item(Item::token, "a906"), {}}, {Item(Item::token, "a907"), {}}, + {Item(Item::token, "a908"), {}}, {Item(Item::token, "a909"), {}}, + {Item(Item::token, "a910"), {}}, {Item(Item::token, "a911"), {}}, + {Item(Item::token, "a912"), {}}, {Item(Item::token, "a913"), {}}, + {Item(Item::token, "a914"), {}}, {Item(Item::token, "a915"), {}}, + {Item(Item::token, "a916"), {}}, {Item(Item::token, "a917"), {}}, + {Item(Item::token, "a918"), {}}, {Item(Item::token, "a919"), {}}, + {Item(Item::token, "a920"), {}}, {Item(Item::token, "a921"), {}}, + {Item(Item::token, "a922"), {}}, {Item(Item::token, "a923"), {}}, + {Item(Item::token, "a924"), {}}, {Item(Item::token, "a925"), {}}, + {Item(Item::token, "a926"), {}}, {Item(Item::token, "a927"), {}}, + {Item(Item::token, "a928"), {}}, {Item(Item::token, "a929"), {}}, + {Item(Item::token, "a930"), {}}, {Item(Item::token, "a931"), {}}, + {Item(Item::token, "a932"), {}}, {Item(Item::token, "a933"), {}}, + {Item(Item::token, "a934"), {}}, {Item(Item::token, "a935"), {}}, + {Item(Item::token, "a936"), {}}, {Item(Item::token, "a937"), {}}, + {Item(Item::token, "a938"), {}}, {Item(Item::token, "a939"), {}}, + {Item(Item::token, "a940"), {}}, {Item(Item::token, "a941"), {}}, + {Item(Item::token, "a942"), {}}, {Item(Item::token, "a943"), {}}, + {Item(Item::token, "a944"), {}}, {Item(Item::token, "a945"), {}}, + {Item(Item::token, "a946"), {}}, {Item(Item::token, "a947"), {}}, + {Item(Item::token, "a948"), {}}, {Item(Item::token, "a949"), {}}, + {Item(Item::token, "a950"), {}}, {Item(Item::token, "a951"), {}}, + {Item(Item::token, "a952"), {}}, {Item(Item::token, "a953"), {}}, + {Item(Item::token, "a954"), {}}, {Item(Item::token, "a955"), {}}, + {Item(Item::token, "a956"), {}}, {Item(Item::token, "a957"), {}}, + {Item(Item::token, "a958"), {}}, {Item(Item::token, "a959"), {}}, + {Item(Item::token, "a960"), {}}, {Item(Item::token, "a961"), {}}, + {Item(Item::token, "a962"), {}}, {Item(Item::token, "a963"), {}}, + {Item(Item::token, "a964"), {}}, {Item(Item::token, "a965"), {}}, + {Item(Item::token, "a966"), {}}, {Item(Item::token, "a967"), {}}, + {Item(Item::token, "a968"), {}}, {Item(Item::token, "a969"), {}}, + {Item(Item::token, "a970"), {}}, {Item(Item::token, "a971"), {}}, + {Item(Item::token, "a972"), {}}, {Item(Item::token, "a973"), {}}, + {Item(Item::token, "a974"), {}}, {Item(Item::token, "a975"), {}}, + {Item(Item::token, "a976"), {}}, {Item(Item::token, "a977"), {}}, + {Item(Item::token, "a978"), {}}, {Item(Item::token, "a979"), {}}, + {Item(Item::token, "a980"), {}}, {Item(Item::token, "a981"), {}}, + {Item(Item::token, "a982"), {}}, {Item(Item::token, "a983"), {}}, + {Item(Item::token, "a984"), {}}, {Item(Item::token, "a985"), {}}, + {Item(Item::token, "a986"), {}}, {Item(Item::token, "a987"), {}}, + {Item(Item::token, "a988"), {}}, {Item(Item::token, "a989"), {}}, + {Item(Item::token, "a990"), {}}, {Item(Item::token, "a991"), {}}, + {Item(Item::token, "a992"), {}}, {Item(Item::token, "a993"), {}}, + {Item(Item::token, "a994"), {}}, {Item(Item::token, "a995"), {}}, + {Item(Item::token, "a996"), {}}, {Item(Item::token, "a997"), {}}, + {Item(Item::token, "a998"), {}}, {Item(Item::token, "a999"), {}}, + {Item(Item::token, "a1000"), {}}, {Item(Item::token, "a1001"), {}}, + {Item(Item::token, "a1002"), {}}, {Item(Item::token, "a1003"), {}}, + {Item(Item::token, "a1004"), {}}, {Item(Item::token, "a1005"), {}}, + {Item(Item::token, "a1006"), {}}, {Item(Item::token, "a1007"), {}}, + {Item(Item::token, "a1008"), {}}, {Item(Item::token, "a1009"), {}}, + {Item(Item::token, "a1010"), {}}, {Item(Item::token, "a1011"), {}}, + {Item(Item::token, "a1012"), {}}, {Item(Item::token, "a1013"), {}}, + {Item(Item::token, "a1014"), {}}, {Item(Item::token, "a1015"), {}}, + {Item(Item::token, "a1016"), {}}, {Item(Item::token, "a1017"), {}}, + {Item(Item::token, "a1018"), {}}, {Item(Item::token, "a1019"), {}}, + {Item(Item::token, "a1020"), {}}, {Item(Item::token, "a1021"), {}}, + {Item(Item::token, "a1022"), {}}, {Item(Item::token, "a1023"), {}}}}, nullptr}, {"large parameterised list", "foo;a0=1, foo;a1=1, foo;a2=1, foo;a3=1, foo;a4=1, foo;a5=1, foo;a6=1, " @@ -4528,1030 +4400,1030 @@ "foo;a1017=1, foo;a1018=1, foo;a1019=1, foo;a1020=1, foo;a1021=1, " "foo;a1022=1, foo;a1023=1", 12200, - {{{Item("foo", Item::kTokenType), {Param("a0", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1", 1)}}, - {Item("foo", Item::kTokenType), {Param("a2", 1)}}, - {Item("foo", Item::kTokenType), {Param("a3", 1)}}, - {Item("foo", Item::kTokenType), {Param("a4", 1)}}, - {Item("foo", Item::kTokenType), {Param("a5", 1)}}, - {Item("foo", Item::kTokenType), {Param("a6", 1)}}, - {Item("foo", Item::kTokenType), {Param("a7", 1)}}, - {Item("foo", Item::kTokenType), {Param("a8", 1)}}, - {Item("foo", Item::kTokenType), {Param("a9", 1)}}, - {Item("foo", Item::kTokenType), {Param("a10", 1)}}, - {Item("foo", Item::kTokenType), {Param("a11", 1)}}, - {Item("foo", Item::kTokenType), {Param("a12", 1)}}, - {Item("foo", Item::kTokenType), {Param("a13", 1)}}, - {Item("foo", Item::kTokenType), {Param("a14", 1)}}, - {Item("foo", Item::kTokenType), {Param("a15", 1)}}, - {Item("foo", Item::kTokenType), {Param("a16", 1)}}, - {Item("foo", Item::kTokenType), {Param("a17", 1)}}, - {Item("foo", Item::kTokenType), {Param("a18", 1)}}, - {Item("foo", Item::kTokenType), {Param("a19", 1)}}, - {Item("foo", Item::kTokenType), {Param("a20", 1)}}, - {Item("foo", Item::kTokenType), {Param("a21", 1)}}, - {Item("foo", Item::kTokenType), {Param("a22", 1)}}, - {Item("foo", Item::kTokenType), {Param("a23", 1)}}, - {Item("foo", Item::kTokenType), {Param("a24", 1)}}, - {Item("foo", Item::kTokenType), {Param("a25", 1)}}, - {Item("foo", Item::kTokenType), {Param("a26", 1)}}, - {Item("foo", Item::kTokenType), {Param("a27", 1)}}, - {Item("foo", Item::kTokenType), {Param("a28", 1)}}, - {Item("foo", Item::kTokenType), {Param("a29", 1)}}, - {Item("foo", Item::kTokenType), {Param("a30", 1)}}, - {Item("foo", Item::kTokenType), {Param("a31", 1)}}, - {Item("foo", Item::kTokenType), {Param("a32", 1)}}, - {Item("foo", Item::kTokenType), {Param("a33", 1)}}, - {Item("foo", Item::kTokenType), {Param("a34", 1)}}, - {Item("foo", Item::kTokenType), {Param("a35", 1)}}, - {Item("foo", Item::kTokenType), {Param("a36", 1)}}, - {Item("foo", Item::kTokenType), {Param("a37", 1)}}, - {Item("foo", Item::kTokenType), {Param("a38", 1)}}, - {Item("foo", Item::kTokenType), {Param("a39", 1)}}, - {Item("foo", Item::kTokenType), {Param("a40", 1)}}, - {Item("foo", Item::kTokenType), {Param("a41", 1)}}, - {Item("foo", Item::kTokenType), {Param("a42", 1)}}, - {Item("foo", Item::kTokenType), {Param("a43", 1)}}, - {Item("foo", Item::kTokenType), {Param("a44", 1)}}, - {Item("foo", Item::kTokenType), {Param("a45", 1)}}, - {Item("foo", Item::kTokenType), {Param("a46", 1)}}, - {Item("foo", Item::kTokenType), {Param("a47", 1)}}, - {Item("foo", Item::kTokenType), {Param("a48", 1)}}, - {Item("foo", Item::kTokenType), {Param("a49", 1)}}, - {Item("foo", Item::kTokenType), {Param("a50", 1)}}, - {Item("foo", Item::kTokenType), {Param("a51", 1)}}, - {Item("foo", Item::kTokenType), {Param("a52", 1)}}, - {Item("foo", Item::kTokenType), {Param("a53", 1)}}, - {Item("foo", Item::kTokenType), {Param("a54", 1)}}, - {Item("foo", Item::kTokenType), {Param("a55", 1)}}, - {Item("foo", Item::kTokenType), {Param("a56", 1)}}, - {Item("foo", Item::kTokenType), {Param("a57", 1)}}, - {Item("foo", Item::kTokenType), {Param("a58", 1)}}, - {Item("foo", Item::kTokenType), {Param("a59", 1)}}, - {Item("foo", Item::kTokenType), {Param("a60", 1)}}, - {Item("foo", Item::kTokenType), {Param("a61", 1)}}, - {Item("foo", Item::kTokenType), {Param("a62", 1)}}, - {Item("foo", Item::kTokenType), {Param("a63", 1)}}, - {Item("foo", Item::kTokenType), {Param("a64", 1)}}, - {Item("foo", Item::kTokenType), {Param("a65", 1)}}, - {Item("foo", Item::kTokenType), {Param("a66", 1)}}, - {Item("foo", Item::kTokenType), {Param("a67", 1)}}, - {Item("foo", Item::kTokenType), {Param("a68", 1)}}, - {Item("foo", Item::kTokenType), {Param("a69", 1)}}, - {Item("foo", Item::kTokenType), {Param("a70", 1)}}, - {Item("foo", Item::kTokenType), {Param("a71", 1)}}, - {Item("foo", Item::kTokenType), {Param("a72", 1)}}, - {Item("foo", Item::kTokenType), {Param("a73", 1)}}, - {Item("foo", Item::kTokenType), {Param("a74", 1)}}, - {Item("foo", Item::kTokenType), {Param("a75", 1)}}, - {Item("foo", Item::kTokenType), {Param("a76", 1)}}, - {Item("foo", Item::kTokenType), {Param("a77", 1)}}, - {Item("foo", Item::kTokenType), {Param("a78", 1)}}, - {Item("foo", Item::kTokenType), {Param("a79", 1)}}, - {Item("foo", Item::kTokenType), {Param("a80", 1)}}, - {Item("foo", Item::kTokenType), {Param("a81", 1)}}, - {Item("foo", Item::kTokenType), {Param("a82", 1)}}, - {Item("foo", Item::kTokenType), {Param("a83", 1)}}, - {Item("foo", Item::kTokenType), {Param("a84", 1)}}, - {Item("foo", Item::kTokenType), {Param("a85", 1)}}, - {Item("foo", Item::kTokenType), {Param("a86", 1)}}, - {Item("foo", Item::kTokenType), {Param("a87", 1)}}, - {Item("foo", Item::kTokenType), {Param("a88", 1)}}, - {Item("foo", Item::kTokenType), {Param("a89", 1)}}, - {Item("foo", Item::kTokenType), {Param("a90", 1)}}, - {Item("foo", Item::kTokenType), {Param("a91", 1)}}, - {Item("foo", Item::kTokenType), {Param("a92", 1)}}, - {Item("foo", Item::kTokenType), {Param("a93", 1)}}, - {Item("foo", Item::kTokenType), {Param("a94", 1)}}, - {Item("foo", Item::kTokenType), {Param("a95", 1)}}, - {Item("foo", Item::kTokenType), {Param("a96", 1)}}, - {Item("foo", Item::kTokenType), {Param("a97", 1)}}, - {Item("foo", Item::kTokenType), {Param("a98", 1)}}, - {Item("foo", Item::kTokenType), {Param("a99", 1)}}, - {Item("foo", Item::kTokenType), {Param("a100", 1)}}, - {Item("foo", Item::kTokenType), {Param("a101", 1)}}, - {Item("foo", Item::kTokenType), {Param("a102", 1)}}, - {Item("foo", Item::kTokenType), {Param("a103", 1)}}, - {Item("foo", Item::kTokenType), {Param("a104", 1)}}, - {Item("foo", Item::kTokenType), {Param("a105", 1)}}, - {Item("foo", Item::kTokenType), {Param("a106", 1)}}, - {Item("foo", Item::kTokenType), {Param("a107", 1)}}, - {Item("foo", Item::kTokenType), {Param("a108", 1)}}, - {Item("foo", Item::kTokenType), {Param("a109", 1)}}, - {Item("foo", Item::kTokenType), {Param("a110", 1)}}, - {Item("foo", Item::kTokenType), {Param("a111", 1)}}, - {Item("foo", Item::kTokenType), {Param("a112", 1)}}, - {Item("foo", Item::kTokenType), {Param("a113", 1)}}, - {Item("foo", Item::kTokenType), {Param("a114", 1)}}, - {Item("foo", Item::kTokenType), {Param("a115", 1)}}, - {Item("foo", Item::kTokenType), {Param("a116", 1)}}, - {Item("foo", Item::kTokenType), {Param("a117", 1)}}, - {Item("foo", Item::kTokenType), {Param("a118", 1)}}, - {Item("foo", Item::kTokenType), {Param("a119", 1)}}, - {Item("foo", Item::kTokenType), {Param("a120", 1)}}, - {Item("foo", Item::kTokenType), {Param("a121", 1)}}, - {Item("foo", Item::kTokenType), {Param("a122", 1)}}, - {Item("foo", Item::kTokenType), {Param("a123", 1)}}, - {Item("foo", Item::kTokenType), {Param("a124", 1)}}, - {Item("foo", Item::kTokenType), {Param("a125", 1)}}, - {Item("foo", Item::kTokenType), {Param("a126", 1)}}, - {Item("foo", Item::kTokenType), {Param("a127", 1)}}, - {Item("foo", Item::kTokenType), {Param("a128", 1)}}, - {Item("foo", Item::kTokenType), {Param("a129", 1)}}, - {Item("foo", Item::kTokenType), {Param("a130", 1)}}, - {Item("foo", Item::kTokenType), {Param("a131", 1)}}, - {Item("foo", Item::kTokenType), {Param("a132", 1)}}, - {Item("foo", Item::kTokenType), {Param("a133", 1)}}, - {Item("foo", Item::kTokenType), {Param("a134", 1)}}, - {Item("foo", Item::kTokenType), {Param("a135", 1)}}, - {Item("foo", Item::kTokenType), {Param("a136", 1)}}, - {Item("foo", Item::kTokenType), {Param("a137", 1)}}, - {Item("foo", Item::kTokenType), {Param("a138", 1)}}, - {Item("foo", Item::kTokenType), {Param("a139", 1)}}, - {Item("foo", Item::kTokenType), {Param("a140", 1)}}, - {Item("foo", Item::kTokenType), {Param("a141", 1)}}, - {Item("foo", Item::kTokenType), {Param("a142", 1)}}, - {Item("foo", Item::kTokenType), {Param("a143", 1)}}, - {Item("foo", Item::kTokenType), {Param("a144", 1)}}, - {Item("foo", Item::kTokenType), {Param("a145", 1)}}, - {Item("foo", Item::kTokenType), {Param("a146", 1)}}, - {Item("foo", Item::kTokenType), {Param("a147", 1)}}, - {Item("foo", Item::kTokenType), {Param("a148", 1)}}, - {Item("foo", Item::kTokenType), {Param("a149", 1)}}, - {Item("foo", Item::kTokenType), {Param("a150", 1)}}, - {Item("foo", Item::kTokenType), {Param("a151", 1)}}, - {Item("foo", Item::kTokenType), {Param("a152", 1)}}, - {Item("foo", Item::kTokenType), {Param("a153", 1)}}, - {Item("foo", Item::kTokenType), {Param("a154", 1)}}, - {Item("foo", Item::kTokenType), {Param("a155", 1)}}, - {Item("foo", Item::kTokenType), {Param("a156", 1)}}, - {Item("foo", Item::kTokenType), {Param("a157", 1)}}, - {Item("foo", Item::kTokenType), {Param("a158", 1)}}, - {Item("foo", Item::kTokenType), {Param("a159", 1)}}, - {Item("foo", Item::kTokenType), {Param("a160", 1)}}, - {Item("foo", Item::kTokenType), {Param("a161", 1)}}, - {Item("foo", Item::kTokenType), {Param("a162", 1)}}, - {Item("foo", Item::kTokenType), {Param("a163", 1)}}, - {Item("foo", Item::kTokenType), {Param("a164", 1)}}, - {Item("foo", Item::kTokenType), {Param("a165", 1)}}, - {Item("foo", Item::kTokenType), {Param("a166", 1)}}, - {Item("foo", Item::kTokenType), {Param("a167", 1)}}, - {Item("foo", Item::kTokenType), {Param("a168", 1)}}, - {Item("foo", Item::kTokenType), {Param("a169", 1)}}, - {Item("foo", Item::kTokenType), {Param("a170", 1)}}, - {Item("foo", Item::kTokenType), {Param("a171", 1)}}, - {Item("foo", Item::kTokenType), {Param("a172", 1)}}, - {Item("foo", Item::kTokenType), {Param("a173", 1)}}, - {Item("foo", Item::kTokenType), {Param("a174", 1)}}, - {Item("foo", Item::kTokenType), {Param("a175", 1)}}, - {Item("foo", Item::kTokenType), {Param("a176", 1)}}, - {Item("foo", Item::kTokenType), {Param("a177", 1)}}, - {Item("foo", Item::kTokenType), {Param("a178", 1)}}, - {Item("foo", Item::kTokenType), {Param("a179", 1)}}, - {Item("foo", Item::kTokenType), {Param("a180", 1)}}, - {Item("foo", Item::kTokenType), {Param("a181", 1)}}, - {Item("foo", Item::kTokenType), {Param("a182", 1)}}, - {Item("foo", Item::kTokenType), {Param("a183", 1)}}, - {Item("foo", Item::kTokenType), {Param("a184", 1)}}, - {Item("foo", Item::kTokenType), {Param("a185", 1)}}, - {Item("foo", Item::kTokenType), {Param("a186", 1)}}, - {Item("foo", Item::kTokenType), {Param("a187", 1)}}, - {Item("foo", Item::kTokenType), {Param("a188", 1)}}, - {Item("foo", Item::kTokenType), {Param("a189", 1)}}, - {Item("foo", Item::kTokenType), {Param("a190", 1)}}, - {Item("foo", Item::kTokenType), {Param("a191", 1)}}, - {Item("foo", Item::kTokenType), {Param("a192", 1)}}, - {Item("foo", Item::kTokenType), {Param("a193", 1)}}, - {Item("foo", Item::kTokenType), {Param("a194", 1)}}, - {Item("foo", Item::kTokenType), {Param("a195", 1)}}, - {Item("foo", Item::kTokenType), {Param("a196", 1)}}, - {Item("foo", Item::kTokenType), {Param("a197", 1)}}, - {Item("foo", Item::kTokenType), {Param("a198", 1)}}, - {Item("foo", Item::kTokenType), {Param("a199", 1)}}, - {Item("foo", Item::kTokenType), {Param("a200", 1)}}, - {Item("foo", Item::kTokenType), {Param("a201", 1)}}, - {Item("foo", Item::kTokenType), {Param("a202", 1)}}, - {Item("foo", Item::kTokenType), {Param("a203", 1)}}, - {Item("foo", Item::kTokenType), {Param("a204", 1)}}, - {Item("foo", Item::kTokenType), {Param("a205", 1)}}, - {Item("foo", Item::kTokenType), {Param("a206", 1)}}, - {Item("foo", Item::kTokenType), {Param("a207", 1)}}, - {Item("foo", Item::kTokenType), {Param("a208", 1)}}, - {Item("foo", Item::kTokenType), {Param("a209", 1)}}, - {Item("foo", Item::kTokenType), {Param("a210", 1)}}, - {Item("foo", Item::kTokenType), {Param("a211", 1)}}, - {Item("foo", Item::kTokenType), {Param("a212", 1)}}, - {Item("foo", Item::kTokenType), {Param("a213", 1)}}, - {Item("foo", Item::kTokenType), {Param("a214", 1)}}, - {Item("foo", Item::kTokenType), {Param("a215", 1)}}, - {Item("foo", Item::kTokenType), {Param("a216", 1)}}, - {Item("foo", Item::kTokenType), {Param("a217", 1)}}, - {Item("foo", Item::kTokenType), {Param("a218", 1)}}, - {Item("foo", Item::kTokenType), {Param("a219", 1)}}, - {Item("foo", Item::kTokenType), {Param("a220", 1)}}, - {Item("foo", Item::kTokenType), {Param("a221", 1)}}, - {Item("foo", Item::kTokenType), {Param("a222", 1)}}, - {Item("foo", Item::kTokenType), {Param("a223", 1)}}, - {Item("foo", Item::kTokenType), {Param("a224", 1)}}, - {Item("foo", Item::kTokenType), {Param("a225", 1)}}, - {Item("foo", Item::kTokenType), {Param("a226", 1)}}, - {Item("foo", Item::kTokenType), {Param("a227", 1)}}, - {Item("foo", Item::kTokenType), {Param("a228", 1)}}, - {Item("foo", Item::kTokenType), {Param("a229", 1)}}, - {Item("foo", Item::kTokenType), {Param("a230", 1)}}, - {Item("foo", Item::kTokenType), {Param("a231", 1)}}, - {Item("foo", Item::kTokenType), {Param("a232", 1)}}, - {Item("foo", Item::kTokenType), {Param("a233", 1)}}, - {Item("foo", Item::kTokenType), {Param("a234", 1)}}, - {Item("foo", Item::kTokenType), {Param("a235", 1)}}, - {Item("foo", Item::kTokenType), {Param("a236", 1)}}, - {Item("foo", Item::kTokenType), {Param("a237", 1)}}, - {Item("foo", Item::kTokenType), {Param("a238", 1)}}, - {Item("foo", Item::kTokenType), {Param("a239", 1)}}, - {Item("foo", Item::kTokenType), {Param("a240", 1)}}, - {Item("foo", Item::kTokenType), {Param("a241", 1)}}, - {Item("foo", Item::kTokenType), {Param("a242", 1)}}, - {Item("foo", Item::kTokenType), {Param("a243", 1)}}, - {Item("foo", Item::kTokenType), {Param("a244", 1)}}, - {Item("foo", Item::kTokenType), {Param("a245", 1)}}, - {Item("foo", Item::kTokenType), {Param("a246", 1)}}, - {Item("foo", Item::kTokenType), {Param("a247", 1)}}, - {Item("foo", Item::kTokenType), {Param("a248", 1)}}, - {Item("foo", Item::kTokenType), {Param("a249", 1)}}, - {Item("foo", Item::kTokenType), {Param("a250", 1)}}, - {Item("foo", Item::kTokenType), {Param("a251", 1)}}, - {Item("foo", Item::kTokenType), {Param("a252", 1)}}, - {Item("foo", Item::kTokenType), {Param("a253", 1)}}, - {Item("foo", Item::kTokenType), {Param("a254", 1)}}, - {Item("foo", Item::kTokenType), {Param("a255", 1)}}, - {Item("foo", Item::kTokenType), {Param("a256", 1)}}, - {Item("foo", Item::kTokenType), {Param("a257", 1)}}, - {Item("foo", Item::kTokenType), {Param("a258", 1)}}, - {Item("foo", Item::kTokenType), {Param("a259", 1)}}, - {Item("foo", Item::kTokenType), {Param("a260", 1)}}, - {Item("foo", Item::kTokenType), {Param("a261", 1)}}, - {Item("foo", Item::kTokenType), {Param("a262", 1)}}, - {Item("foo", Item::kTokenType), {Param("a263", 1)}}, - {Item("foo", Item::kTokenType), {Param("a264", 1)}}, - {Item("foo", Item::kTokenType), {Param("a265", 1)}}, - {Item("foo", Item::kTokenType), {Param("a266", 1)}}, - {Item("foo", Item::kTokenType), {Param("a267", 1)}}, - {Item("foo", Item::kTokenType), {Param("a268", 1)}}, - {Item("foo", Item::kTokenType), {Param("a269", 1)}}, - {Item("foo", Item::kTokenType), {Param("a270", 1)}}, - {Item("foo", Item::kTokenType), {Param("a271", 1)}}, - {Item("foo", Item::kTokenType), {Param("a272", 1)}}, - {Item("foo", Item::kTokenType), {Param("a273", 1)}}, - {Item("foo", Item::kTokenType), {Param("a274", 1)}}, - {Item("foo", Item::kTokenType), {Param("a275", 1)}}, - {Item("foo", Item::kTokenType), {Param("a276", 1)}}, - {Item("foo", Item::kTokenType), {Param("a277", 1)}}, - {Item("foo", Item::kTokenType), {Param("a278", 1)}}, - {Item("foo", Item::kTokenType), {Param("a279", 1)}}, - {Item("foo", Item::kTokenType), {Param("a280", 1)}}, - {Item("foo", Item::kTokenType), {Param("a281", 1)}}, - {Item("foo", Item::kTokenType), {Param("a282", 1)}}, - {Item("foo", Item::kTokenType), {Param("a283", 1)}}, - {Item("foo", Item::kTokenType), {Param("a284", 1)}}, - {Item("foo", Item::kTokenType), {Param("a285", 1)}}, - {Item("foo", Item::kTokenType), {Param("a286", 1)}}, - {Item("foo", Item::kTokenType), {Param("a287", 1)}}, - {Item("foo", Item::kTokenType), {Param("a288", 1)}}, - {Item("foo", Item::kTokenType), {Param("a289", 1)}}, - {Item("foo", Item::kTokenType), {Param("a290", 1)}}, - {Item("foo", Item::kTokenType), {Param("a291", 1)}}, - {Item("foo", Item::kTokenType), {Param("a292", 1)}}, - {Item("foo", Item::kTokenType), {Param("a293", 1)}}, - {Item("foo", Item::kTokenType), {Param("a294", 1)}}, - {Item("foo", Item::kTokenType), {Param("a295", 1)}}, - {Item("foo", Item::kTokenType), {Param("a296", 1)}}, - {Item("foo", Item::kTokenType), {Param("a297", 1)}}, - {Item("foo", Item::kTokenType), {Param("a298", 1)}}, - {Item("foo", Item::kTokenType), {Param("a299", 1)}}, - {Item("foo", Item::kTokenType), {Param("a300", 1)}}, - {Item("foo", Item::kTokenType), {Param("a301", 1)}}, - {Item("foo", Item::kTokenType), {Param("a302", 1)}}, - {Item("foo", Item::kTokenType), {Param("a303", 1)}}, - {Item("foo", Item::kTokenType), {Param("a304", 1)}}, - {Item("foo", Item::kTokenType), {Param("a305", 1)}}, - {Item("foo", Item::kTokenType), {Param("a306", 1)}}, - {Item("foo", Item::kTokenType), {Param("a307", 1)}}, - {Item("foo", Item::kTokenType), {Param("a308", 1)}}, - {Item("foo", Item::kTokenType), {Param("a309", 1)}}, - {Item("foo", Item::kTokenType), {Param("a310", 1)}}, - {Item("foo", Item::kTokenType), {Param("a311", 1)}}, - {Item("foo", Item::kTokenType), {Param("a312", 1)}}, - {Item("foo", Item::kTokenType), {Param("a313", 1)}}, - {Item("foo", Item::kTokenType), {Param("a314", 1)}}, - {Item("foo", Item::kTokenType), {Param("a315", 1)}}, - {Item("foo", Item::kTokenType), {Param("a316", 1)}}, - {Item("foo", Item::kTokenType), {Param("a317", 1)}}, - {Item("foo", Item::kTokenType), {Param("a318", 1)}}, - {Item("foo", Item::kTokenType), {Param("a319", 1)}}, - {Item("foo", Item::kTokenType), {Param("a320", 1)}}, - {Item("foo", Item::kTokenType), {Param("a321", 1)}}, - {Item("foo", Item::kTokenType), {Param("a322", 1)}}, - {Item("foo", Item::kTokenType), {Param("a323", 1)}}, - {Item("foo", Item::kTokenType), {Param("a324", 1)}}, - {Item("foo", Item::kTokenType), {Param("a325", 1)}}, - {Item("foo", Item::kTokenType), {Param("a326", 1)}}, - {Item("foo", Item::kTokenType), {Param("a327", 1)}}, - {Item("foo", Item::kTokenType), {Param("a328", 1)}}, - {Item("foo", Item::kTokenType), {Param("a329", 1)}}, - {Item("foo", Item::kTokenType), {Param("a330", 1)}}, - {Item("foo", Item::kTokenType), {Param("a331", 1)}}, - {Item("foo", Item::kTokenType), {Param("a332", 1)}}, - {Item("foo", Item::kTokenType), {Param("a333", 1)}}, - {Item("foo", Item::kTokenType), {Param("a334", 1)}}, - {Item("foo", Item::kTokenType), {Param("a335", 1)}}, - {Item("foo", Item::kTokenType), {Param("a336", 1)}}, - {Item("foo", Item::kTokenType), {Param("a337", 1)}}, - {Item("foo", Item::kTokenType), {Param("a338", 1)}}, - {Item("foo", Item::kTokenType), {Param("a339", 1)}}, - {Item("foo", Item::kTokenType), {Param("a340", 1)}}, - {Item("foo", Item::kTokenType), {Param("a341", 1)}}, - {Item("foo", Item::kTokenType), {Param("a342", 1)}}, - {Item("foo", Item::kTokenType), {Param("a343", 1)}}, - {Item("foo", Item::kTokenType), {Param("a344", 1)}}, - {Item("foo", Item::kTokenType), {Param("a345", 1)}}, - {Item("foo", Item::kTokenType), {Param("a346", 1)}}, - {Item("foo", Item::kTokenType), {Param("a347", 1)}}, - {Item("foo", Item::kTokenType), {Param("a348", 1)}}, - {Item("foo", Item::kTokenType), {Param("a349", 1)}}, - {Item("foo", Item::kTokenType), {Param("a350", 1)}}, - {Item("foo", Item::kTokenType), {Param("a351", 1)}}, - {Item("foo", Item::kTokenType), {Param("a352", 1)}}, - {Item("foo", Item::kTokenType), {Param("a353", 1)}}, - {Item("foo", Item::kTokenType), {Param("a354", 1)}}, - {Item("foo", Item::kTokenType), {Param("a355", 1)}}, - {Item("foo", Item::kTokenType), {Param("a356", 1)}}, - {Item("foo", Item::kTokenType), {Param("a357", 1)}}, - {Item("foo", Item::kTokenType), {Param("a358", 1)}}, - {Item("foo", Item::kTokenType), {Param("a359", 1)}}, - {Item("foo", Item::kTokenType), {Param("a360", 1)}}, - {Item("foo", Item::kTokenType), {Param("a361", 1)}}, - {Item("foo", Item::kTokenType), {Param("a362", 1)}}, - {Item("foo", Item::kTokenType), {Param("a363", 1)}}, - {Item("foo", Item::kTokenType), {Param("a364", 1)}}, - {Item("foo", Item::kTokenType), {Param("a365", 1)}}, - {Item("foo", Item::kTokenType), {Param("a366", 1)}}, - {Item("foo", Item::kTokenType), {Param("a367", 1)}}, - {Item("foo", Item::kTokenType), {Param("a368", 1)}}, - {Item("foo", Item::kTokenType), {Param("a369", 1)}}, - {Item("foo", Item::kTokenType), {Param("a370", 1)}}, - {Item("foo", Item::kTokenType), {Param("a371", 1)}}, - {Item("foo", Item::kTokenType), {Param("a372", 1)}}, - {Item("foo", Item::kTokenType), {Param("a373", 1)}}, - {Item("foo", Item::kTokenType), {Param("a374", 1)}}, - {Item("foo", Item::kTokenType), {Param("a375", 1)}}, - {Item("foo", Item::kTokenType), {Param("a376", 1)}}, - {Item("foo", Item::kTokenType), {Param("a377", 1)}}, - {Item("foo", Item::kTokenType), {Param("a378", 1)}}, - {Item("foo", Item::kTokenType), {Param("a379", 1)}}, - {Item("foo", Item::kTokenType), {Param("a380", 1)}}, - {Item("foo", Item::kTokenType), {Param("a381", 1)}}, - {Item("foo", Item::kTokenType), {Param("a382", 1)}}, - {Item("foo", Item::kTokenType), {Param("a383", 1)}}, - {Item("foo", Item::kTokenType), {Param("a384", 1)}}, - {Item("foo", Item::kTokenType), {Param("a385", 1)}}, - {Item("foo", Item::kTokenType), {Param("a386", 1)}}, - {Item("foo", Item::kTokenType), {Param("a387", 1)}}, - {Item("foo", Item::kTokenType), {Param("a388", 1)}}, - {Item("foo", Item::kTokenType), {Param("a389", 1)}}, - {Item("foo", Item::kTokenType), {Param("a390", 1)}}, - {Item("foo", Item::kTokenType), {Param("a391", 1)}}, - {Item("foo", Item::kTokenType), {Param("a392", 1)}}, - {Item("foo", Item::kTokenType), {Param("a393", 1)}}, - {Item("foo", Item::kTokenType), {Param("a394", 1)}}, - {Item("foo", Item::kTokenType), {Param("a395", 1)}}, - {Item("foo", Item::kTokenType), {Param("a396", 1)}}, - {Item("foo", Item::kTokenType), {Param("a397", 1)}}, - {Item("foo", Item::kTokenType), {Param("a398", 1)}}, - {Item("foo", Item::kTokenType), {Param("a399", 1)}}, - {Item("foo", Item::kTokenType), {Param("a400", 1)}}, - {Item("foo", Item::kTokenType), {Param("a401", 1)}}, - {Item("foo", Item::kTokenType), {Param("a402", 1)}}, - {Item("foo", Item::kTokenType), {Param("a403", 1)}}, - {Item("foo", Item::kTokenType), {Param("a404", 1)}}, - {Item("foo", Item::kTokenType), {Param("a405", 1)}}, - {Item("foo", Item::kTokenType), {Param("a406", 1)}}, - {Item("foo", Item::kTokenType), {Param("a407", 1)}}, - {Item("foo", Item::kTokenType), {Param("a408", 1)}}, - {Item("foo", Item::kTokenType), {Param("a409", 1)}}, - {Item("foo", Item::kTokenType), {Param("a410", 1)}}, - {Item("foo", Item::kTokenType), {Param("a411", 1)}}, - {Item("foo", Item::kTokenType), {Param("a412", 1)}}, - {Item("foo", Item::kTokenType), {Param("a413", 1)}}, - {Item("foo", Item::kTokenType), {Param("a414", 1)}}, - {Item("foo", Item::kTokenType), {Param("a415", 1)}}, - {Item("foo", Item::kTokenType), {Param("a416", 1)}}, - {Item("foo", Item::kTokenType), {Param("a417", 1)}}, - {Item("foo", Item::kTokenType), {Param("a418", 1)}}, - {Item("foo", Item::kTokenType), {Param("a419", 1)}}, - {Item("foo", Item::kTokenType), {Param("a420", 1)}}, - {Item("foo", Item::kTokenType), {Param("a421", 1)}}, - {Item("foo", Item::kTokenType), {Param("a422", 1)}}, - {Item("foo", Item::kTokenType), {Param("a423", 1)}}, - {Item("foo", Item::kTokenType), {Param("a424", 1)}}, - {Item("foo", Item::kTokenType), {Param("a425", 1)}}, - {Item("foo", Item::kTokenType), {Param("a426", 1)}}, - {Item("foo", Item::kTokenType), {Param("a427", 1)}}, - {Item("foo", Item::kTokenType), {Param("a428", 1)}}, - {Item("foo", Item::kTokenType), {Param("a429", 1)}}, - {Item("foo", Item::kTokenType), {Param("a430", 1)}}, - {Item("foo", Item::kTokenType), {Param("a431", 1)}}, - {Item("foo", Item::kTokenType), {Param("a432", 1)}}, - {Item("foo", Item::kTokenType), {Param("a433", 1)}}, - {Item("foo", Item::kTokenType), {Param("a434", 1)}}, - {Item("foo", Item::kTokenType), {Param("a435", 1)}}, - {Item("foo", Item::kTokenType), {Param("a436", 1)}}, - {Item("foo", Item::kTokenType), {Param("a437", 1)}}, - {Item("foo", Item::kTokenType), {Param("a438", 1)}}, - {Item("foo", Item::kTokenType), {Param("a439", 1)}}, - {Item("foo", Item::kTokenType), {Param("a440", 1)}}, - {Item("foo", Item::kTokenType), {Param("a441", 1)}}, - {Item("foo", Item::kTokenType), {Param("a442", 1)}}, - {Item("foo", Item::kTokenType), {Param("a443", 1)}}, - {Item("foo", Item::kTokenType), {Param("a444", 1)}}, - {Item("foo", Item::kTokenType), {Param("a445", 1)}}, - {Item("foo", Item::kTokenType), {Param("a446", 1)}}, - {Item("foo", Item::kTokenType), {Param("a447", 1)}}, - {Item("foo", Item::kTokenType), {Param("a448", 1)}}, - {Item("foo", Item::kTokenType), {Param("a449", 1)}}, - {Item("foo", Item::kTokenType), {Param("a450", 1)}}, - {Item("foo", Item::kTokenType), {Param("a451", 1)}}, - {Item("foo", Item::kTokenType), {Param("a452", 1)}}, - {Item("foo", Item::kTokenType), {Param("a453", 1)}}, - {Item("foo", Item::kTokenType), {Param("a454", 1)}}, - {Item("foo", Item::kTokenType), {Param("a455", 1)}}, - {Item("foo", Item::kTokenType), {Param("a456", 1)}}, - {Item("foo", Item::kTokenType), {Param("a457", 1)}}, - {Item("foo", Item::kTokenType), {Param("a458", 1)}}, - {Item("foo", Item::kTokenType), {Param("a459", 1)}}, - {Item("foo", Item::kTokenType), {Param("a460", 1)}}, - {Item("foo", Item::kTokenType), {Param("a461", 1)}}, - {Item("foo", Item::kTokenType), {Param("a462", 1)}}, - {Item("foo", Item::kTokenType), {Param("a463", 1)}}, - {Item("foo", Item::kTokenType), {Param("a464", 1)}}, - {Item("foo", Item::kTokenType), {Param("a465", 1)}}, - {Item("foo", Item::kTokenType), {Param("a466", 1)}}, - {Item("foo", Item::kTokenType), {Param("a467", 1)}}, - {Item("foo", Item::kTokenType), {Param("a468", 1)}}, - {Item("foo", Item::kTokenType), {Param("a469", 1)}}, - {Item("foo", Item::kTokenType), {Param("a470", 1)}}, - {Item("foo", Item::kTokenType), {Param("a471", 1)}}, - {Item("foo", Item::kTokenType), {Param("a472", 1)}}, - {Item("foo", Item::kTokenType), {Param("a473", 1)}}, - {Item("foo", Item::kTokenType), {Param("a474", 1)}}, - {Item("foo", Item::kTokenType), {Param("a475", 1)}}, - {Item("foo", Item::kTokenType), {Param("a476", 1)}}, - {Item("foo", Item::kTokenType), {Param("a477", 1)}}, - {Item("foo", Item::kTokenType), {Param("a478", 1)}}, - {Item("foo", Item::kTokenType), {Param("a479", 1)}}, - {Item("foo", Item::kTokenType), {Param("a480", 1)}}, - {Item("foo", Item::kTokenType), {Param("a481", 1)}}, - {Item("foo", Item::kTokenType), {Param("a482", 1)}}, - {Item("foo", Item::kTokenType), {Param("a483", 1)}}, - {Item("foo", Item::kTokenType), {Param("a484", 1)}}, - {Item("foo", Item::kTokenType), {Param("a485", 1)}}, - {Item("foo", Item::kTokenType), {Param("a486", 1)}}, - {Item("foo", Item::kTokenType), {Param("a487", 1)}}, - {Item("foo", Item::kTokenType), {Param("a488", 1)}}, - {Item("foo", Item::kTokenType), {Param("a489", 1)}}, - {Item("foo", Item::kTokenType), {Param("a490", 1)}}, - {Item("foo", Item::kTokenType), {Param("a491", 1)}}, - {Item("foo", Item::kTokenType), {Param("a492", 1)}}, - {Item("foo", Item::kTokenType), {Param("a493", 1)}}, - {Item("foo", Item::kTokenType), {Param("a494", 1)}}, - {Item("foo", Item::kTokenType), {Param("a495", 1)}}, - {Item("foo", Item::kTokenType), {Param("a496", 1)}}, - {Item("foo", Item::kTokenType), {Param("a497", 1)}}, - {Item("foo", Item::kTokenType), {Param("a498", 1)}}, - {Item("foo", Item::kTokenType), {Param("a499", 1)}}, - {Item("foo", Item::kTokenType), {Param("a500", 1)}}, - {Item("foo", Item::kTokenType), {Param("a501", 1)}}, - {Item("foo", Item::kTokenType), {Param("a502", 1)}}, - {Item("foo", Item::kTokenType), {Param("a503", 1)}}, - {Item("foo", Item::kTokenType), {Param("a504", 1)}}, - {Item("foo", Item::kTokenType), {Param("a505", 1)}}, - {Item("foo", Item::kTokenType), {Param("a506", 1)}}, - {Item("foo", Item::kTokenType), {Param("a507", 1)}}, - {Item("foo", Item::kTokenType), {Param("a508", 1)}}, - {Item("foo", Item::kTokenType), {Param("a509", 1)}}, - {Item("foo", Item::kTokenType), {Param("a510", 1)}}, - {Item("foo", Item::kTokenType), {Param("a511", 1)}}, - {Item("foo", Item::kTokenType), {Param("a512", 1)}}, - {Item("foo", Item::kTokenType), {Param("a513", 1)}}, - {Item("foo", Item::kTokenType), {Param("a514", 1)}}, - {Item("foo", Item::kTokenType), {Param("a515", 1)}}, - {Item("foo", Item::kTokenType), {Param("a516", 1)}}, - {Item("foo", Item::kTokenType), {Param("a517", 1)}}, - {Item("foo", Item::kTokenType), {Param("a518", 1)}}, - {Item("foo", Item::kTokenType), {Param("a519", 1)}}, - {Item("foo", Item::kTokenType), {Param("a520", 1)}}, - {Item("foo", Item::kTokenType), {Param("a521", 1)}}, - {Item("foo", Item::kTokenType), {Param("a522", 1)}}, - {Item("foo", Item::kTokenType), {Param("a523", 1)}}, - {Item("foo", Item::kTokenType), {Param("a524", 1)}}, - {Item("foo", Item::kTokenType), {Param("a525", 1)}}, - {Item("foo", Item::kTokenType), {Param("a526", 1)}}, - {Item("foo", Item::kTokenType), {Param("a527", 1)}}, - {Item("foo", Item::kTokenType), {Param("a528", 1)}}, - {Item("foo", Item::kTokenType), {Param("a529", 1)}}, - {Item("foo", Item::kTokenType), {Param("a530", 1)}}, - {Item("foo", Item::kTokenType), {Param("a531", 1)}}, - {Item("foo", Item::kTokenType), {Param("a532", 1)}}, - {Item("foo", Item::kTokenType), {Param("a533", 1)}}, - {Item("foo", Item::kTokenType), {Param("a534", 1)}}, - {Item("foo", Item::kTokenType), {Param("a535", 1)}}, - {Item("foo", Item::kTokenType), {Param("a536", 1)}}, - {Item("foo", Item::kTokenType), {Param("a537", 1)}}, - {Item("foo", Item::kTokenType), {Param("a538", 1)}}, - {Item("foo", Item::kTokenType), {Param("a539", 1)}}, - {Item("foo", Item::kTokenType), {Param("a540", 1)}}, - {Item("foo", Item::kTokenType), {Param("a541", 1)}}, - {Item("foo", Item::kTokenType), {Param("a542", 1)}}, - {Item("foo", Item::kTokenType), {Param("a543", 1)}}, - {Item("foo", Item::kTokenType), {Param("a544", 1)}}, - {Item("foo", Item::kTokenType), {Param("a545", 1)}}, - {Item("foo", Item::kTokenType), {Param("a546", 1)}}, - {Item("foo", Item::kTokenType), {Param("a547", 1)}}, - {Item("foo", Item::kTokenType), {Param("a548", 1)}}, - {Item("foo", Item::kTokenType), {Param("a549", 1)}}, - {Item("foo", Item::kTokenType), {Param("a550", 1)}}, - {Item("foo", Item::kTokenType), {Param("a551", 1)}}, - {Item("foo", Item::kTokenType), {Param("a552", 1)}}, - {Item("foo", Item::kTokenType), {Param("a553", 1)}}, - {Item("foo", Item::kTokenType), {Param("a554", 1)}}, - {Item("foo", Item::kTokenType), {Param("a555", 1)}}, - {Item("foo", Item::kTokenType), {Param("a556", 1)}}, - {Item("foo", Item::kTokenType), {Param("a557", 1)}}, - {Item("foo", Item::kTokenType), {Param("a558", 1)}}, - {Item("foo", Item::kTokenType), {Param("a559", 1)}}, - {Item("foo", Item::kTokenType), {Param("a560", 1)}}, - {Item("foo", Item::kTokenType), {Param("a561", 1)}}, - {Item("foo", Item::kTokenType), {Param("a562", 1)}}, - {Item("foo", Item::kTokenType), {Param("a563", 1)}}, - {Item("foo", Item::kTokenType), {Param("a564", 1)}}, - {Item("foo", Item::kTokenType), {Param("a565", 1)}}, - {Item("foo", Item::kTokenType), {Param("a566", 1)}}, - {Item("foo", Item::kTokenType), {Param("a567", 1)}}, - {Item("foo", Item::kTokenType), {Param("a568", 1)}}, - {Item("foo", Item::kTokenType), {Param("a569", 1)}}, - {Item("foo", Item::kTokenType), {Param("a570", 1)}}, - {Item("foo", Item::kTokenType), {Param("a571", 1)}}, - {Item("foo", Item::kTokenType), {Param("a572", 1)}}, - {Item("foo", Item::kTokenType), {Param("a573", 1)}}, - {Item("foo", Item::kTokenType), {Param("a574", 1)}}, - {Item("foo", Item::kTokenType), {Param("a575", 1)}}, - {Item("foo", Item::kTokenType), {Param("a576", 1)}}, - {Item("foo", Item::kTokenType), {Param("a577", 1)}}, - {Item("foo", Item::kTokenType), {Param("a578", 1)}}, - {Item("foo", Item::kTokenType), {Param("a579", 1)}}, - {Item("foo", Item::kTokenType), {Param("a580", 1)}}, - {Item("foo", Item::kTokenType), {Param("a581", 1)}}, - {Item("foo", Item::kTokenType), {Param("a582", 1)}}, - {Item("foo", Item::kTokenType), {Param("a583", 1)}}, - {Item("foo", Item::kTokenType), {Param("a584", 1)}}, - {Item("foo", Item::kTokenType), {Param("a585", 1)}}, - {Item("foo", Item::kTokenType), {Param("a586", 1)}}, - {Item("foo", Item::kTokenType), {Param("a587", 1)}}, - {Item("foo", Item::kTokenType), {Param("a588", 1)}}, - {Item("foo", Item::kTokenType), {Param("a589", 1)}}, - {Item("foo", Item::kTokenType), {Param("a590", 1)}}, - {Item("foo", Item::kTokenType), {Param("a591", 1)}}, - {Item("foo", Item::kTokenType), {Param("a592", 1)}}, - {Item("foo", Item::kTokenType), {Param("a593", 1)}}, - {Item("foo", Item::kTokenType), {Param("a594", 1)}}, - {Item("foo", Item::kTokenType), {Param("a595", 1)}}, - {Item("foo", Item::kTokenType), {Param("a596", 1)}}, - {Item("foo", Item::kTokenType), {Param("a597", 1)}}, - {Item("foo", Item::kTokenType), {Param("a598", 1)}}, - {Item("foo", Item::kTokenType), {Param("a599", 1)}}, - {Item("foo", Item::kTokenType), {Param("a600", 1)}}, - {Item("foo", Item::kTokenType), {Param("a601", 1)}}, - {Item("foo", Item::kTokenType), {Param("a602", 1)}}, - {Item("foo", Item::kTokenType), {Param("a603", 1)}}, - {Item("foo", Item::kTokenType), {Param("a604", 1)}}, - {Item("foo", Item::kTokenType), {Param("a605", 1)}}, - {Item("foo", Item::kTokenType), {Param("a606", 1)}}, - {Item("foo", Item::kTokenType), {Param("a607", 1)}}, - {Item("foo", Item::kTokenType), {Param("a608", 1)}}, - {Item("foo", Item::kTokenType), {Param("a609", 1)}}, - {Item("foo", Item::kTokenType), {Param("a610", 1)}}, - {Item("foo", Item::kTokenType), {Param("a611", 1)}}, - {Item("foo", Item::kTokenType), {Param("a612", 1)}}, - {Item("foo", Item::kTokenType), {Param("a613", 1)}}, - {Item("foo", Item::kTokenType), {Param("a614", 1)}}, - {Item("foo", Item::kTokenType), {Param("a615", 1)}}, - {Item("foo", Item::kTokenType), {Param("a616", 1)}}, - {Item("foo", Item::kTokenType), {Param("a617", 1)}}, - {Item("foo", Item::kTokenType), {Param("a618", 1)}}, - {Item("foo", Item::kTokenType), {Param("a619", 1)}}, - {Item("foo", Item::kTokenType), {Param("a620", 1)}}, - {Item("foo", Item::kTokenType), {Param("a621", 1)}}, - {Item("foo", Item::kTokenType), {Param("a622", 1)}}, - {Item("foo", Item::kTokenType), {Param("a623", 1)}}, - {Item("foo", Item::kTokenType), {Param("a624", 1)}}, - {Item("foo", Item::kTokenType), {Param("a625", 1)}}, - {Item("foo", Item::kTokenType), {Param("a626", 1)}}, - {Item("foo", Item::kTokenType), {Param("a627", 1)}}, - {Item("foo", Item::kTokenType), {Param("a628", 1)}}, - {Item("foo", Item::kTokenType), {Param("a629", 1)}}, - {Item("foo", Item::kTokenType), {Param("a630", 1)}}, - {Item("foo", Item::kTokenType), {Param("a631", 1)}}, - {Item("foo", Item::kTokenType), {Param("a632", 1)}}, - {Item("foo", Item::kTokenType), {Param("a633", 1)}}, - {Item("foo", Item::kTokenType), {Param("a634", 1)}}, - {Item("foo", Item::kTokenType), {Param("a635", 1)}}, - {Item("foo", Item::kTokenType), {Param("a636", 1)}}, - {Item("foo", Item::kTokenType), {Param("a637", 1)}}, - {Item("foo", Item::kTokenType), {Param("a638", 1)}}, - {Item("foo", Item::kTokenType), {Param("a639", 1)}}, - {Item("foo", Item::kTokenType), {Param("a640", 1)}}, - {Item("foo", Item::kTokenType), {Param("a641", 1)}}, - {Item("foo", Item::kTokenType), {Param("a642", 1)}}, - {Item("foo", Item::kTokenType), {Param("a643", 1)}}, - {Item("foo", Item::kTokenType), {Param("a644", 1)}}, - {Item("foo", Item::kTokenType), {Param("a645", 1)}}, - {Item("foo", Item::kTokenType), {Param("a646", 1)}}, - {Item("foo", Item::kTokenType), {Param("a647", 1)}}, - {Item("foo", Item::kTokenType), {Param("a648", 1)}}, - {Item("foo", Item::kTokenType), {Param("a649", 1)}}, - {Item("foo", Item::kTokenType), {Param("a650", 1)}}, - {Item("foo", Item::kTokenType), {Param("a651", 1)}}, - {Item("foo", Item::kTokenType), {Param("a652", 1)}}, - {Item("foo", Item::kTokenType), {Param("a653", 1)}}, - {Item("foo", Item::kTokenType), {Param("a654", 1)}}, - {Item("foo", Item::kTokenType), {Param("a655", 1)}}, - {Item("foo", Item::kTokenType), {Param("a656", 1)}}, - {Item("foo", Item::kTokenType), {Param("a657", 1)}}, - {Item("foo", Item::kTokenType), {Param("a658", 1)}}, - {Item("foo", Item::kTokenType), {Param("a659", 1)}}, - {Item("foo", Item::kTokenType), {Param("a660", 1)}}, - {Item("foo", Item::kTokenType), {Param("a661", 1)}}, - {Item("foo", Item::kTokenType), {Param("a662", 1)}}, - {Item("foo", Item::kTokenType), {Param("a663", 1)}}, - {Item("foo", Item::kTokenType), {Param("a664", 1)}}, - {Item("foo", Item::kTokenType), {Param("a665", 1)}}, - {Item("foo", Item::kTokenType), {Param("a666", 1)}}, - {Item("foo", Item::kTokenType), {Param("a667", 1)}}, - {Item("foo", Item::kTokenType), {Param("a668", 1)}}, - {Item("foo", Item::kTokenType), {Param("a669", 1)}}, - {Item("foo", Item::kTokenType), {Param("a670", 1)}}, - {Item("foo", Item::kTokenType), {Param("a671", 1)}}, - {Item("foo", Item::kTokenType), {Param("a672", 1)}}, - {Item("foo", Item::kTokenType), {Param("a673", 1)}}, - {Item("foo", Item::kTokenType), {Param("a674", 1)}}, - {Item("foo", Item::kTokenType), {Param("a675", 1)}}, - {Item("foo", Item::kTokenType), {Param("a676", 1)}}, - {Item("foo", Item::kTokenType), {Param("a677", 1)}}, - {Item("foo", Item::kTokenType), {Param("a678", 1)}}, - {Item("foo", Item::kTokenType), {Param("a679", 1)}}, - {Item("foo", Item::kTokenType), {Param("a680", 1)}}, - {Item("foo", Item::kTokenType), {Param("a681", 1)}}, - {Item("foo", Item::kTokenType), {Param("a682", 1)}}, - {Item("foo", Item::kTokenType), {Param("a683", 1)}}, - {Item("foo", Item::kTokenType), {Param("a684", 1)}}, - {Item("foo", Item::kTokenType), {Param("a685", 1)}}, - {Item("foo", Item::kTokenType), {Param("a686", 1)}}, - {Item("foo", Item::kTokenType), {Param("a687", 1)}}, - {Item("foo", Item::kTokenType), {Param("a688", 1)}}, - {Item("foo", Item::kTokenType), {Param("a689", 1)}}, - {Item("foo", Item::kTokenType), {Param("a690", 1)}}, - {Item("foo", Item::kTokenType), {Param("a691", 1)}}, - {Item("foo", Item::kTokenType), {Param("a692", 1)}}, - {Item("foo", Item::kTokenType), {Param("a693", 1)}}, - {Item("foo", Item::kTokenType), {Param("a694", 1)}}, - {Item("foo", Item::kTokenType), {Param("a695", 1)}}, - {Item("foo", Item::kTokenType), {Param("a696", 1)}}, - {Item("foo", Item::kTokenType), {Param("a697", 1)}}, - {Item("foo", Item::kTokenType), {Param("a698", 1)}}, - {Item("foo", Item::kTokenType), {Param("a699", 1)}}, - {Item("foo", Item::kTokenType), {Param("a700", 1)}}, - {Item("foo", Item::kTokenType), {Param("a701", 1)}}, - {Item("foo", Item::kTokenType), {Param("a702", 1)}}, - {Item("foo", Item::kTokenType), {Param("a703", 1)}}, - {Item("foo", Item::kTokenType), {Param("a704", 1)}}, - {Item("foo", Item::kTokenType), {Param("a705", 1)}}, - {Item("foo", Item::kTokenType), {Param("a706", 1)}}, - {Item("foo", Item::kTokenType), {Param("a707", 1)}}, - {Item("foo", Item::kTokenType), {Param("a708", 1)}}, - {Item("foo", Item::kTokenType), {Param("a709", 1)}}, - {Item("foo", Item::kTokenType), {Param("a710", 1)}}, - {Item("foo", Item::kTokenType), {Param("a711", 1)}}, - {Item("foo", Item::kTokenType), {Param("a712", 1)}}, - {Item("foo", Item::kTokenType), {Param("a713", 1)}}, - {Item("foo", Item::kTokenType), {Param("a714", 1)}}, - {Item("foo", Item::kTokenType), {Param("a715", 1)}}, - {Item("foo", Item::kTokenType), {Param("a716", 1)}}, - {Item("foo", Item::kTokenType), {Param("a717", 1)}}, - {Item("foo", Item::kTokenType), {Param("a718", 1)}}, - {Item("foo", Item::kTokenType), {Param("a719", 1)}}, - {Item("foo", Item::kTokenType), {Param("a720", 1)}}, - {Item("foo", Item::kTokenType), {Param("a721", 1)}}, - {Item("foo", Item::kTokenType), {Param("a722", 1)}}, - {Item("foo", Item::kTokenType), {Param("a723", 1)}}, - {Item("foo", Item::kTokenType), {Param("a724", 1)}}, - {Item("foo", Item::kTokenType), {Param("a725", 1)}}, - {Item("foo", Item::kTokenType), {Param("a726", 1)}}, - {Item("foo", Item::kTokenType), {Param("a727", 1)}}, - {Item("foo", Item::kTokenType), {Param("a728", 1)}}, - {Item("foo", Item::kTokenType), {Param("a729", 1)}}, - {Item("foo", Item::kTokenType), {Param("a730", 1)}}, - {Item("foo", Item::kTokenType), {Param("a731", 1)}}, - {Item("foo", Item::kTokenType), {Param("a732", 1)}}, - {Item("foo", Item::kTokenType), {Param("a733", 1)}}, - {Item("foo", Item::kTokenType), {Param("a734", 1)}}, - {Item("foo", Item::kTokenType), {Param("a735", 1)}}, - {Item("foo", Item::kTokenType), {Param("a736", 1)}}, - {Item("foo", Item::kTokenType), {Param("a737", 1)}}, - {Item("foo", Item::kTokenType), {Param("a738", 1)}}, - {Item("foo", Item::kTokenType), {Param("a739", 1)}}, - {Item("foo", Item::kTokenType), {Param("a740", 1)}}, - {Item("foo", Item::kTokenType), {Param("a741", 1)}}, - {Item("foo", Item::kTokenType), {Param("a742", 1)}}, - {Item("foo", Item::kTokenType), {Param("a743", 1)}}, - {Item("foo", Item::kTokenType), {Param("a744", 1)}}, - {Item("foo", Item::kTokenType), {Param("a745", 1)}}, - {Item("foo", Item::kTokenType), {Param("a746", 1)}}, - {Item("foo", Item::kTokenType), {Param("a747", 1)}}, - {Item("foo", Item::kTokenType), {Param("a748", 1)}}, - {Item("foo", Item::kTokenType), {Param("a749", 1)}}, - {Item("foo", Item::kTokenType), {Param("a750", 1)}}, - {Item("foo", Item::kTokenType), {Param("a751", 1)}}, - {Item("foo", Item::kTokenType), {Param("a752", 1)}}, - {Item("foo", Item::kTokenType), {Param("a753", 1)}}, - {Item("foo", Item::kTokenType), {Param("a754", 1)}}, - {Item("foo", Item::kTokenType), {Param("a755", 1)}}, - {Item("foo", Item::kTokenType), {Param("a756", 1)}}, - {Item("foo", Item::kTokenType), {Param("a757", 1)}}, - {Item("foo", Item::kTokenType), {Param("a758", 1)}}, - {Item("foo", Item::kTokenType), {Param("a759", 1)}}, - {Item("foo", Item::kTokenType), {Param("a760", 1)}}, - {Item("foo", Item::kTokenType), {Param("a761", 1)}}, - {Item("foo", Item::kTokenType), {Param("a762", 1)}}, - {Item("foo", Item::kTokenType), {Param("a763", 1)}}, - {Item("foo", Item::kTokenType), {Param("a764", 1)}}, - {Item("foo", Item::kTokenType), {Param("a765", 1)}}, - {Item("foo", Item::kTokenType), {Param("a766", 1)}}, - {Item("foo", Item::kTokenType), {Param("a767", 1)}}, - {Item("foo", Item::kTokenType), {Param("a768", 1)}}, - {Item("foo", Item::kTokenType), {Param("a769", 1)}}, - {Item("foo", Item::kTokenType), {Param("a770", 1)}}, - {Item("foo", Item::kTokenType), {Param("a771", 1)}}, - {Item("foo", Item::kTokenType), {Param("a772", 1)}}, - {Item("foo", Item::kTokenType), {Param("a773", 1)}}, - {Item("foo", Item::kTokenType), {Param("a774", 1)}}, - {Item("foo", Item::kTokenType), {Param("a775", 1)}}, - {Item("foo", Item::kTokenType), {Param("a776", 1)}}, - {Item("foo", Item::kTokenType), {Param("a777", 1)}}, - {Item("foo", Item::kTokenType), {Param("a778", 1)}}, - {Item("foo", Item::kTokenType), {Param("a779", 1)}}, - {Item("foo", Item::kTokenType), {Param("a780", 1)}}, - {Item("foo", Item::kTokenType), {Param("a781", 1)}}, - {Item("foo", Item::kTokenType), {Param("a782", 1)}}, - {Item("foo", Item::kTokenType), {Param("a783", 1)}}, - {Item("foo", Item::kTokenType), {Param("a784", 1)}}, - {Item("foo", Item::kTokenType), {Param("a785", 1)}}, - {Item("foo", Item::kTokenType), {Param("a786", 1)}}, - {Item("foo", Item::kTokenType), {Param("a787", 1)}}, - {Item("foo", Item::kTokenType), {Param("a788", 1)}}, - {Item("foo", Item::kTokenType), {Param("a789", 1)}}, - {Item("foo", Item::kTokenType), {Param("a790", 1)}}, - {Item("foo", Item::kTokenType), {Param("a791", 1)}}, - {Item("foo", Item::kTokenType), {Param("a792", 1)}}, - {Item("foo", Item::kTokenType), {Param("a793", 1)}}, - {Item("foo", Item::kTokenType), {Param("a794", 1)}}, - {Item("foo", Item::kTokenType), {Param("a795", 1)}}, - {Item("foo", Item::kTokenType), {Param("a796", 1)}}, - {Item("foo", Item::kTokenType), {Param("a797", 1)}}, - {Item("foo", Item::kTokenType), {Param("a798", 1)}}, - {Item("foo", Item::kTokenType), {Param("a799", 1)}}, - {Item("foo", Item::kTokenType), {Param("a800", 1)}}, - {Item("foo", Item::kTokenType), {Param("a801", 1)}}, - {Item("foo", Item::kTokenType), {Param("a802", 1)}}, - {Item("foo", Item::kTokenType), {Param("a803", 1)}}, - {Item("foo", Item::kTokenType), {Param("a804", 1)}}, - {Item("foo", Item::kTokenType), {Param("a805", 1)}}, - {Item("foo", Item::kTokenType), {Param("a806", 1)}}, - {Item("foo", Item::kTokenType), {Param("a807", 1)}}, - {Item("foo", Item::kTokenType), {Param("a808", 1)}}, - {Item("foo", Item::kTokenType), {Param("a809", 1)}}, - {Item("foo", Item::kTokenType), {Param("a810", 1)}}, - {Item("foo", Item::kTokenType), {Param("a811", 1)}}, - {Item("foo", Item::kTokenType), {Param("a812", 1)}}, - {Item("foo", Item::kTokenType), {Param("a813", 1)}}, - {Item("foo", Item::kTokenType), {Param("a814", 1)}}, - {Item("foo", Item::kTokenType), {Param("a815", 1)}}, - {Item("foo", Item::kTokenType), {Param("a816", 1)}}, - {Item("foo", Item::kTokenType), {Param("a817", 1)}}, - {Item("foo", Item::kTokenType), {Param("a818", 1)}}, - {Item("foo", Item::kTokenType), {Param("a819", 1)}}, - {Item("foo", Item::kTokenType), {Param("a820", 1)}}, - {Item("foo", Item::kTokenType), {Param("a821", 1)}}, - {Item("foo", Item::kTokenType), {Param("a822", 1)}}, - {Item("foo", Item::kTokenType), {Param("a823", 1)}}, - {Item("foo", Item::kTokenType), {Param("a824", 1)}}, - {Item("foo", Item::kTokenType), {Param("a825", 1)}}, - {Item("foo", Item::kTokenType), {Param("a826", 1)}}, - {Item("foo", Item::kTokenType), {Param("a827", 1)}}, - {Item("foo", Item::kTokenType), {Param("a828", 1)}}, - {Item("foo", Item::kTokenType), {Param("a829", 1)}}, - {Item("foo", Item::kTokenType), {Param("a830", 1)}}, - {Item("foo", Item::kTokenType), {Param("a831", 1)}}, - {Item("foo", Item::kTokenType), {Param("a832", 1)}}, - {Item("foo", Item::kTokenType), {Param("a833", 1)}}, - {Item("foo", Item::kTokenType), {Param("a834", 1)}}, - {Item("foo", Item::kTokenType), {Param("a835", 1)}}, - {Item("foo", Item::kTokenType), {Param("a836", 1)}}, - {Item("foo", Item::kTokenType), {Param("a837", 1)}}, - {Item("foo", Item::kTokenType), {Param("a838", 1)}}, - {Item("foo", Item::kTokenType), {Param("a839", 1)}}, - {Item("foo", Item::kTokenType), {Param("a840", 1)}}, - {Item("foo", Item::kTokenType), {Param("a841", 1)}}, - {Item("foo", Item::kTokenType), {Param("a842", 1)}}, - {Item("foo", Item::kTokenType), {Param("a843", 1)}}, - {Item("foo", Item::kTokenType), {Param("a844", 1)}}, - {Item("foo", Item::kTokenType), {Param("a845", 1)}}, - {Item("foo", Item::kTokenType), {Param("a846", 1)}}, - {Item("foo", Item::kTokenType), {Param("a847", 1)}}, - {Item("foo", Item::kTokenType), {Param("a848", 1)}}, - {Item("foo", Item::kTokenType), {Param("a849", 1)}}, - {Item("foo", Item::kTokenType), {Param("a850", 1)}}, - {Item("foo", Item::kTokenType), {Param("a851", 1)}}, - {Item("foo", Item::kTokenType), {Param("a852", 1)}}, - {Item("foo", Item::kTokenType), {Param("a853", 1)}}, - {Item("foo", Item::kTokenType), {Param("a854", 1)}}, - {Item("foo", Item::kTokenType), {Param("a855", 1)}}, - {Item("foo", Item::kTokenType), {Param("a856", 1)}}, - {Item("foo", Item::kTokenType), {Param("a857", 1)}}, - {Item("foo", Item::kTokenType), {Param("a858", 1)}}, - {Item("foo", Item::kTokenType), {Param("a859", 1)}}, - {Item("foo", Item::kTokenType), {Param("a860", 1)}}, - {Item("foo", Item::kTokenType), {Param("a861", 1)}}, - {Item("foo", Item::kTokenType), {Param("a862", 1)}}, - {Item("foo", Item::kTokenType), {Param("a863", 1)}}, - {Item("foo", Item::kTokenType), {Param("a864", 1)}}, - {Item("foo", Item::kTokenType), {Param("a865", 1)}}, - {Item("foo", Item::kTokenType), {Param("a866", 1)}}, - {Item("foo", Item::kTokenType), {Param("a867", 1)}}, - {Item("foo", Item::kTokenType), {Param("a868", 1)}}, - {Item("foo", Item::kTokenType), {Param("a869", 1)}}, - {Item("foo", Item::kTokenType), {Param("a870", 1)}}, - {Item("foo", Item::kTokenType), {Param("a871", 1)}}, - {Item("foo", Item::kTokenType), {Param("a872", 1)}}, - {Item("foo", Item::kTokenType), {Param("a873", 1)}}, - {Item("foo", Item::kTokenType), {Param("a874", 1)}}, - {Item("foo", Item::kTokenType), {Param("a875", 1)}}, - {Item("foo", Item::kTokenType), {Param("a876", 1)}}, - {Item("foo", Item::kTokenType), {Param("a877", 1)}}, - {Item("foo", Item::kTokenType), {Param("a878", 1)}}, - {Item("foo", Item::kTokenType), {Param("a879", 1)}}, - {Item("foo", Item::kTokenType), {Param("a880", 1)}}, - {Item("foo", Item::kTokenType), {Param("a881", 1)}}, - {Item("foo", Item::kTokenType), {Param("a882", 1)}}, - {Item("foo", Item::kTokenType), {Param("a883", 1)}}, - {Item("foo", Item::kTokenType), {Param("a884", 1)}}, - {Item("foo", Item::kTokenType), {Param("a885", 1)}}, - {Item("foo", Item::kTokenType), {Param("a886", 1)}}, - {Item("foo", Item::kTokenType), {Param("a887", 1)}}, - {Item("foo", Item::kTokenType), {Param("a888", 1)}}, - {Item("foo", Item::kTokenType), {Param("a889", 1)}}, - {Item("foo", Item::kTokenType), {Param("a890", 1)}}, - {Item("foo", Item::kTokenType), {Param("a891", 1)}}, - {Item("foo", Item::kTokenType), {Param("a892", 1)}}, - {Item("foo", Item::kTokenType), {Param("a893", 1)}}, - {Item("foo", Item::kTokenType), {Param("a894", 1)}}, - {Item("foo", Item::kTokenType), {Param("a895", 1)}}, - {Item("foo", Item::kTokenType), {Param("a896", 1)}}, - {Item("foo", Item::kTokenType), {Param("a897", 1)}}, - {Item("foo", Item::kTokenType), {Param("a898", 1)}}, - {Item("foo", Item::kTokenType), {Param("a899", 1)}}, - {Item("foo", Item::kTokenType), {Param("a900", 1)}}, - {Item("foo", Item::kTokenType), {Param("a901", 1)}}, - {Item("foo", Item::kTokenType), {Param("a902", 1)}}, - {Item("foo", Item::kTokenType), {Param("a903", 1)}}, - {Item("foo", Item::kTokenType), {Param("a904", 1)}}, - {Item("foo", Item::kTokenType), {Param("a905", 1)}}, - {Item("foo", Item::kTokenType), {Param("a906", 1)}}, - {Item("foo", Item::kTokenType), {Param("a907", 1)}}, - {Item("foo", Item::kTokenType), {Param("a908", 1)}}, - {Item("foo", Item::kTokenType), {Param("a909", 1)}}, - {Item("foo", Item::kTokenType), {Param("a910", 1)}}, - {Item("foo", Item::kTokenType), {Param("a911", 1)}}, - {Item("foo", Item::kTokenType), {Param("a912", 1)}}, - {Item("foo", Item::kTokenType), {Param("a913", 1)}}, - {Item("foo", Item::kTokenType), {Param("a914", 1)}}, - {Item("foo", Item::kTokenType), {Param("a915", 1)}}, - {Item("foo", Item::kTokenType), {Param("a916", 1)}}, - {Item("foo", Item::kTokenType), {Param("a917", 1)}}, - {Item("foo", Item::kTokenType), {Param("a918", 1)}}, - {Item("foo", Item::kTokenType), {Param("a919", 1)}}, - {Item("foo", Item::kTokenType), {Param("a920", 1)}}, - {Item("foo", Item::kTokenType), {Param("a921", 1)}}, - {Item("foo", Item::kTokenType), {Param("a922", 1)}}, - {Item("foo", Item::kTokenType), {Param("a923", 1)}}, - {Item("foo", Item::kTokenType), {Param("a924", 1)}}, - {Item("foo", Item::kTokenType), {Param("a925", 1)}}, - {Item("foo", Item::kTokenType), {Param("a926", 1)}}, - {Item("foo", Item::kTokenType), {Param("a927", 1)}}, - {Item("foo", Item::kTokenType), {Param("a928", 1)}}, - {Item("foo", Item::kTokenType), {Param("a929", 1)}}, - {Item("foo", Item::kTokenType), {Param("a930", 1)}}, - {Item("foo", Item::kTokenType), {Param("a931", 1)}}, - {Item("foo", Item::kTokenType), {Param("a932", 1)}}, - {Item("foo", Item::kTokenType), {Param("a933", 1)}}, - {Item("foo", Item::kTokenType), {Param("a934", 1)}}, - {Item("foo", Item::kTokenType), {Param("a935", 1)}}, - {Item("foo", Item::kTokenType), {Param("a936", 1)}}, - {Item("foo", Item::kTokenType), {Param("a937", 1)}}, - {Item("foo", Item::kTokenType), {Param("a938", 1)}}, - {Item("foo", Item::kTokenType), {Param("a939", 1)}}, - {Item("foo", Item::kTokenType), {Param("a940", 1)}}, - {Item("foo", Item::kTokenType), {Param("a941", 1)}}, - {Item("foo", Item::kTokenType), {Param("a942", 1)}}, - {Item("foo", Item::kTokenType), {Param("a943", 1)}}, - {Item("foo", Item::kTokenType), {Param("a944", 1)}}, - {Item("foo", Item::kTokenType), {Param("a945", 1)}}, - {Item("foo", Item::kTokenType), {Param("a946", 1)}}, - {Item("foo", Item::kTokenType), {Param("a947", 1)}}, - {Item("foo", Item::kTokenType), {Param("a948", 1)}}, - {Item("foo", Item::kTokenType), {Param("a949", 1)}}, - {Item("foo", Item::kTokenType), {Param("a950", 1)}}, - {Item("foo", Item::kTokenType), {Param("a951", 1)}}, - {Item("foo", Item::kTokenType), {Param("a952", 1)}}, - {Item("foo", Item::kTokenType), {Param("a953", 1)}}, - {Item("foo", Item::kTokenType), {Param("a954", 1)}}, - {Item("foo", Item::kTokenType), {Param("a955", 1)}}, - {Item("foo", Item::kTokenType), {Param("a956", 1)}}, - {Item("foo", Item::kTokenType), {Param("a957", 1)}}, - {Item("foo", Item::kTokenType), {Param("a958", 1)}}, - {Item("foo", Item::kTokenType), {Param("a959", 1)}}, - {Item("foo", Item::kTokenType), {Param("a960", 1)}}, - {Item("foo", Item::kTokenType), {Param("a961", 1)}}, - {Item("foo", Item::kTokenType), {Param("a962", 1)}}, - {Item("foo", Item::kTokenType), {Param("a963", 1)}}, - {Item("foo", Item::kTokenType), {Param("a964", 1)}}, - {Item("foo", Item::kTokenType), {Param("a965", 1)}}, - {Item("foo", Item::kTokenType), {Param("a966", 1)}}, - {Item("foo", Item::kTokenType), {Param("a967", 1)}}, - {Item("foo", Item::kTokenType), {Param("a968", 1)}}, - {Item("foo", Item::kTokenType), {Param("a969", 1)}}, - {Item("foo", Item::kTokenType), {Param("a970", 1)}}, - {Item("foo", Item::kTokenType), {Param("a971", 1)}}, - {Item("foo", Item::kTokenType), {Param("a972", 1)}}, - {Item("foo", Item::kTokenType), {Param("a973", 1)}}, - {Item("foo", Item::kTokenType), {Param("a974", 1)}}, - {Item("foo", Item::kTokenType), {Param("a975", 1)}}, - {Item("foo", Item::kTokenType), {Param("a976", 1)}}, - {Item("foo", Item::kTokenType), {Param("a977", 1)}}, - {Item("foo", Item::kTokenType), {Param("a978", 1)}}, - {Item("foo", Item::kTokenType), {Param("a979", 1)}}, - {Item("foo", Item::kTokenType), {Param("a980", 1)}}, - {Item("foo", Item::kTokenType), {Param("a981", 1)}}, - {Item("foo", Item::kTokenType), {Param("a982", 1)}}, - {Item("foo", Item::kTokenType), {Param("a983", 1)}}, - {Item("foo", Item::kTokenType), {Param("a984", 1)}}, - {Item("foo", Item::kTokenType), {Param("a985", 1)}}, - {Item("foo", Item::kTokenType), {Param("a986", 1)}}, - {Item("foo", Item::kTokenType), {Param("a987", 1)}}, - {Item("foo", Item::kTokenType), {Param("a988", 1)}}, - {Item("foo", Item::kTokenType), {Param("a989", 1)}}, - {Item("foo", Item::kTokenType), {Param("a990", 1)}}, - {Item("foo", Item::kTokenType), {Param("a991", 1)}}, - {Item("foo", Item::kTokenType), {Param("a992", 1)}}, - {Item("foo", Item::kTokenType), {Param("a993", 1)}}, - {Item("foo", Item::kTokenType), {Param("a994", 1)}}, - {Item("foo", Item::kTokenType), {Param("a995", 1)}}, - {Item("foo", Item::kTokenType), {Param("a996", 1)}}, - {Item("foo", Item::kTokenType), {Param("a997", 1)}}, - {Item("foo", Item::kTokenType), {Param("a998", 1)}}, - {Item("foo", Item::kTokenType), {Param("a999", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1000", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1001", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1002", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1003", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1004", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1005", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1006", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1007", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1008", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1009", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1010", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1011", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1012", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1013", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1014", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1015", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1016", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1017", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1018", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1019", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1020", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1021", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1022", 1)}}, - {Item("foo", Item::kTokenType), {Param("a1023", 1)}}}}, + {{{Item(Item::token, "foo"), {Param("a0", 1)}}, + {Item(Item::token, "foo"), {Param("a1", 1)}}, + {Item(Item::token, "foo"), {Param("a2", 1)}}, + {Item(Item::token, "foo"), {Param("a3", 1)}}, + {Item(Item::token, "foo"), {Param("a4", 1)}}, + {Item(Item::token, "foo"), {Param("a5", 1)}}, + {Item(Item::token, "foo"), {Param("a6", 1)}}, + {Item(Item::token, "foo"), {Param("a7", 1)}}, + {Item(Item::token, "foo"), {Param("a8", 1)}}, + {Item(Item::token, "foo"), {Param("a9", 1)}}, + {Item(Item::token, "foo"), {Param("a10", 1)}}, + {Item(Item::token, "foo"), {Param("a11", 1)}}, + {Item(Item::token, "foo"), {Param("a12", 1)}}, + {Item(Item::token, "foo"), {Param("a13", 1)}}, + {Item(Item::token, "foo"), {Param("a14", 1)}}, + {Item(Item::token, "foo"), {Param("a15", 1)}}, + {Item(Item::token, "foo"), {Param("a16", 1)}}, + {Item(Item::token, "foo"), {Param("a17", 1)}}, + {Item(Item::token, "foo"), {Param("a18", 1)}}, + {Item(Item::token, "foo"), {Param("a19", 1)}}, + {Item(Item::token, "foo"), {Param("a20", 1)}}, + {Item(Item::token, "foo"), {Param("a21", 1)}}, + {Item(Item::token, "foo"), {Param("a22", 1)}}, + {Item(Item::token, "foo"), {Param("a23", 1)}}, + {Item(Item::token, "foo"), {Param("a24", 1)}}, + {Item(Item::token, "foo"), {Param("a25", 1)}}, + {Item(Item::token, "foo"), {Param("a26", 1)}}, + {Item(Item::token, "foo"), {Param("a27", 1)}}, + {Item(Item::token, "foo"), {Param("a28", 1)}}, + {Item(Item::token, "foo"), {Param("a29", 1)}}, + {Item(Item::token, "foo"), {Param("a30", 1)}}, + {Item(Item::token, "foo"), {Param("a31", 1)}}, + {Item(Item::token, "foo"), {Param("a32", 1)}}, + {Item(Item::token, "foo"), {Param("a33", 1)}}, + {Item(Item::token, "foo"), {Param("a34", 1)}}, + {Item(Item::token, "foo"), {Param("a35", 1)}}, + {Item(Item::token, "foo"), {Param("a36", 1)}}, + {Item(Item::token, "foo"), {Param("a37", 1)}}, + {Item(Item::token, "foo"), {Param("a38", 1)}}, + {Item(Item::token, "foo"), {Param("a39", 1)}}, + {Item(Item::token, "foo"), {Param("a40", 1)}}, + {Item(Item::token, "foo"), {Param("a41", 1)}}, + {Item(Item::token, "foo"), {Param("a42", 1)}}, + {Item(Item::token, "foo"), {Param("a43", 1)}}, + {Item(Item::token, "foo"), {Param("a44", 1)}}, + {Item(Item::token, "foo"), {Param("a45", 1)}}, + {Item(Item::token, "foo"), {Param("a46", 1)}}, + {Item(Item::token, "foo"), {Param("a47", 1)}}, + {Item(Item::token, "foo"), {Param("a48", 1)}}, + {Item(Item::token, "foo"), {Param("a49", 1)}}, + {Item(Item::token, "foo"), {Param("a50", 1)}}, + {Item(Item::token, "foo"), {Param("a51", 1)}}, + {Item(Item::token, "foo"), {Param("a52", 1)}}, + {Item(Item::token, "foo"), {Param("a53", 1)}}, + {Item(Item::token, "foo"), {Param("a54", 1)}}, + {Item(Item::token, "foo"), {Param("a55", 1)}}, + {Item(Item::token, "foo"), {Param("a56", 1)}}, + {Item(Item::token, "foo"), {Param("a57", 1)}}, + {Item(Item::token, "foo"), {Param("a58", 1)}}, + {Item(Item::token, "foo"), {Param("a59", 1)}}, + {Item(Item::token, "foo"), {Param("a60", 1)}}, + {Item(Item::token, "foo"), {Param("a61", 1)}}, + {Item(Item::token, "foo"), {Param("a62", 1)}}, + {Item(Item::token, "foo"), {Param("a63", 1)}}, + {Item(Item::token, "foo"), {Param("a64", 1)}}, + {Item(Item::token, "foo"), {Param("a65", 1)}}, + {Item(Item::token, "foo"), {Param("a66", 1)}}, + {Item(Item::token, "foo"), {Param("a67", 1)}}, + {Item(Item::token, "foo"), {Param("a68", 1)}}, + {Item(Item::token, "foo"), {Param("a69", 1)}}, + {Item(Item::token, "foo"), {Param("a70", 1)}}, + {Item(Item::token, "foo"), {Param("a71", 1)}}, + {Item(Item::token, "foo"), {Param("a72", 1)}}, + {Item(Item::token, "foo"), {Param("a73", 1)}}, + {Item(Item::token, "foo"), {Param("a74", 1)}}, + {Item(Item::token, "foo"), {Param("a75", 1)}}, + {Item(Item::token, "foo"), {Param("a76", 1)}}, + {Item(Item::token, "foo"), {Param("a77", 1)}}, + {Item(Item::token, "foo"), {Param("a78", 1)}}, + {Item(Item::token, "foo"), {Param("a79", 1)}}, + {Item(Item::token, "foo"), {Param("a80", 1)}}, + {Item(Item::token, "foo"), {Param("a81", 1)}}, + {Item(Item::token, "foo"), {Param("a82", 1)}}, + {Item(Item::token, "foo"), {Param("a83", 1)}}, + {Item(Item::token, "foo"), {Param("a84", 1)}}, + {Item(Item::token, "foo"), {Param("a85", 1)}}, + {Item(Item::token, "foo"), {Param("a86", 1)}}, + {Item(Item::token, "foo"), {Param("a87", 1)}}, + {Item(Item::token, "foo"), {Param("a88", 1)}}, + {Item(Item::token, "foo"), {Param("a89", 1)}}, + {Item(Item::token, "foo"), {Param("a90", 1)}}, + {Item(Item::token, "foo"), {Param("a91", 1)}}, + {Item(Item::token, "foo"), {Param("a92", 1)}}, + {Item(Item::token, "foo"), {Param("a93", 1)}}, + {Item(Item::token, "foo"), {Param("a94", 1)}}, + {Item(Item::token, "foo"), {Param("a95", 1)}}, + {Item(Item::token, "foo"), {Param("a96", 1)}}, + {Item(Item::token, "foo"), {Param("a97", 1)}}, + {Item(Item::token, "foo"), {Param("a98", 1)}}, + {Item(Item::token, "foo"), {Param("a99", 1)}}, + {Item(Item::token, "foo"), {Param("a100", 1)}}, + {Item(Item::token, "foo"), {Param("a101", 1)}}, + {Item(Item::token, "foo"), {Param("a102", 1)}}, + {Item(Item::token, "foo"), {Param("a103", 1)}}, + {Item(Item::token, "foo"), {Param("a104", 1)}}, + {Item(Item::token, "foo"), {Param("a105", 1)}}, + {Item(Item::token, "foo"), {Param("a106", 1)}}, + {Item(Item::token, "foo"), {Param("a107", 1)}}, + {Item(Item::token, "foo"), {Param("a108", 1)}}, + {Item(Item::token, "foo"), {Param("a109", 1)}}, + {Item(Item::token, "foo"), {Param("a110", 1)}}, + {Item(Item::token, "foo"), {Param("a111", 1)}}, + {Item(Item::token, "foo"), {Param("a112", 1)}}, + {Item(Item::token, "foo"), {Param("a113", 1)}}, + {Item(Item::token, "foo"), {Param("a114", 1)}}, + {Item(Item::token, "foo"), {Param("a115", 1)}}, + {Item(Item::token, "foo"), {Param("a116", 1)}}, + {Item(Item::token, "foo"), {Param("a117", 1)}}, + {Item(Item::token, "foo"), {Param("a118", 1)}}, + {Item(Item::token, "foo"), {Param("a119", 1)}}, + {Item(Item::token, "foo"), {Param("a120", 1)}}, + {Item(Item::token, "foo"), {Param("a121", 1)}}, + {Item(Item::token, "foo"), {Param("a122", 1)}}, + {Item(Item::token, "foo"), {Param("a123", 1)}}, + {Item(Item::token, "foo"), {Param("a124", 1)}}, + {Item(Item::token, "foo"), {Param("a125", 1)}}, + {Item(Item::token, "foo"), {Param("a126", 1)}}, + {Item(Item::token, "foo"), {Param("a127", 1)}}, + {Item(Item::token, "foo"), {Param("a128", 1)}}, + {Item(Item::token, "foo"), {Param("a129", 1)}}, + {Item(Item::token, "foo"), {Param("a130", 1)}}, + {Item(Item::token, "foo"), {Param("a131", 1)}}, + {Item(Item::token, "foo"), {Param("a132", 1)}}, + {Item(Item::token, "foo"), {Param("a133", 1)}}, + {Item(Item::token, "foo"), {Param("a134", 1)}}, + {Item(Item::token, "foo"), {Param("a135", 1)}}, + {Item(Item::token, "foo"), {Param("a136", 1)}}, + {Item(Item::token, "foo"), {Param("a137", 1)}}, + {Item(Item::token, "foo"), {Param("a138", 1)}}, + {Item(Item::token, "foo"), {Param("a139", 1)}}, + {Item(Item::token, "foo"), {Param("a140", 1)}}, + {Item(Item::token, "foo"), {Param("a141", 1)}}, + {Item(Item::token, "foo"), {Param("a142", 1)}}, + {Item(Item::token, "foo"), {Param("a143", 1)}}, + {Item(Item::token, "foo"), {Param("a144", 1)}}, + {Item(Item::token, "foo"), {Param("a145", 1)}}, + {Item(Item::token, "foo"), {Param("a146", 1)}}, + {Item(Item::token, "foo"), {Param("a147", 1)}}, + {Item(Item::token, "foo"), {Param("a148", 1)}}, + {Item(Item::token, "foo"), {Param("a149", 1)}}, + {Item(Item::token, "foo"), {Param("a150", 1)}}, + {Item(Item::token, "foo"), {Param("a151", 1)}}, + {Item(Item::token, "foo"), {Param("a152", 1)}}, + {Item(Item::token, "foo"), {Param("a153", 1)}}, + {Item(Item::token, "foo"), {Param("a154", 1)}}, + {Item(Item::token, "foo"), {Param("a155", 1)}}, + {Item(Item::token, "foo"), {Param("a156", 1)}}, + {Item(Item::token, "foo"), {Param("a157", 1)}}, + {Item(Item::token, "foo"), {Param("a158", 1)}}, + {Item(Item::token, "foo"), {Param("a159", 1)}}, + {Item(Item::token, "foo"), {Param("a160", 1)}}, + {Item(Item::token, "foo"), {Param("a161", 1)}}, + {Item(Item::token, "foo"), {Param("a162", 1)}}, + {Item(Item::token, "foo"), {Param("a163", 1)}}, + {Item(Item::token, "foo"), {Param("a164", 1)}}, + {Item(Item::token, "foo"), {Param("a165", 1)}}, + {Item(Item::token, "foo"), {Param("a166", 1)}}, + {Item(Item::token, "foo"), {Param("a167", 1)}}, + {Item(Item::token, "foo"), {Param("a168", 1)}}, + {Item(Item::token, "foo"), {Param("a169", 1)}}, + {Item(Item::token, "foo"), {Param("a170", 1)}}, + {Item(Item::token, "foo"), {Param("a171", 1)}}, + {Item(Item::token, "foo"), {Param("a172", 1)}}, + {Item(Item::token, "foo"), {Param("a173", 1)}}, + {Item(Item::token, "foo"), {Param("a174", 1)}}, + {Item(Item::token, "foo"), {Param("a175", 1)}}, + {Item(Item::token, "foo"), {Param("a176", 1)}}, + {Item(Item::token, "foo"), {Param("a177", 1)}}, + {Item(Item::token, "foo"), {Param("a178", 1)}}, + {Item(Item::token, "foo"), {Param("a179", 1)}}, + {Item(Item::token, "foo"), {Param("a180", 1)}}, + {Item(Item::token, "foo"), {Param("a181", 1)}}, + {Item(Item::token, "foo"), {Param("a182", 1)}}, + {Item(Item::token, "foo"), {Param("a183", 1)}}, + {Item(Item::token, "foo"), {Param("a184", 1)}}, + {Item(Item::token, "foo"), {Param("a185", 1)}}, + {Item(Item::token, "foo"), {Param("a186", 1)}}, + {Item(Item::token, "foo"), {Param("a187", 1)}}, + {Item(Item::token, "foo"), {Param("a188", 1)}}, + {Item(Item::token, "foo"), {Param("a189", 1)}}, + {Item(Item::token, "foo"), {Param("a190", 1)}}, + {Item(Item::token, "foo"), {Param("a191", 1)}}, + {Item(Item::token, "foo"), {Param("a192", 1)}}, + {Item(Item::token, "foo"), {Param("a193", 1)}}, + {Item(Item::token, "foo"), {Param("a194", 1)}}, + {Item(Item::token, "foo"), {Param("a195", 1)}}, + {Item(Item::token, "foo"), {Param("a196", 1)}}, + {Item(Item::token, "foo"), {Param("a197", 1)}}, + {Item(Item::token, "foo"), {Param("a198", 1)}}, + {Item(Item::token, "foo"), {Param("a199", 1)}}, + {Item(Item::token, "foo"), {Param("a200", 1)}}, + {Item(Item::token, "foo"), {Param("a201", 1)}}, + {Item(Item::token, "foo"), {Param("a202", 1)}}, + {Item(Item::token, "foo"), {Param("a203", 1)}}, + {Item(Item::token, "foo"), {Param("a204", 1)}}, + {Item(Item::token, "foo"), {Param("a205", 1)}}, + {Item(Item::token, "foo"), {Param("a206", 1)}}, + {Item(Item::token, "foo"), {Param("a207", 1)}}, + {Item(Item::token, "foo"), {Param("a208", 1)}}, + {Item(Item::token, "foo"), {Param("a209", 1)}}, + {Item(Item::token, "foo"), {Param("a210", 1)}}, + {Item(Item::token, "foo"), {Param("a211", 1)}}, + {Item(Item::token, "foo"), {Param("a212", 1)}}, + {Item(Item::token, "foo"), {Param("a213", 1)}}, + {Item(Item::token, "foo"), {Param("a214", 1)}}, + {Item(Item::token, "foo"), {Param("a215", 1)}}, + {Item(Item::token, "foo"), {Param("a216", 1)}}, + {Item(Item::token, "foo"), {Param("a217", 1)}}, + {Item(Item::token, "foo"), {Param("a218", 1)}}, + {Item(Item::token, "foo"), {Param("a219", 1)}}, + {Item(Item::token, "foo"), {Param("a220", 1)}}, + {Item(Item::token, "foo"), {Param("a221", 1)}}, + {Item(Item::token, "foo"), {Param("a222", 1)}}, + {Item(Item::token, "foo"), {Param("a223", 1)}}, + {Item(Item::token, "foo"), {Param("a224", 1)}}, + {Item(Item::token, "foo"), {Param("a225", 1)}}, + {Item(Item::token, "foo"), {Param("a226", 1)}}, + {Item(Item::token, "foo"), {Param("a227", 1)}}, + {Item(Item::token, "foo"), {Param("a228", 1)}}, + {Item(Item::token, "foo"), {Param("a229", 1)}}, + {Item(Item::token, "foo"), {Param("a230", 1)}}, + {Item(Item::token, "foo"), {Param("a231", 1)}}, + {Item(Item::token, "foo"), {Param("a232", 1)}}, + {Item(Item::token, "foo"), {Param("a233", 1)}}, + {Item(Item::token, "foo"), {Param("a234", 1)}}, + {Item(Item::token, "foo"), {Param("a235", 1)}}, + {Item(Item::token, "foo"), {Param("a236", 1)}}, + {Item(Item::token, "foo"), {Param("a237", 1)}}, + {Item(Item::token, "foo"), {Param("a238", 1)}}, + {Item(Item::token, "foo"), {Param("a239", 1)}}, + {Item(Item::token, "foo"), {Param("a240", 1)}}, + {Item(Item::token, "foo"), {Param("a241", 1)}}, + {Item(Item::token, "foo"), {Param("a242", 1)}}, + {Item(Item::token, "foo"), {Param("a243", 1)}}, + {Item(Item::token, "foo"), {Param("a244", 1)}}, + {Item(Item::token, "foo"), {Param("a245", 1)}}, + {Item(Item::token, "foo"), {Param("a246", 1)}}, + {Item(Item::token, "foo"), {Param("a247", 1)}}, + {Item(Item::token, "foo"), {Param("a248", 1)}}, + {Item(Item::token, "foo"), {Param("a249", 1)}}, + {Item(Item::token, "foo"), {Param("a250", 1)}}, + {Item(Item::token, "foo"), {Param("a251", 1)}}, + {Item(Item::token, "foo"), {Param("a252", 1)}}, + {Item(Item::token, "foo"), {Param("a253", 1)}}, + {Item(Item::token, "foo"), {Param("a254", 1)}}, + {Item(Item::token, "foo"), {Param("a255", 1)}}, + {Item(Item::token, "foo"), {Param("a256", 1)}}, + {Item(Item::token, "foo"), {Param("a257", 1)}}, + {Item(Item::token, "foo"), {Param("a258", 1)}}, + {Item(Item::token, "foo"), {Param("a259", 1)}}, + {Item(Item::token, "foo"), {Param("a260", 1)}}, + {Item(Item::token, "foo"), {Param("a261", 1)}}, + {Item(Item::token, "foo"), {Param("a262", 1)}}, + {Item(Item::token, "foo"), {Param("a263", 1)}}, + {Item(Item::token, "foo"), {Param("a264", 1)}}, + {Item(Item::token, "foo"), {Param("a265", 1)}}, + {Item(Item::token, "foo"), {Param("a266", 1)}}, + {Item(Item::token, "foo"), {Param("a267", 1)}}, + {Item(Item::token, "foo"), {Param("a268", 1)}}, + {Item(Item::token, "foo"), {Param("a269", 1)}}, + {Item(Item::token, "foo"), {Param("a270", 1)}}, + {Item(Item::token, "foo"), {Param("a271", 1)}}, + {Item(Item::token, "foo"), {Param("a272", 1)}}, + {Item(Item::token, "foo"), {Param("a273", 1)}}, + {Item(Item::token, "foo"), {Param("a274", 1)}}, + {Item(Item::token, "foo"), {Param("a275", 1)}}, + {Item(Item::token, "foo"), {Param("a276", 1)}}, + {Item(Item::token, "foo"), {Param("a277", 1)}}, + {Item(Item::token, "foo"), {Param("a278", 1)}}, + {Item(Item::token, "foo"), {Param("a279", 1)}}, + {Item(Item::token, "foo"), {Param("a280", 1)}}, + {Item(Item::token, "foo"), {Param("a281", 1)}}, + {Item(Item::token, "foo"), {Param("a282", 1)}}, + {Item(Item::token, "foo"), {Param("a283", 1)}}, + {Item(Item::token, "foo"), {Param("a284", 1)}}, + {Item(Item::token, "foo"), {Param("a285", 1)}}, + {Item(Item::token, "foo"), {Param("a286", 1)}}, + {Item(Item::token, "foo"), {Param("a287", 1)}}, + {Item(Item::token, "foo"), {Param("a288", 1)}}, + {Item(Item::token, "foo"), {Param("a289", 1)}}, + {Item(Item::token, "foo"), {Param("a290", 1)}}, + {Item(Item::token, "foo"), {Param("a291", 1)}}, + {Item(Item::token, "foo"), {Param("a292", 1)}}, + {Item(Item::token, "foo"), {Param("a293", 1)}}, + {Item(Item::token, "foo"), {Param("a294", 1)}}, + {Item(Item::token, "foo"), {Param("a295", 1)}}, + {Item(Item::token, "foo"), {Param("a296", 1)}}, + {Item(Item::token, "foo"), {Param("a297", 1)}}, + {Item(Item::token, "foo"), {Param("a298", 1)}}, + {Item(Item::token, "foo"), {Param("a299", 1)}}, + {Item(Item::token, "foo"), {Param("a300", 1)}}, + {Item(Item::token, "foo"), {Param("a301", 1)}}, + {Item(Item::token, "foo"), {Param("a302", 1)}}, + {Item(Item::token, "foo"), {Param("a303", 1)}}, + {Item(Item::token, "foo"), {Param("a304", 1)}}, + {Item(Item::token, "foo"), {Param("a305", 1)}}, + {Item(Item::token, "foo"), {Param("a306", 1)}}, + {Item(Item::token, "foo"), {Param("a307", 1)}}, + {Item(Item::token, "foo"), {Param("a308", 1)}}, + {Item(Item::token, "foo"), {Param("a309", 1)}}, + {Item(Item::token, "foo"), {Param("a310", 1)}}, + {Item(Item::token, "foo"), {Param("a311", 1)}}, + {Item(Item::token, "foo"), {Param("a312", 1)}}, + {Item(Item::token, "foo"), {Param("a313", 1)}}, + {Item(Item::token, "foo"), {Param("a314", 1)}}, + {Item(Item::token, "foo"), {Param("a315", 1)}}, + {Item(Item::token, "foo"), {Param("a316", 1)}}, + {Item(Item::token, "foo"), {Param("a317", 1)}}, + {Item(Item::token, "foo"), {Param("a318", 1)}}, + {Item(Item::token, "foo"), {Param("a319", 1)}}, + {Item(Item::token, "foo"), {Param("a320", 1)}}, + {Item(Item::token, "foo"), {Param("a321", 1)}}, + {Item(Item::token, "foo"), {Param("a322", 1)}}, + {Item(Item::token, "foo"), {Param("a323", 1)}}, + {Item(Item::token, "foo"), {Param("a324", 1)}}, + {Item(Item::token, "foo"), {Param("a325", 1)}}, + {Item(Item::token, "foo"), {Param("a326", 1)}}, + {Item(Item::token, "foo"), {Param("a327", 1)}}, + {Item(Item::token, "foo"), {Param("a328", 1)}}, + {Item(Item::token, "foo"), {Param("a329", 1)}}, + {Item(Item::token, "foo"), {Param("a330", 1)}}, + {Item(Item::token, "foo"), {Param("a331", 1)}}, + {Item(Item::token, "foo"), {Param("a332", 1)}}, + {Item(Item::token, "foo"), {Param("a333", 1)}}, + {Item(Item::token, "foo"), {Param("a334", 1)}}, + {Item(Item::token, "foo"), {Param("a335", 1)}}, + {Item(Item::token, "foo"), {Param("a336", 1)}}, + {Item(Item::token, "foo"), {Param("a337", 1)}}, + {Item(Item::token, "foo"), {Param("a338", 1)}}, + {Item(Item::token, "foo"), {Param("a339", 1)}}, + {Item(Item::token, "foo"), {Param("a340", 1)}}, + {Item(Item::token, "foo"), {Param("a341", 1)}}, + {Item(Item::token, "foo"), {Param("a342", 1)}}, + {Item(Item::token, "foo"), {Param("a343", 1)}}, + {Item(Item::token, "foo"), {Param("a344", 1)}}, + {Item(Item::token, "foo"), {Param("a345", 1)}}, + {Item(Item::token, "foo"), {Param("a346", 1)}}, + {Item(Item::token, "foo"), {Param("a347", 1)}}, + {Item(Item::token, "foo"), {Param("a348", 1)}}, + {Item(Item::token, "foo"), {Param("a349", 1)}}, + {Item(Item::token, "foo"), {Param("a350", 1)}}, + {Item(Item::token, "foo"), {Param("a351", 1)}}, + {Item(Item::token, "foo"), {Param("a352", 1)}}, + {Item(Item::token, "foo"), {Param("a353", 1)}}, + {Item(Item::token, "foo"), {Param("a354", 1)}}, + {Item(Item::token, "foo"), {Param("a355", 1)}}, + {Item(Item::token, "foo"), {Param("a356", 1)}}, + {Item(Item::token, "foo"), {Param("a357", 1)}}, + {Item(Item::token, "foo"), {Param("a358", 1)}}, + {Item(Item::token, "foo"), {Param("a359", 1)}}, + {Item(Item::token, "foo"), {Param("a360", 1)}}, + {Item(Item::token, "foo"), {Param("a361", 1)}}, + {Item(Item::token, "foo"), {Param("a362", 1)}}, + {Item(Item::token, "foo"), {Param("a363", 1)}}, + {Item(Item::token, "foo"), {Param("a364", 1)}}, + {Item(Item::token, "foo"), {Param("a365", 1)}}, + {Item(Item::token, "foo"), {Param("a366", 1)}}, + {Item(Item::token, "foo"), {Param("a367", 1)}}, + {Item(Item::token, "foo"), {Param("a368", 1)}}, + {Item(Item::token, "foo"), {Param("a369", 1)}}, + {Item(Item::token, "foo"), {Param("a370", 1)}}, + {Item(Item::token, "foo"), {Param("a371", 1)}}, + {Item(Item::token, "foo"), {Param("a372", 1)}}, + {Item(Item::token, "foo"), {Param("a373", 1)}}, + {Item(Item::token, "foo"), {Param("a374", 1)}}, + {Item(Item::token, "foo"), {Param("a375", 1)}}, + {Item(Item::token, "foo"), {Param("a376", 1)}}, + {Item(Item::token, "foo"), {Param("a377", 1)}}, + {Item(Item::token, "foo"), {Param("a378", 1)}}, + {Item(Item::token, "foo"), {Param("a379", 1)}}, + {Item(Item::token, "foo"), {Param("a380", 1)}}, + {Item(Item::token, "foo"), {Param("a381", 1)}}, + {Item(Item::token, "foo"), {Param("a382", 1)}}, + {Item(Item::token, "foo"), {Param("a383", 1)}}, + {Item(Item::token, "foo"), {Param("a384", 1)}}, + {Item(Item::token, "foo"), {Param("a385", 1)}}, + {Item(Item::token, "foo"), {Param("a386", 1)}}, + {Item(Item::token, "foo"), {Param("a387", 1)}}, + {Item(Item::token, "foo"), {Param("a388", 1)}}, + {Item(Item::token, "foo"), {Param("a389", 1)}}, + {Item(Item::token, "foo"), {Param("a390", 1)}}, + {Item(Item::token, "foo"), {Param("a391", 1)}}, + {Item(Item::token, "foo"), {Param("a392", 1)}}, + {Item(Item::token, "foo"), {Param("a393", 1)}}, + {Item(Item::token, "foo"), {Param("a394", 1)}}, + {Item(Item::token, "foo"), {Param("a395", 1)}}, + {Item(Item::token, "foo"), {Param("a396", 1)}}, + {Item(Item::token, "foo"), {Param("a397", 1)}}, + {Item(Item::token, "foo"), {Param("a398", 1)}}, + {Item(Item::token, "foo"), {Param("a399", 1)}}, + {Item(Item::token, "foo"), {Param("a400", 1)}}, + {Item(Item::token, "foo"), {Param("a401", 1)}}, + {Item(Item::token, "foo"), {Param("a402", 1)}}, + {Item(Item::token, "foo"), {Param("a403", 1)}}, + {Item(Item::token, "foo"), {Param("a404", 1)}}, + {Item(Item::token, "foo"), {Param("a405", 1)}}, + {Item(Item::token, "foo"), {Param("a406", 1)}}, + {Item(Item::token, "foo"), {Param("a407", 1)}}, + {Item(Item::token, "foo"), {Param("a408", 1)}}, + {Item(Item::token, "foo"), {Param("a409", 1)}}, + {Item(Item::token, "foo"), {Param("a410", 1)}}, + {Item(Item::token, "foo"), {Param("a411", 1)}}, + {Item(Item::token, "foo"), {Param("a412", 1)}}, + {Item(Item::token, "foo"), {Param("a413", 1)}}, + {Item(Item::token, "foo"), {Param("a414", 1)}}, + {Item(Item::token, "foo"), {Param("a415", 1)}}, + {Item(Item::token, "foo"), {Param("a416", 1)}}, + {Item(Item::token, "foo"), {Param("a417", 1)}}, + {Item(Item::token, "foo"), {Param("a418", 1)}}, + {Item(Item::token, "foo"), {Param("a419", 1)}}, + {Item(Item::token, "foo"), {Param("a420", 1)}}, + {Item(Item::token, "foo"), {Param("a421", 1)}}, + {Item(Item::token, "foo"), {Param("a422", 1)}}, + {Item(Item::token, "foo"), {Param("a423", 1)}}, + {Item(Item::token, "foo"), {Param("a424", 1)}}, + {Item(Item::token, "foo"), {Param("a425", 1)}}, + {Item(Item::token, "foo"), {Param("a426", 1)}}, + {Item(Item::token, "foo"), {Param("a427", 1)}}, + {Item(Item::token, "foo"), {Param("a428", 1)}}, + {Item(Item::token, "foo"), {Param("a429", 1)}}, + {Item(Item::token, "foo"), {Param("a430", 1)}}, + {Item(Item::token, "foo"), {Param("a431", 1)}}, + {Item(Item::token, "foo"), {Param("a432", 1)}}, + {Item(Item::token, "foo"), {Param("a433", 1)}}, + {Item(Item::token, "foo"), {Param("a434", 1)}}, + {Item(Item::token, "foo"), {Param("a435", 1)}}, + {Item(Item::token, "foo"), {Param("a436", 1)}}, + {Item(Item::token, "foo"), {Param("a437", 1)}}, + {Item(Item::token, "foo"), {Param("a438", 1)}}, + {Item(Item::token, "foo"), {Param("a439", 1)}}, + {Item(Item::token, "foo"), {Param("a440", 1)}}, + {Item(Item::token, "foo"), {Param("a441", 1)}}, + {Item(Item::token, "foo"), {Param("a442", 1)}}, + {Item(Item::token, "foo"), {Param("a443", 1)}}, + {Item(Item::token, "foo"), {Param("a444", 1)}}, + {Item(Item::token, "foo"), {Param("a445", 1)}}, + {Item(Item::token, "foo"), {Param("a446", 1)}}, + {Item(Item::token, "foo"), {Param("a447", 1)}}, + {Item(Item::token, "foo"), {Param("a448", 1)}}, + {Item(Item::token, "foo"), {Param("a449", 1)}}, + {Item(Item::token, "foo"), {Param("a450", 1)}}, + {Item(Item::token, "foo"), {Param("a451", 1)}}, + {Item(Item::token, "foo"), {Param("a452", 1)}}, + {Item(Item::token, "foo"), {Param("a453", 1)}}, + {Item(Item::token, "foo"), {Param("a454", 1)}}, + {Item(Item::token, "foo"), {Param("a455", 1)}}, + {Item(Item::token, "foo"), {Param("a456", 1)}}, + {Item(Item::token, "foo"), {Param("a457", 1)}}, + {Item(Item::token, "foo"), {Param("a458", 1)}}, + {Item(Item::token, "foo"), {Param("a459", 1)}}, + {Item(Item::token, "foo"), {Param("a460", 1)}}, + {Item(Item::token, "foo"), {Param("a461", 1)}}, + {Item(Item::token, "foo"), {Param("a462", 1)}}, + {Item(Item::token, "foo"), {Param("a463", 1)}}, + {Item(Item::token, "foo"), {Param("a464", 1)}}, + {Item(Item::token, "foo"), {Param("a465", 1)}}, + {Item(Item::token, "foo"), {Param("a466", 1)}}, + {Item(Item::token, "foo"), {Param("a467", 1)}}, + {Item(Item::token, "foo"), {Param("a468", 1)}}, + {Item(Item::token, "foo"), {Param("a469", 1)}}, + {Item(Item::token, "foo"), {Param("a470", 1)}}, + {Item(Item::token, "foo"), {Param("a471", 1)}}, + {Item(Item::token, "foo"), {Param("a472", 1)}}, + {Item(Item::token, "foo"), {Param("a473", 1)}}, + {Item(Item::token, "foo"), {Param("a474", 1)}}, + {Item(Item::token, "foo"), {Param("a475", 1)}}, + {Item(Item::token, "foo"), {Param("a476", 1)}}, + {Item(Item::token, "foo"), {Param("a477", 1)}}, + {Item(Item::token, "foo"), {Param("a478", 1)}}, + {Item(Item::token, "foo"), {Param("a479", 1)}}, + {Item(Item::token, "foo"), {Param("a480", 1)}}, + {Item(Item::token, "foo"), {Param("a481", 1)}}, + {Item(Item::token, "foo"), {Param("a482", 1)}}, + {Item(Item::token, "foo"), {Param("a483", 1)}}, + {Item(Item::token, "foo"), {Param("a484", 1)}}, + {Item(Item::token, "foo"), {Param("a485", 1)}}, + {Item(Item::token, "foo"), {Param("a486", 1)}}, + {Item(Item::token, "foo"), {Param("a487", 1)}}, + {Item(Item::token, "foo"), {Param("a488", 1)}}, + {Item(Item::token, "foo"), {Param("a489", 1)}}, + {Item(Item::token, "foo"), {Param("a490", 1)}}, + {Item(Item::token, "foo"), {Param("a491", 1)}}, + {Item(Item::token, "foo"), {Param("a492", 1)}}, + {Item(Item::token, "foo"), {Param("a493", 1)}}, + {Item(Item::token, "foo"), {Param("a494", 1)}}, + {Item(Item::token, "foo"), {Param("a495", 1)}}, + {Item(Item::token, "foo"), {Param("a496", 1)}}, + {Item(Item::token, "foo"), {Param("a497", 1)}}, + {Item(Item::token, "foo"), {Param("a498", 1)}}, + {Item(Item::token, "foo"), {Param("a499", 1)}}, + {Item(Item::token, "foo"), {Param("a500", 1)}}, + {Item(Item::token, "foo"), {Param("a501", 1)}}, + {Item(Item::token, "foo"), {Param("a502", 1)}}, + {Item(Item::token, "foo"), {Param("a503", 1)}}, + {Item(Item::token, "foo"), {Param("a504", 1)}}, + {Item(Item::token, "foo"), {Param("a505", 1)}}, + {Item(Item::token, "foo"), {Param("a506", 1)}}, + {Item(Item::token, "foo"), {Param("a507", 1)}}, + {Item(Item::token, "foo"), {Param("a508", 1)}}, + {Item(Item::token, "foo"), {Param("a509", 1)}}, + {Item(Item::token, "foo"), {Param("a510", 1)}}, + {Item(Item::token, "foo"), {Param("a511", 1)}}, + {Item(Item::token, "foo"), {Param("a512", 1)}}, + {Item(Item::token, "foo"), {Param("a513", 1)}}, + {Item(Item::token, "foo"), {Param("a514", 1)}}, + {Item(Item::token, "foo"), {Param("a515", 1)}}, + {Item(Item::token, "foo"), {Param("a516", 1)}}, + {Item(Item::token, "foo"), {Param("a517", 1)}}, + {Item(Item::token, "foo"), {Param("a518", 1)}}, + {Item(Item::token, "foo"), {Param("a519", 1)}}, + {Item(Item::token, "foo"), {Param("a520", 1)}}, + {Item(Item::token, "foo"), {Param("a521", 1)}}, + {Item(Item::token, "foo"), {Param("a522", 1)}}, + {Item(Item::token, "foo"), {Param("a523", 1)}}, + {Item(Item::token, "foo"), {Param("a524", 1)}}, + {Item(Item::token, "foo"), {Param("a525", 1)}}, + {Item(Item::token, "foo"), {Param("a526", 1)}}, + {Item(Item::token, "foo"), {Param("a527", 1)}}, + {Item(Item::token, "foo"), {Param("a528", 1)}}, + {Item(Item::token, "foo"), {Param("a529", 1)}}, + {Item(Item::token, "foo"), {Param("a530", 1)}}, + {Item(Item::token, "foo"), {Param("a531", 1)}}, + {Item(Item::token, "foo"), {Param("a532", 1)}}, + {Item(Item::token, "foo"), {Param("a533", 1)}}, + {Item(Item::token, "foo"), {Param("a534", 1)}}, + {Item(Item::token, "foo"), {Param("a535", 1)}}, + {Item(Item::token, "foo"), {Param("a536", 1)}}, + {Item(Item::token, "foo"), {Param("a537", 1)}}, + {Item(Item::token, "foo"), {Param("a538", 1)}}, + {Item(Item::token, "foo"), {Param("a539", 1)}}, + {Item(Item::token, "foo"), {Param("a540", 1)}}, + {Item(Item::token, "foo"), {Param("a541", 1)}}, + {Item(Item::token, "foo"), {Param("a542", 1)}}, + {Item(Item::token, "foo"), {Param("a543", 1)}}, + {Item(Item::token, "foo"), {Param("a544", 1)}}, + {Item(Item::token, "foo"), {Param("a545", 1)}}, + {Item(Item::token, "foo"), {Param("a546", 1)}}, + {Item(Item::token, "foo"), {Param("a547", 1)}}, + {Item(Item::token, "foo"), {Param("a548", 1)}}, + {Item(Item::token, "foo"), {Param("a549", 1)}}, + {Item(Item::token, "foo"), {Param("a550", 1)}}, + {Item(Item::token, "foo"), {Param("a551", 1)}}, + {Item(Item::token, "foo"), {Param("a552", 1)}}, + {Item(Item::token, "foo"), {Param("a553", 1)}}, + {Item(Item::token, "foo"), {Param("a554", 1)}}, + {Item(Item::token, "foo"), {Param("a555", 1)}}, + {Item(Item::token, "foo"), {Param("a556", 1)}}, + {Item(Item::token, "foo"), {Param("a557", 1)}}, + {Item(Item::token, "foo"), {Param("a558", 1)}}, + {Item(Item::token, "foo"), {Param("a559", 1)}}, + {Item(Item::token, "foo"), {Param("a560", 1)}}, + {Item(Item::token, "foo"), {Param("a561", 1)}}, + {Item(Item::token, "foo"), {Param("a562", 1)}}, + {Item(Item::token, "foo"), {Param("a563", 1)}}, + {Item(Item::token, "foo"), {Param("a564", 1)}}, + {Item(Item::token, "foo"), {Param("a565", 1)}}, + {Item(Item::token, "foo"), {Param("a566", 1)}}, + {Item(Item::token, "foo"), {Param("a567", 1)}}, + {Item(Item::token, "foo"), {Param("a568", 1)}}, + {Item(Item::token, "foo"), {Param("a569", 1)}}, + {Item(Item::token, "foo"), {Param("a570", 1)}}, + {Item(Item::token, "foo"), {Param("a571", 1)}}, + {Item(Item::token, "foo"), {Param("a572", 1)}}, + {Item(Item::token, "foo"), {Param("a573", 1)}}, + {Item(Item::token, "foo"), {Param("a574", 1)}}, + {Item(Item::token, "foo"), {Param("a575", 1)}}, + {Item(Item::token, "foo"), {Param("a576", 1)}}, + {Item(Item::token, "foo"), {Param("a577", 1)}}, + {Item(Item::token, "foo"), {Param("a578", 1)}}, + {Item(Item::token, "foo"), {Param("a579", 1)}}, + {Item(Item::token, "foo"), {Param("a580", 1)}}, + {Item(Item::token, "foo"), {Param("a581", 1)}}, + {Item(Item::token, "foo"), {Param("a582", 1)}}, + {Item(Item::token, "foo"), {Param("a583", 1)}}, + {Item(Item::token, "foo"), {Param("a584", 1)}}, + {Item(Item::token, "foo"), {Param("a585", 1)}}, + {Item(Item::token, "foo"), {Param("a586", 1)}}, + {Item(Item::token, "foo"), {Param("a587", 1)}}, + {Item(Item::token, "foo"), {Param("a588", 1)}}, + {Item(Item::token, "foo"), {Param("a589", 1)}}, + {Item(Item::token, "foo"), {Param("a590", 1)}}, + {Item(Item::token, "foo"), {Param("a591", 1)}}, + {Item(Item::token, "foo"), {Param("a592", 1)}}, + {Item(Item::token, "foo"), {Param("a593", 1)}}, + {Item(Item::token, "foo"), {Param("a594", 1)}}, + {Item(Item::token, "foo"), {Param("a595", 1)}}, + {Item(Item::token, "foo"), {Param("a596", 1)}}, + {Item(Item::token, "foo"), {Param("a597", 1)}}, + {Item(Item::token, "foo"), {Param("a598", 1)}}, + {Item(Item::token, "foo"), {Param("a599", 1)}}, + {Item(Item::token, "foo"), {Param("a600", 1)}}, + {Item(Item::token, "foo"), {Param("a601", 1)}}, + {Item(Item::token, "foo"), {Param("a602", 1)}}, + {Item(Item::token, "foo"), {Param("a603", 1)}}, + {Item(Item::token, "foo"), {Param("a604", 1)}}, + {Item(Item::token, "foo"), {Param("a605", 1)}}, + {Item(Item::token, "foo"), {Param("a606", 1)}}, + {Item(Item::token, "foo"), {Param("a607", 1)}}, + {Item(Item::token, "foo"), {Param("a608", 1)}}, + {Item(Item::token, "foo"), {Param("a609", 1)}}, + {Item(Item::token, "foo"), {Param("a610", 1)}}, + {Item(Item::token, "foo"), {Param("a611", 1)}}, + {Item(Item::token, "foo"), {Param("a612", 1)}}, + {Item(Item::token, "foo"), {Param("a613", 1)}}, + {Item(Item::token, "foo"), {Param("a614", 1)}}, + {Item(Item::token, "foo"), {Param("a615", 1)}}, + {Item(Item::token, "foo"), {Param("a616", 1)}}, + {Item(Item::token, "foo"), {Param("a617", 1)}}, + {Item(Item::token, "foo"), {Param("a618", 1)}}, + {Item(Item::token, "foo"), {Param("a619", 1)}}, + {Item(Item::token, "foo"), {Param("a620", 1)}}, + {Item(Item::token, "foo"), {Param("a621", 1)}}, + {Item(Item::token, "foo"), {Param("a622", 1)}}, + {Item(Item::token, "foo"), {Param("a623", 1)}}, + {Item(Item::token, "foo"), {Param("a624", 1)}}, + {Item(Item::token, "foo"), {Param("a625", 1)}}, + {Item(Item::token, "foo"), {Param("a626", 1)}}, + {Item(Item::token, "foo"), {Param("a627", 1)}}, + {Item(Item::token, "foo"), {Param("a628", 1)}}, + {Item(Item::token, "foo"), {Param("a629", 1)}}, + {Item(Item::token, "foo"), {Param("a630", 1)}}, + {Item(Item::token, "foo"), {Param("a631", 1)}}, + {Item(Item::token, "foo"), {Param("a632", 1)}}, + {Item(Item::token, "foo"), {Param("a633", 1)}}, + {Item(Item::token, "foo"), {Param("a634", 1)}}, + {Item(Item::token, "foo"), {Param("a635", 1)}}, + {Item(Item::token, "foo"), {Param("a636", 1)}}, + {Item(Item::token, "foo"), {Param("a637", 1)}}, + {Item(Item::token, "foo"), {Param("a638", 1)}}, + {Item(Item::token, "foo"), {Param("a639", 1)}}, + {Item(Item::token, "foo"), {Param("a640", 1)}}, + {Item(Item::token, "foo"), {Param("a641", 1)}}, + {Item(Item::token, "foo"), {Param("a642", 1)}}, + {Item(Item::token, "foo"), {Param("a643", 1)}}, + {Item(Item::token, "foo"), {Param("a644", 1)}}, + {Item(Item::token, "foo"), {Param("a645", 1)}}, + {Item(Item::token, "foo"), {Param("a646", 1)}}, + {Item(Item::token, "foo"), {Param("a647", 1)}}, + {Item(Item::token, "foo"), {Param("a648", 1)}}, + {Item(Item::token, "foo"), {Param("a649", 1)}}, + {Item(Item::token, "foo"), {Param("a650", 1)}}, + {Item(Item::token, "foo"), {Param("a651", 1)}}, + {Item(Item::token, "foo"), {Param("a652", 1)}}, + {Item(Item::token, "foo"), {Param("a653", 1)}}, + {Item(Item::token, "foo"), {Param("a654", 1)}}, + {Item(Item::token, "foo"), {Param("a655", 1)}}, + {Item(Item::token, "foo"), {Param("a656", 1)}}, + {Item(Item::token, "foo"), {Param("a657", 1)}}, + {Item(Item::token, "foo"), {Param("a658", 1)}}, + {Item(Item::token, "foo"), {Param("a659", 1)}}, + {Item(Item::token, "foo"), {Param("a660", 1)}}, + {Item(Item::token, "foo"), {Param("a661", 1)}}, + {Item(Item::token, "foo"), {Param("a662", 1)}}, + {Item(Item::token, "foo"), {Param("a663", 1)}}, + {Item(Item::token, "foo"), {Param("a664", 1)}}, + {Item(Item::token, "foo"), {Param("a665", 1)}}, + {Item(Item::token, "foo"), {Param("a666", 1)}}, + {Item(Item::token, "foo"), {Param("a667", 1)}}, + {Item(Item::token, "foo"), {Param("a668", 1)}}, + {Item(Item::token, "foo"), {Param("a669", 1)}}, + {Item(Item::token, "foo"), {Param("a670", 1)}}, + {Item(Item::token, "foo"), {Param("a671", 1)}}, + {Item(Item::token, "foo"), {Param("a672", 1)}}, + {Item(Item::token, "foo"), {Param("a673", 1)}}, + {Item(Item::token, "foo"), {Param("a674", 1)}}, + {Item(Item::token, "foo"), {Param("a675", 1)}}, + {Item(Item::token, "foo"), {Param("a676", 1)}}, + {Item(Item::token, "foo"), {Param("a677", 1)}}, + {Item(Item::token, "foo"), {Param("a678", 1)}}, + {Item(Item::token, "foo"), {Param("a679", 1)}}, + {Item(Item::token, "foo"), {Param("a680", 1)}}, + {Item(Item::token, "foo"), {Param("a681", 1)}}, + {Item(Item::token, "foo"), {Param("a682", 1)}}, + {Item(Item::token, "foo"), {Param("a683", 1)}}, + {Item(Item::token, "foo"), {Param("a684", 1)}}, + {Item(Item::token, "foo"), {Param("a685", 1)}}, + {Item(Item::token, "foo"), {Param("a686", 1)}}, + {Item(Item::token, "foo"), {Param("a687", 1)}}, + {Item(Item::token, "foo"), {Param("a688", 1)}}, + {Item(Item::token, "foo"), {Param("a689", 1)}}, + {Item(Item::token, "foo"), {Param("a690", 1)}}, + {Item(Item::token, "foo"), {Param("a691", 1)}}, + {Item(Item::token, "foo"), {Param("a692", 1)}}, + {Item(Item::token, "foo"), {Param("a693", 1)}}, + {Item(Item::token, "foo"), {Param("a694", 1)}}, + {Item(Item::token, "foo"), {Param("a695", 1)}}, + {Item(Item::token, "foo"), {Param("a696", 1)}}, + {Item(Item::token, "foo"), {Param("a697", 1)}}, + {Item(Item::token, "foo"), {Param("a698", 1)}}, + {Item(Item::token, "foo"), {Param("a699", 1)}}, + {Item(Item::token, "foo"), {Param("a700", 1)}}, + {Item(Item::token, "foo"), {Param("a701", 1)}}, + {Item(Item::token, "foo"), {Param("a702", 1)}}, + {Item(Item::token, "foo"), {Param("a703", 1)}}, + {Item(Item::token, "foo"), {Param("a704", 1)}}, + {Item(Item::token, "foo"), {Param("a705", 1)}}, + {Item(Item::token, "foo"), {Param("a706", 1)}}, + {Item(Item::token, "foo"), {Param("a707", 1)}}, + {Item(Item::token, "foo"), {Param("a708", 1)}}, + {Item(Item::token, "foo"), {Param("a709", 1)}}, + {Item(Item::token, "foo"), {Param("a710", 1)}}, + {Item(Item::token, "foo"), {Param("a711", 1)}}, + {Item(Item::token, "foo"), {Param("a712", 1)}}, + {Item(Item::token, "foo"), {Param("a713", 1)}}, + {Item(Item::token, "foo"), {Param("a714", 1)}}, + {Item(Item::token, "foo"), {Param("a715", 1)}}, + {Item(Item::token, "foo"), {Param("a716", 1)}}, + {Item(Item::token, "foo"), {Param("a717", 1)}}, + {Item(Item::token, "foo"), {Param("a718", 1)}}, + {Item(Item::token, "foo"), {Param("a719", 1)}}, + {Item(Item::token, "foo"), {Param("a720", 1)}}, + {Item(Item::token, "foo"), {Param("a721", 1)}}, + {Item(Item::token, "foo"), {Param("a722", 1)}}, + {Item(Item::token, "foo"), {Param("a723", 1)}}, + {Item(Item::token, "foo"), {Param("a724", 1)}}, + {Item(Item::token, "foo"), {Param("a725", 1)}}, + {Item(Item::token, "foo"), {Param("a726", 1)}}, + {Item(Item::token, "foo"), {Param("a727", 1)}}, + {Item(Item::token, "foo"), {Param("a728", 1)}}, + {Item(Item::token, "foo"), {Param("a729", 1)}}, + {Item(Item::token, "foo"), {Param("a730", 1)}}, + {Item(Item::token, "foo"), {Param("a731", 1)}}, + {Item(Item::token, "foo"), {Param("a732", 1)}}, + {Item(Item::token, "foo"), {Param("a733", 1)}}, + {Item(Item::token, "foo"), {Param("a734", 1)}}, + {Item(Item::token, "foo"), {Param("a735", 1)}}, + {Item(Item::token, "foo"), {Param("a736", 1)}}, + {Item(Item::token, "foo"), {Param("a737", 1)}}, + {Item(Item::token, "foo"), {Param("a738", 1)}}, + {Item(Item::token, "foo"), {Param("a739", 1)}}, + {Item(Item::token, "foo"), {Param("a740", 1)}}, + {Item(Item::token, "foo"), {Param("a741", 1)}}, + {Item(Item::token, "foo"), {Param("a742", 1)}}, + {Item(Item::token, "foo"), {Param("a743", 1)}}, + {Item(Item::token, "foo"), {Param("a744", 1)}}, + {Item(Item::token, "foo"), {Param("a745", 1)}}, + {Item(Item::token, "foo"), {Param("a746", 1)}}, + {Item(Item::token, "foo"), {Param("a747", 1)}}, + {Item(Item::token, "foo"), {Param("a748", 1)}}, + {Item(Item::token, "foo"), {Param("a749", 1)}}, + {Item(Item::token, "foo"), {Param("a750", 1)}}, + {Item(Item::token, "foo"), {Param("a751", 1)}}, + {Item(Item::token, "foo"), {Param("a752", 1)}}, + {Item(Item::token, "foo"), {Param("a753", 1)}}, + {Item(Item::token, "foo"), {Param("a754", 1)}}, + {Item(Item::token, "foo"), {Param("a755", 1)}}, + {Item(Item::token, "foo"), {Param("a756", 1)}}, + {Item(Item::token, "foo"), {Param("a757", 1)}}, + {Item(Item::token, "foo"), {Param("a758", 1)}}, + {Item(Item::token, "foo"), {Param("a759", 1)}}, + {Item(Item::token, "foo"), {Param("a760", 1)}}, + {Item(Item::token, "foo"), {Param("a761", 1)}}, + {Item(Item::token, "foo"), {Param("a762", 1)}}, + {Item(Item::token, "foo"), {Param("a763", 1)}}, + {Item(Item::token, "foo"), {Param("a764", 1)}}, + {Item(Item::token, "foo"), {Param("a765", 1)}}, + {Item(Item::token, "foo"), {Param("a766", 1)}}, + {Item(Item::token, "foo"), {Param("a767", 1)}}, + {Item(Item::token, "foo"), {Param("a768", 1)}}, + {Item(Item::token, "foo"), {Param("a769", 1)}}, + {Item(Item::token, "foo"), {Param("a770", 1)}}, + {Item(Item::token, "foo"), {Param("a771", 1)}}, + {Item(Item::token, "foo"), {Param("a772", 1)}}, + {Item(Item::token, "foo"), {Param("a773", 1)}}, + {Item(Item::token, "foo"), {Param("a774", 1)}}, + {Item(Item::token, "foo"), {Param("a775", 1)}}, + {Item(Item::token, "foo"), {Param("a776", 1)}}, + {Item(Item::token, "foo"), {Param("a777", 1)}}, + {Item(Item::token, "foo"), {Param("a778", 1)}}, + {Item(Item::token, "foo"), {Param("a779", 1)}}, + {Item(Item::token, "foo"), {Param("a780", 1)}}, + {Item(Item::token, "foo"), {Param("a781", 1)}}, + {Item(Item::token, "foo"), {Param("a782", 1)}}, + {Item(Item::token, "foo"), {Param("a783", 1)}}, + {Item(Item::token, "foo"), {Param("a784", 1)}}, + {Item(Item::token, "foo"), {Param("a785", 1)}}, + {Item(Item::token, "foo"), {Param("a786", 1)}}, + {Item(Item::token, "foo"), {Param("a787", 1)}}, + {Item(Item::token, "foo"), {Param("a788", 1)}}, + {Item(Item::token, "foo"), {Param("a789", 1)}}, + {Item(Item::token, "foo"), {Param("a790", 1)}}, + {Item(Item::token, "foo"), {Param("a791", 1)}}, + {Item(Item::token, "foo"), {Param("a792", 1)}}, + {Item(Item::token, "foo"), {Param("a793", 1)}}, + {Item(Item::token, "foo"), {Param("a794", 1)}}, + {Item(Item::token, "foo"), {Param("a795", 1)}}, + {Item(Item::token, "foo"), {Param("a796", 1)}}, + {Item(Item::token, "foo"), {Param("a797", 1)}}, + {Item(Item::token, "foo"), {Param("a798", 1)}}, + {Item(Item::token, "foo"), {Param("a799", 1)}}, + {Item(Item::token, "foo"), {Param("a800", 1)}}, + {Item(Item::token, "foo"), {Param("a801", 1)}}, + {Item(Item::token, "foo"), {Param("a802", 1)}}, + {Item(Item::token, "foo"), {Param("a803", 1)}}, + {Item(Item::token, "foo"), {Param("a804", 1)}}, + {Item(Item::token, "foo"), {Param("a805", 1)}}, + {Item(Item::token, "foo"), {Param("a806", 1)}}, + {Item(Item::token, "foo"), {Param("a807", 1)}}, + {Item(Item::token, "foo"), {Param("a808", 1)}}, + {Item(Item::token, "foo"), {Param("a809", 1)}}, + {Item(Item::token, "foo"), {Param("a810", 1)}}, + {Item(Item::token, "foo"), {Param("a811", 1)}}, + {Item(Item::token, "foo"), {Param("a812", 1)}}, + {Item(Item::token, "foo"), {Param("a813", 1)}}, + {Item(Item::token, "foo"), {Param("a814", 1)}}, + {Item(Item::token, "foo"), {Param("a815", 1)}}, + {Item(Item::token, "foo"), {Param("a816", 1)}}, + {Item(Item::token, "foo"), {Param("a817", 1)}}, + {Item(Item::token, "foo"), {Param("a818", 1)}}, + {Item(Item::token, "foo"), {Param("a819", 1)}}, + {Item(Item::token, "foo"), {Param("a820", 1)}}, + {Item(Item::token, "foo"), {Param("a821", 1)}}, + {Item(Item::token, "foo"), {Param("a822", 1)}}, + {Item(Item::token, "foo"), {Param("a823", 1)}}, + {Item(Item::token, "foo"), {Param("a824", 1)}}, + {Item(Item::token, "foo"), {Param("a825", 1)}}, + {Item(Item::token, "foo"), {Param("a826", 1)}}, + {Item(Item::token, "foo"), {Param("a827", 1)}}, + {Item(Item::token, "foo"), {Param("a828", 1)}}, + {Item(Item::token, "foo"), {Param("a829", 1)}}, + {Item(Item::token, "foo"), {Param("a830", 1)}}, + {Item(Item::token, "foo"), {Param("a831", 1)}}, + {Item(Item::token, "foo"), {Param("a832", 1)}}, + {Item(Item::token, "foo"), {Param("a833", 1)}}, + {Item(Item::token, "foo"), {Param("a834", 1)}}, + {Item(Item::token, "foo"), {Param("a835", 1)}}, + {Item(Item::token, "foo"), {Param("a836", 1)}}, + {Item(Item::token, "foo"), {Param("a837", 1)}}, + {Item(Item::token, "foo"), {Param("a838", 1)}}, + {Item(Item::token, "foo"), {Param("a839", 1)}}, + {Item(Item::token, "foo"), {Param("a840", 1)}}, + {Item(Item::token, "foo"), {Param("a841", 1)}}, + {Item(Item::token, "foo"), {Param("a842", 1)}}, + {Item(Item::token, "foo"), {Param("a843", 1)}}, + {Item(Item::token, "foo"), {Param("a844", 1)}}, + {Item(Item::token, "foo"), {Param("a845", 1)}}, + {Item(Item::token, "foo"), {Param("a846", 1)}}, + {Item(Item::token, "foo"), {Param("a847", 1)}}, + {Item(Item::token, "foo"), {Param("a848", 1)}}, + {Item(Item::token, "foo"), {Param("a849", 1)}}, + {Item(Item::token, "foo"), {Param("a850", 1)}}, + {Item(Item::token, "foo"), {Param("a851", 1)}}, + {Item(Item::token, "foo"), {Param("a852", 1)}}, + {Item(Item::token, "foo"), {Param("a853", 1)}}, + {Item(Item::token, "foo"), {Param("a854", 1)}}, + {Item(Item::token, "foo"), {Param("a855", 1)}}, + {Item(Item::token, "foo"), {Param("a856", 1)}}, + {Item(Item::token, "foo"), {Param("a857", 1)}}, + {Item(Item::token, "foo"), {Param("a858", 1)}}, + {Item(Item::token, "foo"), {Param("a859", 1)}}, + {Item(Item::token, "foo"), {Param("a860", 1)}}, + {Item(Item::token, "foo"), {Param("a861", 1)}}, + {Item(Item::token, "foo"), {Param("a862", 1)}}, + {Item(Item::token, "foo"), {Param("a863", 1)}}, + {Item(Item::token, "foo"), {Param("a864", 1)}}, + {Item(Item::token, "foo"), {Param("a865", 1)}}, + {Item(Item::token, "foo"), {Param("a866", 1)}}, + {Item(Item::token, "foo"), {Param("a867", 1)}}, + {Item(Item::token, "foo"), {Param("a868", 1)}}, + {Item(Item::token, "foo"), {Param("a869", 1)}}, + {Item(Item::token, "foo"), {Param("a870", 1)}}, + {Item(Item::token, "foo"), {Param("a871", 1)}}, + {Item(Item::token, "foo"), {Param("a872", 1)}}, + {Item(Item::token, "foo"), {Param("a873", 1)}}, + {Item(Item::token, "foo"), {Param("a874", 1)}}, + {Item(Item::token, "foo"), {Param("a875", 1)}}, + {Item(Item::token, "foo"), {Param("a876", 1)}}, + {Item(Item::token, "foo"), {Param("a877", 1)}}, + {Item(Item::token, "foo"), {Param("a878", 1)}}, + {Item(Item::token, "foo"), {Param("a879", 1)}}, + {Item(Item::token, "foo"), {Param("a880", 1)}}, + {Item(Item::token, "foo"), {Param("a881", 1)}}, + {Item(Item::token, "foo"), {Param("a882", 1)}}, + {Item(Item::token, "foo"), {Param("a883", 1)}}, + {Item(Item::token, "foo"), {Param("a884", 1)}}, + {Item(Item::token, "foo"), {Param("a885", 1)}}, + {Item(Item::token, "foo"), {Param("a886", 1)}}, + {Item(Item::token, "foo"), {Param("a887", 1)}}, + {Item(Item::token, "foo"), {Param("a888", 1)}}, + {Item(Item::token, "foo"), {Param("a889", 1)}}, + {Item(Item::token, "foo"), {Param("a890", 1)}}, + {Item(Item::token, "foo"), {Param("a891", 1)}}, + {Item(Item::token, "foo"), {Param("a892", 1)}}, + {Item(Item::token, "foo"), {Param("a893", 1)}}, + {Item(Item::token, "foo"), {Param("a894", 1)}}, + {Item(Item::token, "foo"), {Param("a895", 1)}}, + {Item(Item::token, "foo"), {Param("a896", 1)}}, + {Item(Item::token, "foo"), {Param("a897", 1)}}, + {Item(Item::token, "foo"), {Param("a898", 1)}}, + {Item(Item::token, "foo"), {Param("a899", 1)}}, + {Item(Item::token, "foo"), {Param("a900", 1)}}, + {Item(Item::token, "foo"), {Param("a901", 1)}}, + {Item(Item::token, "foo"), {Param("a902", 1)}}, + {Item(Item::token, "foo"), {Param("a903", 1)}}, + {Item(Item::token, "foo"), {Param("a904", 1)}}, + {Item(Item::token, "foo"), {Param("a905", 1)}}, + {Item(Item::token, "foo"), {Param("a906", 1)}}, + {Item(Item::token, "foo"), {Param("a907", 1)}}, + {Item(Item::token, "foo"), {Param("a908", 1)}}, + {Item(Item::token, "foo"), {Param("a909", 1)}}, + {Item(Item::token, "foo"), {Param("a910", 1)}}, + {Item(Item::token, "foo"), {Param("a911", 1)}}, + {Item(Item::token, "foo"), {Param("a912", 1)}}, + {Item(Item::token, "foo"), {Param("a913", 1)}}, + {Item(Item::token, "foo"), {Param("a914", 1)}}, + {Item(Item::token, "foo"), {Param("a915", 1)}}, + {Item(Item::token, "foo"), {Param("a916", 1)}}, + {Item(Item::token, "foo"), {Param("a917", 1)}}, + {Item(Item::token, "foo"), {Param("a918", 1)}}, + {Item(Item::token, "foo"), {Param("a919", 1)}}, + {Item(Item::token, "foo"), {Param("a920", 1)}}, + {Item(Item::token, "foo"), {Param("a921", 1)}}, + {Item(Item::token, "foo"), {Param("a922", 1)}}, + {Item(Item::token, "foo"), {Param("a923", 1)}}, + {Item(Item::token, "foo"), {Param("a924", 1)}}, + {Item(Item::token, "foo"), {Param("a925", 1)}}, + {Item(Item::token, "foo"), {Param("a926", 1)}}, + {Item(Item::token, "foo"), {Param("a927", 1)}}, + {Item(Item::token, "foo"), {Param("a928", 1)}}, + {Item(Item::token, "foo"), {Param("a929", 1)}}, + {Item(Item::token, "foo"), {Param("a930", 1)}}, + {Item(Item::token, "foo"), {Param("a931", 1)}}, + {Item(Item::token, "foo"), {Param("a932", 1)}}, + {Item(Item::token, "foo"), {Param("a933", 1)}}, + {Item(Item::token, "foo"), {Param("a934", 1)}}, + {Item(Item::token, "foo"), {Param("a935", 1)}}, + {Item(Item::token, "foo"), {Param("a936", 1)}}, + {Item(Item::token, "foo"), {Param("a937", 1)}}, + {Item(Item::token, "foo"), {Param("a938", 1)}}, + {Item(Item::token, "foo"), {Param("a939", 1)}}, + {Item(Item::token, "foo"), {Param("a940", 1)}}, + {Item(Item::token, "foo"), {Param("a941", 1)}}, + {Item(Item::token, "foo"), {Param("a942", 1)}}, + {Item(Item::token, "foo"), {Param("a943", 1)}}, + {Item(Item::token, "foo"), {Param("a944", 1)}}, + {Item(Item::token, "foo"), {Param("a945", 1)}}, + {Item(Item::token, "foo"), {Param("a946", 1)}}, + {Item(Item::token, "foo"), {Param("a947", 1)}}, + {Item(Item::token, "foo"), {Param("a948", 1)}}, + {Item(Item::token, "foo"), {Param("a949", 1)}}, + {Item(Item::token, "foo"), {Param("a950", 1)}}, + {Item(Item::token, "foo"), {Param("a951", 1)}}, + {Item(Item::token, "foo"), {Param("a952", 1)}}, + {Item(Item::token, "foo"), {Param("a953", 1)}}, + {Item(Item::token, "foo"), {Param("a954", 1)}}, + {Item(Item::token, "foo"), {Param("a955", 1)}}, + {Item(Item::token, "foo"), {Param("a956", 1)}}, + {Item(Item::token, "foo"), {Param("a957", 1)}}, + {Item(Item::token, "foo"), {Param("a958", 1)}}, + {Item(Item::token, "foo"), {Param("a959", 1)}}, + {Item(Item::token, "foo"), {Param("a960", 1)}}, + {Item(Item::token, "foo"), {Param("a961", 1)}}, + {Item(Item::token, "foo"), {Param("a962", 1)}}, + {Item(Item::token, "foo"), {Param("a963", 1)}}, + {Item(Item::token, "foo"), {Param("a964", 1)}}, + {Item(Item::token, "foo"), {Param("a965", 1)}}, + {Item(Item::token, "foo"), {Param("a966", 1)}}, + {Item(Item::token, "foo"), {Param("a967", 1)}}, + {Item(Item::token, "foo"), {Param("a968", 1)}}, + {Item(Item::token, "foo"), {Param("a969", 1)}}, + {Item(Item::token, "foo"), {Param("a970", 1)}}, + {Item(Item::token, "foo"), {Param("a971", 1)}}, + {Item(Item::token, "foo"), {Param("a972", 1)}}, + {Item(Item::token, "foo"), {Param("a973", 1)}}, + {Item(Item::token, "foo"), {Param("a974", 1)}}, + {Item(Item::token, "foo"), {Param("a975", 1)}}, + {Item(Item::token, "foo"), {Param("a976", 1)}}, + {Item(Item::token, "foo"), {Param("a977", 1)}}, + {Item(Item::token, "foo"), {Param("a978", 1)}}, + {Item(Item::token, "foo"), {Param("a979", 1)}}, + {Item(Item::token, "foo"), {Param("a980", 1)}}, + {Item(Item::token, "foo"), {Param("a981", 1)}}, + {Item(Item::token, "foo"), {Param("a982", 1)}}, + {Item(Item::token, "foo"), {Param("a983", 1)}}, + {Item(Item::token, "foo"), {Param("a984", 1)}}, + {Item(Item::token, "foo"), {Param("a985", 1)}}, + {Item(Item::token, "foo"), {Param("a986", 1)}}, + {Item(Item::token, "foo"), {Param("a987", 1)}}, + {Item(Item::token, "foo"), {Param("a988", 1)}}, + {Item(Item::token, "foo"), {Param("a989", 1)}}, + {Item(Item::token, "foo"), {Param("a990", 1)}}, + {Item(Item::token, "foo"), {Param("a991", 1)}}, + {Item(Item::token, "foo"), {Param("a992", 1)}}, + {Item(Item::token, "foo"), {Param("a993", 1)}}, + {Item(Item::token, "foo"), {Param("a994", 1)}}, + {Item(Item::token, "foo"), {Param("a995", 1)}}, + {Item(Item::token, "foo"), {Param("a996", 1)}}, + {Item(Item::token, "foo"), {Param("a997", 1)}}, + {Item(Item::token, "foo"), {Param("a998", 1)}}, + {Item(Item::token, "foo"), {Param("a999", 1)}}, + {Item(Item::token, "foo"), {Param("a1000", 1)}}, + {Item(Item::token, "foo"), {Param("a1001", 1)}}, + {Item(Item::token, "foo"), {Param("a1002", 1)}}, + {Item(Item::token, "foo"), {Param("a1003", 1)}}, + {Item(Item::token, "foo"), {Param("a1004", 1)}}, + {Item(Item::token, "foo"), {Param("a1005", 1)}}, + {Item(Item::token, "foo"), {Param("a1006", 1)}}, + {Item(Item::token, "foo"), {Param("a1007", 1)}}, + {Item(Item::token, "foo"), {Param("a1008", 1)}}, + {Item(Item::token, "foo"), {Param("a1009", 1)}}, + {Item(Item::token, "foo"), {Param("a1010", 1)}}, + {Item(Item::token, "foo"), {Param("a1011", 1)}}, + {Item(Item::token, "foo"), {Param("a1012", 1)}}, + {Item(Item::token, "foo"), {Param("a1013", 1)}}, + {Item(Item::token, "foo"), {Param("a1014", 1)}}, + {Item(Item::token, "foo"), {Param("a1015", 1)}}, + {Item(Item::token, "foo"), {Param("a1016", 1)}}, + {Item(Item::token, "foo"), {Param("a1017", 1)}}, + {Item(Item::token, "foo"), {Param("a1018", 1)}}, + {Item(Item::token, "foo"), {Param("a1019", 1)}}, + {Item(Item::token, "foo"), {Param("a1020", 1)}}, + {Item(Item::token, "foo"), {Param("a1021", 1)}}, + {Item(Item::token, "foo"), {Param("a1022", 1)}}, + {Item(Item::token, "foo"), {Param("a1023", 1)}}}}, nullptr}, {"large params", "foo;a0=1;a1=1;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;a9=1;a10=1;a11=1;a12=1;" @@ -5579,7 +5451,7 @@ "a238=1;a239=1;a240=1;a241=1;a242=1;a243=1;a244=1;a245=1;a246=1;a247=1;" "a248=1;a249=1;a250=1;a251=1;a252=1;a253=1;a254=1;a255=1", 1685, - {{{Item("foo", Item::kTokenType), + {{{Item(Item::token, "foo"), {Param("a0", 1), Param("a1", 1), Param("a2", 1), Param("a3", 1), Param("a4", 1), Param("a5", 1), Param("a6", 1), Param("a7", 1), Param("a8", 1), @@ -5670,7 +5542,7 @@ {"large param key", "foo;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=1", 70, - {{{Item("foo", Item::kTokenType), + {{{Item(Item::token, "foo"), {Param( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 1)}}}}, @@ -5871,32 +5743,32 @@ {"basic parameterised list", "abc_123;a=1;b=2; cdef_456, ghi;q=9;r=\"+w\"", 41, - {{{Item("abc_123", Item::kTokenType), + {{{Item(Item::token, "abc_123"), {Param("a", 1), Param("b", 2), BooleanParam("cdef_456", true)}}, - {Item("ghi", Item::kTokenType), {Param("q", 9), Param("r", "+w")}}}}, + {Item(Item::token, "ghi"), {Param("q", 9), Param("r", "+w")}}}}, "abc_123;a=1;b=2;cdef_456, ghi;q=9;r=\"+w\""}, {"single item parameterised list", "text/html;q=1.0", 15, - {{{Item("text/html", Item::kTokenType), {DoubleParam("q", 1.0)}}}}, + {{{Item(Item::token, "text/html"), {DoubleParam("q", 1.0)}}}}, nullptr}, {"missing parameter value parameterised list", "text/html;a;q=1.0", 17, - {{{Item("text/html", Item::kTokenType), + {{{Item(Item::token, "text/html"), {BooleanParam("a", true), DoubleParam("q", 1.0)}}}}, nullptr}, {"missing terminal parameter value parameterised list", "text/html;q=1.0;a", 17, - {{{Item("text/html", Item::kTokenType), + {{{Item(Item::token, "text/html"), {DoubleParam("q", 1.0), BooleanParam("a", true)}}}}, nullptr}, {"no whitespace parameterised list", "text/html,text/plain;q=0.5", 26, - {{{Item("text/html", Item::kTokenType), {}}, - {Item("text/plain", Item::kTokenType), {DoubleParam("q", 0.5)}}}}, + {{{Item(Item::token, "text/html"), {}}, + {Item(Item::token, "text/plain"), {DoubleParam("q", 0.5)}}}}, "text/html, text/plain;q=0.5"}, {"whitespace before = parameterised list", "text/html, text/plain;q =0.5", 28, std::nullopt, nullptr}, @@ -5907,21 +5779,21 @@ {"whitespace after ; parameterised list", "text/html, text/plain; q=0.5", 28, - {{{Item("text/html", Item::kTokenType), {}}, - {Item("text/plain", Item::kTokenType), {DoubleParam("q", 0.5)}}}}, + {{{Item(Item::token, "text/html"), {}}, + {Item(Item::token, "text/plain"), {DoubleParam("q", 0.5)}}}}, "text/html, text/plain;q=0.5"}, {"extra whitespace parameterised list", "text/html , text/plain; q=0.5; charset=utf-8", 48, - {{{Item("text/html", Item::kTokenType), {}}, - {Item("text/plain", Item::kTokenType), + {{{Item(Item::token, "text/html"), {}}, + {Item(Item::token, "text/plain"), {DoubleParam("q", 0.5), TokenParam("charset", "utf-8")}}}}, "text/html, text/plain;q=0.5;charset=utf-8"}, {"two lines parameterised list", "text/html, text/plain;q=0.5", 27, - {{{Item("text/html", Item::kTokenType), {}}, - {Item("text/plain", Item::kTokenType), {DoubleParam("q", 0.5)}}}}, + {{{Item(Item::token, "text/html"), {}}, + {Item(Item::token, "text/plain"), {DoubleParam("q", 0.5)}}}}, "text/html, text/plain;q=0.5"}, {"trailing comma parameterised list", "text/html,text/plain;q=0.5,", 27, std::nullopt, nullptr}, @@ -5930,12 +5802,12 @@ {"duplicate parameter with different positions", "a;b=1;c=2;b=3", 13, - {{{Item("a", Item::kTokenType), {Param("b", 3), Param("c", 2)}}}}, + {{{Item(Item::token, "a"), {Param("b", 3), Param("c", 2)}}}}, "a;b=3;c=2"}, {"parameter ordering", "a;m;z;t", 7, - {{{Item("a", Item::kTokenType), + {{{Item(Item::token, "a"), {BooleanParam("m", true), BooleanParam("z", true), BooleanParam("t", true)}}}}, nullptr}, @@ -5949,38 +5821,37 @@ {"parameterised inner list", "(abc_123);a=1;b=2, cdef_456", 27, - {{{{{Item("abc_123", Item::kTokenType), {}}}, - {Param("a", 1), Param("b", 2)}}, - {Item("cdef_456", Item::kTokenType), {}}}}, + {{{{{Item(Item::token, "abc_123"), {}}}, {Param("a", 1), Param("b", 2)}}, + {Item(Item::token, "cdef_456"), {}}}}, nullptr}, {"parameterised inner list item", "(abc_123;a=1;b=2;cdef_456)", 26, - {{{{{Item("abc_123", Item::kTokenType), + {{{{{Item(Item::token, "abc_123"), {Param("a", 1), Param("b", 2), BooleanParam("cdef_456", true)}}}, {}}}}, nullptr}, {"parameterised inner list with parameterised item", "(abc_123;a=1;b=2);cdef_456", 26, - {{{{{Item("abc_123", Item::kTokenType), {Param("a", 1), Param("b", 2)}}}, + {{{{{Item(Item::token, "abc_123"), {Param("a", 1), Param("b", 2)}}}, {BooleanParam("cdef_456", true)}}}}, nullptr}, // token.json {"basic token - list", "a_b-c3/*", 8, - {{{Item("a_b-c3/*", Item::kTokenType), {}}}}, + {{{Item(Item::token, "a_b-c3/*"), {}}}}, nullptr}, {"token with capitals - list", "fooBar", 6, - {{{Item("fooBar", Item::kTokenType), {}}}}, + {{{Item(Item::token, "fooBar"), {}}}}, nullptr}, {"token starting with capitals - list", "FooBar", 6, - {{{Item("FooBar", Item::kTokenType), {}}}}, + {{{Item(Item::token, "FooBar"), {}}}}, nullptr}, }; @@ -5999,10 +5870,9 @@ "en=\"Applepie\", da=:w4ZibGV0w6ZydGUK:", 36, {Dictionary{ - {{"en", {Item("Applepie"), {}}}, + {{"en", {Item(Item::string, "Applepie"), {}}}, {"da", - {Item("\303\206blet\303\246rte\012", Item::kByteSequenceType), - {}}}}}}, + {Item(Item::byte_sequence, "\303\206blet\303\246rte\012"), {}}}}}}, nullptr}, {"empty dictionary", "", 0, {Dictionary{{}}}, nullptr}, {"single item dictionary", @@ -6112,9 +5982,8 @@ "en=\"Applepie\", da=:w4ZibGV0w6ZydGU=:", 36, {Dictionary{ - {{"en", {Item("Applepie"), {}}}, - {"da", - {Item("\303\206blet\303\246rte", Item::kByteSequenceType), {}}}}}}, + {{"en", {Item(Item::string, "Applepie"), {}}}, + {"da", {Item(Item::byte_sequence, "\303\206blet\303\246rte"), {}}}}}}, nullptr}, {"Example-DictHeader (boolean values)", "a=?0, b, c; foo=bar", @@ -6128,8 +5997,8 @@ 34, {Dictionary{{{"rating", {Item(1.5), {}}}, {"feelings", - {{{Item("joy", Item::kTokenType), {}}, - {Item("sadness", Item::kTokenType), {}}}, + {{{Item(Item::token, "joy"), {}}, + {Item(Item::token, "sadness"), {}}}, {}}}}}}, nullptr}, {"Example-MixDict", @@ -7673,8 +7542,7 @@ {"single item parameterised dict", "a=b; q=1.0", 10, - {Dictionary{ - {{"a", {Item("b", Item::kTokenType), {DoubleParam("q", 1.0)}}}}}}, + {Dictionary{{{"a", {Item(Item::token, "b"), {DoubleParam("q", 1.0)}}}}}}, "a=b;q=1.0"}, {"list item parameterised dictionary", "a=(1 2); q=1.0", @@ -7698,8 +7566,8 @@ {"no whitespace parameterised dict", "a=b;c=1,d=e;f=2", 15, - {Dictionary{{{"a", {Item("b", Item::kTokenType), {Param("c", 1)}}}, - {"d", {Item("e", Item::kTokenType), {Param("f", 2)}}}}}}, + {Dictionary{{{"a", {Item(Item::token, "b"), {Param("c", 1)}}}, + {"d", {Item(Item::token, "e"), {Param("f", 2)}}}}}}, "a=b;c=1, d=e;f=2"}, {"whitespace before = parameterised dict", "a=b;q =0.5", 10, std::nullopt, nullptr}, @@ -7710,22 +7578,20 @@ {"whitespace after ; parameterised dict", "a=b; q=0.5", 10, - {Dictionary{ - {{"a", {Item("b", Item::kTokenType), {DoubleParam("q", 0.5)}}}}}}, + {Dictionary{{{"a", {Item(Item::token, "b"), {DoubleParam("q", 0.5)}}}}}}, "a=b;q=0.5"}, {"extra whitespace parameterised dict", "a=b; c=1 , d=e; f=2; g=3", 27, {Dictionary{ - {{"a", {Item("b", Item::kTokenType), {Param("c", 1)}}}, - {"d", - {Item("e", Item::kTokenType), {Param("f", 2), Param("g", 3)}}}}}}, + {{"a", {Item(Item::token, "b"), {Param("c", 1)}}}, + {"d", {Item(Item::token, "e"), {Param("f", 2), Param("g", 3)}}}}}}, "a=b;c=1, d=e;f=2;g=3"}, {"two lines parameterised list", "a=b;c=1, d=e;f=2", 16, - {Dictionary{{{"a", {Item("b", Item::kTokenType), {Param("c", 1)}}}, - {"d", {Item("e", Item::kTokenType), {Param("f", 2)}}}}}}, + {Dictionary{{{"a", {Item(Item::token, "b"), {Param("c", 1)}}}, + {"d", {Item(Item::token, "e"), {Param("f", 2)}}}}}}, "a=b;c=1, d=e;f=2"}, {"trailing comma parameterised list", "a=b; q=1.0,", 11, std::nullopt, nullptr}, @@ -7760,412 +7626,476 @@ "10.0"}, // serialisation-tests/string-generated.json {"0x00 in string - serialise only", - {Item(std::string("\000", 1)), {}}, + {Item(Item::string, std::string("\000", 1)), {}}, std::nullopt}, - {"0x01 in string - serialise only", {Item("\001"), {}}, std::nullopt}, - {"0x02 in string - serialise only", {Item("\002"), {}}, std::nullopt}, - {"0x03 in string - serialise only", {Item("\003"), {}}, std::nullopt}, - {"0x04 in string - serialise only", {Item("\004"), {}}, std::nullopt}, - {"0x05 in string - serialise only", {Item("\005"), {}}, std::nullopt}, - {"0x06 in string - serialise only", {Item("\006"), {}}, std::nullopt}, - {"0x07 in string - serialise only", {Item("\007"), {}}, std::nullopt}, - {"0x08 in string - serialise only", {Item("\010"), {}}, std::nullopt}, - {"0x09 in string - serialise only", {Item("\t"), {}}, std::nullopt}, - {"0x0a in string - serialise only", {Item("\n"), {}}, std::nullopt}, - {"0x0b in string - serialise only", {Item("\013"), {}}, std::nullopt}, - {"0x0c in string - serialise only", {Item("\014"), {}}, std::nullopt}, - {"0x0d in string - serialise only", {Item("\r"), {}}, std::nullopt}, - {"0x0e in string - serialise only", {Item("\016"), {}}, std::nullopt}, - {"0x0f in string - serialise only", {Item("\017"), {}}, std::nullopt}, - {"0x10 in string - serialise only", {Item("\020"), {}}, std::nullopt}, - {"0x11 in string - serialise only", {Item("\021"), {}}, std::nullopt}, - {"0x12 in string - serialise only", {Item("\022"), {}}, std::nullopt}, - {"0x13 in string - serialise only", {Item("\023"), {}}, std::nullopt}, - {"0x14 in string - serialise only", {Item("\024"), {}}, std::nullopt}, - {"0x15 in string - serialise only", {Item("\025"), {}}, std::nullopt}, - {"0x16 in string - serialise only", {Item("\026"), {}}, std::nullopt}, - {"0x17 in string - serialise only", {Item("\027"), {}}, std::nullopt}, - {"0x18 in string - serialise only", {Item("\030"), {}}, std::nullopt}, - {"0x19 in string - serialise only", {Item("\031"), {}}, std::nullopt}, - {"0x1a in string - serialise only", {Item("\032"), {}}, std::nullopt}, - {"0x1b in string - serialise only", {Item("\033"), {}}, std::nullopt}, - {"0x1c in string - serialise only", {Item("\034"), {}}, std::nullopt}, - {"0x1d in string - serialise only", {Item("\035"), {}}, std::nullopt}, - {"0x1e in string - serialise only", {Item("\036"), {}}, std::nullopt}, - {"0x1f in string - serialise only", {Item("\037"), {}}, std::nullopt}, - {"0x7f in string - serialise only", {Item("\177"), {}}, std::nullopt}, + {"0x01 in string - serialise only", + {Item(Item::string, "\001"), {}}, + std::nullopt}, + {"0x02 in string - serialise only", + {Item(Item::string, "\002"), {}}, + std::nullopt}, + {"0x03 in string - serialise only", + {Item(Item::string, "\003"), {}}, + std::nullopt}, + {"0x04 in string - serialise only", + {Item(Item::string, "\004"), {}}, + std::nullopt}, + {"0x05 in string - serialise only", + {Item(Item::string, "\005"), {}}, + std::nullopt}, + {"0x06 in string - serialise only", + {Item(Item::string, "\006"), {}}, + std::nullopt}, + {"0x07 in string - serialise only", + {Item(Item::string, "\007"), {}}, + std::nullopt}, + {"0x08 in string - serialise only", + {Item(Item::string, "\010"), {}}, + std::nullopt}, + {"0x09 in string - serialise only", + {Item(Item::string, "\t"), {}}, + std::nullopt}, + {"0x0a in string - serialise only", + {Item(Item::string, "\n"), {}}, + std::nullopt}, + {"0x0b in string - serialise only", + {Item(Item::string, "\013"), {}}, + std::nullopt}, + {"0x0c in string - serialise only", + {Item(Item::string, "\014"), {}}, + std::nullopt}, + {"0x0d in string - serialise only", + {Item(Item::string, "\r"), {}}, + std::nullopt}, + {"0x0e in string - serialise only", + {Item(Item::string, "\016"), {}}, + std::nullopt}, + {"0x0f in string - serialise only", + {Item(Item::string, "\017"), {}}, + std::nullopt}, + {"0x10 in string - serialise only", + {Item(Item::string, "\020"), {}}, + std::nullopt}, + {"0x11 in string - serialise only", + {Item(Item::string, "\021"), {}}, + std::nullopt}, + {"0x12 in string - serialise only", + {Item(Item::string, "\022"), {}}, + std::nullopt}, + {"0x13 in string - serialise only", + {Item(Item::string, "\023"), {}}, + std::nullopt}, + {"0x14 in string - serialise only", + {Item(Item::string, "\024"), {}}, + std::nullopt}, + {"0x15 in string - serialise only", + {Item(Item::string, "\025"), {}}, + std::nullopt}, + {"0x16 in string - serialise only", + {Item(Item::string, "\026"), {}}, + std::nullopt}, + {"0x17 in string - serialise only", + {Item(Item::string, "\027"), {}}, + std::nullopt}, + {"0x18 in string - serialise only", + {Item(Item::string, "\030"), {}}, + std::nullopt}, + {"0x19 in string - serialise only", + {Item(Item::string, "\031"), {}}, + std::nullopt}, + {"0x1a in string - serialise only", + {Item(Item::string, "\032"), {}}, + std::nullopt}, + {"0x1b in string - serialise only", + {Item(Item::string, "\033"), {}}, + std::nullopt}, + {"0x1c in string - serialise only", + {Item(Item::string, "\034"), {}}, + std::nullopt}, + {"0x1d in string - serialise only", + {Item(Item::string, "\035"), {}}, + std::nullopt}, + {"0x1e in string - serialise only", + {Item(Item::string, "\036"), {}}, + std::nullopt}, + {"0x1f in string - serialise only", + {Item(Item::string, "\037"), {}}, + std::nullopt}, + {"0x7f in string - serialise only", + {Item(Item::string, "\177"), {}}, + std::nullopt}, // serialisation-tests/token-generated.json {"0x00 in token - serialise only", - {Item(std::string("a\000a", 3), Item::kTokenType), {}}, + {Item(Item::token, std::string("a\000a", 3)), {}}, std::nullopt}, {"0x01 in token - serialise only", - {Item("a\001a", Item::kTokenType), {}}, + {Item(Item::token, "a\001a"), {}}, std::nullopt}, {"0x02 in token - serialise only", - {Item("a\002a", Item::kTokenType), {}}, + {Item(Item::token, "a\002a"), {}}, std::nullopt}, {"0x03 in token - serialise only", - {Item("a\003a", Item::kTokenType), {}}, + {Item(Item::token, "a\003a"), {}}, std::nullopt}, {"0x04 in token - serialise only", - {Item("a\004a", Item::kTokenType), {}}, + {Item(Item::token, "a\004a"), {}}, std::nullopt}, {"0x05 in token - serialise only", - {Item("a\005a", Item::kTokenType), {}}, + {Item(Item::token, "a\005a"), {}}, std::nullopt}, {"0x06 in token - serialise only", - {Item("a\006a", Item::kTokenType), {}}, + {Item(Item::token, "a\006a"), {}}, std::nullopt}, {"0x07 in token - serialise only", - {Item("a\007a", Item::kTokenType), {}}, + {Item(Item::token, "a\007a"), {}}, std::nullopt}, {"0x08 in token - serialise only", - {Item("a\010a", Item::kTokenType), {}}, + {Item(Item::token, "a\010a"), {}}, std::nullopt}, {"0x09 in token - serialise only", - {Item("a\ta", Item::kTokenType), {}}, + {Item(Item::token, "a\ta"), {}}, std::nullopt}, {"0x0a in token - serialise only", - {Item("a\na", Item::kTokenType), {}}, + {Item(Item::token, "a\na"), {}}, std::nullopt}, {"0x0b in token - serialise only", - {Item("a\013a", Item::kTokenType), {}}, + {Item(Item::token, "a\013a"), {}}, std::nullopt}, {"0x0c in token - serialise only", - {Item("a\014a", Item::kTokenType), {}}, + {Item(Item::token, "a\014a"), {}}, std::nullopt}, {"0x0d in token - serialise only", - {Item("a\ra", Item::kTokenType), {}}, + {Item(Item::token, "a\ra"), {}}, std::nullopt}, {"0x0e in token - serialise only", - {Item("a\016a", Item::kTokenType), {}}, + {Item(Item::token, "a\016a"), {}}, std::nullopt}, {"0x0f in token - serialise only", - {Item("a\017a", Item::kTokenType), {}}, + {Item(Item::token, "a\017a"), {}}, std::nullopt}, {"0x10 in token - serialise only", - {Item("a\020a", Item::kTokenType), {}}, + {Item(Item::token, "a\020a"), {}}, std::nullopt}, {"0x11 in token - serialise only", - {Item("a\021a", Item::kTokenType), {}}, + {Item(Item::token, "a\021a"), {}}, std::nullopt}, {"0x12 in token - serialise only", - {Item("a\022a", Item::kTokenType), {}}, + {Item(Item::token, "a\022a"), {}}, std::nullopt}, {"0x13 in token - serialise only", - {Item("a\023a", Item::kTokenType), {}}, + {Item(Item::token, "a\023a"), {}}, std::nullopt}, {"0x14 in token - serialise only", - {Item("a\024a", Item::kTokenType), {}}, + {Item(Item::token, "a\024a"), {}}, std::nullopt}, {"0x15 in token - serialise only", - {Item("a\025a", Item::kTokenType), {}}, + {Item(Item::token, "a\025a"), {}}, std::nullopt}, {"0x16 in token - serialise only", - {Item("a\026a", Item::kTokenType), {}}, + {Item(Item::token, "a\026a"), {}}, std::nullopt}, {"0x17 in token - serialise only", - {Item("a\027a", Item::kTokenType), {}}, + {Item(Item::token, "a\027a"), {}}, std::nullopt}, {"0x18 in token - serialise only", - {Item("a\030a", Item::kTokenType), {}}, + {Item(Item::token, "a\030a"), {}}, std::nullopt}, {"0x19 in token - serialise only", - {Item("a\031a", Item::kTokenType), {}}, + {Item(Item::token, "a\031a"), {}}, std::nullopt}, {"0x1a in token - serialise only", - {Item("a\032a", Item::kTokenType), {}}, + {Item(Item::token, "a\032a"), {}}, std::nullopt}, {"0x1b in token - serialise only", - {Item("a\033a", Item::kTokenType), {}}, + {Item(Item::token, "a\033a"), {}}, std::nullopt}, {"0x1c in token - serialise only", - {Item("a\034a", Item::kTokenType), {}}, + {Item(Item::token, "a\034a"), {}}, std::nullopt}, {"0x1d in token - serialise only", - {Item("a\035a", Item::kTokenType), {}}, + {Item(Item::token, "a\035a"), {}}, std::nullopt}, {"0x1e in token - serialise only", - {Item("a\036a", Item::kTokenType), {}}, + {Item(Item::token, "a\036a"), {}}, std::nullopt}, {"0x1f in token - serialise only", - {Item("a\037a", Item::kTokenType), {}}, + {Item(Item::token, "a\037a"), {}}, std::nullopt}, {"0x20 in token - serialise only", - {Item("a a", Item::kTokenType), {}}, + {Item(Item::token, "a a"), {}}, std::nullopt}, {"0x22 in token - serialise only", - {Item("a\"a", Item::kTokenType), {}}, + {Item(Item::token, "a\"a"), {}}, std::nullopt}, {"0x28 in token - serialise only", - {Item("a(a", Item::kTokenType), {}}, + {Item(Item::token, "a(a"), {}}, std::nullopt}, {"0x29 in token - serialise only", - {Item("a)a", Item::kTokenType), {}}, + {Item(Item::token, "a)a"), {}}, std::nullopt}, {"0x2c in token - serialise only", - {Item("a,a", Item::kTokenType), {}}, + {Item(Item::token, "a,a"), {}}, std::nullopt}, {"0x3b in token - serialise only", - {Item("a;a", Item::kTokenType), {}}, + {Item(Item::token, "a;a"), {}}, std::nullopt}, {"0x3c in token - serialise only", - {Item("a<a", Item::kTokenType), {}}, + {Item(Item::token, "a<a"), {}}, std::nullopt}, {"0x3d in token - serialise only", - {Item("a=a", Item::kTokenType), {}}, + {Item(Item::token, "a=a"), {}}, std::nullopt}, {"0x3e in token - serialise only", - {Item("a>a", Item::kTokenType), {}}, + {Item(Item::token, "a>a"), {}}, std::nullopt}, {"0x3f in token - serialise only", - {Item("a?a", Item::kTokenType), {}}, + {Item(Item::token, "a?a"), {}}, std::nullopt}, {"0x40 in token - serialise only", - {Item("a@a", Item::kTokenType), {}}, + {Item(Item::token, "a@a"), {}}, std::nullopt}, {"0x5b in token - serialise only", - {Item("a[a", Item::kTokenType), {}}, + {Item(Item::token, "a[a"), {}}, std::nullopt}, {"0x5c in token - serialise only", - {Item("a\\a", Item::kTokenType), {}}, + {Item(Item::token, "a\\a"), {}}, std::nullopt}, {"0x5d in token - serialise only", - {Item("a]a", Item::kTokenType), {}}, + {Item(Item::token, "a]a"), {}}, std::nullopt}, {"0x7b in token - serialise only", - {Item("a{a", Item::kTokenType), {}}, + {Item(Item::token, "a{a"), {}}, std::nullopt}, {"0x7d in token - serialise only", - {Item("a}a", Item::kTokenType), {}}, + {Item(Item::token, "a}a"), {}}, std::nullopt}, {"0x7f in token - serialise only", - {Item("a\177a", Item::kTokenType), {}}, + {Item(Item::token, "a\177a"), {}}, std::nullopt}, {"0x00 starting a token - serialise only", - {Item(std::string("\000a", 2), Item::kTokenType), {}}, + {Item(Item::token, std::string("\000a", 2)), {}}, std::nullopt}, {"0x01 starting a token - serialise only", - {Item("\001a", Item::kTokenType), {}}, + {Item(Item::token, "\001a"), {}}, std::nullopt}, {"0x02 starting a token - serialise only", - {Item("\002a", Item::kTokenType), {}}, + {Item(Item::token, "\002a"), {}}, std::nullopt}, {"0x03 starting a token - serialise only", - {Item("\003a", Item::kTokenType), {}}, + {Item(Item::token, "\003a"), {}}, std::nullopt}, {"0x04 starting a token - serialise only", - {Item("\004a", Item::kTokenType), {}}, + {Item(Item::token, "\004a"), {}}, std::nullopt}, {"0x05 starting a token - serialise only", - {Item("\005a", Item::kTokenType), {}}, + {Item(Item::token, "\005a"), {}}, std::nullopt}, {"0x06 starting a token - serialise only", - {Item("\006a", Item::kTokenType), {}}, + {Item(Item::token, "\006a"), {}}, std::nullopt}, {"0x07 starting a token - serialise only", - {Item("\007a", Item::kTokenType), {}}, + {Item(Item::token, "\007a"), {}}, std::nullopt}, {"0x08 starting a token - serialise only", - {Item("\010a", Item::kTokenType), {}}, + {Item(Item::token, "\010a"), {}}, std::nullopt}, {"0x09 starting a token - serialise only", - {Item("\ta", Item::kTokenType), {}}, + {Item(Item::token, "\ta"), {}}, std::nullopt}, {"0x0a starting a token - serialise only", - {Item("\na", Item::kTokenType), {}}, + {Item(Item::token, "\na"), {}}, std::nullopt}, {"0x0b starting a token - serialise only", - {Item("\013a", Item::kTokenType), {}}, + {Item(Item::token, "\013a"), {}}, std::nullopt}, {"0x0c starting a token - serialise only", - {Item("\014a", Item::kTokenType), {}}, + {Item(Item::token, "\014a"), {}}, std::nullopt}, {"0x0d starting a token - serialise only", - {Item("\ra", Item::kTokenType), {}}, + {Item(Item::token, "\ra"), {}}, std::nullopt}, {"0x0e starting a token - serialise only", - {Item("\016a", Item::kTokenType), {}}, + {Item(Item::token, "\016a"), {}}, std::nullopt}, {"0x0f starting a token - serialise only", - {Item("\017a", Item::kTokenType), {}}, + {Item(Item::token, "\017a"), {}}, std::nullopt}, {"0x10 starting a token - serialise only", - {Item("\020a", Item::kTokenType), {}}, + {Item(Item::token, "\020a"), {}}, std::nullopt}, {"0x11 starting a token - serialise only", - {Item("\021a", Item::kTokenType), {}}, + {Item(Item::token, "\021a"), {}}, std::nullopt}, {"0x12 starting a token - serialise only", - {Item("\022a", Item::kTokenType), {}}, + {Item(Item::token, "\022a"), {}}, std::nullopt}, {"0x13 starting a token - serialise only", - {Item("\023a", Item::kTokenType), {}}, + {Item(Item::token, "\023a"), {}}, std::nullopt}, {"0x14 starting a token - serialise only", - {Item("\024a", Item::kTokenType), {}}, + {Item(Item::token, "\024a"), {}}, std::nullopt}, {"0x15 starting a token - serialise only", - {Item("\025a", Item::kTokenType), {}}, + {Item(Item::token, "\025a"), {}}, std::nullopt}, {"0x16 starting a token - serialise only", - {Item("\026a", Item::kTokenType), {}}, + {Item(Item::token, "\026a"), {}}, std::nullopt}, {"0x17 starting a token - serialise only", - {Item("\027a", Item::kTokenType), {}}, + {Item(Item::token, "\027a"), {}}, std::nullopt}, {"0x18 starting a token - serialise only", - {Item("\030a", Item::kTokenType), {}}, + {Item(Item::token, "\030a"), {}}, std::nullopt}, {"0x19 starting a token - serialise only", - {Item("\031a", Item::kTokenType), {}}, + {Item(Item::token, "\031a"), {}}, std::nullopt}, {"0x1a starting a token - serialise only", - {Item("\032a", Item::kTokenType), {}}, + {Item(Item::token, "\032a"), {}}, std::nullopt}, {"0x1b starting a token - serialise only", - {Item("\033a", Item::kTokenType), {}}, + {Item(Item::token, "\033a"), {}}, std::nullopt}, {"0x1c starting a token - serialise only", - {Item("\034a", Item::kTokenType), {}}, + {Item(Item::token, "\034a"), {}}, std::nullopt}, {"0x1d starting a token - serialise only", - {Item("\035a", Item::kTokenType), {}}, + {Item(Item::token, "\035a"), {}}, std::nullopt}, {"0x1e starting a token - serialise only", - {Item("\036a", Item::kTokenType), {}}, + {Item(Item::token, "\036a"), {}}, std::nullopt}, {"0x1f starting a token - serialise only", - {Item("\037a", Item::kTokenType), {}}, + {Item(Item::token, "\037a"), {}}, std::nullopt}, {"0x20 starting a token - serialise only", - {Item(" a", Item::kTokenType), {}}, + {Item(Item::token, " a"), {}}, std::nullopt}, {"0x21 starting a token - serialise only", - {Item("!a", Item::kTokenType), {}}, + {Item(Item::token, "!a"), {}}, std::nullopt}, {"0x22 starting a token - serialise only", - {Item("\"a", Item::kTokenType), {}}, + {Item(Item::token, "\"a"), {}}, std::nullopt}, {"0x23 starting a token - serialise only", - {Item("#a", Item::kTokenType), {}}, + {Item(Item::token, "#a"), {}}, std::nullopt}, {"0x24 starting a token - serialise only", - {Item("$a", Item::kTokenType), {}}, + {Item(Item::token, "$a"), {}}, std::nullopt}, {"0x25 starting a token - serialise only", - {Item("%a", Item::kTokenType), {}}, + {Item(Item::token, "%a"), {}}, std::nullopt}, {"0x26 starting a token - serialise only", - {Item("&a", Item::kTokenType), {}}, + {Item(Item::token, "&a"), {}}, std::nullopt}, {"0x27 starting a token - serialise only", - {Item("'a", Item::kTokenType), {}}, + {Item(Item::token, "'a"), {}}, std::nullopt}, {"0x28 starting a token - serialise only", - {Item("(a", Item::kTokenType), {}}, + {Item(Item::token, "(a"), {}}, std::nullopt}, {"0x29 starting a token - serialise only", - {Item(")a", Item::kTokenType), {}}, + {Item(Item::token, ")a"), {}}, std::nullopt}, {"0x2b starting a token - serialise only", - {Item("+a", Item::kTokenType), {}}, + {Item(Item::token, "+a"), {}}, std::nullopt}, {"0x2c starting a token - serialise only", - {Item(",a", Item::kTokenType), {}}, + {Item(Item::token, ",a"), {}}, std::nullopt}, {"0x2d starting a token - serialise only", - {Item("-a", Item::kTokenType), {}}, + {Item(Item::token, "-a"), {}}, std::nullopt}, {"0x2e starting a token - serialise only", - {Item(".a", Item::kTokenType), {}}, + {Item(Item::token, ".a"), {}}, std::nullopt}, {"0x2f starting a token - serialise only", - {Item("/a", Item::kTokenType), {}}, + {Item(Item::token, "/a"), {}}, std::nullopt}, {"0x30 starting a token - serialise only", - {Item("0a", Item::kTokenType), {}}, + {Item(Item::token, "0a"), {}}, std::nullopt}, {"0x31 starting a token - serialise only", - {Item("1a", Item::kTokenType), {}}, + {Item(Item::token, "1a"), {}}, std::nullopt}, {"0x32 starting a token - serialise only", - {Item("2a", Item::kTokenType), {}}, + {Item(Item::token, "2a"), {}}, std::nullopt}, {"0x33 starting a token - serialise only", - {Item("3a", Item::kTokenType), {}}, + {Item(Item::token, "3a"), {}}, std::nullopt}, {"0x34 starting a token - serialise only", - {Item("4a", Item::kTokenType), {}}, + {Item(Item::token, "4a"), {}}, std::nullopt}, {"0x35 starting a token - serialise only", - {Item("5a", Item::kTokenType), {}}, + {Item(Item::token, "5a"), {}}, std::nullopt}, {"0x36 starting a token - serialise only", - {Item("6a", Item::kTokenType), {}}, + {Item(Item::token, "6a"), {}}, std::nullopt}, {"0x37 starting a token - serialise only", - {Item("7a", Item::kTokenType), {}}, + {Item(Item::token, "7a"), {}}, std::nullopt}, {"0x38 starting a token - serialise only", - {Item("8a", Item::kTokenType), {}}, + {Item(Item::token, "8a"), {}}, std::nullopt}, {"0x39 starting a token - serialise only", - {Item("9a", Item::kTokenType), {}}, + {Item(Item::token, "9a"), {}}, std::nullopt}, {"0x3a starting a token - serialise only", - {Item(":a", Item::kTokenType), {}}, + {Item(Item::token, ":a"), {}}, std::nullopt}, {"0x3b starting a token - serialise only", - {Item(";a", Item::kTokenType), {}}, + {Item(Item::token, ";a"), {}}, std::nullopt}, {"0x3c starting a token - serialise only", - {Item("<a", Item::kTokenType), {}}, + {Item(Item::token, "<a"), {}}, std::nullopt}, {"0x3d starting a token - serialise only", - {Item("=a", Item::kTokenType), {}}, + {Item(Item::token, "=a"), {}}, std::nullopt}, {"0x3e starting a token - serialise only", - {Item(">a", Item::kTokenType), {}}, + {Item(Item::token, ">a"), {}}, std::nullopt}, {"0x3f starting a token - serialise only", - {Item("?a", Item::kTokenType), {}}, + {Item(Item::token, "?a"), {}}, std::nullopt}, {"0x40 starting a token - serialise only", - {Item("@a", Item::kTokenType), {}}, + {Item(Item::token, "@a"), {}}, std::nullopt}, {"0x5b starting a token - serialise only", - {Item("[a", Item::kTokenType), {}}, + {Item(Item::token, "[a"), {}}, std::nullopt}, {"0x5c starting a token - serialise only", - {Item("\\a", Item::kTokenType), {}}, + {Item(Item::token, "\\a"), {}}, std::nullopt}, {"0x5d starting a token - serialise only", - {Item("]a", Item::kTokenType), {}}, + {Item(Item::token, "]a"), {}}, std::nullopt}, {"0x5e starting a token - serialise only", - {Item("^a", Item::kTokenType), {}}, + {Item(Item::token, "^a"), {}}, std::nullopt}, {"0x5f starting a token - serialise only", - {Item("_a", Item::kTokenType), {}}, + {Item(Item::token, "_a"), {}}, std::nullopt}, {"0x60 starting a token - serialise only", - {Item("`a", Item::kTokenType), {}}, + {Item(Item::token, "`a"), {}}, std::nullopt}, {"0x7b starting a token - serialise only", - {Item("{a", Item::kTokenType), {}}, + {Item(Item::token, "{a"), {}}, std::nullopt}, {"0x7c starting a token - serialise only", - {Item("|a", Item::kTokenType), {}}, + {Item(Item::token, "|a"), {}}, std::nullopt}, {"0x7d starting a token - serialise only", - {Item("}a", Item::kTokenType), {}}, + {Item(Item::token, "}a"), {}}, std::nullopt}, {"0x7e starting a token - serialise only", - {Item("~a", Item::kTokenType), {}}, + {Item(Item::token, "~a"), {}}, std::nullopt}, {"0x7f starting a token - serialise only", - {Item("\177a", Item::kTokenType), {}}, + {Item(Item::token, "\177a"), {}}, std::nullopt}, }; @@ -8176,571 +8106,571 @@ } serialization_only_list_test_cases[] = { // serialisation-tests/key-generated.json {"0x00 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param(std::string("a\000a", 3), 1)}}}, + {{Item(Item::token, "foo"), {Param(std::string("a\000a", 3), 1)}}}, std::nullopt}, {"0x01 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\001a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\001a", 1)}}}, std::nullopt}, {"0x02 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\002a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\002a", 1)}}}, std::nullopt}, {"0x03 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\003a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\003a", 1)}}}, std::nullopt}, {"0x04 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\004a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\004a", 1)}}}, std::nullopt}, {"0x05 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\005a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\005a", 1)}}}, std::nullopt}, {"0x06 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\006a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\006a", 1)}}}, std::nullopt}, {"0x07 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\007a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\007a", 1)}}}, std::nullopt}, {"0x08 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\010a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\010a", 1)}}}, std::nullopt}, {"0x09 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\ta", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\ta", 1)}}}, std::nullopt}, {"0x0a in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\na", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\na", 1)}}}, std::nullopt}, {"0x0b in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\013a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\013a", 1)}}}, std::nullopt}, {"0x0c in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\014a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\014a", 1)}}}, std::nullopt}, {"0x0d in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\ra", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\ra", 1)}}}, std::nullopt}, {"0x0e in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\016a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\016a", 1)}}}, std::nullopt}, {"0x0f in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\017a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\017a", 1)}}}, std::nullopt}, {"0x10 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\020a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\020a", 1)}}}, std::nullopt}, {"0x11 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\021a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\021a", 1)}}}, std::nullopt}, {"0x12 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\022a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\022a", 1)}}}, std::nullopt}, {"0x13 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\023a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\023a", 1)}}}, std::nullopt}, {"0x14 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\024a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\024a", 1)}}}, std::nullopt}, {"0x15 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\025a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\025a", 1)}}}, std::nullopt}, {"0x16 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\026a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\026a", 1)}}}, std::nullopt}, {"0x17 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\027a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\027a", 1)}}}, std::nullopt}, {"0x18 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\030a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\030a", 1)}}}, std::nullopt}, {"0x19 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\031a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\031a", 1)}}}, std::nullopt}, {"0x1a in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\032a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\032a", 1)}}}, std::nullopt}, {"0x1b in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\033a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\033a", 1)}}}, std::nullopt}, {"0x1c in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\034a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\034a", 1)}}}, std::nullopt}, {"0x1d in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\035a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\035a", 1)}}}, std::nullopt}, {"0x1e in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\036a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\036a", 1)}}}, std::nullopt}, {"0x1f in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\037a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\037a", 1)}}}, std::nullopt}, {"0x20 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a a", 1)}}}, std::nullopt}, {"0x21 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a!a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a!a", 1)}}}, std::nullopt}, {"0x22 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\"a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\"a", 1)}}}, std::nullopt}, {"0x23 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a#a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a#a", 1)}}}, std::nullopt}, {"0x24 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a$a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a$a", 1)}}}, std::nullopt}, {"0x25 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a%a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a%a", 1)}}}, std::nullopt}, {"0x26 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a&a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a&a", 1)}}}, std::nullopt}, {"0x27 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a'a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a'a", 1)}}}, std::nullopt}, {"0x28 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a(a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a(a", 1)}}}, std::nullopt}, {"0x29 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a)a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a)a", 1)}}}, std::nullopt}, {"0x2b in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a+a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a+a", 1)}}}, std::nullopt}, {"0x2c in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a,a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a,a", 1)}}}, std::nullopt}, {"0x2f in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a/a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a/a", 1)}}}, std::nullopt}, {"0x3a in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a:a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a:a", 1)}}}, std::nullopt}, {"0x3b in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a;a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a;a", 1)}}}, std::nullopt}, {"0x3c in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a<a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a<a", 1)}}}, std::nullopt}, {"0x3d in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a=a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a=a", 1)}}}, std::nullopt}, {"0x3e in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a>a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a>a", 1)}}}, std::nullopt}, {"0x3f in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a?a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a?a", 1)}}}, std::nullopt}, {"0x40 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a@a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a@a", 1)}}}, std::nullopt}, {"0x41 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aAa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aAa", 1)}}}, std::nullopt}, {"0x42 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aBa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aBa", 1)}}}, std::nullopt}, {"0x43 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aCa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aCa", 1)}}}, std::nullopt}, {"0x44 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aDa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aDa", 1)}}}, std::nullopt}, {"0x45 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aEa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aEa", 1)}}}, std::nullopt}, {"0x46 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aFa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aFa", 1)}}}, std::nullopt}, {"0x47 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aGa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aGa", 1)}}}, std::nullopt}, {"0x48 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aHa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aHa", 1)}}}, std::nullopt}, {"0x49 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aIa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aIa", 1)}}}, std::nullopt}, {"0x4a in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aJa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aJa", 1)}}}, std::nullopt}, {"0x4b in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aKa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aKa", 1)}}}, std::nullopt}, {"0x4c in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aLa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aLa", 1)}}}, std::nullopt}, {"0x4d in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aMa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aMa", 1)}}}, std::nullopt}, {"0x4e in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aNa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aNa", 1)}}}, std::nullopt}, {"0x4f in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aOa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aOa", 1)}}}, std::nullopt}, {"0x50 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aPa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aPa", 1)}}}, std::nullopt}, {"0x51 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aQa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aQa", 1)}}}, std::nullopt}, {"0x52 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aRa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aRa", 1)}}}, std::nullopt}, {"0x53 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aSa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aSa", 1)}}}, std::nullopt}, {"0x54 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aTa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aTa", 1)}}}, std::nullopt}, {"0x55 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aUa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aUa", 1)}}}, std::nullopt}, {"0x56 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aVa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aVa", 1)}}}, std::nullopt}, {"0x57 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aWa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aWa", 1)}}}, std::nullopt}, {"0x58 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aXa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aXa", 1)}}}, std::nullopt}, {"0x59 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aYa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aYa", 1)}}}, std::nullopt}, {"0x5a in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("aZa", 1)}}}, + {{Item(Item::token, "foo"), {Param("aZa", 1)}}}, std::nullopt}, {"0x5b in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a[a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a[a", 1)}}}, std::nullopt}, {"0x5c in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\\a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\\a", 1)}}}, std::nullopt}, {"0x5d in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a]a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a]a", 1)}}}, std::nullopt}, {"0x5e in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a^a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a^a", 1)}}}, std::nullopt}, {"0x60 in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a`a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a`a", 1)}}}, std::nullopt}, {"0x7b in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a{a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a{a", 1)}}}, std::nullopt}, {"0x7c in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a|a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a|a", 1)}}}, std::nullopt}, {"0x7d in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a}a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a}a", 1)}}}, std::nullopt}, {"0x7e in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a~a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a~a", 1)}}}, std::nullopt}, {"0x7f in parameterised list key - serialise only", - {{Item("foo", Item::kTokenType), {Param("a\177a", 1)}}}, + {{Item(Item::token, "foo"), {Param("a\177a", 1)}}}, std::nullopt}, {"0x00 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param(std::string("\000a", 2), 1)}}}, + {{Item(Item::token, "foo"), {Param(std::string("\000a", 2), 1)}}}, std::nullopt}, {"0x01 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\001a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\001a", 1)}}}, std::nullopt}, {"0x02 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\002a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\002a", 1)}}}, std::nullopt}, {"0x03 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\003a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\003a", 1)}}}, std::nullopt}, {"0x04 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\004a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\004a", 1)}}}, std::nullopt}, {"0x05 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\005a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\005a", 1)}}}, std::nullopt}, {"0x06 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\006a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\006a", 1)}}}, std::nullopt}, {"0x07 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\007a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\007a", 1)}}}, std::nullopt}, {"0x08 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\010a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\010a", 1)}}}, std::nullopt}, {"0x09 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\ta", 1)}}}, + {{Item(Item::token, "foo"), {Param("\ta", 1)}}}, std::nullopt}, {"0x0a starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\na", 1)}}}, + {{Item(Item::token, "foo"), {Param("\na", 1)}}}, std::nullopt}, {"0x0b starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\013a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\013a", 1)}}}, std::nullopt}, {"0x0c starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\014a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\014a", 1)}}}, std::nullopt}, {"0x0d starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\ra", 1)}}}, + {{Item(Item::token, "foo"), {Param("\ra", 1)}}}, std::nullopt}, {"0x0e starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\016a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\016a", 1)}}}, std::nullopt}, {"0x0f starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\017a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\017a", 1)}}}, std::nullopt}, {"0x10 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\020a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\020a", 1)}}}, std::nullopt}, {"0x11 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\021a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\021a", 1)}}}, std::nullopt}, {"0x12 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\022a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\022a", 1)}}}, std::nullopt}, {"0x13 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\023a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\023a", 1)}}}, std::nullopt}, {"0x14 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\024a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\024a", 1)}}}, std::nullopt}, {"0x15 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\025a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\025a", 1)}}}, std::nullopt}, {"0x16 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\026a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\026a", 1)}}}, std::nullopt}, {"0x17 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\027a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\027a", 1)}}}, std::nullopt}, {"0x18 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\030a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\030a", 1)}}}, std::nullopt}, {"0x19 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\031a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\031a", 1)}}}, std::nullopt}, {"0x1a starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\032a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\032a", 1)}}}, std::nullopt}, {"0x1b starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\033a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\033a", 1)}}}, std::nullopt}, {"0x1c starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\034a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\034a", 1)}}}, std::nullopt}, {"0x1d starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\035a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\035a", 1)}}}, std::nullopt}, {"0x1e starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\036a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\036a", 1)}}}, std::nullopt}, {"0x1f starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\037a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\037a", 1)}}}, std::nullopt}, {"0x20 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param(" a", 1)}}}, + {{Item(Item::token, "foo"), {Param(" a", 1)}}}, std::nullopt}, {"0x21 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("!a", 1)}}}, + {{Item(Item::token, "foo"), {Param("!a", 1)}}}, std::nullopt}, {"0x22 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\"a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\"a", 1)}}}, std::nullopt}, {"0x23 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("#a", 1)}}}, + {{Item(Item::token, "foo"), {Param("#a", 1)}}}, std::nullopt}, {"0x24 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("$a", 1)}}}, + {{Item(Item::token, "foo"), {Param("$a", 1)}}}, std::nullopt}, {"0x25 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("%a", 1)}}}, + {{Item(Item::token, "foo"), {Param("%a", 1)}}}, std::nullopt}, {"0x26 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("&a", 1)}}}, + {{Item(Item::token, "foo"), {Param("&a", 1)}}}, std::nullopt}, {"0x27 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("'a", 1)}}}, + {{Item(Item::token, "foo"), {Param("'a", 1)}}}, std::nullopt}, {"0x28 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("(a", 1)}}}, + {{Item(Item::token, "foo"), {Param("(a", 1)}}}, std::nullopt}, {"0x29 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param(")a", 1)}}}, + {{Item(Item::token, "foo"), {Param(")a", 1)}}}, std::nullopt}, {"0x2b starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("+a", 1)}}}, + {{Item(Item::token, "foo"), {Param("+a", 1)}}}, std::nullopt}, {"0x2c starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param(",a", 1)}}}, + {{Item(Item::token, "foo"), {Param(",a", 1)}}}, std::nullopt}, {"0x2d starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("-a", 1)}}}, + {{Item(Item::token, "foo"), {Param("-a", 1)}}}, std::nullopt}, {"0x2e starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param(".a", 1)}}}, + {{Item(Item::token, "foo"), {Param(".a", 1)}}}, std::nullopt}, {"0x2f starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("/a", 1)}}}, + {{Item(Item::token, "foo"), {Param("/a", 1)}}}, std::nullopt}, {"0x30 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("0a", 1)}}}, + {{Item(Item::token, "foo"), {Param("0a", 1)}}}, std::nullopt}, {"0x31 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("1a", 1)}}}, + {{Item(Item::token, "foo"), {Param("1a", 1)}}}, std::nullopt}, {"0x32 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("2a", 1)}}}, + {{Item(Item::token, "foo"), {Param("2a", 1)}}}, std::nullopt}, {"0x33 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("3a", 1)}}}, + {{Item(Item::token, "foo"), {Param("3a", 1)}}}, std::nullopt}, {"0x34 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("4a", 1)}}}, + {{Item(Item::token, "foo"), {Param("4a", 1)}}}, std::nullopt}, {"0x35 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("5a", 1)}}}, + {{Item(Item::token, "foo"), {Param("5a", 1)}}}, std::nullopt}, {"0x36 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("6a", 1)}}}, + {{Item(Item::token, "foo"), {Param("6a", 1)}}}, std::nullopt}, {"0x37 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("7a", 1)}}}, + {{Item(Item::token, "foo"), {Param("7a", 1)}}}, std::nullopt}, {"0x38 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("8a", 1)}}}, + {{Item(Item::token, "foo"), {Param("8a", 1)}}}, std::nullopt}, {"0x39 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("9a", 1)}}}, + {{Item(Item::token, "foo"), {Param("9a", 1)}}}, std::nullopt}, {"0x3a starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param(":a", 1)}}}, + {{Item(Item::token, "foo"), {Param(":a", 1)}}}, std::nullopt}, {"0x3b starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param(";a", 1)}}}, + {{Item(Item::token, "foo"), {Param(";a", 1)}}}, std::nullopt}, {"0x3c starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("<a", 1)}}}, + {{Item(Item::token, "foo"), {Param("<a", 1)}}}, std::nullopt}, {"0x3d starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("=a", 1)}}}, + {{Item(Item::token, "foo"), {Param("=a", 1)}}}, std::nullopt}, {"0x3e starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param(">a", 1)}}}, + {{Item(Item::token, "foo"), {Param(">a", 1)}}}, std::nullopt}, {"0x3f starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("?a", 1)}}}, + {{Item(Item::token, "foo"), {Param("?a", 1)}}}, std::nullopt}, {"0x40 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("@a", 1)}}}, + {{Item(Item::token, "foo"), {Param("@a", 1)}}}, std::nullopt}, {"0x41 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Aa", 1)}}}, + {{Item(Item::token, "foo"), {Param("Aa", 1)}}}, std::nullopt}, {"0x42 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Ba", 1)}}}, + {{Item(Item::token, "foo"), {Param("Ba", 1)}}}, std::nullopt}, {"0x43 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Ca", 1)}}}, + {{Item(Item::token, "foo"), {Param("Ca", 1)}}}, std::nullopt}, {"0x44 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Da", 1)}}}, + {{Item(Item::token, "foo"), {Param("Da", 1)}}}, std::nullopt}, {"0x45 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Ea", 1)}}}, + {{Item(Item::token, "foo"), {Param("Ea", 1)}}}, std::nullopt}, {"0x46 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Fa", 1)}}}, + {{Item(Item::token, "foo"), {Param("Fa", 1)}}}, std::nullopt}, {"0x47 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Ga", 1)}}}, + {{Item(Item::token, "foo"), {Param("Ga", 1)}}}, std::nullopt}, {"0x48 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Ha", 1)}}}, + {{Item(Item::token, "foo"), {Param("Ha", 1)}}}, std::nullopt}, {"0x49 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Ia", 1)}}}, + {{Item(Item::token, "foo"), {Param("Ia", 1)}}}, std::nullopt}, {"0x4a starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Ja", 1)}}}, + {{Item(Item::token, "foo"), {Param("Ja", 1)}}}, std::nullopt}, {"0x4b starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Ka", 1)}}}, + {{Item(Item::token, "foo"), {Param("Ka", 1)}}}, std::nullopt}, {"0x4c starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("La", 1)}}}, + {{Item(Item::token, "foo"), {Param("La", 1)}}}, std::nullopt}, {"0x4d starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Ma", 1)}}}, + {{Item(Item::token, "foo"), {Param("Ma", 1)}}}, std::nullopt}, {"0x4e starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Na", 1)}}}, + {{Item(Item::token, "foo"), {Param("Na", 1)}}}, std::nullopt}, {"0x4f starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Oa", 1)}}}, + {{Item(Item::token, "foo"), {Param("Oa", 1)}}}, std::nullopt}, {"0x50 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Pa", 1)}}}, + {{Item(Item::token, "foo"), {Param("Pa", 1)}}}, std::nullopt}, {"0x51 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Qa", 1)}}}, + {{Item(Item::token, "foo"), {Param("Qa", 1)}}}, std::nullopt}, {"0x52 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Ra", 1)}}}, + {{Item(Item::token, "foo"), {Param("Ra", 1)}}}, std::nullopt}, {"0x53 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Sa", 1)}}}, + {{Item(Item::token, "foo"), {Param("Sa", 1)}}}, std::nullopt}, {"0x54 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Ta", 1)}}}, + {{Item(Item::token, "foo"), {Param("Ta", 1)}}}, std::nullopt}, {"0x55 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Ua", 1)}}}, + {{Item(Item::token, "foo"), {Param("Ua", 1)}}}, std::nullopt}, {"0x56 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Va", 1)}}}, + {{Item(Item::token, "foo"), {Param("Va", 1)}}}, std::nullopt}, {"0x57 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Wa", 1)}}}, + {{Item(Item::token, "foo"), {Param("Wa", 1)}}}, std::nullopt}, {"0x58 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Xa", 1)}}}, + {{Item(Item::token, "foo"), {Param("Xa", 1)}}}, std::nullopt}, {"0x59 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Ya", 1)}}}, + {{Item(Item::token, "foo"), {Param("Ya", 1)}}}, std::nullopt}, {"0x5a starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("Za", 1)}}}, + {{Item(Item::token, "foo"), {Param("Za", 1)}}}, std::nullopt}, {"0x5b starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("[a", 1)}}}, + {{Item(Item::token, "foo"), {Param("[a", 1)}}}, std::nullopt}, {"0x5c starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\\a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\\a", 1)}}}, std::nullopt}, {"0x5d starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("]a", 1)}}}, + {{Item(Item::token, "foo"), {Param("]a", 1)}}}, std::nullopt}, {"0x5e starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("^a", 1)}}}, + {{Item(Item::token, "foo"), {Param("^a", 1)}}}, std::nullopt}, {"0x5f starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("_a", 1)}}}, + {{Item(Item::token, "foo"), {Param("_a", 1)}}}, std::nullopt}, {"0x60 starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("`a", 1)}}}, + {{Item(Item::token, "foo"), {Param("`a", 1)}}}, std::nullopt}, {"0x7b starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("{a", 1)}}}, + {{Item(Item::token, "foo"), {Param("{a", 1)}}}, std::nullopt}, {"0x7c starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("|a", 1)}}}, + {{Item(Item::token, "foo"), {Param("|a", 1)}}}, std::nullopt}, {"0x7d starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("}a", 1)}}}, + {{Item(Item::token, "foo"), {Param("}a", 1)}}}, std::nullopt}, {"0x7e starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("~a", 1)}}}, + {{Item(Item::token, "foo"), {Param("~a", 1)}}}, std::nullopt}, {"0x7f starting a parameterised list key", - {{Item("foo", Item::kTokenType), {Param("\177a", 1)}}}, + {{Item(Item::token, "foo"), {Param("\177a", 1)}}}, std::nullopt}, };
diff --git a/quiche/common/structured_headers_test.cc b/quiche/common/structured_headers_test.cc index d2cfc7f..e126103 100644 --- a/quiche/common/structured_headers_test.cc +++ b/quiche/common/structured_headers_test.cc
@@ -19,38 +19,39 @@ // Helpers to make test cases clearer -Item Token(std::string value) { return Item(value, Item::kTokenType); } +Item Token(absl::string_view value) { return Item(Item::token, value); } Item Integer(int64_t value) { return Item(value); } // Parameter with null value, only used in Structured Headers Draft 09 std::pair<std::string, Item> NullParam(std::string key) { - return std::make_pair(key, Item()); + return std::make_pair(std::move(key), Item()); } std::pair<std::string, Item> BooleanParam(std::string key, bool value) { - return std::make_pair(key, Item(value)); + return std::make_pair(std::move(key), Item(value)); } std::pair<std::string, Item> DoubleParam(std::string key, double value) { - return std::make_pair(key, Item(value)); + return std::make_pair(std::move(key), Item(value)); } std::pair<std::string, Item> Param(std::string key, int64_t value) { - return std::make_pair(key, Item(value)); + return std::make_pair(std::move(key), Item(value)); } -std::pair<std::string, Item> Param(std::string key, std::string value) { - return std::make_pair(key, Item(value)); +std::pair<std::string, Item> Param(std::string key, absl::string_view value) { + return std::make_pair(std::move(key), Item(Item::string, value)); } std::pair<std::string, Item> ByteSequenceParam(std::string key, - std::string value) { - return std::make_pair(key, Item(value, Item::kByteSequenceType)); + absl::string_view value) { + return std::make_pair(std::move(key), Item(Item::byte_sequence, value)); } -std::pair<std::string, Item> TokenParam(std::string key, std::string value) { - return std::make_pair(key, Token(value)); +std::pair<std::string, Item> TokenParam(std::string key, + absl::string_view value) { + return std::make_pair(std::move(key), Token(value)); } // Test cases taken from https://github.com/httpwg/structured-header-tests can @@ -79,22 +80,26 @@ {"trailing decimal", "1.", Item(1.0), "1.0", /*strict=*/false}, {"trailing decimal strict", "1.", std::nullopt, nullptr, /*strict=*/true}, // String - {"basic string", "\"foo\"", Item("foo"), nullptr}, + {"basic string", "\"foo\"", Item(Item::string, "foo"), nullptr}, {"non-ascii string", "\"f\xC3\xBC\xC3\xBC\"", std::nullopt, nullptr}, // Additional tests - {"valid quoting containing \\n", "\"\\\\n\"", Item("\\n"), nullptr}, - {"valid quoting containing \\t", "\"\\\\t\"", Item("\\t"), nullptr}, - {"valid quoting containing \\x", "\"\\\\x61\"", Item("\\x61"), nullptr}, + {"valid quoting containing \\n", "\"\\\\n\"", Item(Item::string, "\\n"), + nullptr}, + {"valid quoting containing \\t", "\"\\\\t\"", Item(Item::string, "\\t"), + nullptr}, + {"valid quoting containing \\x", "\"\\\\x61\"", Item(Item::string, "\\x61"), + nullptr}, {"c-style hex escape in string", "\"\\x61\"", std::nullopt, nullptr}, - {"valid quoting containing \\u", "\"\\\\u0061\"", Item("\\u0061"), nullptr}, + {"valid quoting containing \\u", "\"\\\\u0061\"", + Item(Item::string, "\\u0061"), nullptr}, {"c-style unicode escape in string", "\"\\u0061\"", std::nullopt, nullptr}, // TODO(b/393153699): This input should be rejected. - {"bad padding dot", ":YQ=.:", Item("a", Item::kByteSequenceType), + {"bad padding dot", ":YQ=.:", Item(Item::byte_sequence, "a"), ":YQ==:", /*strict=*/false}, {"bad padding dot strict", ":YQ=.:", std::nullopt, ":YQ==:", /*strict=*/true}, // TODO(b/393408763): This input should be rejected. - {"all whitespace", ": :", Item("", Item::kByteSequenceType), + {"all whitespace", ": :", Item(Item::byte_sequence, ""), "::", /*strict=*/false}, {"all whitespace strict", ": :", std::nullopt, "::", /*strict=*/true}, }; @@ -109,18 +114,17 @@ {"too large negative integer", "-9223372036854775808", std::nullopt, nullptr}, // Byte Sequence - {"basic binary", "*aGVsbG8=*", Item("hello", Item::kByteSequenceType), - nullptr}, - {"empty binary", "**", Item("", Item::kByteSequenceType), nullptr}, - {"bad paddding", "*aGVsbG8*", Item("hello", Item::kByteSequenceType), + {"basic binary", "*aGVsbG8=*", Item(Item::byte_sequence, "hello"), nullptr}, + {"empty binary", "**", Item(Item::byte_sequence, ""), nullptr}, + {"bad paddding", "*aGVsbG8*", Item(Item::byte_sequence, "hello"), "*aGVsbG8=*"}, {"bad end delimiter", "*aGVsbG8=", std::nullopt, nullptr}, {"extra whitespace", "*aGVsb G8=*", std::nullopt, nullptr}, {"extra chars", "*aGVsbG!8=*", std::nullopt, nullptr}, {"suffix chars", "*aGVsbG8=!*", std::nullopt, nullptr}, - {"non-zero pad bits", "*iZ==*", Item("\x89", Item::kByteSequenceType), + {"non-zero pad bits", "*iZ==*", Item(Item::byte_sequence, "\x89"), "*iQ==*"}, - {"non-ASCII binary", "*/+Ah*", Item("\xFF\xE0!", Item::kByteSequenceType), + {"non-ASCII binary", "*/+Ah*", Item(Item::byte_sequence, "\xFF\xE0!"), nullptr}, {"base64url binary", "*_-Ah*", std::nullopt, nullptr}, {"token with leading asterisk", "*foo", std::nullopt, nullptr}, @@ -256,8 +260,8 @@ } dictionary_test_cases[] = { {"basic dictionary", "en=\"Applepie\", da=:aGVsbG8=:", - {Dictionary{{{"en", {Item("Applepie"), {}}}, - {"da", {Item("hello", Item::kByteSequenceType), {}}}}}}, + {Dictionary{{{"en", {Item(Item::string, "Applepie"), {}}}, + {"da", {Item(Item::byte_sequence, "hello"), {}}}}}}, nullptr}, {"tab separated dictionary", "a=1\t,\tb=2", @@ -273,8 +277,9 @@ {"parameterised inner list member dict", "a=(\"1\";b=1;c=?0 \"2\");d=\"e\"", {Dictionary{{{"a", - {{{Item("1"), {Param("b", 1), BooleanParam("c", false)}}, - {Item("2"), {}}}, + {{{Item(Item::string, "1"), + {Param("b", 1), BooleanParam("c", false)}}, + {Item(Item::string, "2"), {}}}, {Param("d", "e")}}}}}}, nullptr}, {"explicit true value with parameter", @@ -550,8 +555,8 @@ }; for (const auto& bad_key : bad_keys) { SCOPED_TRACE(bad_key.name); - std::optional<std::string> serialization = - SerializeItem(ParameterizedItem("a", {{bad_key.value, "a"}})); + std::optional<std::string> serialization = SerializeItem(ParameterizedItem( + Item(Item::string, "a"), {{bad_key.value, Item(Item::string, "a")}})); EXPECT_FALSE(serialization.has_value()) << *serialization; } } @@ -572,7 +577,7 @@ for (const auto& bad_string : bad_strings) { SCOPED_TRACE(bad_string.name); std::optional<std::string> serialization = - SerializeItem(Item(bad_string.value)); + SerializeItem(Item(Item::string, bad_string.value)); EXPECT_FALSE(serialization.has_value()) << *serialization; } } @@ -687,8 +692,8 @@ TEST(StructuredHeaderTest, DictionaryConstructors) { const std::string key0 = "key0"; const std::string key1 = "key1"; - const ParameterizedMember member0(Item("Applepie")); - const ParameterizedMember member1(Item("hello", Item::kByteSequenceType)); + const ParameterizedMember member0(Item(Item::string, "Applepie")); + const ParameterizedMember member1(Item(Item::byte_sequence, "hello")); Dictionary dict; EXPECT_TRUE(dict.empty()); @@ -711,7 +716,7 @@ TEST(StructuredHeaderTest, DictionaryClear) { const std::string key0 = "key0"; - const ParameterizedMember member0(Item("Applepie")); + const ParameterizedMember member0(Item(Item::string, "Applepie")); Dictionary dict({{key0, member0}}); EXPECT_EQ(1U, dict.size()); @@ -728,9 +733,9 @@ const std::string key0 = "key0"; const std::string key1 = "key1"; - const ParameterizedMember nonempty_member0(Item("Applepie")); + const ParameterizedMember nonempty_member0(Item(Item::string, "Applepie")); const ParameterizedMember nonempty_member1( - Item("hello", Item::kByteSequenceType)); + Item(Item::byte_sequence, "hello")); const ParameterizedMember empty_member; Dictionary dict{{{key0, nonempty_member0}}}; @@ -796,7 +801,7 @@ } TEST(StructuredHeaderTest, GetIfToken) { - const Item kValue("abc", Item::kTokenType); + const Item kValue(Item::token, "abc"); EXPECT_FALSE(kValue.GetIfByteSequence()); EXPECT_FALSE(kValue.GetIfString()); const std::string* ptr = kValue.GetIfToken(); @@ -805,7 +810,7 @@ } TEST(StructuredHeaderTest, GetIfByteSequence) { - const Item kValue("def", Item::kByteSequenceType); + const Item kValue(Item::byte_sequence, "def"); EXPECT_FALSE(kValue.GetIfString()); EXPECT_FALSE(kValue.GetIfToken()); const std::string* ptr = kValue.GetIfByteSequence(); @@ -813,6 +818,39 @@ EXPECT_EQ(*ptr, "def"); } +TEST(StructuredHeaderTest, TagBasedConstructors) { + using ::testing::Eq; + using ::testing::Pointee; + + constexpr absl::string_view kWithNull("a\0b", 3); + + EXPECT_THAT(Item(Item::string, "hello").GetIfString(), Pointee(Eq("hello"))); + EXPECT_THAT(Item(Item::string, absl::string_view("world")).GetIfString(), + Pointee(Eq("world"))); + EXPECT_THAT(Item(Item::string, std::string("foo")).GetIfString(), + Pointee(Eq("foo"))); + EXPECT_THAT(Item(Item::string, kWithNull).GetIfString(), + Pointee(Eq(kWithNull))); + + EXPECT_THAT(Item(Item::token, "hello").GetIfToken(), Pointee(Eq("hello"))); + EXPECT_THAT(Item(Item::token, absl::string_view("world")).GetIfToken(), + Pointee(Eq("world"))); + EXPECT_THAT(Item(Item::token, std::string("foo")).GetIfToken(), + Pointee(Eq("foo"))); + EXPECT_THAT(Item(Item::token, kWithNull).GetIfToken(), + Pointee(Eq(kWithNull))); + + EXPECT_THAT(Item(Item::byte_sequence, "hello").GetIfByteSequence(), + Pointee(Eq("hello"))); + EXPECT_THAT( + Item(Item::byte_sequence, absl::string_view("world")).GetIfByteSequence(), + Pointee(Eq("world"))); + EXPECT_THAT(Item(Item::byte_sequence, std::string("foo")).GetIfByteSequence(), + Pointee(Eq("foo"))); + EXPECT_THAT(Item(Item::byte_sequence, kWithNull).GetIfByteSequence(), + Pointee(Eq(kWithNull))); +} + TEST(StructuredHeaderTest, ParameterizedMemberGetWithParams) { { // Ensure the getters do not crash on the inconsistent state produced by the
diff --git a/quiche/web_transport/web_transport_headers.cc b/quiche/web_transport/web_transport_headers.cc index e96095b..d5a7931 100644 --- a/quiche/web_transport/web_transport_headers.cc +++ b/quiche/web_transport/web_transport_headers.cc
@@ -100,7 +100,7 @@ quiche::structured_headers::List list; list.reserve(subprotocols.size()); for (const std::string& subprotocol : subprotocols) { - list.emplace_back(Item(subprotocol)); + list.emplace_back(Item(Item::string, subprotocol)); } std::optional<std::string> serialized = @@ -123,7 +123,7 @@ absl::StatusOr<std::string> SerializeSubprotocolResponseHeader( absl::string_view subprotocol) { - Item item(std::string(subprotocol), Item::kStringType); + Item item(Item::string, subprotocol); std::optional<std::string> serialized = quiche::structured_headers::SerializeItem(item); if (!serialized.has_value()) {