�
|�e � �T � d Z ddlmZmZmZ ddlmZmZmZm Z m
Z
dgZ G d� de� Zy)z�
pygments.lexers.hexdump
~~~~~~~~~~~~~~~~~~~~~~~
Lexers for hexadecimal dumps.
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� )�
RegexLexer�bygroups�include)�Name�Number�String�Punctuation�
Whitespace�HexdumpLexerc �L � e Zd ZdZdZdgZdZdef ed� dez dz ez d z e e
j ee
j � fed
z e
j fd e eee
e� dfd
e eee
e� dfd e eee
e� fd e eee
e� fd e ee
� fd e ee
� dfdefdefgdez dz e ej e� dfdez dz ej fgdedfedz ej fdefgdef ed� ed
z e
j fd e eee
e� fdefdefgdef ed� ed
z e
j fd e eee
e� fdefdefgdef ed� dez dz ez d z e e
j ee
j � fed
z e
j fd e ee
� fd e ee
� fdefdefgd!�Zy")#r a�
For typical hex dump output formats by the UNIX and GNU/Linux tools ``hexdump``,
``hd``, ``hexcat``, ``od`` and ``xxd``, and the DOS tool ``DEBUG``. For example:
.. sourcecode:: hexdump
00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 02 00 3e 00 01 00 00 00 c5 48 40 00 00 00 00 00 |..>......H@.....|
The specific supported formats are the outputs of:
* ``hexdump FILE``
* ``hexdump -C FILE`` -- the `canonical` format used in the example.
* ``hd FILE`` -- same as ``hexdump -C FILE``.
* ``hexcat FILE``
* ``od -t x1z FILE``
* ``xxd FILE``
* ``DEBUG.EXE FILE.COM`` and entering ``d`` to the prompt.
.. versionadded:: 2.1
�Hexdump�hexdumpz[0-9A-Ha-h]z\n�offset�(z {2})(\-)(z{2})z{2}z(\s{2,3})(\>)(.{16})(\<)$�bracket-stringsz(\s{2,3})(\|)(.{16})(\|)$�
piped-stringsz(\s{2,3})(\>)(.{1,15})(\<)$z(\s{2,3})(\|)(.{1,15})(\|)$z(\s{2,3})(.{1,15})$z(\s{2,3})(.{16}|.{20})$�nonpiped-stringsz\sz^\*z^(z+)(:)�offset-mode�^�+z#pop�:z(\s{2,3})(\|)(.{1,16})(\|)$z(\s{2,3})(\>)(.{1,16})(\<)$z(\s{19,})(.{1,20}?)$z(\s{2,3})(.{1,20})$)�rootr r r r r N)�__name__�
__module__�__qualname__�__doc__�name�aliases�hdr
r r r �Hexr r r �Label�tokens� � �9/usr/lib/python3/dist-packages/pygments/lexers/hexdump.pyr r s� � ��* �D��k�G� �B� �J���H��
�"�W�\�
!�"�
$�W�
,�
�f�j�j�+�v�z�z�
:�
<�
��Y��
�
�#�
)�
�j�+�v�{�
C�EV�
X�
)�
�j�+�v�{�
C�_�
V�
+�
�j�+�v�{�
C�
E�
+�
�j�+�v�{�
C�
E�
#�X�j�&�%A�B�
'��*�f�)E�GY�Z�
�J��
�[�!�#
�( �2�X�g�
�x��
�
�K�@�-�P�
�"�W�S�[�$�*�*�%�
�
�J��'�
��V�T�Z�Z� �
�;��
� �J���H��
��Y��
�
�#�
+�
�j�+�v�{�
C�
E�
�J��
�[�!�
� �J���H��
��Y��
�
�#�
+�
�j�+�v�{�
C�
E�
�J��
�[�!�
� �J���H��
�"�W�\�
!�"�
$�W�
,�
�f�j�j�+�v�z�z�
:�
<�
��Y��
�
�#�
$�h�z�6�&B�C�
#�X�j�&�%A�B�
�J��
�[�!�
�_:�Fr$ N)
r �pygments.lexerr r r �pygments.tokenr r r r r
�__all__r r# r$ r% �<module>r) s. ��� 9� 8� H� H��
��U�:� Ur$ |