protobuf 5.29.0rc3__py3-none-any.whl → 6.33.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of protobuf might be problematic. Click here for more details.

Files changed (45) hide show
  1. google/protobuf/__init__.py +1 -1
  2. google/protobuf/any.py +15 -1
  3. google/protobuf/any_pb2.py +5 -5
  4. google/protobuf/api_pb2.py +15 -11
  5. google/protobuf/compiler/plugin_pb2.py +5 -5
  6. google/protobuf/descriptor.py +413 -248
  7. google/protobuf/descriptor_database.py +22 -4
  8. google/protobuf/descriptor_pb2.py +320 -120
  9. google/protobuf/descriptor_pool.py +31 -13
  10. google/protobuf/duration_pb2.py +5 -5
  11. google/protobuf/empty_pb2.py +5 -5
  12. google/protobuf/field_mask_pb2.py +5 -5
  13. google/protobuf/internal/api_implementation.py +0 -6
  14. google/protobuf/internal/builder.py +4 -3
  15. google/protobuf/internal/containers.py +13 -0
  16. google/protobuf/internal/decoder.py +163 -133
  17. google/protobuf/internal/extension_dict.py +3 -3
  18. google/protobuf/internal/field_mask.py +6 -4
  19. google/protobuf/internal/python_edition_defaults.py +1 -1
  20. google/protobuf/internal/python_message.py +86 -70
  21. google/protobuf/internal/testing_refleaks.py +11 -2
  22. google/protobuf/internal/type_checkers.py +52 -5
  23. google/protobuf/internal/well_known_types.py +63 -46
  24. google/protobuf/json_format.py +113 -71
  25. google/protobuf/message.py +26 -0
  26. google/protobuf/message_factory.py +16 -63
  27. google/protobuf/proto.py +38 -1
  28. google/protobuf/proto_text.py +129 -0
  29. google/protobuf/reflection.py +0 -49
  30. google/protobuf/runtime_version.py +9 -29
  31. google/protobuf/source_context_pb2.py +5 -5
  32. google/protobuf/struct_pb2.py +5 -5
  33. google/protobuf/symbol_database.py +0 -18
  34. google/protobuf/text_format.py +49 -29
  35. google/protobuf/timestamp_pb2.py +5 -5
  36. google/protobuf/type_pb2.py +5 -5
  37. google/protobuf/unknown_fields.py +3 -4
  38. google/protobuf/wrappers_pb2.py +5 -5
  39. {protobuf-5.29.0rc3.dist-info → protobuf-6.33.3.dist-info}/METADATA +3 -3
  40. protobuf-6.33.3.dist-info/RECORD +58 -0
  41. google/protobuf/internal/_parameterized.py +0 -420
  42. google/protobuf/service.py +0 -213
  43. protobuf-5.29.0rc3.dist-info/RECORD +0 -59
  44. {protobuf-5.29.0rc3.dist-info → protobuf-6.33.3.dist-info}/LICENSE +0 -0
  45. {protobuf-5.29.0rc3.dist-info → protobuf-6.33.3.dist-info}/WHEEL +0 -0
@@ -25,6 +25,7 @@ import encodings.unicode_escape # pylint: disable=unused-import
25
25
  import io
26
26
  import math
27
27
  import re
28
+ import warnings
28
29
 
29
30
  from google.protobuf.internal import decoder
30
31
  from google.protobuf.internal import type_checkers
@@ -42,6 +43,7 @@ _INTEGER_CHECKERS = (type_checkers.Uint32ValueChecker(),
42
43
  type_checkers.Int64ValueChecker())
43
44
  _FLOAT_INFINITY = re.compile('-?inf(?:inity)?f?$', re.IGNORECASE)
44
45
  _FLOAT_NAN = re.compile('nanf?$', re.IGNORECASE)
46
+ _FLOAT_OCTAL_PREFIX = re.compile('-?0[0-9]+')
45
47
  _QUOTES = frozenset(("'", '"'))
