File: //kunden/kunden/kunden/lib/python3/dist-packages/wheel/__pycache__/_metadata.cpython-313.pyc
�
��g, � �: � S r SSKJr SSKrSSKrSSKrSSKrSSKrSSK J
r
JrJr SSK
Jr SSKJr SSKJr SSKJr SS jr\R, SS
j5 r\R1 \5 SS j5 r SS jrSS
jrSS jrSS jrSS jr SS jr SS jr!g)z2
Tools for converting old- to new-style metadata.
� )�annotationsN)� Generator�Iterable�Iterator)�Message)�Parser)�Literal)�Requirementc �@ � U =( a U R S5 ( + $ )N�#)�
startswith)�strs �1/usr/lib/python3/dist-packages/wheel/_metadata.py� _nonblankr s � ��*�s�~�~�c�*�*�*� c �\ � [ R R [ [ U 5 5 $ )aQ
Yield valid lines of a string or iterable.
>>> list(yield_lines(''))
[]
>>> list(yield_lines(['foo', 'bar']))
['foo', 'bar']
>>> list(yield_lines('foo\nbar'))
['foo', 'bar']
>>> list(yield_lines('\nfoo\n#bar\nbaz #comment'))
['foo', 'baz #comment']
>>> list(yield_lines(['foo\nbar', 'baz', 'bing\n\n\n']))
['foo', 'bar', 'baz', 'bing']
)� itertools�chain�
from_iterable�map�yield_lines)�iterables r r r s � � �?�?�(�(��[�(�)C�D�Dr c �n � [ [ [ [ R U R 5 5 5 $ �N)�filterr r r �strip�
splitlines)�texts r �_r * s! � ��)�S����D�O�O�,=�>�?�?r c # �( # � Sn/ n[ U 5 Hv nUR S5 ( aL UR S5 ( a* U( d U( a X4v � USS R 5 n/ nMY [ SU5 eUR U5 Mx X4v � g7f)a^ Split a string or iterable thereof into (section, content) pairs
Each ``section`` is a stripped version of the section header ("[section]")
and each ``content`` is a list of stripped lines excluding blank lines and
comment-only lines. If there are any such lines before the first section
header, they're returned in a first ``section`` of ``None``.
N�[�]� ���zInvalid section heading)r r
�endswithr �
ValueError�append)�s�section�content�lines r �split_sectionsr, / s� � � � �G��G��A����?�?�3����}�}�S�!�!��g�!�*�*��q��*�*�*�,���� �!:�D�A�A��N�N�4� � � �
��s �BBc �N � [ R "