/*
* Copyright (C) 2020-2026 Alexander Borisov
*
* Author: Alexander Borisov <borisov@lexbor.com>
*/
/*
* Caution!
* This file generated by the script "utils/lexbor/css/selectors/pseudo.py"!
* Do not change this file!
*/
#ifndef LXB_CSS_SELECTOS_PSEUDO_RES_H
#define LXB_CSS_SELECTOS_PSEUDO_RES_H
#include "lexbor/core/shs.h"
#include "lexbor/css/selectors/pseudo_const.h"
static const lxb_css_selectors_pseudo_data_t lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS__LAST_ENTRY] =
{
{(lxb_char_t *) "#undef", 6, LXB_CSS_SELECTOR_PSEUDO_CLASS__UNDEF},
{(lxb_char_t *) "active", 6, LXB_CSS_SELECTOR_PSEUDO_CLASS_ACTIVE},
{(lxb_char_t *) "any-link", 8, LXB_CSS_SELECTOR_PSEUDO_CLASS_ANY_LINK},
{(lxb_char_t *) "blank", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_BLANK},
{(lxb_char_t *) "checked", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_CHECKED},
{(lxb_char_t *) "current", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_CURRENT},
{(lxb_char_t *) "default", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_DEFAULT},
{(lxb_char_t *) "disabled", 8, LXB_CSS_SELECTOR_PSEUDO_CLASS_DISABLED},
{(lxb_char_t *) "empty", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_EMPTY},
{(lxb_char_t *) "enabled", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_ENABLED},
{(lxb_char_t *) "first-child", 11, LXB_CSS_SELECTOR_PSEUDO_CLASS_FIRST_CHILD},
{(lxb_char_t *) "first-of-type", 13, LXB_CSS_SELECTOR_PSEUDO_CLASS_FIRST_OF_TYPE},
{(lxb_char_t *) "focus", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_FOCUS},
{(lxb_char_t *) "focus-visible", 13, LXB_CSS_SELECTOR_PSEUDO_CLASS_FOCUS_VISIBLE},
{(lxb_char_t *) "focus-within", 12, LXB_CSS_SELECTOR_PSEUDO_CLASS_FOCUS_WITHIN},
{(lxb_char_t *) "fullscreen", 10, LXB_CSS_SELECTOR_PSEUDO_CLASS_FULLSCREEN},
{(lxb_char_t *) "future", 6, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUTURE},
{(lxb_char_t *) "hover", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_HOVER},
{(lxb_char_t *) "in-range", 8, LXB_CSS_SELECTOR_PSEUDO_CLASS_IN_RANGE},
{(lxb_char_t *) "indeterminate", 13, LXB_CSS_SELECTOR_PSEUDO_CLASS_INDETERMINATE},
{(lxb_char_t *) "invalid", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_INVALID},
{(lxb_char_t *) "last-child", 10, LXB_CSS_SELECTOR_PSEUDO_CLASS_LAST_CHILD},
{(lxb_char_t *) "last-of-type", 12, LXB_CSS_SELECTOR_PSEUDO_CLASS_LAST_OF_TYPE},
{(lxb_char_t *) "link", 4, LXB_CSS_SELECTOR_PSEUDO_CLASS_LINK},
{(lxb_char_t *) "local-link", 10, LXB_CSS_SELECTOR_PSEUDO_CLASS_LOCAL_LINK},
{(lxb_char_t *) "only-child", 10, LXB_CSS_SELECTOR_PSEUDO_CLASS_ONLY_CHILD},
{(lxb_char_t *) "only-of-type", 12, LXB_CSS_SELECTOR_PSEUDO_CLASS_ONLY_OF_TYPE},
{(lxb_char_t *) "optional", 8, LXB_CSS_SELECTOR_PSEUDO_CLASS_OPTIONAL},
{(lxb_char_t *) "out-of-range", 12, LXB_CSS_SELECTOR_PSEUDO_CLASS_OUT_OF_RANGE},
{(lxb_char_t *) "past", 4, LXB_CSS_SELECTOR_PSEUDO_CLASS_PAST},
{(lxb_char_t *) "placeholder-shown", 17, LXB_CSS_SELECTOR_PSEUDO_CLASS_PLACEHOLDER_SHOWN},
{(lxb_char_t *) "read-only", 9, LXB_CSS_SELECTOR_PSEUDO_CLASS_READ_ONLY},
{(lxb_char_t *) "read-write", 10, LXB_CSS_SELECTOR_PSEUDO_CLASS_READ_WRITE},
{(lxb_char_t *) "required", 8, LXB_CSS_SELECTOR_PSEUDO_CLASS_REQUIRED},
{(lxb_char_t *) "root", 4, LXB_CSS_SELECTOR_PSEUDO_CLASS_ROOT},
{(lxb_char_t *) "scope", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_SCOPE},
{(lxb_char_t *) "target", 6, LXB_CSS_SELECTOR_PSEUDO_CLASS_TARGET},
{(lxb_char_t *) "target-within", 13, LXB_CSS_SELECTOR_PSEUDO_CLASS_TARGET_WITHIN},
{(lxb_char_t *) "user-invalid", 12, LXB_CSS_SELECTOR_PSEUDO_CLASS_USER_INVALID},
{(lxb_char_t *) "valid", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_VALID},
{(lxb_char_t *) "visited", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_VISITED},
{(lxb_char_t *) "warning", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_WARNING}
};
static const lxb_css_selectors_pseudo_data_func_t lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION__LAST_ENTRY] =
{
{(lxb_char_t *) "#undef", 6, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION__UNDEF,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function__undef,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_end}, false, false},
{(lxb_char_t *) "current", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_CURRENT,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function_current,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_end}, false, true},
{(lxb_char_t *) "dir", 3, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_DIR,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function_dir,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_end}, false, false},
{(lxb_char_t *) "has", 3, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_HAS,
false, LXB_CSS_SELECTOR_COMBINATOR_DESCENDANT,
{.value = lxb_css_selectors_state_pseudo_class_function_has,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_forgiving_relative}, true, true},
{(lxb_char_t *) "is", 2, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_IS,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function_is,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_forgiving}, true, true},
{(lxb_char_t *) "lang", 4, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_LANG,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function_lang,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_end}, false, false},
{(lxb_char_t *) "lexbor-contains", 15, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_LEXBOR_CONTAINS,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function_lexbor_contains,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_end}, false, false},
{(lxb_char_t *) "not", 3, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NOT,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function_not,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_end}, false, true},
{(lxb_char_t *) "nth-child", 9, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_CHILD,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function_nth_child,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_end}, false, true},
{(lxb_char_t *) "nth-col", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_COL,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function_nth_col,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_end}, false, false},
{(lxb_char_t *) "nth-last-child", 14, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_CHILD,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function_nth_last_child,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_end}, false, true},
{(lxb_char_t *) "nth-last-col", 12, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_COL,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function_nth_last_col,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_end}, false, false},
{(lxb_char_t *) "nth-last-of-type", 16, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_OF_TYPE,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function_nth_last_of_type,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_end}, false, false},
{(lxb_char_t *) "nth-of-type", 11, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_OF_TYPE,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function_nth_of_type,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_end}, false, false},
{(lxb_char_t *) "where", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_WHERE,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_class_function_where,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_forgiving}, true, true}
};
static const lxb_css_selectors_pseudo_data_t lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT__LAST_ENTRY] =
{
{(lxb_char_t *) "#undef", 6, LXB_CSS_SELECTOR_PSEUDO_ELEMENT__UNDEF},
{(lxb_char_t *) "after", 5, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_AFTER},
{(lxb_char_t *) "backdrop", 8, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_BACKDROP},
{(lxb_char_t *) "before", 6, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_BEFORE},
{(lxb_char_t *) "first-letter", 12, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FIRST_LETTER},
{(lxb_char_t *) "first-line", 10, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FIRST_LINE},
{(lxb_char_t *) "grammar-error", 13, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_GRAMMAR_ERROR},
{(lxb_char_t *) "inactive-selection", 18, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_INACTIVE_SELECTION},
{(lxb_char_t *) "marker", 6, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_MARKER},
{(lxb_char_t *) "placeholder", 11, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_PLACEHOLDER},
{(lxb_char_t *) "selection", 9, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_SELECTION},
{(lxb_char_t *) "spelling-error", 14, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_SPELLING_ERROR},
{(lxb_char_t *) "target-text", 11, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_TARGET_TEXT}
};
static const lxb_css_selectors_pseudo_data_func_t lxb_css_selectors_pseudo_data_pseudo_element_function[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FUNCTION__LAST_ENTRY] =
{
{(lxb_char_t *) "#undef", 6, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FUNCTION__UNDEF,
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
{.value = lxb_css_selectors_state_pseudo_element_function__undef,
.cb.failed = lxb_css_state_failed, .cb.end = lxb_css_selectors_state_function_end}, false, false}
};
static const lexbor_shs_entry_t lxb_css_selectors_pseudo_class_shs[79] =
{
{NULL, NULL, 78, 0},
{"focus-visible", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FOCUS_VISIBLE], 13, 0},
{"first-of-type", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FIRST_OF_TYPE], 13, 1},
{"in-range", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_IN_RANGE], 8, 0},
{"out-of-range", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_OUT_OF_RANGE], 12, 0},
{"read-write", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_READ_WRITE], 10, 0},
{"hover", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_HOVER], 5, 3},
{"enabled", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_ENABLED], 7, 0},
{"fullscreen", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FULLSCREEN], 10, 0},
{"placeholder-shown", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_PLACEHOLDER_SHOWN], 17, 0},
{"target-within", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_TARGET_WITHIN], 13, 0},
{"indeterminate", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_INDETERMINATE], 13, 0},
{"local-link", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_LOCAL_LINK], 10, 0},
{"user-invalid", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_USER_INVALID], 12, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"past", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_PAST], 4, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"only-of-type", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_ONLY_OF_TYPE], 12, 4},
{"only-child", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_ONLY_CHILD], 10, 5},
{"focus", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FOCUS], 5, 7},
{NULL, NULL, 0, 0},
{"any-link", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_ANY_LINK], 8, 0},
{NULL, NULL, 0, 0},
{"valid", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_VALID], 5, 0},
{NULL, NULL, 0, 0},
{"visited", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_VISITED], 7, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"root", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_ROOT], 4, 8},
{NULL, NULL, 0, 0},
{"focus-within", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FOCUS_WITHIN], 12, 0},
{"checked", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_CHECKED], 7, 9},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"active", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_ACTIVE], 6, 0},
{"last-of-type", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_LAST_OF_TYPE], 12, 0},
{NULL, NULL, 0, 0},
{"target", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_TARGET], 6, 0},
{"read-only", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_READ_ONLY], 9, 10},
{NULL, NULL, 0, 0},
{"first-child", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FIRST_CHILD], 11, 0},
{"disabled", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_DISABLED], 8, 0},
{NULL, NULL, 0, 0},
{"required", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_REQUIRED], 8, 0},
{NULL, NULL, 0, 0},
{"link", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_LINK], 4, 0},
{NULL, NULL, 0, 0},
{"empty", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_EMPTY], 5, 0},
{"invalid", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_INVALID], 7, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"scope", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_SCOPE], 5, 12},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"blank", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_BLANK], 5, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"warning", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_WARNING], 7, 0},
{"default", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_DEFAULT], 7, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"future", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUTURE], 6, 0},
{"current", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_CURRENT], 7, 0},
{"optional", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_OPTIONAL], 8, 0},
{NULL, NULL, 0, 0},
{"last-child", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_LAST_CHILD], 10, 0},
{NULL, NULL, 0, 0}
};
static const lexbor_shs_entry_t lxb_css_selectors_pseudo_class_function_shs[43] =
{
{NULL, NULL, 42, 0},
{"nth-last-of-type", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_OF_TYPE], 16, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"not", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NOT], 3, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"has", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_HAS], 3, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"nth-col", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_COL], 7, 0},
{NULL, NULL, 0, 0},
{"lexbor-contains", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_LEXBOR_CONTAINS], 15, 0},
{NULL, NULL, 0, 0},
{"is", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_IS], 2, 0},
{"nth-last-col", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_COL], 12, 0},
{"current", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_CURRENT], 7, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"lang", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_LANG], 4, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"nth-child", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_CHILD], 9, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"nth-last-child", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_CHILD], 14, 0},
{"nth-of-type", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_OF_TYPE], 11, 0},
{NULL, NULL, 0, 0},
{"dir", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_DIR], 3, 0},
{"where", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_WHERE], 5, 0},
{NULL, NULL, 0, 0}
};
static const lexbor_shs_entry_t lxb_css_selectors_pseudo_element_shs[24] =
{
{NULL, NULL, 23, 0},
{NULL, NULL, 0, 0},
{"inactive-selection", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_INACTIVE_SELECTION], 18, 0},
{"placeholder", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_PLACEHOLDER], 11, 0},
{"after", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_AFTER], 5, 0},
{"first-letter", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FIRST_LETTER], 12, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"grammar-error", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_GRAMMAR_ERROR], 13, 0},
{"before", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_BEFORE], 6, 0},
{"selection", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_SELECTION], 9, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{"target-text", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_TARGET_TEXT], 11, 0},
{"first-line", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FIRST_LINE], 10, 0},
{"spelling-error", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_SPELLING_ERROR], 14, 0},
{"backdrop", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_BACKDROP], 8, 0},
{"marker", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_MARKER], 6, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0}
};
static const lexbor_shs_entry_t lxb_css_selectors_pseudo_element_function_shs[6] =
{
{NULL, NULL, 5, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0},
{NULL, NULL, 0, 0}
};
#endif /* LXB_CSS_SELECTOS_PSEUDO_RES_H */