Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
pprint.cpython-314.pyc185 linesDownload Raw Back to __pycache__
1+
2��i\_����Rt^RIt^RIt^RIt^RIHt	.ROt3RRRRRRR/R	lltRRRRRRR/R4lltRR/Rlt
RtR
tRt!RR4tRt!RR4t]!]]]]]]]!R404tRtRtR#)a/Support to pretty-print lists, tuples, & dictionaries recursively.5 6Very simple, but useful, especially in debugging data structures.7 8Classes9-------10 11PrettyPrinter()12    Handle pretty-printing operations onto a stream using a configured13    set of formatting parameters.14 15Functions16---------17 18pformat()19    Format a Python object into a pretty-printed representation.20 21pprint()22    Pretty-print a Python object to a stream [default is sys.stdout].23 24saferepr()25    Generate a 'standard' repr()-like value, but protect against recursive26    data structures.27 28N)�StringIO�
PrettyPrinter�compactF�29sort_dictsT�underscore_numbersc30�F�\WW4WVVR7pVPV4R#)zAPretty-print a Python object to a stream [default is sys.stdout].)�stream�indent�width�depthrrrN)r�pprint)	�objectrr	r31rrrr�printers	&&&&&$$$ �
Lib\pprint.pyrr.s'����E��-�/�G��N�N�6��c	�>�\WVWEVR7PV4#)z<Format a Python object into a pretty-printed representation.)r	r32rrrr)r�pformat)r
r	r33rrrrs&&&&$$$rrr8s&����5�!(�,>�@�@G����Prc�(�\V.VO5RV/VBR#)zPretty-print a Python objectrN)r)r
r�args�kwargss&$*,r�ppr@s��34�6�:�D�:�Z�:�6�:rc�H�\4PV/R^4^,#)z=Version of repr() which can handle recursive data structures.N�r�35_safe_repr�r
s&r�safereprrE� ���?�%�%�f�b�$��:�1�=�=rc�H�\4PV/R^4^,#)z4Determine if saferepr(object) is readable by eval().Nrrs&r�36isreadablerJrrc�H�\4PV/R^4^,#)z8Determine if object requires a recursive representation.Nrrs&r�isrecursiver Orrc�6a�]tRt^TtoRtR.tRtRtRtVt	R#)�	_safe_keyaAHelper function for key functions when sorting unorderable objects.37 38The wrapped-object will fallback to a Py2.x style comparison for39unorderable types (sorting first comparing the type name and then by40the obj ids).  Does not work recursively, so dict.items() must have41_safe_key applied to both the key and the value.42 43�objc��WnR#�N�r#)�selfr#s&&r�__init__�_safe_key.__init__`s���rc�&�VPVP8# \dk\\TP44\	TP43\\TP44\	TP438u#i;ir%)r#�	TypeError�str�type�id)r'�others&&r�__lt__�_safe_key.__lt__csm��	;��8�8�e�i�i�'�'���	;���d�h�h��(�"�T�X�X�,�7���e�i�i��)�2�e�i�i�=�9�:�
;�	;�s��A2B�Br&N)44�__name__�45__module__�__qualname__�__firstlineno__�__doc__�	__slots__r(r0�__static_attributes__�__classdictcell__��
__classdict__s@rr"r"Ts"�������I��;�;rr"c�J�\V^,4\V^,43#)z&Helper function for comparing 2-tuples)r")�ts&r�_safe_tupler>ks���Q�q�T�?�I�a��d�O�+�+rc��a�]tRt^ptoR&RRRRRR/RlltRtR	tR46tRtRt	R
t47/tRt]]]
P&Rt]]]P"P&Rt]]]P&Rt]]]P&Rt]]]P&]]]P&Rt]]]P&Rt]]]P&Rt]]]P&Rt]]] PBP&Rt"]"]] PFP&Rt$Rt%Rt&Rt'Rt(Rt)])]]PTP&Rt+]+]]PXP&Rt-]-]]P\P&R t/]/]]P`P&R!t1]1]]PdP&R"t3]3]]PhP&R#t5]5]]PlP&R$t7R%t8Vt9R#)'rNrFrTrc�D�\V4p\V4pV^8d\R4hVeV^8:d\R4hV'g\R4hW0nWnW nVeW@nM\PVn\V4Vn	W`n48WpnR#)aYHandle pretty printing operations onto a stream using a set of49configured parameters.50 51indent52    Number of spaces to indent for each level of nesting.53 54width55    Attempted maximum number of columns in the output.56 57depth58    The maximum depth to print out nested structures.59 60stream61    The desired output stream.  If omitted (or false), the standard62    output stream available at construction will be used.63 64compact65    If true, several items will be combined in one line.66 67sort_dicts68    If true, dict keys are sorted.69 70underscore_numbers71    If true, digit groups are separated with underscores.72 73zindent must be >= 0Nzdepth must be > 0zwidth must be != 0)�int�74ValueError�_depth�_indent_per_level�_width�_stream�_sys�stdout�bool�_compact�_sort_dicts�_underscore_numbers)r'r	r75rrrrrs&&&&&$$$rr(�PrettyPrinter.__init__qs���8�V����E�76���A�:��2�3�3����!���0�1�1���1�2�2���!'������!�L��;�;�D�L��W�
��
�%��#5� rc��VPe=VPWP^^/^4VPPR4R#R#)N�77)rF�_format�write�r'r
s&&rr�PrettyPrinter.pprint�s;���<�<�#��L�L����q�!�R��;��L�L���t�$�$rc�`�\4pVPW^^/^4VP4#��)�	_StringIOrP�getvalue)r'r
�sios&& rr�PrettyPrinter.pformat�s)���k�����V�!�Q��A�.��|�|�~�rc�8�VPV/^^4^,#rU��formatrRs&&rr �PrettyPrinter.isrecursive�s���{�{�6�2�q�!�,�Q�/�/rc�R�VPV/^^4wr#pT;'dV'*#rUr\)r'r
�s�readable�	recursives&&   rr�PrettyPrinter.isreadable�s+��!%���V�R��A�!>���Y��)�)�	�M�)rc78��\V4pWu9d+VP\V44RVnRVnR#VPWV4pVPV,79V,80p	\V4V	8�d�TPP\V4PR4p81^RIH
pV82e^WW&V83!WW#WEV^,4WWR#V!V4'd�\V\4'g�VPP 'dd\#VPR4'dHRVPP$P&9d#^WW&VP)WW4WV^,4WWR#VPV4R#)TFN)�is_dataclass�__wrapped__�
__create_fn__)r.rQ�84_recursion�85_recursive�	_readable�_reprrE�len�	_dispatch�getr-�__repr__�dataclassesre�86isinstance�__dataclass_params__�repr�hasattrrfr4�_pprint_dataclass)r'r
rr	�	allowance�context�level�objid�rep�	max_width�pres&&&&&&&     rrP�PrettyPrinter._format�s1���6�87�����L�L��F�+�,�"�D�O�"�D�N���j�j��%�0���K�K�&�(�9�4�	��s�8�i�����"�"�4��<�#8�#8�$�?�A�0��}�!"����$��	�E�A�I�N��N���v�&�&� ���.�.��-�-�2�2�2��&�/�/�=�9�9�!�V�_�_�%@�%@�%M�%M�M�!"����&�&�v�v�'�[\�S\�]��N�����S�rc��^RIHpVPPpV\	V4^,,
pV!V4U	u.uF7q�P88'gKV	P\WP43NK9	p89p	VPVR,4VPW�W4WV4VPR4R#uup	i)rV)�fields�(�)N)90rpr�	__class__r2rlrs�name�getattrrQ�_format_namespace_items)r'r
rr	rvrwrx�dataclass_fields�cls_name�f�itemss&&&&&&&    rru�PrettyPrinter._pprint_dataclass�s���:��#�#�,�,���#�h�-�!�#�#��<L�V�<T�_�<T�q�X^�X^�2�!�&�&�'�&�&�&�1�2�<T��_����X��^�$��$�$�U�F�w�V����S���`s�B=�%B=c�~�VPpV!R4VP^8�d!V!VP^,91R,4\V4pV'd]VP'd!\	VP4\R7p	MVP4p	VPW�W4^,WV4V!R4R#)�{� ��key�}N)rQrDrlrK�sortedr�r>�_format_dict_items)92r'r
rr	rvrwrxrQ�lengthr�s93&&&&&&&   r�_pprint_dict�PrettyPrinter._pprint_dict�s�������
�c�94��!�!�A�%��4�)�)�A�-��4�5��V���������v�|�|�~�;�?��������#�#�E�6�q�=�$+�
4�
�c�95rc��\V4'gVP\V44R#VPpVPVPR,4VP\
VP44VV\VP4,^,V^,WV4VPR4R#)Nr�r�)rlrQrsr�r2rP�listr�)r'r
rr	rvrwrx�clss&&&&&&& r�_pprint_ordered_dict�"PrettyPrinter._pprint_ordered_dict�s����6�{�{��L�L��f��&���������S�\�\�C�'�(����T�&�,�,�.�)�6��c�#�,�,�/�/�!�3�Y��]��	%�	���S�rc�~�VPR4VPWW4^,WV4VPR4R#)�[�]N)rQ�
_format_items�r'r
rr	rvrwrxs&&&&&&&r�_pprint_list�PrettyPrinter._pprint_list�s3�����S�����6�6�q�=�"�	+����S�rc	��VPR4\V4^8XdRMRpVPWW4\V4,WV4VPV4R#)r�z,)r�N)rQrlr�)r'r
rr	rvrwrx�endchars&&&&&&& r�
_pprint_tuple�PrettyPrinter._pprint_tuplesJ�����S���f�+��*�$������6�6�s�7�|�3K�"�	+����W�rc	���\V4'gVP\V44R#VPpV\JdVPR4RpMGVPVP96R,4RpV\VP974^,,
p\
V\R7pVPWW4\V4,WV4VPV4R#)Nr�r��({�})r�)	rlrQrsr��setr2r�r"r�)	r'r
rr	rvrwrx�typr�s	&&&&&&&  r�_pprint_set�PrettyPrinter._pprint_sets����6�{�{��L�L��f��&�������#�:��L�L����G��L�L�����,�-��G��c�#�,�,�'�!�+�+�F���I�.�����6�6�s�7�|�3K�"�	+����W�rc��VPp\V4'gV!\V44R#.pVPR4p	V^8XdV^,
pV^,
pVPV,98;r�\V	4EFSwr�\V
4pV\V	4^,998Xd	W�,p100\V4V1018:dVP
V4KS^RIpVPRV
4pV'gQhVR,'dQhVP4TpRp\V4F�wppVV,pV\V4^,1028Xd!V\V	4^,1038Xd104VV,p\\V44V8�d'V'dVP
\V44TpK�TpK�	V'gEK9VP
\V44EKV	\V4^8XdV!X4R#V^8Xd	V!R4\V4F*wr�V^8�dV!RRV,,4V!V4K,	V^8XdV!R4R#R#)	NTz\S*\s*�r�rOr�r������)105rQrlrs�106splitlinesrE�	enumerate�append�re�findall�pop)r'r
rr	rvrwrxrQ�chunks�lines�107max_width1r{�i�linerzr��parts�108max_width2�current�j�part�	candidates&&&&&&&               r�_pprint_str�PrettyPrinter._pprint_str s��������6�{�{��$�v�,������!�!�$�'���A�:��a�K�F���N�I�!%���v�!5�5�109� ��'�G�A��t�*�C��C��J��N�"��'�110��3�x�:�%��
�
�c�"���111�112�9�d�3����u� ��9�9�$�}��	�	��&�113���(��/�G�A�t� '�$��I��C��J��N�*�q�C��J��N�/B�"�i�/�114��4�	�?�+�j�8�"�"�M�M�$�w�-�8�"&��"+�� 0��7��M�M�$�w�-�0�9(�:�v�;�!���#�J���A�:��#�J���'�F�A��1�u��d�S��Z�'�(��#�J�(��A�:��#�J�rc�v�VPp\V4^8:dV!\V44R#V^8HpV'dV^,
pV^,
pV!R4Rp	\WPV,115V4F-p116V!V	4V!V1174V	'dKRRV,,p	K/	V'dV!R4R#R#)�Nr�r�rOr�r�)rQrlrs�_wrap_bytes_reprrE)r'r
rr	rvrwrxrQ�parens�delimrzs&&&&&&&    r�
_pprint_bytes�PrettyPrinter._pprint_bytesVs��������v�;�!���$�v�,����!�����a�K�F���N�I��#�J���#�F�K�K�&�,@�)�L�C��%�L��#�J��5��s�6�z�)��	M�118��#�J�rc	��VPpV!R4VP\V4W#^119,V^,WV^,4V!R4R#)z120bytearray(r�N)rQr��bytes)r'r
rr	rvrwrxrQs&&&&&&& r�_pprint_bytearray�PrettyPrinter._pprint_bytearrayksA������
�l�����5��=�&�2�+�$�q�=�'�1�9�	>�
�c�121rc��VPR4VPVP4W#^
,V^,WV4VPR4R#)z
mappingproxy(r�N)rQrP�copyr�s&&&&&&&r�_pprint_mappingproxy�"PrettyPrinter._pprint_mappingproxyts=�����_�%����V�[�[�]�F�R�K��Q���	%����S�rc�P�\V4\PJdRpMVPPpV\V4^,,
pVPP4pVPVR,4VPW�W4WV4VPR4R#)�	namespacer�r�N)122r-�_types�SimpleNamespacer�r2rl�__dict__r�rQr�)	r'r
rr	rvrwrxr�r�s	&&&&&&&  r�_pprint_simplenamespace�%PrettyPrinter._pprint_simplenamespace|s����<�6�1�1�1�#�H��'�'�0�0�H��#�h�-�!�#�#�����%�%�'�����X��^�$��$�$�U�F�w�V����S�rc	��VPpW0P,
pRRV,,p\V4^,123p	\V4Fuwp124wr�W�8Hp
VP	W�V4pV!V4V!R4TPY�V\V4,^,V
'dTM^WV4V
'dKmV!V4Kw	R#)�,125r��: N)rQrDrlr�rkrP)r'r�rr	rvrwrxrQ�delimnl�126last_indexr�r��ent�lastrzs&&&&&&&        rr�� PrettyPrinter._format_dict_items�s��������(�(�(���#��,�&����Z�!�^�127�&�u�-�M�A�z���?�D��*�*�S�5�1�C��#�J��$�K��L�L��f�s�3�x�&7�!�&;�&*��� �
)��4��g��.rc	�x�VPpRRV,,p\V4^,128p	\V4F|wp129wr�W�8Hp
V!V4V!R4\V4V9d130V!R4M5TP	Y�V\V4,^,V
'dTM^WV4V
'dKtV!V4K~	R#)r�r��=�...N)rQrlr�r.rP)r'r�rr	rvrwrxrQr�r�r�r�r�r�s&&&&&&&       rr��%PrettyPrinter._format_namespace_items�s��������#��,�&����Z�!�^�131�&�u�-�M�A�z���?�D��#�J��#�J��#�w�'�!��e�����S�&�3�s�8�*;�a�*?�*.�Y�A�$�-��4��g��.rc���VPpW0P,
pVP^8�d!V!VP^,132R,4RRV,,pRp	VPV,133^,;r�\V4p\	V4p
RpT'g�T
p\	T4p
TP'd\TPY�T4p\T4^,pT134T8d
Tp135T	'dTp	T136T8�dT137T,p138T!T	4Rp	T!T4K�T!T	4Tp	TPY�TT'dTM^YV4K�R# \139dR#i;i \140dRpY�,pY�,p141L�i;i)�r�r�r�NFT�, )142rQrDrE�iter�next�
StopIterationrJrkrlrP)r'r�rr	rvrwrxrQr�r�r143r{�it�next_entr�r�rz�ws&&&&&&&           rr��PrettyPrinter._format_items�sb�������(�(�(���!�!�A�%��4�)�)�A�-��4�5��#��,�&���� �K�K�&�0�1�4�4��
�%�[��	��B�x�H�����C�
#���8��144�}�}�}��j�j��u�5����H�q�L���1�9�%�E�� '���A�:��Q�J�E��%�L� �E��#�J���%�L��E��L�L��f�&*��� �
)�/���	��	��!�
#����&�	��"��
#�s$�	E�!E�E�E�E7�6E7c��VPWP4VPV4wrEpV'gRVnV'dRVnV#)FT)r]r�rCrjri)r'r
rwrxrsrarbs&&&&   rrk�PrettyPrinter._repr�s@��$(�K�K�����04���U�%D�!��	��"�D�N��"�D�O��rc�&�VPWW44#)z�Format object for a specific context, returning a string145and flags indicating whether the representation is 'readable'146and whether the object represents a recursive construct.147)r)r'r
rw�	maxlevelsrxs&&&&&rr]�PrettyPrinter.format�s��148���v�	�A�Arc��\V4'gVP\V44R#VPVPWV4pVP149pV\VP4^,,
pVPVP:RV:RRV,:24VPWW4^,WV4VPR4R#)Nr�r�r�r�)rlrQrsrk�default_factoryr�r2r�)	r'r
rr	rvrwrx�rdfr�s	&&&&&&&  r�_pprint_default_dict�"PrettyPrinter._pprint_default_dict�s����6�{�{��L�L��f��&���j�j��/�/��@�������#�c�l�l�#�a�'�'�����S�\�\�3��f��E�F����&�&�a�-��P����S�rc���\V4'gVP\V44R#VPpVPVPR,4VP150^8�d*VPVP151^,152R,4VP
4pVPW�V\VP4,^,V^,WV4VPR4R#)Nr�r�r�)rlrQrsr�r2rD�most_commonr�)	r'r
rr	rvrwrxr�r�s	&&&&&&&  r�_pprint_counter�PrettyPrinter._pprint_counter�s����6�{�{��L�L��f��&���������S�\�\�D�(�)��!�!�A�%��L�L�$�0�0�1�4��;�<��"�"�$������ &��S�\�\�):� :�Q� >�	�A�
� '�	0�	���T�rc	�T�\VP4'gVP\V44R#VPpVPVP153R,4V\VP1544^,,
p\
VP4F�wr�V\VP4^,1558Xd.VPW�W4^,WV4VPR4KSVPW�V^WV4VPRRV,,4K�	R#)Nr�r�r�r�)rl�mapsrQrsr�r2r�rP)156r'r
rr	rvrwrxr�r��ms157&&&&&&&   r�_pprint_chain_map�PrettyPrinter._pprint_chain_maps����6�;�;����L�L��f��&���������S�\�\�C�'�(��#�c�l�l�#�a�'�'���f�k�k�*�D�A��C����$�q�(�(����Q��A�
�w�N����S�!����Q���7�B����U�S�6�\�1�2�
+rc�<�\V4'gVP\V44R#VPpVPVPR,4V\VP4^,,
pVPR4VP158f.VP
WW4^,WV4VPR4R#VP
WV^WV4VPVP159WV4pVPRRV,:RV:R24R#)Nr�r�z])z],160r�zmaxlen=r�)rlrQrsr�r2�maxlenr�rk)	r'r
rr	rvrwrxr��rmls	&&&&&&&  r�
_pprint_deque�PrettyPrinter._pprint_deques����6�{�{��L�L��f��&���������S�\�\�C�'�(��#�c�l�l�#�a�'�'�����S���=�=� ����v�v�1�}�&�
/��L�L������v�v�q�&�
/��*�*�V�]�]�G�;�C��L�L�s�V�|�|�S�A�Brc	�P�VPVPW#WEV^,1614R#�r�N�rP�datar�s&&&&&&&r�_pprint_user_dict�PrettyPrinter._pprint_user_dict*������V�[�[�&�)�e�a�i�Prc	�P�VPVPW#WEV^,1624R#rr	r�s&&&&&&&r�_pprint_user_list�PrettyPrinter._pprint_user_list/r
rc	�P�VPVPW#WEV^,1634R#rr	r�s&&&&&&&r�_pprint_user_string�!PrettyPrinter._pprint_user_string4r
rc��\V4pV\9d\V4RR3#\VRR4p\	V\1644'd<V\165PJd(VP'dVR
RR3#\V4RR3#\	V\4'EdAV\PJEd,V'gR#\V4pV'dWC8�dRRWr93#Wr9d\V4RR3#^W'&RpRp	.p166V167PpV^,
pVP'd!\VP4\R7pMVP4pVFjwr�VP!W�W44wpppVP!W�W44wpppV!V:RV:24T;'d
T;'dTpV'gV'gKhRp	Kl	W'RR	P#V1684,W�3#\	V\$4'dV\$PJg,\	V\&4'EdV\&PJd�\	V\$4'dV'gR#R169pM\)V4^8XdRpMV'gR#Rp\V4pV'dWC8�dVR
,RWr93#Wr9d\V4RR3#^W'&RpRp	.p170V171PpV^,
pVF8pVP!VW#V4wpppV!V4V'gRpV'gK6Rp	K:	W'VR	P#V1724,W�3#\V4pTT;'dVP+R4'*R3#)TFroN�_dz{...}r�r�z{%s}r�z[%s]z(%s,)z(%s)r��<)z{}TF)z[]TF)z()TF)r-�_builtin_scalarsrsr��173issubclassrArorL�dictr.rhr�rKr�r�r>r]�joinr��tuplerl�174startswith)r'r
rwr�rxr��rryrarb�175componentsr�r��k�v�krepr�	kreadable�krecur�vrepr�	vreadable�vrecurr]�o�orepr�	oreadable�orecurrzs&&&&&                      rr�PrettyPrinter._safe_repr9s���6�l���"�"���<��u�,�,��C��T�*���c�3���A����$5��'�'�'� ���t�U�2�2��F�|�T�5�0�0��c�4� � �Q�$�-�-�%7��(�(��v�J�E��U�/���u�'7�7�7���!�&�)�5�$�6�6��G�N��H��I��J��&�&�F��Q�J�E������v�|�|�~�;�?����������+/�;�;��	�,2�(��y�&�+/�;�;��	�,2�(��y�&��5�%�0�1�#�?�?�	�?�?�i���V�V� $�I�����D�I�I�j�1�1�8�F�F��s�D�!�!�a�4�=�=�&8��s�E�"�"�q�E�N�N�':��#�t�$�$��,�,����V���!� ���,�,����v�J�E��U�/���~�u�e�.>�>�>���!�&�)�5�$�6�6��G�N��H��I��J��&�&�F��Q�J�E���+/�;�;��w�5�,2�(��y�&��u�
� �$�H��6� $�I�����D�I�I�j�1�1�8�F�F��6�l���S�4�4�����!4�4�u�<�<r)	rJrCrDrjrirKrFrLrE)r��PNN):r2r3r4r5r(rrr rrPrurmr�rror��_collections�OrderedDictr�r�r�rr�r��	frozensetr�r,r�r�r��	bytearrayr�r��MappingProxyTyper�r�r�r�r�rkr]r��defaultdictr��Counterr�ChainMapr�dequer�UserDictr�UserListr�176UserStringrr8r9r:s@rrrpsC����-6��-6�+/�-6�DI�-6�^%�177�1780�*��>	��I�
� ,�I�d�m�m��	�4H�I�l�&�&�/�/�0�� ,�I�d�m�m���!.�I�e�n�n���"*�I�c�l�l��$/�I�i� � �!�2�h*�I�c�l�l���&!.�I�e�n�n���%6�I�i� � �!��3G�I�f�%�%�.�.�/��2I�I�f�$�$�-�-�.��"�&')�R�B�	�4H�I�l�&�&�/�/�0��0?�I�l�"�"�+�+�,�
3�1B�I�l�#�#�,�,�-�C�$.;�I�l� � �)�)�*�Q�1B�I�l�#�#�,�,�-�Q�1B�I�l�#�#�,�,�-�Q�3F�I�l�%�%�.�.�/�O=�O=rc�P�R\V4P:R\V4:R2#)z<Recursion on z	 with id=�>)r-r2r.rs&rrhrh�s���F�|�$�$�b��j�
2�3rc#�V"�Rp\V4^,^,p\^\V4^4FXpWV^,pW6,pWT8Xd	W,p\\V44V8�dV'd\V4x�TpKVTpKZ	V'd\V4x�R#R#5i)rN)rl�rangers)r
r179rvr�r�r�r�r�s&&&     rr�r��s�����G��v�;�!��a��D�
�1�c�&�k�1�
%����1��~���N�	��9���E��t�I���%�'���7�m�#��G��G�&���7�m���s�A6B)�9B)�B))rrrr rrr)Nr�r,N)r�r,N)r6�collectionsr-�sysrG�typesr��iorrW�__all__rrrrrr r"r>rr/r,r�r0�float�complexrIr-rrhr��rr�<module>rEs����4#���$�"�����%)��>C��P��P�&*�P�?D�P�;��;�180>�181>�182>�183;�;�.,�184X=�X=�v�c�5�)�U�G�"�D��J�0�1��3�185r
codekingpro/portable-devtools · Team Ai