46
48
  _ANY_FULL_TYPE_NAME = 'google.protobuf.Any'
47
49
  _DEBUG_STRING_SILENT_MARKER = '\t '
@@ -125,13 +127,13 @@ def MessageToString(
125
127
  will be printed at the end of the message and their relative order is
126
128
  determined by the extension number. By default, use the field number
127
129
  order.
128
- float_format (str): If set, use this to specify float field formatting
129
- (per the "Format Specification Mini-Language"); otherwise, shortest float
130
- that has same value in wire will be printed. Also affect double field
131
- if double_format is not set but float_format is set.
132
- double_format (str): If set, use this to specify double field formatting
133
- (per the "Format Specification Mini-Language"); if it is not set but
134
- float_format is set, use float_format. Otherwise, use ``str()``
130
+ float_format (str): Deprecated. If set, use this to specify float field
131
+ formatting (per the "Format Specification Mini-Language"); otherwise,
132
+ shortest float that has same value in wire will be printed. Also affect
133
+ double field if double_format is not set but float_format is set.
134
+ double_format (str): Deprecated. If set, use this to specify double field
135
+ formatting (per the "Format Specification Mini-Language"); if it is not
136
+ set but float_format is set, use float_format. Otherwise, use ``str()``
135
137
  use_field_number: If True, print field numbers instead of names.
136
138
  descriptor_pool (DescriptorPool): Descriptor pool used to resolve Any types.
137
139
  indent (int): The initial indent level, in terms of spaces, for pretty
@@ -390,13 +392,13 @@ class _Printer(object):
390
392
  use_index_order: If True, print fields of a proto message using the order
391
393
  defined in source code instead of the field number. By default, use the
392
394
  field number order.
393
- float_format: If set, use this to specify float field formatting
394
- (per the "Format Specification Mini-Language"); otherwise, shortest
395
- float that has same value in wire will be printed. Also affect double
396
- field if double_format is not set but float_format is set.
397
- double_format: If set, use this to specify double field formatting
398
- (per the "Format Specification Mini-Language"); if it is not set but
399
- float_format is set, use float_format. Otherwise, str() is used.
395
+ float_format: Deprecated. If set, use this to specify float field
396
+ formatting (per the "Format Specification Mini-Language"); otherwise,
397
+ shortest float that has same value in wire will be printed. Also affect
398
+ double field if double_format is not set but float_format is set.
399
+ double_format: Deprecated. If set, use this to specify double field
400
+ formatting (per the "Format Specification Mini-Language"); if it is not
401
+ set but float_format is set, use float_format. Otherwise, str() is used.
400
402
  use_field_number: If True, print field numbers instead of names.
401
403
  descriptor_pool: A DescriptorPool used to resolve Any types.
402
404
  message_formatter: A function(message, indent, as_one_line): unicode|None
@@ -415,6 +417,10 @@ class _Printer(object):
415
417
  self.use_index_order = use_index_order
416
418
  self.float_format = float_format
417
419
  if double_format is not None:
420
+ warnings.warn(
421
+ 'double_format is deprecated for text_format. This will '
422
+ 'turn into error in 7.34.0, please remove it before that.'
423
+ )
418
424
  self.double_format = double_format
419
425
  else:
420
426
  self.double_format = float_format
@@ -430,7 +436,7 @@ class _Printer(object):
430
436
  return False
431
437
  packed_message = _BuildMessageFromTypeName(message.TypeName(),
432
438
  self.descriptor_pool)
433
- if packed_message:
439
+ if packed_message is not None:
434
440
  packed_message.MergeFromString(message.value)
435
441
  colon = ':' if self.force_colon else ''
436
442
  self.out.write('%s[%s]%s ' % (self.indent * ' ', message.type_url, colon))
@@ -476,7 +482,7 @@ class _Printer(object):
476
482
  # TODO: refactor and optimize if this becomes an issue.
477
483
  entry_submsg = value.GetEntryClass()(key=key, value=value[key])
478
484
  self.PrintField(field, entry_submsg)
479
- elif field.label == descriptor.FieldDescriptor.LABEL_REPEATED:
485
+ elif field.is_repeated:
480
486
  if (self.use_short_repeated_primitives
481
487
  and field.cpp_type != descriptor.FieldDescriptor.CPPTYPE_MESSAGE
482
488
  and field.cpp_type != descriptor.FieldDescriptor.CPPTYPE_STRING):
@@ -556,7 +562,8 @@ class _Printer(object):
556
562
  out.write('[')
557
563
  if (field.containing_type.GetOptions().message_set_wire_format and
558
564
  field.type == descriptor.FieldDescriptor.TYPE_MESSAGE and
559
- field.label == descriptor.FieldDescriptor.LABEL_OPTIONAL):
565
+ not field.is_required and
566
+ not field.is_repeated):
560
567
  out.write(field.message_type.full_name)
