# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: yara_ast.proto
# Protobuf Python Version: 5.29.3
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    5,
    29,
    3,
    '',
    'yara_ast.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0eyara_ast.proto\x12\x07yaraast\"\x93\x01\n\x08YaraFile\x12 \n\x07imports\x18\x01 \x03(\x0b\x32\x0f.yaraast.Import\x12\"\n\x08includes\x18\x02 \x03(\x0b\x32\x10.yaraast.Include\x12\x1c\n\x05rules\x18\x03 \x03(\x0b\x32\r.yaraast.Rule\x12#\n\x08metadata\x18\x04 \x01(\x0b\x32\x11.yaraast.Metadata\"\xa9\x01\n\x08Metadata\x12\x0e\n\x06\x66ormat\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08\x61st_type\x18\x03 \x01(\t\x12\x13\n\x0brules_count\x18\x04 \x01(\x05\x12\x15\n\rimports_count\x18\x05 \x01(\x05\x12\x16\n\x0eincludes_count\x18\x06 \x01(\x05\x12\x11\n\ttimestamp\x18\x07 \x01(\x03\x12\x13\n\x0bsource_file\x18\x08 \x01(\t\"\'\n\x06Import\x12\x0e\n\x06module\x18\x01 \x01(\t\x12\r\n\x05\x61lias\x18\x02 \x01(\t\"\x17\n\x07Include\x12\x0c\n\x04path\x18\x01 \x01(\t\"\xff\x01\n\x04Rule\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmodifiers\x18\x02 \x03(\t\x12\x1a\n\x04tags\x18\x03 \x03(\x0b\x32\x0c.yaraast.Tag\x12%\n\x04meta\x18\x04 \x03(\x0b\x32\x17.yaraast.Rule.MetaEntry\x12*\n\x07strings\x18\x05 \x03(\x0b\x32\x19.yaraast.StringDefinition\x12&\n\tcondition\x18\x06 \x01(\x0b\x32\x13.yaraast.Expression\x1a?\n\tMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.yaraast.MetaValue:\x02\x38\x01\"\x13\n\x03Tag\x12\x0c\n\x04name\x18\x01 \x01(\t\"o\n\tMetaValue\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x42\x07\n\x05value\"\xa6\x01\n\x10StringDefinition\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12%\n\x05plain\x18\x02 \x01(\x0b\x32\x14.yaraast.PlainStringH\x00\x12!\n\x03hex\x18\x03 \x01(\x0b\x32\x12.yaraast.HexStringH\x00\x12%\n\x05regex\x18\x04 \x01(\x0b\x32\x14.yaraast.RegexStringH\x00\x42\r\n\x0bstring_type\"H\n\x0bPlainString\x12\r\n\x05value\x18\x01 \x01(\t\x12*\n\tmodifiers\x18\x02 \x03(\x0b\x32\x17.yaraast.StringModifier\"Z\n\tHexString\x12!\n\x06tokens\x18\x01 \x03(\x0b\x32\x11.yaraast.HexToken\x12*\n\tmodifiers\x18\x02 \x03(\x0b\x32\x17.yaraast.StringModifier\"H\n\x0bRegexString\x12\r\n\x05regex\x18\x01 \x01(\t\x12*\n\tmodifiers\x18\x02 \x03(\x0b\x32\x17.yaraast.StringModifier\"-\n\x0eStringModifier\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xdc\x01\n\x08HexToken\x12 \n\x04\x62yte\x18\x01 \x01(\x0b\x32\x10.yaraast.HexByteH\x00\x12(\n\x08wildcard\x18\x02 \x01(\x0b\x32\x14.yaraast.HexWildcardH\x00\x12 \n\x04jump\x18\x03 \x01(\x0b\x32\x10.yaraast.HexJumpH\x00\x12.\n\x0b\x61lternative\x18\x04 \x01(\x0b\x32\x17.yaraast.HexAlternativeH\x00\x12$\n\x06nibble\x18\x05 \x01(\x0b\x32\x12.yaraast.HexNibbleH\x00\x42\x0c\n\ntoken_type\"\x18\n\x07HexByte\x12\r\n\x05value\x18\x01 \x01(\t\"\r\n\x0bHexWildcard\"-\n\x07HexJump\x12\x10\n\x08min_jump\x18\x01 \x01(\x05\x12\x10\n\x08max_jump\x18\x02 \x01(\x05\"=\n\x0eHexAlternative\x12+\n\x0c\x61lternatives\x18\x01 \x03(\x0b\x32\x15.yaraast.HexTokenList\"1\n\x0cHexTokenList\x12!\n\x06tokens\x18\x01 \x03(\x0b\x32\x11.yaraast.HexToken\"(\n\tHexNibble\x12\x0c\n\x04high\x18\x01 \x01(\x08\x12\r\n\x05value\x18\x02 \x01(\x05\"\xae\n\n\nExpression\x12)\n\nidentifier\x18\x01 \x01(\x0b\x32\x13.yaraast.IdentifierH\x00\x12\x36\n\x11string_identifier\x18\x02 \x01(\x0b\x32\x19.yaraast.StringIdentifierH\x00\x12,\n\x0cstring_count\x18\x03 \x01(\x0b\x32\x14.yaraast.StringCountH\x00\x12.\n\rstring_offset\x18\x04 \x01(\x0b\x32\x15.yaraast.StringOffsetH\x00\x12.\n\rstring_length\x18\x05 \x01(\x0b\x32\x15.yaraast.StringLengthH\x00\x12\x32\n\x0finteger_literal\x18\x06 \x01(\x0b\x32\x17.yaraast.IntegerLiteralH\x00\x12\x30\n\x0e\x64ouble_literal\x18\x07 \x01(\x0b\x32\x16.yaraast.DoubleLiteralH\x00\x12\x30\n\x0estring_literal\x18\x08 \x01(\x0b\x32\x16.yaraast.StringLiteralH\x00\x12.\n\rregex_literal\x18\t \x01(\x0b\x32\x15.yaraast.RegexLiteralH\x00\x12\x32\n\x0f\x62oolean_literal\x18\n \x01(\x0b\x32\x17.yaraast.BooleanLiteralH\x00\x12\x36\n\x11\x62inary_expression\x18\x0b \x01(\x0b\x32\x19.yaraast.BinaryExpressionH\x00\x12\x34\n\x10unary_expression\x18\x0c \x01(\x0b\x32\x18.yaraast.UnaryExpressionH\x00\x12@\n\x16parentheses_expression\x18\r \x01(\x0b\x32\x1e.yaraast.ParenthesesExpressionH\x00\x12\x30\n\x0eset_expression\x18\x0e \x01(\x0b\x32\x16.yaraast.SetExpressionH\x00\x12\x34\n\x10range_expression\x18\x0f \x01(\x0b\x32\x18.yaraast.RangeExpressionH\x00\x12.\n\rfunction_call\x18\x10 \x01(\x0b\x32\x15.yaraast.FunctionCallH\x00\x12,\n\x0c\x61rray_access\x18\x11 \x01(\x0b\x32\x14.yaraast.ArrayAccessH\x00\x12.\n\rmember_access\x18\x12 \x01(\x0b\x32\x15.yaraast.MemberAccessH\x00\x12\x30\n\x0e\x66or_expression\x18\x13 \x01(\x0b\x32\x16.yaraast.ForExpressionH\x00\x12\x35\n\x11\x66or_of_expression\x18\x14 \x01(\x0b\x32\x18.yaraast.ForOfExpressionH\x00\x12.\n\rat_expression\x18\x15 \x01(\x0b\x32\x15.yaraast.AtExpressionH\x00\x12.\n\rin_expression\x18\x16 \x01(\x0b\x32\x15.yaraast.InExpressionH\x00\x12.\n\rof_expression\x18\x17 \x01(\x0b\x32\x15.yaraast.OfExpressionH\x00\x12\x38\n\x12\x64\x65\x66ined_expression\x18\x18 \x01(\x0b\x32\x1a.yaraast.DefinedExpressionH\x00\x12G\n\x1astring_operator_expression\x18\x19 \x01(\x0b\x32!.yaraast.StringOperatorExpressionH\x00\x42\x11\n\x0f\x65xpression_type\"\x1a\n\nIdentifier\x12\x0c\n\x04name\x18\x01 \x01(\t\" \n\x10StringIdentifier\x12\x0c\n\x04name\x18\x01 \x01(\t\" \n\x0bStringCount\x12\x11\n\tstring_id\x18\x01 \x01(\t\"E\n\x0cStringOffset\x12\x11\n\tstring_id\x18\x01 \x01(\t\x12\"\n\x05index\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression\"E\n\x0cStringLength\x12\x11\n\tstring_id\x18\x01 \x01(\t\x12\"\n\x05index\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression\"\x1f\n\x0eIntegerLiteral\x12\r\n\x05value\x18\x01 \x01(\x03\"\x1e\n\rDoubleLiteral\x12\r\n\x05value\x18\x01 \x01(\x01\"\x1e\n\rStringLiteral\x12\r\n\x05value\x18\x01 \x01(\t\"2\n\x0cRegexLiteral\x12\x0f\n\x07pattern\x18\x01 \x01(\t\x12\x11\n\tmodifiers\x18\x02 \x01(\t\"\x1f\n\x0e\x42ooleanLiteral\x12\r\n\x05value\x18\x01 \x01(\x08\"k\n\x10\x42inaryExpression\x12!\n\x04left\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\x12\x10\n\x08operator\x18\x02 \x01(\t\x12\"\n\x05right\x18\x03 \x01(\x0b\x32\x13.yaraast.Expression\"I\n\x0fUnaryExpression\x12\x10\n\x08operator\x18\x01 \x01(\t\x12$\n\x07operand\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression\"@\n\x15ParenthesesExpression\x12\'\n\nexpression\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\"6\n\rSetExpression\x12%\n\x08\x65lements\x18\x01 \x03(\x0b\x32\x13.yaraast.Expression\"V\n\x0fRangeExpression\x12 \n\x03low\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\x12!\n\x04high\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression\"H\n\x0c\x46unctionCall\x12\x10\n\x08\x66unction\x18\x01 \x01(\t\x12&\n\targuments\x18\x02 \x03(\x0b\x32\x13.yaraast.Expression\"U\n\x0b\x41rrayAccess\x12\"\n\x05\x61rray\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\x12\"\n\x05index\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression\"C\n\x0cMemberAccess\x12#\n\x06object\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\x12\x0e\n\x06member\x18\x02 \x01(\t\"\x7f\n\rForExpression\x12\x12\n\nquantifier\x18\x01 \x01(\t\x12\x10\n\x08variable\x18\x02 \x01(\t\x12%\n\x08iterable\x18\x03 \x01(\x0b\x32\x13.yaraast.Expression\x12!\n\x04\x62ody\x18\x04 \x01(\x0b\x32\x13.yaraast.Expression\"v\n\x0f\x46orOfExpression\x12\x12\n\nquantifier\x18\x01 \x01(\t\x12\'\n\nstring_set\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression\x12&\n\tcondition\x18\x03 \x01(\x0b\x32\x13.yaraast.Expression\"F\n\x0c\x41tExpression\x12\x11\n\tstring_id\x18\x01 \x01(\t\x12#\n\x06offset\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression\"E\n\x0cInExpression\x12\x11\n\tstring_id\x18\x01 \x01(\t\x12\"\n\x05range\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression\"`\n\x0cOfExpression\x12\'\n\nquantifier\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\x12\'\n\nstring_set\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression\"<\n\x11\x44\x65\x66inedExpression\x12\'\n\nexpression\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\"s\n\x18StringOperatorExpression\x12!\n\x04left\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\x12\x10\n\x08operator\x18\x02 \x01(\t\x12\"\n\x05right\x18\x03 \x01(\x0b\x32\x13.yaraast.Expressionb\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'yara_ast_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  DESCRIPTOR._loaded_options = None
  _globals['_RULE_METAENTRY']._loaded_options = None
  _globals['_RULE_METAENTRY']._serialized_options = b'8\001'
  _globals['_YARAFILE']._serialized_start=28
  _globals['_YARAFILE']._serialized_end=175
  _globals['_METADATA']._serialized_start=178
  _globals['_METADATA']._serialized_end=347
  _globals['_IMPORT']._serialized_start=349
  _globals['_IMPORT']._serialized_end=388
  _globals['_INCLUDE']._serialized_start=390
  _globals['_INCLUDE']._serialized_end=413
  _globals['_RULE']._serialized_start=416
  _globals['_RULE']._serialized_end=671
  _globals['_RULE_METAENTRY']._serialized_start=608
  _globals['_RULE_METAENTRY']._serialized_end=671
  _globals['_TAG']._serialized_start=673
  _globals['_TAG']._serialized_end=692
  _globals['_METAVALUE']._serialized_start=694
  _globals['_METAVALUE']._serialized_end=805
  _globals['_STRINGDEFINITION']._serialized_start=808
  _globals['_STRINGDEFINITION']._serialized_end=974
  _globals['_PLAINSTRING']._serialized_start=976
  _globals['_PLAINSTRING']._serialized_end=1048
  _globals['_HEXSTRING']._serialized_start=1050
  _globals['_HEXSTRING']._serialized_end=1140
  _globals['_REGEXSTRING']._serialized_start=1142
  _globals['_REGEXSTRING']._serialized_end=1214
  _globals['_STRINGMODIFIER']._serialized_start=1216
  _globals['_STRINGMODIFIER']._serialized_end=1261
  _globals['_HEXTOKEN']._serialized_start=1264
  _globals['_HEXTOKEN']._serialized_end=1484
  _globals['_HEXBYTE']._serialized_start=1486
  _globals['_HEXBYTE']._serialized_end=1510
  _globals['_HEXWILDCARD']._serialized_start=1512
  _globals['_HEXWILDCARD']._serialized_end=1525
  _globals['_HEXJUMP']._serialized_start=1527
  _globals['_HEXJUMP']._serialized_end=1572
  _globals['_HEXALTERNATIVE']._serialized_start=1574
  _globals['_HEXALTERNATIVE']._serialized_end=1635
  _globals['_HEXTOKENLIST']._serialized_start=1637
  _globals['_HEXTOKENLIST']._serialized_end=1686
  _globals['_HEXNIBBLE']._serialized_start=1688
  _globals['_HEXNIBBLE']._serialized_end=1728
  _globals['_EXPRESSION']._serialized_start=1731
  _globals['_EXPRESSION']._serialized_end=3057
  _globals['_IDENTIFIER']._serialized_start=3059
  _globals['_IDENTIFIER']._serialized_end=3085
  _globals['_STRINGIDENTIFIER']._serialized_start=3087
  _globals['_STRINGIDENTIFIER']._serialized_end=3119
  _globals['_STRINGCOUNT']._serialized_start=3121
  _globals['_STRINGCOUNT']._serialized_end=3153
  _globals['_STRINGOFFSET']._serialized_start=3155
  _globals['_STRINGOFFSET']._serialized_end=3224
  _globals['_STRINGLENGTH']._serialized_start=3226
  _globals['_STRINGLENGTH']._serialized_end=3295
  _globals['_INTEGERLITERAL']._serialized_start=3297
  _globals['_INTEGERLITERAL']._serialized_end=3328
  _globals['_DOUBLELITERAL']._serialized_start=3330
  _globals['_DOUBLELITERAL']._serialized_end=3360
  _globals['_STRINGLITERAL']._serialized_start=3362
  _globals['_STRINGLITERAL']._serialized_end=3392
  _globals['_REGEXLITERAL']._serialized_start=3394
  _globals['_REGEXLITERAL']._serialized_end=3444
  _globals['_BOOLEANLITERAL']._serialized_start=3446
  _globals['_BOOLEANLITERAL']._serialized_end=3477
  _globals['_BINARYEXPRESSION']._serialized_start=3479
  _globals['_BINARYEXPRESSION']._serialized_end=3586
  _globals['_UNARYEXPRESSION']._serialized_start=3588
  _globals['_UNARYEXPRESSION']._serialized_end=3661
  _globals['_PARENTHESESEXPRESSION']._serialized_start=3663
  _globals['_PARENTHESESEXPRESSION']._serialized_end=3727
  _globals['_SETEXPRESSION']._serialized_start=3729
  _globals['_SETEXPRESSION']._serialized_end=3783
  _globals['_RANGEEXPRESSION']._serialized_start=3785
  _globals['_RANGEEXPRESSION']._serialized_end=3871
  _globals['_FUNCTIONCALL']._serialized_start=3873
  _globals['_FUNCTIONCALL']._serialized_end=3945
  _globals['_ARRAYACCESS']._serialized_start=3947
  _globals['_ARRAYACCESS']._serialized_end=4032
  _globals['_MEMBERACCESS']._serialized_start=4034
  _globals['_MEMBERACCESS']._serialized_end=4101
  _globals['_FOREXPRESSION']._serialized_start=4103
  _globals['_FOREXPRESSION']._serialized_end=4230
  _globals['_FOROFEXPRESSION']._serialized_start=4232
  _globals['_FOROFEXPRESSION']._serialized_end=4350
  _globals['_ATEXPRESSION']._serialized_start=4352
  _globals['_ATEXPRESSION']._serialized_end=4422
  _globals['_INEXPRESSION']._serialized_start=4424
  _globals['_INEXPRESSION']._serialized_end=4493
  _globals['_OFEXPRESSION']._serialized_start=4495
  _globals['_OFEXPRESSION']._serialized_end=4591
  _globals['_DEFINEDEXPRESSION']._serialized_start=4593
  _globals['_DEFINEDEXPRESSION']._serialized_end=4653
  _globals['_STRINGOPERATOREXPRESSION']._serialized_start=4655
  _globals['_STRINGOPERATOREXPRESSION']._serialized_end=4770
# @@protoc_insertion_point(module_scope)
