Team Ai
Apppublic

Yash030/claude-code-proxy

sourceHugging Faceupdated 5mo agoView on Hugging Face
2likes
transcript.cpython-314.pyc135 linesDownload Raw Back to __pycache__
1+
2�Ej�R���Rt^RIHt^RIt^RIHtHt^RIHt^RI	H3t4Ht^RIH
t
Ht^RIHt^RIHtR	R5lt]
!RR]44t]
!R
R]44t]
!RR]44t]
!RR]44t]
!RR]44t]
!RR]44t]
!RR]44t]
!RR44t!RR4tR#)atOrdered transcript builder for messaging UIs (Telegram, etc.).6 7This module maintains an ordered list of "segments" that represent what the user8should see in the chat transcript: thinking, tool calls, tool results, subagent9headers, and assistant text. It is designed for in-place message editing where10the transcript grows over time and older content must be truncated.11)�annotationsN)�ABC�abstractmethod)�deque)�Callable�Iterable)�	dataclass�field)�Any)�loggerc� �V^8�dQhRRRR/#)��objr12�return�str�)�formats"�?C:\Users\yashw\.claude\claude-code-free\messaging\transcript.py�__annotate__rs����#��#��c�p�\P!V^RRR7# \d\T4u#i;i)r
FT)�indent�ensure_ascii�	sort_keys)�json�dumps�	Exceptionr)rs&r�_safe_json_dumpsrs4����z�z�#�a�e�t�L�L�����3�x���s��5�5c�8�]tRt^t$R]R&]RRl4tRtR#)�Segmentr�kindc� �V^8�dQhRRRR/#�r
�ctx�	RenderCtxrrr)rs"rr�Segment.__annotate__!s��0�0�)�0��0rc	��R#�Nr��selfr#s&&r�render�Segment.render s��-0rrN)�__name__�13__module__�__qualname__�__firstlineno__�__annotations__rr*�__static_attributes__rrrrrs��14
�I��0��0rrc�\a�]tRt^$tRV3RlltRRlt]RRl4tRRltR	t	V;t15#)16�ThinkingSegmentc��V^8�dQhRR/#�r
r�Noner)rs"rr�ThinkingSegment.__annotate__&���$�$�$�$rc	�6<�\SV`RR7.VnR#)�thinking�r N��super�__init__�_parts�r)�	__class__s&�rr>�ThinkingSegment.__init__&s���
���j��)�!#��rc� �V^8�dQhRRRR/#�r
�trrr6r)rs"rrr7*���"�"��"��"rc	�P�V'dVPPV4R#R#r'�r?�append�r)rEs&&rrI�ThinkingSegment.append*�����K�K���q�!�
rc��V^8�dQhRR/#�r
rrr)rs"rrr7/���$�$�c�$rc	�8�RPVP4#����joinr?�r)s&r�text�ThinkingSegment.text.����w�w�t�{�{�#�#rc� �V^8�dQhRRRR/#r"r)rs"rrr72s��A�A�)�A��Arc	�17�VP;'gRpVPe8\V4VP8�dRW!P^,18)R,pVPV4pRVP	R4RVR2#)rRN�...u💭 �Thinking�19```20�21```)rV�thinking_tail_max�len�escape_code�bold)r)r#�raw�inners&&  rr*�ThinkingSegment.render2sy���i�i�o�o�2��� � �,��S��C�<Q�<Q�1Q��#� 5� 5�� 9�:�<�=�=�C�����$���s�x�x�22�+�,�G�E�7�%�@�@r�r?�r,r-r.r/r>rI�propertyrVr*r1�
__classcell__�rAs@rr3r3$s2���$�$�"��$��$�A�Arr3c�\a�]tRt^:tRV3RlltRRlt]RRl4tRRltR	t	V;t23#)24�TextSegmentc��V^8�dQhRR/#r5r)rs"rr�TextSegment.__annotate__<r8rc	�6<�\SV`RR7.VnR#)rVr;Nr<r@s&�rr>�TextSegment.__init__<s���
���f��%�!#��rc� �V^8�dQhRRRR/#rDr)rs"rrrn@rFrc	�P�V'dVPPV4R#R#r'rHrJs&&rrI�TextSegment.append@rLrc��V^8�dQhRR/#rNr)rs"rrrnErOrc	�8�RPVP4#rQrSrUs&rrV�TextSegment.textDrXrc� �V^8�dQhRRRR/#r"r)rs"rrrnHs��(�(�)�(��(rc	���VP;'gRpVPe8\V4VP8�dRW!P^,25)R,pVPV4#)rRNr[)rV�
text_tail_maxr`�render_markdown)r)r#rcs&& rr*�TextSegment.renderHs]���i�i�o�o�2�����(�S��X��8I�8I�-I��#� 1� 1�A� 5�6�8�9�9�C��"�"�3�'�'rrfrgrjs@rrlrl:s0���$�$�"��$��$�(�(rrlc�ta�]tRt^Ot$R]R&R]R&RtR]R&^tR]R&R^/R	V3R26llltRRltR
t	V;t27#)�ToolCallSegmentr�tool_use_id�nameF�bool�closed�int�indent_levelc�(�V^8�dQhRRRRRRRR/#)r
r~rrr�r�rr6r)rs"rr�ToolCallSegment.__annotate__Vs)��6�6�C�6�s�6�S�6�QU�6rc	��<�\SV`RR7\T;'gR4Vn\T;'gR4Vn\^\
V44VnR#)�	tool_callr;rR�toolN)r=r>rr~r�maxr�r�)r)r~rr�rAs&&&$�rr>�ToolCallSegment.__init__VsN���
���k��*��{�0�0�b�1��������'��	���3�|�#4�5��rc� �V^8�dQhRRRR/#r"r)rs"rrr�\s��?�?�)�?��?rc	��VPVP4pRVP,pVRVPR4RV2#)�  u🛠 z28Tool call:� )�code_inlinerr�rb)r)r#r�prefixs&&  rr*�ToolCallSegment.render\sE�����t�y�y�)����)�)�)�����s�x�x��5�6�a��v�>�>r)r�rr~)r,r-r.r/r0r�r�r>r*r1rirjs@rr}r}Os=�����29
�I��F�D���L�#��6�1�6�6�?�?rr}c�ta�]tRt^ct$R]R&R]R&R]R&RtR]R&RR	RR/R30V3RllltRR
ltRtV;t	#)�ToolResultSegmentrr~�31str | Noner�content_textFr��is_errorNc32�,�V^8�dQhRRRRRRRRR	R33/#)r
r~r�contentr34rr�r�r�rr6r)rs"rr�ToolResultSegment.__annotate__js<��:�:��:��:�35�:��
:�36�:rc	�<�\SV`RR7\T;'gR4VnVe\V4MRVn\V4Vn\V\4'd	W nR#\V4VnR#)�tool_resultr;rRN)37r=r>rr~rr�r��38isinstancer�r)r)r~r�rr�rAs&&&$$�rr>�ToolResultSegment.__init__jsg���	���m��,��{�0�0�b�1���!%�!1�C��I�t��	��X���
��g�s�#�#� '�� 0�� 9�D�rc� �V^8�dQhRRRR/#r"r)rs"rrr�{s��H�H�)�H��Hrc	��VP;'gRpVPe8\V4VP8�dRW!P^,39)R,pVPV4pVP'dRMRpVP40'dRVP
VP4142MRpRVPV4VRVR2#)	rRNr[zTool error:zTool result:r�u📤 r]r^)r��tool_output_tail_maxr`rar�rr�rb)r)r#rcrd�label�42maybe_names&&    rr*�ToolResultSegment.render{s������%�%�2���#�#�/�C��H�s�?W�?W�4W��#� 8� 8�1� <�=�?�@�@�C�����$��!%����
�N��9=����q�������3�4�5��43��s�x�x���'�44�|�7�5�'��G�Gr)r�r�rr~)45r,r-r.r/r0r�r>r*r1rirjs@rr�r�csI�����46�����H�d��:�47 �:��
:�:�"H�Hrr�c�a�]tRt^�t$R]R&^tR]R&]!]R7tR]R&Rt	R	]R48&RV3Rllt49R
RltRRltRt
V;t#)�SubagentSegmentr�descriptionr��50tool_calls)�default_factoryzset[str]�51tools_usedNzToolCallSegment | None�current_toolc� �V^8�dQhRRRR/#)r
r�rrr6r)rs"rr�SubagentSegment.__annotate__�s��!�!�C�!�D�!rc	�<�\SV`RR7\T;'gR4Vn^Vn\4VnRVnR#)�subagentr;�SubagentN)r=r>rr�r��setr�r�)r)r�rAs&&�rr>�SubagentSegment.__init__�s@���
���j��)��{�8�8�j�9�������%��� ��rc�$�V^8�dQhRRRRRR/#)r
r~rrrr}r)rs"rrr��s!��!�!��!�C�!�O�!rc	���\T;'gR4p\T;'gR4pVPPV4V;P^,
un\	W^R7VnVP52#)rRr�)r�)rr��addr�r}r�)r)r~rs&&&r�set_current_tool_call�%SubagentSegment.set_current_tool_call�s_���+�+�+��,���4�>�>�6�"�������D�!����1���+�K�A�N���� � � rc� �V^8�dQhRRRR/#r"r)rs"rrr��s�� � �)� �� rc53	��RpRVPR4RVPVP42.pVPe6VPP	V4pV'dVP
V4\VP4pV'd!RPRPV44MRpVP
VVPR4RVPV424VP
VVPR	4RVP\VP4424R54PV4# \55dRpL�i;i)r�u🤖 z	Subagent:r�rRz{{{}}}z, z{}zTools used:zTool calls:�56)
rbr�r�r�r*rrI�sortedr�rrTrr�)r)r#�inner_prefix�lines�renderedr��
tools_set_raws&&     rr*�SubagentSegment.render�s6�����C�H�H�[�)�*�!�C�O�O�D�<L�<L�,M�+N�O�57�����(�
��,�,�3�3�C�8������X�&��D�O�O�,�58�BL�����	�	�*�(=�>�RV�
�	����n�S�X�X�m�4�5�Q�s���}�7U�6V�W�	59�	����n�S�X�X�m�4�5�Q�s���s�4�?�?�G[�7\�6]�^�	60��y�y������
���
�s�E�
E�E)r�r�r�r�)r,r-r.r/r0r�r	r�r�r�r>r�r*r1rirjs@rr�r��sF������J��� ��5�J��5�+/�L�(�/�!�!�!� � rr�c�Fa�]tRt^�t$R]R&RV3RlltRRltRtV;t#)�ErrorSegmentr�messagec� �V^8�dQhRRRR/#)r
r�rrr6r)rs"rr�ErrorSegment.__annotate__�s��7�7��7��7rc	�\<�\SV`RR7\T;'gR4VnR#)�errorr;z
Unknown errorN)r=r>rr�)r)r�rAs&&�rr>�ErrorSegment.__init__�s'���
���g��&��7�5�5�o�6��rc� �V^8�dQhRRRR/#r"r)rs"rrr��s��N�N�)�N��Nrc	�b�RVPR4RVPVP42#)u⚠️ zError:r�)rbr�r�r(s&&rr*�ErrorSegment.render�s-������(�+�,�A�c�o�o�d�l�l�.K�-L�M�Mr)r�)	r,r-r.r/r0r>r*r1rirjs@rr�r��s���
�L�7�7�N�Nrr�c��]tRt^�t$R]R&R]R&R]R&R]R&R]R&RtR]R	&R61tR]R&RtR]R
&RtR]R&Rt	R#)r$zCallable[[str], str]rbr�ra�escape_textrzi�z62int | Noner_i��tool_input_tail_maxi@r�i�ryrN)63r,r-r.r/r0r_r�r�ryr1rrrr$r$�sK��64��%�%�%�%�%�%�)�)�$(��z�(�&*���*�'+��*�+� $�M�:�$rr$c��]tRt^�tRtRRRR/RRlltRR	ltR65RltRR
ltRRlt	RRlt66RRltRRltRRlt
RRltRtR#)�TranscriptBufferz7Maintains an ordered, truncatable transcript of events.�show_tool_resultsT�debug_subagent_stackFc�$�V^8�dQhRRRRRR/#)r
r�r�r�rr6r)rs"rr�TranscriptBuffer.__annotate__�s*��:�:� �:�#�	:�6768�:rc	��.Vn/Vn/Vn/Vn/Vn\V4Vn.Vn.VnW n	R#r')69�	_segments�_open_thinking_by_index�_open_text_by_index�_open_tools_by_index�_tool_name_by_idr��_show_tool_results�_subagent_stack�_subagent_segments�_debug_subagent_stack)r)r�r�s&$$rr>�TranscriptBuffer.__init__�sW��)+���CE��$�;=�� �AC��!�13���"&�'8�"9���+-���9;���%9�"rc��V^8�dQhRR/#)r
rr�r)rs"rrr��s��*�*�d�*rc	�,�\VP4#r')r�r�rUs&r�_in_subagent�TranscriptBuffer._in_subagent�s���D�(�(�)�)rc��V^8�dQhRR/#)r
rzSubagentSegment | Noner)rs"rrr��s��P�P�#9�Prc	�P�VP'dVPR,#R#)�N�����)r�rUs&r�_subagent_current�"TranscriptBuffer._subagent_current�s#��.2�.E�.E�.E�t�&�&�r�*�O�4�Orc� �V^8�dQhRRRR/#)r
�inpr70rrr)rs"rrr��s����C��C�rc	��\V\4'd�\VPRR4;'gR4P	4pV'dV#\VPRR4;'gR4P	4pV'dV#\VPRR4;'gR4P	4pV'dV#R#)r�rR�
subagent_type�typer�)r��dictr�get�strip)r)r��descr��typs&&   r�_task_heading_from_input�)TranscriptBuffer._task_heading_from_input�s����c�4� � ��s�w�w�}�b�1�7�7�R�8�>�>�@�D���������� <� B� B��C�I�I�K�M��$�$��c�g�g�f�b�)�/�/�R�0�6�6�8�C���71�rc�$�V^8�dQhRRRRRR/#)r
�tool_idr�segr�rr6r)rs"rrr�s!��
�
�c�
��
�D�
rc72	��\T;'gR4P4;'g R\VP4^,2pVPP	V4VP73P	V4VP'd:\P!RV\VP4\VRR44R#R#)rR�__task_z.SUBAGENT_STACK: push id=%r depth=%d heading=%rr�N)74rr�r`r�rIr�r�r�debug�getattr)r)r�r�s&&&r�_subagent_push�TranscriptBuffer._subagent_pushs���
��
�
�2��$�$�&�S�S�G�C��8L�8L�4M�PQ�4Q�3R�*S�	�	
���#�#�G�,����&�&�s�+��%�%�%��L�L�@���D�(�(�)���]�D�1�	
�&rc� �V^8�dQhRRRR/#)r
r�rrr�r)rs"rrr�s��<�<�S�<�T�<rc	�\�\T;'gR4P4pVP'gR#RRlpV'Ed�V!VPR	,V4'd�VPP4VP'dVPP4VP75'd,\P!RV\VP44R#R	p\\VP4^,76R	R	4F'pV!VPV,V4'gK%TpM	V^8dR#\VP4V8�d�VPP4pVP'dVPP4VP77'gKt\P!RV\VP4V4K�R#VP'd�VPR	,PR4'd�VPP4pVP'dVPP4VP78'd,\P!RV\VP44R#R#)79rRFc�$�V^8�dQhRRRRRR/#)r
�stack_idr�	result_idrr�r)rs"rr�4TranscriptBuffer._subagent_pop.<locals>.__annotate__s&��	T�	T��	T��	T��	Trc��V'd	V'gR#W8XdR#VPV4;'gVPV4#)FT)�80startswith)rrs&&r�_ids_roughly_match�:TranscriptBuffer._subagent_pop.<locals>._ids_roughly_matchs9���9���$���&�&�y�1�S�S�Y�5I�5I�(�5S�Srz)SUBAGENT_STACK: pop id=%r depth=%d (LIFO)Tz/SUBAGENT_STACK: pop id=%r depth=%d (matched=%r)r�z.SUBAGENT_STACK: pop id=%r depth=%d (synthetic)r�)rr�r��popr�r�rr�r`�ranger)r)r�r�idx�i�poppeds&&    r�
_subagent_pop�TranscriptBuffer._subagent_pops
���g�m�m��$�*�*�,���#�#�#��	T��7�!�$�"6�"6�r�":�G�D�D��$�$�(�(�*��*�*�*��+�+�/�/�1��-�-�-��L�L�C���D�0�0�1��81��C��3�t�3�3�4�q�8�"�b�A��%�d�&:�&:�1�&=�w�G�G��C��B��Q�w���d�*�*�+�c�1��-�-�1�1�3���*�*�*��+�+�/�/�1��-�-�-��L�L�I���D�0�0�1��	������D�$8�$8��$<�$G�$G�	�$R�$R��)�)�-�-�/�F��&�&�&��'�'�+�+�-��)�)�)����D����,�,�-��82�rc��V^8�dQhRR/#)r
rr3r)rs"rrr�Ms����/�rc	�P�\4pVPPV4V#r')r3r�rI�r)r�s& r�_ensure_thinking�!TranscriptBuffer._ensure_thinkingMs!����������c�"��83rc��V^8�dQhRR/#)r
rrlr)rs"rrr�Rs����k�rc	�P�\4pVPPV4V#r')rlr�rIrs& r�_ensure_text�TranscriptBuffer._ensure_textRs ���m�������c�"��84rc� �V^8�dQhRRRR/#)r
�evzdict[str, Any]rr6r)rs"rrr�Ws��u�u��u�4�urc
��VPR4pVP4'd85VR9dR#VR8Xd_\VPRR 44pV^8�dVPRRRV/4VP	4pV^8�dW@P86V&R#VR!9d�\VPRR 44pVP87PV4pVf&VP	4pV^8�dW@P88V&VP
\VPRR444R#VR	8XdA\VPRR 44pV^8�dVP89PVR4R#VR8Xd_\VPRR 44pV^8�dVPRRRV/4VP4pV^8�dW@PV&R#VR"9d�\VPRR 44pVPPV4pVf&VP4pV^8�dW@PV&VP
\VPRR444R#VR908XdA\VPRR 44pV^8�dVPPVR4R#VR8XEd�\VPRR 44pV^8�dVPRRRV/4\VPRR4;'gR4P4p\VPR
R4;'gR4pV'dW`PV&VR8XdZVPVPR44p\V4pVPP
V4VP!WT4R#VP4'dNVP#4pVeVP%WV4pMM\'WV4pVPP
V4M&\'WV4pVPP
V4V^8�dW@P(V&R#VR8XdR#VR8XdE\VPRR 44pVP(PVR4pVeRVnR#VR8Xd�\VPRR 44pW0P(9dVPRRRV/4R#W0P919dVPRR	RV/4R#W0P9dVPRR92RV/4R#R#VR8XEda\VPRR4;'gR4P4p\VPR
R4;'gR4pV'dW`PV&VR8XdZVPVPR44p\V4pVPP
V4VP!WT4R#VP4'dNVP#4pVeVP%WV4pMM\'WV4pVPP
V4M&\'WV4pVPP
V4RVnR#VR8XEd[\VPRR4;'gR4P4pVPPV4pVP,'d�VP/V4p	VP,'dVP,R ,MRp93RVP149pV	'g@V'd8V94P3R4'd!VR#9dV'dVP/R4VP4'gR#\7VVPR4V\9VPRR44R7pVPP
V4R#VR8Xd@VPP
\;\VPRR4444R#R#)$z'Apply a parsed event to the transcript.r��thinking_start�95text_startN�index�96block_stoprVrR�
thinking_stop�	text_stop�tool_use_start�idrr��Task�input�tool_use_delta�
tool_use_stopT�tool_user�r~�taskr�r�r�F)rr�r�r�)r�thinking_delta�thinking_chunkr�97text_delta�98text_chunkr�)r)r*)r+r,)Nr#)r�r�r��applyrr�rIrrrr�r�r�r�r�r�r�r�r�r}r�r�r�r
�lowerrr�r�r�r�)r)r�etr99r�r�r�heading�parentr�top�looks_like_task_ids&&          rr-�TranscriptBuffer.applyWs��
�V�V�F�^�������2�*100�$101�
�
�!�!��b�f�f�W�b�)�*�C��a�x��102�103�F�L�'�3�?�@��'�'�)�C��a�x�47�,�,�S�1��
�5�5��b�f�f�W�b�)�*�C��.�.�2�2�3�7�C��{��+�+�-���!�8�8;�0�0��5��J�J�s�2�6�6�&�"�-�.�/��
�� ��b�f�f�W�b�)�*�C��a�x��,�,�0�0��d�;��
����b�f�f�W�b�)�*�C��a�x��104�105�F�L�'�3�?�@��#�#�%�C��a�x�03�(�(��-��
�-�-��b�f�f�W�b�)�*�C��*�*�.�.�s�3�C��{��'�'�)���!�8�47�,�,�S�1��J�J�s�2�6�6�&�"�-�.�/��
����b�f�f�W�b�)�*�C��a�x��(�(�,�,�S�$�7��
�!�!��b�f�f�W�b�)�*�C��a�x��106�107�F�L�'�3�?�@��"�&�&��r�*�0�0�b�1�7�7�9�G��r�v�v�f�b�)�3�3�V�4�D��15�%�%�g�.��v�~��7�7����w��H��%�g�.�����%�%�c�*��#�#�G�1��� � �"�"��/�/�1���%� �6�6�w�E�C�)�'�8�C��N�N�)�)�#�.�%�g�4�����%�%�c�*��a�x�14�)�)�#�.��
�!�!��
�� ��b�f�f�W�b�)�*�C��+�+�/�/��T�:�C���!��108��
����b�f�f�W�b�)�*�C��/�/�/��109�110�F�O�W�c�B�C���2�2�2��111�112�F�O�W�c�B�C���.�.�.��113�114�F�K��#�>�?���
����"�&�&��r�*�0�0�b�1�7�7�9�G��r�v�v�f�b�)�3�3�V�4�D��15�%�%�g�.��v�~��7�7����w��H��%�g�.�����%�%�c�*��#�#�G�1��� � �"�"��/�/�1���%� �6�6�w�E�C�)�'�8�C��N�N�)�)�#�.�%�g�4�����%�%�c�*��C�J��
����"�&�&���3�9�9�r�:�@�@�B�G��(�(�,�,�W�5�D��#�#�#��+�+�G�4��26�2F�2F�2F�d�*�*�2�.�B��%+�w�}�}��%>�"������y�1�1���/�*��&�&�r�*��*�*�*��#�����y�!���b�f�f�Z��7�8�	�C�
�N�N�!�!�#�&��
��=��N�N�!�!�,�s�2�6�6�)�R�3H�/I�"J�K��rc�(�V^8�dQhRRRRRRRR/#)	r
r#r$�limit_charsr��statusr�rrr)rs"rrr�s)��7�7�)�7�S�7�*�7�QT�7rc
�Haa�.pVPF0pVPV4pT'gKTPT4K2	V'dRV2MRoVP	R4oRVV3RllpV!VRR7p\V4V8:dV#\
V4p	Rp115RpV	'd1V!V	R	R7p\V4V8:dV#V	P4pR	p116K8V117'dzV'drV\S4,118\S4,119pV^8�dI\V4V8�dR120W�^,121)R,p
MTp
SV
,S,p\V4V8:dV#V122'd+SSPR4,p\V4V8:dV#T;'gR# \dEK�i;i)z9Render transcript with truncation (drop oldest segments).z123 124rRz... (truncated)125c�$�V^8�dQhRRRRRR/#)r
�partsz
Iterable[str]�126add_markerr�rrr)rs"rr�-TranscriptBuffer.render.<locals>.__annotate__s&��	P�	P��	P�D�	P�S�	Prc�<�RPV4pV'dV'd127SV,pV'g	S'd128VS,#S#)r�)rT)r:r;�body�
prefix_marker�status_texts&& ��r�_join�&TranscriptBuffer.render.<locals>._joins4����9�9�U�#�D��d�$�t�+��*.�+�4�+�%�O�K�OrF)r;NTr[r�)	r�r*rrIr�r`r�popleft�lstrip)r)r#r6r7r�r��outrA�	candidater:�dropped�	last_part�budget�tail�minimalr?r@s&&$$           @@rr*�TranscriptBuffer.renders����!���>�>�C�
��j�j��o���s�����$�
"�*0��V�H�o�R�����(;�<�
�	P�	P��(�u�5�	��y�>�[�(���"�(�O���� $�	���e��5�I��9�~��,� � ��
�
��I��G��y� �3�}�#5�5��K�8H�H�F���{��y�>�F�*� �9��z�]�_�#=�=�D�$�D�)�D�0�;�>�	��y�>�[�0�$�$��#�k�&8�&8��&>�>�G��7�|�{�*����|�|����a�
��
�s�F�F!� F!)	r�r�r�r�r�r�r�r�r�N)r,r-r.r/�__doc__r>r�r�r�r�r
rrr-r*r1rrrr�r��sT��A�:�#'�:�&+�	:�0*�P��
�<�|�129�130u�n7�7rr�)rM�131__future__rr�abcrr�collectionsr�collections.abcrr�dataclassesrr	�typingr132�logururrrr3rlr}r�r�r�r$r�rrr�<module>rUs���#��#��.�(�����1�c�1��1��A�g�A��A�*�(�'�(��(�(�?�g�?��?�&�H��H��H�B�. �g�. ��. �b�N�7�N��N��133%�134%��135%�t�tr