561
568
  else:
562
569
  out.write(field.full_name)
@@ -650,6 +657,11 @@ class _Printer(object):
650
657
  out.write('false')
651
658
  elif field.cpp_type == descriptor.FieldDescriptor.CPPTYPE_FLOAT:
652
659
  if self.float_format is not None:
660
+ warnings.warn(
661
+ 'float_format is deprecated for text_format. This '
662
+ 'will turn into error in 7.34.0, please remove it '
663
+ 'before that.'
664
+ )
653
665
  out.write('{1:{0}}'.format(self.float_format, value))
654
666
  else:
655
667
  if math.isnan(value):
@@ -997,7 +1009,7 @@ class _Parser(object):
997
1009
  field.full_name)
998
1010
  merger = self._MergeScalarField
999
1011
 
1000
- if (field.label == descriptor.FieldDescriptor.LABEL_REPEATED and
1012
+ if (field.is_repeated and
1001
1013
  tokenizer.TryConsume('[')):
1002
1014
  # Short repeated format, e.g. "foo: [1, 2, 3]"
1003
1015
  if not tokenizer.TryConsume(']'):
@@ -1060,7 +1072,7 @@ class _Parser(object):
1060
1072
  tokenizer.Consume('{')
1061
1073
  end_token = '}'
1062
1074
 
1063
- if field.label == descriptor.FieldDescriptor.LABEL_REPEATED:
1075
+ if field.is_repeated:
1064
1076
  if field.is_extension:
1065
1077
  sub_message = message.Extensions[field].add()
1066
1078
  elif is_map_entry:
@@ -1142,7 +1154,7 @@ class _Parser(object):
1142
1154
  else:
1143
1155
  raise RuntimeError('Unknown field type %d' % field.type)
1144
1156
 
1145
- if field.label == descriptor.FieldDescriptor.LABEL_REPEATED:
1157
+ if field.is_repeated:
1146
1158
  if field.is_extension:
1147
1159
  message.Extensions[field].append(value)
1148
1160
  else:
@@ -1165,7 +1177,9 @@ class _Parser(object):
1165
1177
  else:
1166
1178
  # For field that doesn't represent presence, try best effort to
1167
1179
  # check multiple scalars by compare to default values.
1168
- duplicate_error = bool(getattr(message, field.name))
1180
+ duplicate_error = not decoder.IsDefaultScalarValue(
1181
+ getattr(message, field.name)
1182
+ )
1169
1183
 
1170
1184
  if duplicate_error:
1171
1185
  raise tokenizer.ParseErrorPreviousToken(
@@ -1193,7 +1207,7 @@ class _Parser(object):
1193
1207
  ':') and not tokenizer.LookingAt('{') and not tokenizer.LookingAt('<'):
1194
1208
  self._DetectSilentMarker(tokenizer, immediate_message_type, field_name)
1195
1209
  if tokenizer.LookingAt('['):
1196
- self._SkipRepeatedFieldValue(tokenizer)
1210
+ self._SkipRepeatedFieldValue(tokenizer, immediate_message_type)
1197
1211
  else:
1198
1212
  self._SkipFieldValue(tokenizer)
1199
1213
  else:
@@ -1268,18 +1282,22 @@ class _Parser(object):
1268
1282
  not tokenizer.TryConsumeFloat()):
1269
1283
  raise ParseError('Invalid field value: ' + tokenizer.token)
1270
1284
 
1271
- def _SkipRepeatedFieldValue(self, tokenizer):
1285
+ def _SkipRepeatedFieldValue(self, tokenizer, immediate_message_type):
1272
1286
  """Skips over a repeated field value.
1273
1287
 
1274
1288
  Args:
1275
1289
  tokenizer: A tokenizer to parse the field value.
1276
1290
  """
1277
1291
  tokenizer.Consume('[')
1278
- if not tokenizer.LookingAt(']'):
1279
- self._SkipFieldValue(tokenizer)
1280
- while tokenizer.TryConsume(','):
1281
- self._SkipFieldValue(tokenizer)
1282
- tokenizer.Consume(']')
1292
+ if not tokenizer.TryConsume(']'):
1293
+ while True:
1294
+ if tokenizer.LookingAt('<') or tokenizer.LookingAt('{'):
1295
+ self._SkipFieldMessage(tokenizer, immediate_message_type)
1296
+ else:
1297
+ self._SkipFieldValue(tokenizer)
1298
+ if tokenizer.TryConsume(']'):
1299
+ break
1300
+ tokenizer.Consume(',')
1283
1301
 
1284
1302
 
1285
1303
  class Tokenizer(object):
@@ -1789,6 +1807,8 @@ def ParseFloat(text):
1789
1807
  Raises:
1790
1808
  ValueError: If a floating point number couldn't be parsed.
1791
1809
  """
1810
+ if _FLOAT_OCTAL_PREFIX.match(text):
1811
+ raise ValueError('Invalid octal float: %s' % text)
1792
1812
  try:
1793
1813
  # Assume Python compatible syntax.
1794
1814
  return float(text)
@@ -1804,7 +1824,7 @@ def ParseFloat(text):
1804
1824
  else:
1805
1825
  # assume '1.0f' format
1806
1826
  try:
1807
- return float(text.rstrip('f'))
1827
+ return float(text.rstrip('fF'))
1808
1828
  except ValueError:
1809
1829
  raise ValueError("Couldn't parse float: %s" % text)
1810
1830
 
@@ -2,7 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # NO CHECKED-IN PROTOBUF GENCODE
4
4
  # source: google/protobuf/timestamp.proto
5
- # Protobuf Python Version: 5.29.0-rc3
5
+ # Protobuf Python Version: 6.33.3
6
6
  """Generated protocol buffer code."""
7
7
  from google.protobuf import descriptor as _descriptor
8
8
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -11,10 +11,10 @@ from google.protobuf import symbol_database as _symbol_database
11
11
  from google.protobuf.internal import builder as _builder
12
12
  _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
- 5,
15
- 29,
16
- 0,
17
- '-rc3',
14
+ 6,
15
+ 33,
16
+ 3,
17
+ '',
18
18
  'google/protobuf/timestamp.proto'
19
19
  )
20
20
  # @@protoc_insertion_point(imports)
@@ -2,7 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # NO CHECKED-IN PROTOBUF GENCODE
4
4
  # source: google/protobuf/type.proto
5
- # Protobuf Python Version: 5.29.0-rc3
5
+ # Protobuf Python Version: 6.33.3
6
6
  """Generated protocol buffer code."""
7
7
  from google.protobuf import descriptor as _descriptor
8
8
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -11,10 +11,10 @@ from google.protobuf import symbol_database as _symbol_database
11
11
  from google.protobuf.internal import builder as _builder
12
12
  _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
- 5,
15
- 29,
16
- 0,
17
- '-rc3',
14
+ 6,
15
+ 33,
16
+ 3,
17
+ '',
18
18
  'google/protobuf/type.proto'
19
19
  )
20
20
  # @@protoc_insertion_point(imports)
@@ -72,13 +72,12 @@ else:
72
72
  InternalAdd(field_number, wire_format.WIRETYPE_LENGTH_DELIMITED, data)
73
73
  else:
74
74
  for tag_bytes, buffer in unknown_fields:
75
- # pylint: disable=protected-access
76
- (tag, _) = decoder._DecodeVarint(tag_bytes, 0)
77
- field_number, wire_type = wire_format.UnpackTag(tag)
75
+ field_number, wire_type = decoder.DecodeTag(tag_bytes)
78
76
  if field_number == 0:
79
77
  raise RuntimeError('Field number 0 is illegal.')
80
78
  (data, _) = decoder._DecodeUnknownField(
81
- memoryview(buffer), 0, wire_type)
79
+ memoryview(buffer), 0, len(buffer), field_number, wire_type
80
+ )
82
81
  InternalAdd(field_number, wire_type, data)
83
82
 
84
83
  def __getitem__(self, index):
@@ -2,7 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # NO CHECKED-IN PROTOBUF GENCODE
4
4
  # source: google/protobuf/wrappers.proto
5
- # Protobuf Python Version: 5.29.0-rc3
5
+ # Protobuf Python Version: 6.33.3
6
6
  """Generated protocol buffer code."""
7
7
  from google.protobuf import descriptor as _descriptor
8
8
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -11,10 +11,10 @@ from google.protobuf import symbol_database as _symbol_database
11
11
  from google.protobuf.internal import builder as _builder
12
12
  _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
- 5,
15
- 29,
16
- 0,
17
- '-rc3',
14
+ 6,
15
+ 33,
16
+ 3,
17
+ '',
18
18
  'google/protobuf/wrappers.proto'
19
19
  )
20
20
  # @@protoc_insertion_point(imports)
@@ -6,12 +6,12 @@ Home-page: https://developers.google.com/protocol-buffers/
6
6
  License: 3-Clause BSD License
7
7
  Classifier: Programming Language :: Python
8
8
  Classifier: Programming Language :: Python :: 3
9
- Classifier: Programming Language :: Python :: 3.8
10
9
  Classifier: Programming Language :: Python :: 3.9
11
10
  Classifier: Programming Language :: Python :: 3.10
12
11
  Classifier: Programming Language :: Python :: 3.11
13
12
  Classifier: Programming Language :: Python :: 3.12
14
- Requires-Python: >=3.8
15
- Version: 5.29.0rc3
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Requires-Python: >=3.9
15
+ Version: 6.33.3
16
16
 
17
17
  UNKNOWN
@@ -0,0 +1,58 @@
1
+ google/protobuf/__init__.py,sha256=8Wc73_Gm1AkJBg296CTov5_cHOELFY9F9tYqTMFuga4,346
2
+ google/protobuf/any.py,sha256=37npo8IyL1i9heh7Dxih_RKQE2BKFuv7m9NXbWxoSdo,1319
3
+ google/protobuf/compiler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ google/protobuf/descriptor.py,sha256=h69lWJP0qsxrpA659qda5IxwvIdFC1eqnkZxe7u-bTI,53428
5
+ google/protobuf/descriptor_database.py,sha256=FHAOZc5uz86IsMqr3Omc19AenuwrOknut2wCQ0mGsGc,5936
6
+ google/protobuf/descriptor_pool.py,sha256=4xko_PLwO-OIw8ZatN-ySjQxlKwYuffrNm0YOqVuTlk,48864
7
+ google/protobuf/duration.py,sha256=vQTwVyiiyGm3Wy3LW8ohA3tkGkrUKoTn_p4SdEBU8bM,2672
8
+ google/protobuf/internal/__init__.py,sha256=8d_k1ksNWIuqPDEEEtOjgC3Xx8kAXD2-04R7mxJlSbs,272
9
+ google/protobuf/internal/api_implementation.py,sha256=EQ7EImSxJDLiM3AXoQwuuD7K0Lz50072CS1trt2bzqo,4669
10
+ google/protobuf/internal/builder.py,sha256=VPnrHqqt6J66RwZe19hLm01Zl1vP_jFKpL-bC8nEncY,4112
11
+ google/protobuf/internal/containers.py,sha256=xC6yATB8GxCAlVQtZj0QIfSPcGORJb0kDxoWAKRV7YQ,22175
12
+ google/protobuf/internal/decoder.py,sha256=TwaTXm9Ioew3oO3Wa1hgVYLiHVe7BFdF4NAsjv2FyGs,37588
13
+ google/protobuf/internal/encoder.py,sha256=Vujp3bU10dLBasUnRaGZKD-ZTLq7zEGA8wKh7mVLR-g,27297
14
+ google/protobuf/internal/enum_type_wrapper.py,sha256=PNhK87a_NP1JIfFHuYFibpE4hHdHYawXwqZxMEtvsvo,3747
15
+ google/protobuf/internal/extension_dict.py,sha256=4af0h32jq5BwL7uB6ym3ipdzz3kTH75WGMHLHluGsNA,7141
16
+ google/protobuf/internal/field_mask.py,sha256=QbOfhzKaTkvYR9k7HYigVidVgyobBRUicBibO71ufHo,10442
17
+ google/protobuf/internal/message_listener.py,sha256=uh8viU_MvWdDe4Kl14CromKVFAzBMPlMzFZ4vew_UJc,2008
18
+ google/protobuf/internal/python_edition_defaults.py,sha256=iYUirQbUcoj-fLbWZJwtItLWHk406eSFIPJegaFbEhA,542
19
+ google/protobuf/internal/python_message.py,sha256=S4SsXLNX9zGzR_XDfiMONv0M4gxzxwqswbtPnAV6qEg,57984
20
+ google/protobuf/internal/testing_refleaks.py,sha256=VnitLBTnynWcayPsvHlScMZCczZs7vf0_x8csPFBxBg,4495
21
+ google/protobuf/internal/type_checkers.py,sha256=gCOL390SA4A4EQvnUpa-lKxyxHtmiZBoLQelo6JBdX4,17252
22
+ google/protobuf/internal/well_known_types.py,sha256=b2MhbOXaQY8FRzpiTGcUT16R9DKhZEeEj3xBkYNdwAk,22850
23
+ google/protobuf/internal/wire_format.py,sha256=EbAXZdb23iCObCZxNgaMx8-VRF2UjgyPrBCTtV10Rx8,7087
24
+ google/protobuf/json_format.py,sha256=XX-sJs4yqJ1nMB2L-cMouWb9nKM11_8-TvXjp-2IZP8,38042
25
+ google/protobuf/message.py,sha256=IeyQE68rj_YcUhy20XS5Dr3tU27_JYZ5GLLHm-TbbD4,14917
26
+ google/protobuf/message_factory.py,sha256=uELqRiWo-3pBJupnQTlHsGJmgDJ3p4HqX3T7d46MMug,6607
27
+ google/protobuf/proto.py,sha256=cuqMtlacasjTNQdfyKiTubEKXNapgdAEcnQTv65AmoE,4389
28
+ google/protobuf/proto_builder.py,sha256=pGU2L_pPEYkylZkrvHMCUH2PFWvc9wI-awwT7F5i740,4203
29
+ google/protobuf/proto_json.py,sha256=fUy0Vb4m_831-oabn7JbzmyipcoJpQWtBdgTMoj8Yp4,3094
30
+ google/protobuf/proto_text.py,sha256=ZD21wifWF_HVMcJkVJBo3jGNFxqELCrgOeIshuz565U,5307
31
+ google/protobuf/pyext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
+ google/protobuf/pyext/cpp_message.py,sha256=8uSrWX9kD3HPRhntvTPc4bgnfQ2BzX9FPC73CgifXAw,1715
33
+ google/protobuf/reflection.py,sha256=gMVfWDmnckEbp4vTR5gKq2HDwRb_eI5rfylZOoFSmEQ,1241
34
+ google/protobuf/runtime_version.py,sha256=r5jysN8Yh4zPr8LIcG77HZmQYZH18zX0gCDpjqi2vLU,3033
35
+ google/protobuf/service_reflection.py,sha256=WHElGnPgywDtn3X8xKVNsZZOCgJOTzgpAyTd-rmCKGU,10058
36
+ google/protobuf/symbol_database.py,sha256=s0pExuYyJvi1q0pD82AEoJtH2EDZ2vAZCIqja84CKcc,5752
37
+ google/protobuf/testdata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
+ google/protobuf/text_encoding.py,sha256=Ao1Q6OP8i4p8VDtvpe8uW1BjX7aQZvkJggvhFYYrB7w,3621
39
+ google/protobuf/text_format.py,sha256=URjGtTNUqe0OSJ-3AAjEjhHH9L084OoUD8gsGFZkvkg,64149
40
+ google/protobuf/timestamp.py,sha256=s23LWq6hDiFIeAtVUn8LwfEc5aRM7WAwTz_hCaOVndk,3133
41
+ google/protobuf/unknown_fields.py,sha256=r3CJ2e4_XUq41TcgB8w6E0yZxxzSTCQLF4C7OOHa9lo,3065
42
+ google/protobuf/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
+ google/protobuf/any_pb2.py,sha256=Xe-M8OIxjbI_bvEKkRku1GSCn4Rd1K77t3kPBF0Y6YM,1725
44
+ google/protobuf/api_pb2.py,sha256=ui8wBQUWCGkxyqe0OjVrKFWDuS-gIXW8Eehuictvg5I,3600
45
+ google/protobuf/compiler/plugin_pb2.py,sha256=WLhhJ-2deVyqdpS7aTpYZW1rJcJRPMLj_7PS6u6hjCM,3797
46
+ google/protobuf/descriptor_pb2.py,sha256=xhPraV3e47cAi_AaHydDEXZgFFo2LSqv1coD7XSgEZE,366972
47
+ google/protobuf/duration_pb2.py,sha256=dUOIGp_hvsPk6t-uon67WnpZZZhrSZO8eX1Pbfovs1A,1805
48
+ google/protobuf/empty_pb2.py,sha256=Gz17Rjxln5fA1jV__fkPFBncNpfENtQ8jLG_1EYpx6g,1669
49
+ google/protobuf/field_mask_pb2.py,sha256=qkBVuJW_mrTh7FCsxV3NJ8Gnf2C2gv9JgRe5TbtMJOQ,1765
50
+ google/protobuf/source_context_pb2.py,sha256=c5h1P-_3D_6M57qwAGJtgS3J68HxohKfyRSGf7K5gQQ,1791
51
+ google/protobuf/struct_pb2.py,sha256=s46PTlrPKkiAcOK3LjuUKDALHaSR-EpnlB6mgvu2F3c,3061
52
+ google/protobuf/timestamp_pb2.py,sha256=7btoI9j03b7MTTj3hFyeqRSLq4dBtOvPnPVsiU4AY-k,1815
53
+ google/protobuf/type_pb2.py,sha256=6G730KSIEo-PLEZe5CyyY0xelW_nYEQ656q4v_iDZxg,5438
54
+ google/protobuf/wrappers_pb2.py,sha256=55TUSfjUnVFzNxKR4IEN9Nl4ddH3eFiJxjHdyviJKN8,3037
55
+ protobuf-6.33.3.dist-info/WHEEL,sha256=sobxWSyDDkdg_rinUth-jxhXHqoNqlmNMJY3aTZn2Us,91
56
+ protobuf-6.33.3.dist-info/METADATA,sha256=QfxDdjMKJzUkX2g5ZMtmbdop3xnotU64JcnqbAZ7tis,593
57
+ protobuf-6.33.3.dist-info/LICENSE,sha256=bl4RcySv2UTc9n82zzKYQ7wakiKajNm7Vz16gxMP6n0,1732
58
+ protobuf-6.33.3.dist-info/RECORD,,