403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.51
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/datetimetester.cpython-313.opt-2.pyc
�

��i8f���SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSK
r
SSKJr SSKJrJrJrJrJrJrJrJrJr SSKJr SSKJrJrJrJr SSKJ r J!r! SSK"r#SSK"J$r$J%r% SSK"J&r& SS	K"J'r' SS
K"J(r( SSK"J)r) SSK"J*r* SS
K"J+r+J"r" SSK(r,SSK-r-SSK/r/SSK1r1SSK2r2SSK3r3\Rh\Rj1r6\7"\RpS-5Vs/sHn\\U4PM
 snr9\""SSSSS5r:SSS0/S4r;\<"S5r=\<"S5r>"SS\R~5r@"SS\'5rA"SS\A5rB"SS\B5rC"SS\'5rD"S S!\R~5rE"S"S#\R~5rF"S$S%5rG"S&S'\G\R~5rH"S(S)\R~5rI"S*S+\+5rJ"S,S-\G\R~5rK"S.S/\"5rL"S0S1\K5rM"S2S3\M5rN"S4S5\(5rO"S6S7\G\R~5rP"S8S95rQ"S:S;\P\Q\R~5rR"S<S=\M\Q\R~5rSS>rT\&"S5rU\&"SS?9rV\&"SS@9rW\&"SSA9rX\""SSBSSC5rY\""SSSDS5rZ"SESF\'5r[\["SGSHSISJ5r\\["SKSLSMSN5r]\["SOSPSQSR5r^\["SSSTSUSV5r_\A"SSWS5r`\A"SXSYS5ra"SZS[\R~5rb"S\S]\R~5rc"S^S_\'5rd"S`Sa\d5re\e"SGSbSISJ5rf\e"SKScSMSN5rg\e"SOSdSQSR5rh\e"SSSeSUSV5ri"SfSg\'5rj"ShSi\R~5rk\&"SS5rlSjrm"SkSl\'5rn"SmSn\R~5ro"SoSp\R�5rq"SqSr\o5rr\R�"\-SLSs5"StSu\R~55rt"SvSw\R~5ruSxrv\wSy:Xa\R�"5 gg!\.a Sr-GNrf=f!\0a Sr/GN|f=f!\.a Sr2GN�f=f!\.a Sr3GN�f=fs snf)z�N)�array)	�lt�le�gt�ge�eq�ne�truediv�floordiv�mod)�support)�is_resource_enabled�	ALWAYS_EQ�LARGEST�SMALLEST)�
script_helper�warnings_helper)�MINYEAR�MAXYEAR��	timedelta��tzinfo)�time)�timezone)�UTC)�date�datetime���
g@A@�abc��inf�nanc�2�\rSrSrSrSrSrSrSrSr	g)	�
TestModule�Oc��[nURURS5 URURS5 g)Nr�')�datetime_module�assertEqualrr)�selfrs  �(C:\Python313\\Lib\test\datetimetester.py�test_constants�TestModule.test_constantsQs3��"������)�)�1�-�����)�)�4�0�c�L�UR[[R5 g�N)�assertIsrr�utc�r-s r.�test_utc_alias�TestModule.test_utc_aliasVs���
�
�c�8�<�<�(r1c�r�[[5n[RHnURX!5 M gr3)�dirr+�__all__�assertIn)r-�	all_attrs�attrs   r.�test_all�TestModule.test_allYs(����(�	�#�+�+�D��M�M�$�*�,r1c���SURR;aURS5 [n[	S[U555n[	/SQ5nUR
X#-
[	/55 g)N�_Purez"Only run for Fast C implementationc3�# �UH7nURS5(aMURS5(aM3Uv� M9 g7f)�__N)�
startswith�endswith)�.0�names  r.�	<genexpr>�/TestModule.test_name_cleanup.<locals>.<genexpr>ds5���N�]�T��?�?�4�0��9=���t�9L��D�]�s�A�A�	A)rrrr�
datetime_CAPIrrrrr�sys)�	__class__�__name__�skipTestr+�setr:r,)r-r�names�alloweds    r.�test_name_cleanup�TestModule.test_name_cleanup_sj���d�n�n�-�-�-��M�M�>�?�"���N�S��]�N�N���/�0��	
�����#�b�'�2r1c�6�SURR;aURS5 [RnURU"SS5S5 URU"SS5S5 URU"SS5S	5 URU"S
S5S5 URU"SS5S5 URU"S
S5S	5 URU"SS5S	5 URU"SS5S5 URU"SS
5S5 URU"SS
5S	5 URU"SS5S	5 URU"SS5S5 URU"SS
5S5 URU"SS
5S	5 g)N�_Fastz'Only run for Pure Python implementation����������������r!��������)rMrNrO�_pydatetime�_divide_and_roundr,)r-�dars  r.�test_divide_and_round� TestModule.test_divide_and_roundksd���d�n�n�-�-�-��M�M�C�D��+�+������S�"��q�)�����Q���R�(�	
����Q���A�&�����R���R�(�����Q���R�(�����R���a�(�	
����R���Q�'�����S�!��b�)�����R���b�)�����S�"��q�)�����Q���A�&�����R���R�(�����Q���R�(�����R���a�(r1r#N)
rN�
__module__�__qualname__�__firstlineno__r/r7r?rSrf�__static_attributes__r#r1r.r'r'Os��1�
)�+�
3�)r1r'c�6�\rSrSrS	SjrSrSrSrSrSr	g)
�FixedOffset�c��[U[5(a	[US9n[U[5(a	[US9nXlX lX0lg�N��minutes)�
isinstance�intr�_FixedOffset__offset�_FixedOffset__name�_FixedOffset__dstoffset�r-�offsetrH�	dstoffsets    r.�__init__�FixedOffset.__init__�s@���f�c�"�"��v�.�F��i��%�%�!�)�4�I��
���$�r1c�6�URR5$r3)rv�lowerr6s r.�__repr__�FixedOffset.__repr__�s���{�{� � �"�"r1c��UR$r3)ru�r-�dts  r.�	utcoffset�FixedOffset.utcoffset�����}�}�r1c��UR$r3)rvr�s  r.�tzname�FixedOffset.tzname�s���{�{�r1c��UR$r3)rwr�s  r.�dst�FixedOffset.dst�s�����r1)�__dstoffset�__name�__offsetN��*)
rNrhrirjr{rr�r�r�rkr#r1r.rmrm�s��%�#��� r1rmc��\rSrSrSSjrSrg)�PicklableFixedOffset�Nc�0�[RXX#5 gr3)rmr{rxs    r.r{�PicklableFixedOffset.__init__�s�����T�4�;r1r#)NNN�rNrhrirjr{rkr#r1r.r�r��s��<r1r�c��\rSrSrSrSrg)�PicklableFixedOffsetWithSlots�)rurv�spamr#N)rNrhrirj�	__slots__rkr#r1r.r�r��s��D�Ir1r�c��\rSrSrSrSrg)�_TZInfo�c�,�[R"5$r3)�random)r-r+s  r.r��_TZInfo.utcoffset�s���}�}��r1r#N�rNrhrirjr�rkr#r1r.r�r��s��r1r�c�>�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)�
TestTZInfo�c
��[5n[SSSSSSSU5nUR[5 UR	5 SSS5 g!,(df   g=f)N��r\��� rYr)r�r�assertRaises�	TypeErrorr�)r-�tz1�dt1s   r.�test_refcnt_crash_bug_22044�&TestTZInfo.test_refcnt_crash_bug_22044�sD���i���t�Q��B��A�q�#�6��
�
�
�y�
)��M�M�O�*�
)�
)�s�A�
Ac��[5n[RnUR[UR
U5 UR[URU5 UR[URU5 gr3)rr�maxr��NotImplementedErrorr�r�r�)r-�uselessr�s   r.�test_non_abstractness� TestTZInfo.test_non_abstractness�s[���(��
�\�\�����-�w�~�~�r�B����-�w�/@�/@�"�E����-�w�{�{�B�?r1c��"SS[5nUR[U[55 U"SS5nURU[5 [R
"5nUR
[URU5 UR
[URU5 UR
[URU5 g)Nc��\rSrSrSrSrg)�9TestTZInfo.test_subclass_must_override.<locals>.NotEnough�c��XlX lgr3)�_NotEnough__offset�_NotEnough__name)r-ryrHs   r.r{�BTestTZInfo.test_subclass_must_override.<locals>.NotEnough.__init__�s�� &�
�"�r1)r�r�Nr�r#r1r.�	NotEnoughr��s��
#r1r�rY�NotByALongShot)r�
assertTrue�
issubclass�assertIsInstancer�nowr�r�r�r�r�)r-r�r	r�s    r.�test_subclass_must_override�&TestTZInfo.test_subclass_must_override�s���	#��	#�	
���
�9�f�5�6�
�q�*�
+�����b�&�)�
�\�\�^�����-�r�y�y�"�=����-�r�|�|�R�@����-�r�v�v�r�:r1c�f�[SS5nURU[5 [R"5S4HtnURUR
U5[SS95 URURU5S5 URURU5[SS95 Mv g)NrY�Threerqr�)
rmr�rrr�r,r�rr�r�)r-�for�s   r.�test_normal�TestTZInfo.test_normal�s���
��G�
$�����b�&�)��,�,�.�$�&�B����R�\�\�"�-�y��/C�D����R�Y�Y�r�]�G�4����R�V�V�B�Z��2�)>�?�'r1c��[R"[5nUR[U5[5 [HGup#nURX5nUR
U5nUR[U5[5 MI gr3)r�__new__r4�type�pickle_choices�dumps�loads)r-�orig�pickler�	unpickler�proto�green�deriveds       r.�test_pickling_base�TestTZInfo.test_pickling_base�sa���~�~�f�%���
�
�d�4�j�&�)�)7�%�G���M�M�$�.�E��o�o�e�,�G��M�M�$�w�-��0�*8r1c��[SS9n[US44[US44[U44[US444GHOup#U"U6nUR	S5nURU[5 UR[U5U5 URURS5U5 URUR	S5U5 [H�upgnURXH5n	URU	5n
URU
[5 UR[U
5U5 URU
RS5U5 URU
R	S5U5 UR[U
S55 M� GMR g)N����rq�cookie�ESTr�)rr�r�rr�r�rr4r�r,r�r�r�r��assertFalse�hasattr)r-ry�otype�argsr��onamer�r�r�r�r�s           r.�test_pickling_subclass�!TestTZInfo.test_pickling_subclass�sM���4�(��
!�F�H�#5�6�
*�V�X�,>�?�
��y�!�
����'�	)�K�E�
�$�<�D��K�K��%�E��!�!�$��/��M�M�$�t�*�e�,����T�^�^�D�1�6�:����T�[�[��.��6�-;�)��E��
�
�d�2��#�/�/�%�0���%�%�g�v�6��
�
�d�7�m�U�3�� � ��!2�!2�4�!8�&�A�� � �����!5�u�=�� � ���&�!9�:�.<�)r1c	��^^�[SS9=mm"UU4SjS[5nU"5n[SSSSSUS	9nURU5nUR	XDR5-
U5 g)
Nr��hoursc�4>�\rSrSrU4SjrU4SjrSrSrg)�0TestTZInfo.test_issue23600.<locals>.UKSummerTime�c�>�T$r3r#)r-r��	DSTOFFSETs  �r.r��:TestTZInfo.test_issue23600.<locals>.UKSummerTime.utcoffset�s	��� � r1c�>�T$r3r#)r-r��DSTDIFFs  �r.r��4TestTZInfo.test_issue23600.<locals>.UKSummerTime.dst�s����r1c��g)N�UKSummerTimer#r�s  r.r��7TestTZInfo.test_issue23600.<locals>.UKSummerTime.tznames��%r1r#N�rNrhrirjr�r�r�rk)r�r�s��r.r�r��s���

!�
�
&r1r�r�r_��r)rrr�fromutcr,r�)r-r��tz�u�tr�r�s     @@r.�test_issue23600�TestTZInfo.test_issue23600�sf���'�a�0�0��)�	&�	&�6�	&��^���T�1�b�"�a��3���J�J�q�M������[�[�]�*�A�.r1r#N)rNrhrirjr�r�r�r�r�r�r�rkr#r1r.r�r��s'���@�;�@�	1�;�./r1r�c��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrg)�TestTimeZonei
c��[[SS9S5Ul[[SS9*S5Ul[	SSS5Ulg)N�#@r��ACDTrZr���r)rrrr�r�DTr6s r.�setUp�TestTimeZone.setUps;���Y�S�1�6�:��	��Y�Q�/�/��7����4��A�&��r1c���URUR[R[R[R
4H-nUR
[U5URS55 M/ gr3)	rr�rr5�minr�r,�strr��r-r�s  r.�test_str�TestTimeZone.test_strsJ���9�9�d�h�h�����<�<����/�B����S��W�b�i�i��o�6�/r1c���[nURUR[R[R
[R4H)n[U5nURU[U55 M+ gr3)
r+rr�rr5rr��reprr,�eval)r-rr��tzreps    r.�	test_repr�TestTimeZone.test_reprsR��"���9�9�d�h�h�����<�<����/�B���H�E����R��e��-�	/r1c�<�[SSS9nUR[RR	S5[
5 UR[RR	S5U*5 UR[RR	S5U5 g)N��;�r�rr)rr,rr5r��ZEROrr�)r-�limits  r.�test_class_members�TestTimeZone.test_class_memberssm����B�/��������/�/��5�t�<�������/�/��5��v�>�������/�/��5�u�=r1c���UR[R[[S555 UR	[R[[S5S55 UR[R[[S5S55 [SS9[SS94H9n[U5nUR
URS5[SS9-S5 M; [SS5[S54H:nUR[[U5 UR[[U*5 M< UR[5 [S5 SSS5 UR[5 [S5 SSS5 UR[5 [[S5 SSS5 UR[5 [[S5 SSS5 UR[5 [[SS	5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   Nq=f!,(df   g=f)
Nrrr��microseconds��secondsrqr��ABC�extra)r4rr5r�assertIsNotr,�assertNotEqualr�r��
ValueErrorr�r)r-�	subminuter��invalids    r.�test_constructor�TestTimeZone.test_constructor$s����
�
�h�l�l�H�Y�q�\�$:�;�������x�	�!��e�'D�E�������x�	�!��e�'D�E�#��3�Y�q�5I�J�I��)�$�B�������T� 2�Y�q�5I� I�1�M�K�"�!�Q���1��6�G����j�(�G�<����j�(�W�H�=�7��
�
�y�
)�8�D�>�
)�
�
�
�y�
)�8�B�<�
)�
�
�
�y�
)�8�D�$�+?�
)�
�
�
�y�
)�8�D�"�+=�
)�
�
�
�y�
)�8�D�%��+I�
)�
)�	*�
)��
)�
)��
)�
)��
)�
)��
)�
)�s<�H�;H,�$H=�I�I�
H)�,
H:�=
I�
I�
I-c��UR[R[5 URUR[5 gr3)r�rr5rr�r6s r.�test_inheritance�TestTimeZone.test_inheritance6s*�����h�l�l�F�3����d�h�h��/r1c��UR[5 "SS[5nSSS5 g!,(df   g=f)Nc��\rSrSrSrg)�5TestTimeZone.test_cannot_subclass.<locals>.MyTimezonei<r#N�rNrhrirjrkr#r1r.�
MyTimezoner.<s��r1r0)r�r�r)r-r0s  r.�test_cannot_subclass�!TestTimeZone.test_cannot_subclass:s$��
�
�
�y�
)�,�X�,�*�
)�
)�s�/�
=c��URnSHbnU[-nURU[U5R	U55 URU*[U*5R	U55 Md UR[5 URR	S5 SSS5 UR[5 URR	S5 SSS5 g!,(df   NH=f!,(df   g=f)N)rg�?r��rZ)r�HOURr,rr�r�r�r�)r-�dummy�hrys    r.�test_utcoffset�TestTimeZone.test_utcoffset>s��������A���X�F����V�X�f�%5�%?�%?��%F�G����f�W�h��w�&7�&A�&A�%�&H�I��
�
�
�y�
)�4�8�8�+=�+=�b�+A�
)�
�
�
�y�
)�4�8�8�+=�+=�a�+@�
)�
)�*�
)��
)�
)�s�
C(�C9�(
C6�9
Dc��UR[RRUR55 UR[5 URRS5 SSS5 UR[5 URRS5 SSS5 g!,(df   NH=f!,(df   g=f)Nr4rZ)�assertIsNonerr5r�rr�r�r�r6s r.�test_dst�TestTimeZone.test_dstIsu�����(�,�,�*�*�4�7�7�3�4�
�
�
�y�
)�4�8�8�<�<��+;�
)�
�
�
�y�
)�4�8�8�<�<��?�
)�
)�*�
)��
)�
)�s�B,�B=�,
B:�=
Cc
���URS[RRS55 URS[R"S55 URS[[
5RS55 URS[S[-5RS55 URS[S[-5RS55 URS[[SS95RS55 URS	[S[-S	5RS55 URS
[[
S
5RS55 URS[[SS
55RS55 URS[[SS
5*5RS55 URS[[SS
S55RS55 URS[[SS
S5*5RS55 UR[5 URRS5 SSS5 UR[5 URRS5 SSS5 g!,(df   NH=f!,(df   g=f)Nrz	UTC-05:00���z	UTC+09:30rz	UTC-00:01���rq�XYZ��zUTC+01:06:40r�zUTC-01:06:40zUTC+01:06:40.000001rzUTC-01:06:40.000001r4rZ)r,rr5r�rrr5rr�r�r�r6s r.�test_tzname�TestTimeZone.test_tznameOs��������� 3� 3�D� 9�:������
�
�4� 0�1�������� 5� 5�d� ;�<�����h�r�D�y�&9�&@�&@��&F�G�����h�s�T�z�&:�&A�&A�$�&G�H�����h�y��/D�&E�&L�&L�T�&R�S�������d��E� :� A� A�$� G�H�����8�D�(�#;�#B�#B�4�#H�I�	
�����)�A�t�2D�)E�)L�)L�T�)R�S�����!�9�Q��#5�"5�6�=�=�d�C�	E����.�!�)�A�t�Q�"7�8�?�?��E�	G����.�!�9�Q��a�#8�"8�9�@�@��F�	H��
�
�y�
)�4�8�8�?�?�2�+>�
)�
�
�
�y�
)�4�8�8�?�?�1�+=�
)�
)�*�
)��
)�
)�s�!J?�K�?
K
�
Kc��UR[5 [RR	UR
5 SSS5 UR[5 [RR	S5 SSS5 URUR[4H�nUR
RUS9nUR	U5nURX2-
URU55 URUUR
R[RS95 M� g!,(df   N�=f!,(df   N�=f)Nznot datetimer)
r�r$rr5r�rr�r�r�Eastern�replacer,r�)r-r��utctime�locals    r.�test_fromutc�TestTimeZone.test_fromutcfs���
�
�
�z�
*��L�L� � ����)�+�
�
�
�y�
)��L�L� � ��0�*��8�8�T�Y�Y��0�B��g�g�o�o�R�o�0�G��J�J�w�'�E����U�_�b�l�l�5�.A�B����U�!�W�W�_�_�H�L�L�_�A�
C�	1�	+�
*��
)�
)�s�*D.� D?�.
D<�?
E
c��UR[[5[[55 UR	[[5[[55 UR	[S[-5[S[-S55 UR[5 [[5[[5: SSS5 UR[[5[[515 UR[[5S:g5 UR[[5S:H5 [[5nURU[:H5 URU[:g5 URU[:5 URU[:�5 URU[:*5 URU[:�5 URU[:5 URU[:�5 URU[:*5 URU[:�5 g!,(df   GN~=f)Nr?r�)
r#rrr5r,r�r�r<r�r�rrrr
s  r.�test_comparison�TestTimeZone.test_comparisonrsw�����H�T�N�H�T�N�;�����$���$��8�����"�t�)�,�h�r�D�y�%�.H�I�
�
�
�y�
)�8�D�>�H�T�N�+J�
)��
�
�h�t�n�x��~�&6�7�������$�.�/�����$��4�/�0�
�d�^������i��(�����y��)�����W��%�����g��&�����g�
�&�����w��'�����h��'�����X�
�&�����x��(�����h��'�*�
)�s�! H8�8
Ic���[SSS5n[R[R[R4H�nURUR
U5URUS9R
55 URURU5URUS9R55 URURU5URUS9R55 M� g)Nrr)
rrrr�r5r,r�rHr�r��r-r�r�s   r.�test_aware_datetime� TestTimeZone.test_aware_datetime�s����Q��1����<�<����x�|�|�<�B����R�Y�Y�q�\��Y�Y�b�Y�1�8�8�:�
<����R�\�\�!�_��Y�Y�b�Y�1�;�;�=�
?����R�V�V�A�Y��Y�Y�b�Y�1�5�5�7�
9�=r1c��URUR[R[R4HDn[
H7up#nUR
URX55nURXQ5 M9 MF [Rn[
H7up#nUR
URX55nURXQ5 M9 gr3)rr�rrr�r�r�r�r,r5r4)r-r�r�r�r��tz_copys      r.�test_pickle�TestTimeZone.test_pickle�s����)�)�T�X�X�x�|�|�X�\�\�A�B�-;�)��E�#�/�/�'�-�-��*B�C��� � ��-�.<�B��\�\��)7�%�G���o�o�g�m�m�B�&>�?�G��M�M�'�&�*8r1c�:�URUR[R[R4H*n[
R
"U5nUR
X!5 M, [Rn[
R
"U5nURX!5 gr3)	rr�rrr��copyr,r5r4�r-r�rUs   r.�	test_copy�TestTimeZone.test_copy�se���)�)�T�X�X�x�|�|�X�\�\�A�B��i�i��m�G����W�)�B��\�\���)�)�B�-���
�
�g�"r1c�:�URUR[R[R4H*n[
R"U5nURX!5 M, [Rn[
R"U5nURX!5 gr3)
rr�rrr�rY�deepcopyr,r5r4rZs   r.�
test_deepcopy�TestTimeZone.test_deepcopy�sg���)�)�T�X�X�x�|�|�X�\�\�A�B��m�m�B�'�G����W�)�B��\�\���-�-��#���
�
�g�"r1c	�`�[SSS9[SSSS9[SSSSS9/nURUVs/sHo"*PM sn5 UH'nURSUS9 [U5 SSS5 M) [S	S
9[S	SS9/nURUVs/sHo"*PM sn5 UHEnURS
US9 UR	[
5 [U5 SSS5 SSS5 MG gs snf!,(df   M�=fs snf!,(df   N7=f!,(df   M�=f)Nrrr�r�rrr�?B�r�rrrr�good)�	test_type�delta�r�r)r�r�bad)r�extend�subTestrr�r$)r-�time_deltasrg�bad_time_deltass    r.�test_offset_boundaries�#TestTimeZone.test_offset_boundaries�s��
�B��+��B��B�7��B��B�V�L�
��
	����<��u�F��<�=� �E�����e��<����=�<�!�
�B���B�Q�/�
��	���O�D�O�5��O�D�E�$�E�����U��;��&�&�z�2��U�O�3�<�;�%��=�=�<�� E�3�2��<�;�s;�C1�C6�D�:D�D
�D�6
D	�
D�D�
D-	c��UR[R[55 UR[[	SS95[55 g)Nrr�)r#rr5rrr6s r.�test_comparison_with_tzinfo�(TestTimeZone.test_comparison_with_tzinfo�s6��	
���H�L�L�&�(�3����H�Y�Q�%7�8�&�(�Cr1)rrr�N)rNrhrirjrrrrr'r*r1r8r<rDrKrNrRrVr[r_rnrqrkr#r1r.r�r�
s`��'�
7�
.�>�J�$0�-�A�;�>�.
C�(�*	9�'�#�#�$�2Dr1r�c� �\rSrSrSrSrSrg)�HarmlessMixedComparisoni�c��URSSS5nURUS:H5 URUS:g5 URSU:H5 URSU:g5 URUSS/U/5 UR/USS//5 URU[:H5 URU[:g5 URU[
:5 URU[
:�5 URU[
:*5 URU[
:�5 URU[:5 URU[:�5 URU[:*5 URU[:�5 g)Nrr#�)�theclassr�r�r<rrr�r-�mes  r.�test_harmless_mixed_comparison�6HarmlessMixedComparison.test_harmless_mixed_comparison�s2��
�]�]�1�a��
#������r��"�����b��!�����r��"�����b��!��
�
�b�1�b�"�b�/�*��
�
�b�2�q�"�b�/�*�	
����i��(�����y��)�	
����W��%�����g��&�����g�
�&�����w��'�����h��'�����X�
�&�����x��(�����h��'r1c��^�URSSS5mUR[U4Sj5 UR[U4Sj5 UR[U4Sj5 UR[U4Sj5 UR[U4Sj5 UR[U4Sj5 UR[U4Sj5 UR[U4S	j5 g)
Nrc�>�TS:$�Nr#r#�rys�r.�<lambda>�GHarmlessMixedComparison.test_harmful_mixed_comparison.<locals>.<lambda>��	���R�"�Wr1c�>�TS:*$r~r#rs�r.r�r���	���R�2�Xr1c�>�TS:�$r~r#rs�r.r�r��r�r1c�>�TS:�$r~r#rs�r.r�r��r�r1c�>�ST:$r~r#rs�r.r�r��r�r1c�>�ST:*$r~r#rs�r.r�r��r�r1c�>�ST:�$r~r#rs�r.r�r��r�r1c�>�ST:�$r~r#rs�r.r�r��r�r1)rwr�r�rxs @r.�test_harmful_mixed_comparison�5HarmlessMixedComparison.test_harmful_mixed_comparison�s����
�]�]�1�a��
#�����)�_�5����)�%5�6����)�_�5����)�%5�6����)�_�5����)�%5�6����)�_�5����)�%5�6r1r#N)rNrhrirjrzr�rkr#r1r.rtrt�s��(�:7r1rtc��\rSrSr\rSrSrSr\	RS5rSrSr
SrS	rS
rSrSrS
rSrSrSr\	RS5rSrSrSrSrSrSrSrSrSr Sr!Sr"Sr#g)�
TestTimeDeltaic
�h�URn[nU"U"5U"SSSSSSSS95 U"U"S5U"SS95 U"U"SS5U"SS95 U"U"SSS5U"SS95 U"U"SS9U"SS95 U"U"SS9U"S	S
95 U"U"SS
9U"SS95 U"U"SS9U"SS95 U"U"SS9U"S
S95 U"U"SS9U"S
S95 U"U"SS9U"SS95 U"U"SS9U"SS
95 U"U"SS
9U"SS95 U"U"SS9U"SS95 U"U"SS9U"SS95 U"U"SS9U"SS95 g)Nr)�weeks�daysr�rrr�millisecondsrr�r�rr�r�r\rhr��<rq���r�g�$I�$I�?gUUUUUU�?g�?g����MbP?)r,r)r-r�tds   r.r'�TestTimeDelta.test_constructorsV��
�
�
��
��	�2�4��!�!�1�a��!"��4�	5�
�2�a�5�"�!�*��
�2�a��8�R��]�#�
�2�a��A�;���*�+�
�2�A�;���
�#�
�2�1�:�r��|�$�
�2�A�;��2��'�
�2�a�=�"�R�.�)�
�2�a�=�"�$�/�0�
�2�1��r�t�4�5�	�2�E�?�B�A�J�'�
�2�6�?�B�Q�K�(�
�2�F��R��]�+�
�2�f��r�!�}�-�
�2�e��b�a�0�1�
�2�5�!�2�1�#5�6r1c��	�URn[nU"S5nU"SS5nU"SSS5nU"X4-U-U"SSS55 U"X4-
U"SS55 U"URU5U"SS55 U"U*U"S55 U"U7U"S55 U"U*U"SS55 U"U*U"SS	S
55 U"[U5U5 U"[U*5U5 U"U"SS5U5 U"U"SSS5U5 U"US
-U"S55 U"US
-S
U-5 U"US
-S
U-5 U"US
-U"SS55 U"S
U-U"SS55 U"US
-U"SS55 U"US
-U"SSS55 U"S
U-U"SSS55 U"US
-U"SSS55 U"US-U*5 U"US-U*U-
5 U"US-U*U*-5 U"US-US-S-5 U"US-SU-S-5 U"US-U"SS55 U"SU-U"SS55 U"US-U"S55 U"US
-U"SS55 U"US-U"SSS55 U"US
-U"SS55 U"US-U"SSS55 U"US-U"S55 U"US-U"SS55 U"US-U"S55 U"US
-U"SS55 U"US-U"SSS55 U"US
-U"SS55 U"US-U"SSS55 U"SS9nU"SU-S-SU-5 U"SU-S-SU-5 U"SSU--SU-5 U"SSU--SU-5 U"SU-S-SU-5 U"S U-S-SU-5 U"U"SS!9S"-U"S#S95 U"U"SS!9S$-U"S%S95 U"SU-S-SU-5 U"SU-S-SU-5 U"SU-S&-SU-5 U"S U-S&-SU-5 U"SU-S-SU-5 U"SU-S-SU-5 U"SU-S'-SU-5 U"SU-S'-SU-5 [	S(S
5H nU"Xv-S-U-[US-55 M" [	S(S
5H nU"Xv-S-U-[US-55 M" U"U"SS!9S)-U"S%S95 U"U"S*S	S+5U"S*S	S,5-
U"SSS55 U"U"S*SS5U"S*SS5-
U"SSS55 g)-Nr\rr�r�raiDQr^r@�Q�X>�Qi��r!�FiX�'r[�rhri@�i��6i@���?��xrrYr]rZrXr?r翶~�Ϛ�?�@�g�6+1��?i�S	g@g�rWg`""K?-�?�ɚ;rc�>B)r,r�__rsub__�abs�range�round)r-rr��a�b�c�us�is        r.�test_computations�TestTimeDelta.test_computationssk��
�
�
��
���q�E���q�"�I���q�!�T�N��
�1�3�q�5�"�Q��D�/�"�
�1�3��1�l�#�$�
�1�:�:�a�=�"�Q��-�.�
�A�2�r�"�v��
�A�2�r�!�u�
�
�A�2�r�"�l�#�$�
�A�2�r�"�k�6�*�+�
�3�q�6�1�
�
�3��r�7�A��
�2�a��>�1��
�2�a��J���#�
�1�R�4��B���
�1�R�4��A���
�1�R�4��A���
�1�R�4��A�s���
�2�a�4��A�s���
�1�R�4��A�s���
�1�R�4��A�q�%��!�
�2�a�4��A�q�%��!�
�1�R�4��A�q�%��!�
�1�R�4�!���
�1�R�4�!��A���
�1�R�4�!��Q�B���
�1�e�9�q��t�R�i� �
�1�e�9�r�!�t�R�i� �
�1�T�6�2�a��8��
�4��6�2�a��8��
�1�a�4��A���
�1�b�5�"�Q��(��
�1�d�7�B�q�!�Q�K� �
�1�b�5�"�Q��/�"�
�1�g�:�r�!�Q�	�*�+�
�1�S�5�"�R�&��
�1�S�5�"�Q��*��
�1�Q�3��1���
�1�R�4��A�q���
�1�T�6�2�a��A�;��
�1�R�4��A�x��!�
�1�W�9�b��A�y�)�*��Q�
��
�A�b�D�C�<��2���
�A�b�D�C�<��2���
�3�!�B�$�<��2���
�3�!�B�$�<��2���
�B�r�E�S�=�"�R�%� �
�B�r�E�S�=�"�R�%� �	�2�a�=�8�#�R�V�%<�=�
�2�a�=�9�$�b�f�&=�>�	�A�b�D�A�:�q��t��
�A�b�D�A�:�q��t��
�B�r�E�S�=�"�R�%� �
�B�r�E�S�=�"�R�%� �
�A�b�D�B�;��2���
�A�b�D�B�;��2���
�A�b�D�D�=�"�R�%� �
�A�b�D�D�=�"�R�%� ��s�B��A����Q���|�U�1�Q�3�Z�(� ��s�B��A����R��"�}�e�A�b�D�k�*� �	�2�a�=�M�*�B�F�,C�D�	�2�i���'�"�Y��v�*F�F�
�a��A�;�	�
�2�i��A���I�q�!�!4�4�
�a��A�;�	r1c�^^^�[S5mSHomUR[UU4Sj5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4Sj5 Mq SmUR[UU4Sj5 UR[UU4S	j5 UR[UU4S
j5 UR[U4Sj5 UR[U4Sj5 g)
Nr��r��?c�>�TT-$r3r#�r�r�s��r.r��<TestTimeDelta.test_disallowed_computations.<locals>.<lambda>w�	����1�r1c�>�TT-
$r3r#r�s��r.r�r�xr�r1c�>�TT-$r3r#r�s��r.r�r�yr�r1c�>�TT-
$r3r#r�s��r.r�r�zr�r1rc�>�TT-$r3r#�r��zeros��r.r�r�s	���T�Q�Yr1c�>�TT-$r3r#r�s��r.r�r��s	���Q�$�Yr1c�>�TT-$r3r#r�s��r.r�r��s	���Q��Xr1c�>�TS-$)N�r#�r�s�r.r�r��s	���Q��Wr1c�>�TS-$)Nr4r#r�s�r.r�r��s	���Q��Vr1)rr�r��ZeroDivisionError)r-r�r�r�s @@@r.�test_disallowed_computations�*TestTimeDelta.test_disallowed_computationsrs�����b�M���A����i��5����i��5����i��5����i��5�	������)�%6�7����+�->�?����+�-=�>����+�_�=����)�^�4r1c��[S5nUR[UR[5 UR[UR
[5 g)Nr�)rr�r$�__mul__�NAN�__truediv__)r-r�s  r.�test_disallowed_special�%TestTimeDelta.test_disallowed_special�s7���b�M�����*�a�i�i��5����*�a�m�m�S�9r1c���Supn[XU5nURURU5 URURU5 URURU5 g)N)rr\��rr,r�rr)r-r�rr�r�s     r.�test_basic_attributes�#TestTimeDelta.test_basic_attributes�sT��$���r�
�t�b�
)��������$�'�������W�-�������"�-r1c	�2�[SS9nURUR5S5 SH,n[US9nURUR5U5 M. SH6n[US9nURUR5U[SS9-5 M8 g)	N�mr�g8~A)g˟$�@g˟$��r�rg��.Ar)r@r[i����rr)rr,�
total_seconds)r-r�r��mss    r.�test_total_seconds� TestTimeDelta.test_total_seconds�s���
�C�
 ������)�)�+�Z�8�N�M��=�1�B����R�-�-�/��?�O�
!�B���+�B����R�-�-�/��i��6J�1J�K�!r1c	�T�[SSSSSSS9n[SS	9nURX5 g)
N�dr^�8���rXr�g��A�r�r�r�rrrrrr)rr,�r-�t1�t2s   r.�test_carries�TestTimeDelta.test_carries�s7��
�C��)�!�!�$9�;���A�
&������ r1c	��[SSSSSSS9n[5nUR[U5[U55 U[SS	9-
nU[S
S9-
nURX5 UR[U5[U55 US0nS
X2'UR[U5S5 URX1S
5 g)Nr�r^r�rXr�iz
r�r\r��1r�rr])rr,�hash�len)r-r�r��ds    r.�test_hash_equality� TestTimeDelta.test_hash_equality�s���
�C��)�!�!�$9�;���[������b��4��8�,�
�i�a� � ��
�i�S�!�!������ �����b��4��8�,�
��G���������Q���#�������"r1c��Sn[U6n[H9up4nURX%5nURU5nUR	X'5 M; g)N)r��"�8)rr�r�r�r,�r-r�r�r�r�r�r�r�s        r.�
test_pickling�TestTimeDelta.test_pickling�sJ�����$���)7�%�G���M�M�$�.�E��o�o�e�,�G����T�+�*8r1c�^^�[SSS5m[SSS5nURTU5 URTU:*5 URTU:�5 URTU:g5 URTU:5 URTU:�5 SH�n[U6nURTU:5 URUT:�5 URTU:*5 URUT:�5 URTU:g5 URUT:g5 URTU:H5 URUT:H5 URTU:�5 URUT:5 URTU:�5 URUT:*5 M� [GH0mURTT:HS5 URTT:gS5 URTT:HS5 URTT:gS5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4S	j5 UR[UU4S
j5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4S
j5 UR[UU4Sj5 GM3 g)Nr]rYr_�)rYrYrY)r]r_r_)r]rYrZFTc�>�TT:*$r3r#��badargr�s��r.r��,TestTimeDelta.test_compare.<locals>.<lambda>��	����v�r1c�>�TT:$r3r#r�s��r.r�r���	����f�r1c�>�TT:�$r3r#r�s��r.r�r��r�r1c�>�TT:�$r3r#r�s��r.r�r��r�r1c�>�TT:*$r3r#r�s��r.r�r���	����2�r1c�>�TT:$r3r#r�s��r.r�r���	����"�r1c�>�TT:�$r3r#r�s��r.r�r��r�r1c�>�TT:�$r3r#r�s��r.r�r��r�r1)rr,r�r��
OTHERSTUFFr�r��r-r�r�r�r�s   @@r.�test_compare�TestTimeDelta.test_compare�sK���
�q�!�Q�
��
�q�!�Q�
������R� �����b��!�����b��!�����r��"�����b��!�����b��!�3�D��D�!�B��O�O�B��G�$��O�O�B��G�$��O�O�B�"�H�%��O�O�B�"�H�%��O�O�B�"�H�%��O�O�B�"�H�%����R�2�X�&����R�2�X�&����R�"�W�%����R�"�W�%����R�2�X�&����R�2�X�&�4�!�j�F����R�6�\�5�1����R�6�\�4�0����V�r�\�5�1����V�r�\�4�0����i�)=�>����i�)<�=����i�)<�=����i�)=�>����i�)=�>����i�)<�=����i�)<�=����i�)=�>�!r1c�,�[nURnU"[U"S55S5 U"[U"S55S5 U"[U"S55S5 U"[U"S55S5 U"[U"S	S
SS95S
5 U"[U"SSSS95S5 U"[U"SSS	SS95S5 U"[U"SS95S5 U"[U"SS95S5 U"[U"SSSSSS95S5 U"SU"SS9*<S 3S!5 g)"Nrz1 day, 0:00:00r@z-1 day, 0:00:00r]z2 days, 0:00:00r[z-2 days, 0:00:00r��:rrbz12:58:59rYr_z2:03:04i��rr�)r�r�rrrz-210 days, 23:12:34r�z0:00:00.001000rz0:00:00.000003r�rc�r�r�rrrrz999999999 days, 23:59:59.999999z-(r��)z
-(1:00:00))rr,r	)r-r�rs   r.r�TestTimeDelta.test_str�s��
��
�
�
��
�3�r�!�u�:�'�(�
�3�r�"�v�;�)�*�
�3�r�!�u�:�(�)�
�3�r�"�v�;�*�+�
�3�r��B��3�4�j�A�
�3�r��1�a�0�1�9�=�
�3�r��2�r�2�>�?� �	"�	�3�r�q�!�"�$4�5�
�3�r�q�!�"�$4�5�
�3�r�y��B�� &�(�)�,�	.�
	�R��"��
� ��"�L�1r1c	��SURR-nUR[URS55SU-5 UR[URSS55SU-5 UR[URSSS55S	U-5 UR[URS
S95SU-5 UR[UR55S
U-5 UR[URSS95SU-5 UR[URSSS95SU-5 UR[URSSS95SU-5 g)N�	datetime.rz
%s(days=1)r!r]z%s(days=10, seconds=2)rW�z,%s(days=-10, seconds=2, microseconds=400000)r�rz%s(seconds=60)z%s(0)r�rz%s(microseconds=100))r�rz%s(days=1, microseconds=100))rrz%s(seconds=1, microseconds=100)�rwrNr,r�r-rHs  r.r�TestTimeDelta.test_reprsW���T�]�]�3�3�3������d�m�m�A�.�/�%��,�	.�����d�m�m�B��2�3�1�D�8�	:�����d�m�m�C��F�;�<�G�$�N�	P�����d�m�m�B�m�7�8�)�D�0�	2�����d�m�m�o�.� �4��	)�����d�m�m��m�=�>�/�$�6�	8�����d�m�m���m�E�F�7�$�>�	@�����d�m�m�A�C�m�H�I�:�T�A�	Cr1c	�t�[SSSSSS9[SS9[SSS	9[SS
SS94H�n[U5nURURS
55 USSn[	U5nURX5 [URURUR5nURX5 M� g)Nr�rrrcr�6e�r�r�r�rr]rY�r�rrr�	)	rrr�rErr,r�rr)r-r��s�td2s    r.�test_roundtrip�TestTimeDelta.test_roundtrips����)�2�r�%'�f�>��*�-��*�a�8��!�Q�Q�?�	A�B��R��A��O�O�A�L�L��5�6��!�"��A��q�'�C����R�%��B�G�G�R�Z�Z����A�C����R�%�Ar1c�:�UR[R[5 UR[R[5 UR[R[5 UR[R[R:�5 UR
[R[S55 UR
[R[SSS55 UR
[R[SSS55 g)Nrr�r�g~�.Arr)r�rrr��
resolutionr�r,r6s r.�test_resolution_info�"TestTimeDelta.test_resolution_info)s������i�m�m�Y�7����i�m�m�Y�7����i�2�2�I�>����	�
�
�	�
�
�5�6�������	�*�(=�>�������	�)�Y��(N�O�����-�-�y��A�q�/A�Br1c��[Rn[RU-nX!-nUR[UR
U5 UR[URU*5 [RU-
nX!-
nUR[URU5 UR[UR
U*5 UR[S5 [S5nUR[URS5 UR[URS5 UR[URS5 UR[URS5 UR[URS5 g)Nc�$�[R*$r3)rr�r#r1r.r��-TestTimeDelta.test_overflow.<locals>.<lambda>?s
��)�-�-�r1r�ʚ;ge��Ag#B����;g�����|�=gr��{�>)
rrrr��
OverflowError�__sub__�__add__r�r�r�)r-�tinyr��days    r.�
test_overflow�TestTimeDelta.test_overflow2s���#�#��
�]�]�T�
!��
�
�����-����T�:����-����d�U�;�
�]�]�T�
!��
�
�����-����T�:����-����d�U�;����-�)?�@���l�����-����e�<����-����c�:����-����%�@����-����%�@����-����%�@r1c��[S5nUR[UR[5 UR[UR[*5 g�Nr)rr�r!r��INF)r-r%s  r.�_test_overflow_special�$TestTimeDelta._test_overflow_specialHs9����l�����-����c�:����-����s�d�;r1c�v�[nURnU"U"SS9U"S55 U"U"SS9U"S55 U"U"SS9U"SS95 U"U"SS9U"SS95 U"U"SS9U"S	S95 U"U"S
S9U"SS95 U"U"SS9U"S
S95 U"U"SS9U"SS95 U"U"SS9U"SS95 U"U"SS9U"SS95 U"U"SS9U"SS95 U"U"SS9U"SS95 SnUS-nU"U"SU-S9U"S55 U"U"SU-S9U"S55 U"U"SU-SU-S9U"S	S95 U"U"SU-S9U"S55 U"U"SU-S9U"S55 U"U"SU-SU-S9U"SS95 U"U"S S9S U"S!S9-5 U"U"S S9UR-S UR-UR-5 g)"Ng-C��6:?r�rg-C��6:�g����Mb@?rg����Mb@�ga2U0*�C?rga2U0*�C�r@g�~j�t�X?r]g�~j�t�X�r[g���Ơ>rg���Ơ���?����i|���t��Arhg�������?r�g�������?r��r�r�g������ٿg������ɿr�r�)rr,r)r-r�r�us_per_hour�
us_per_days     r.�test_microsecond_rounding�'TestTimeDelta.test_microsecond_roundingNs���
��
�
�
��	�2�8�$�b��e�,�
�2�9�%�r�!�u�-�
�2�8�$�b�a�&8�9�
�2�9�%�r�r�':�;�
�2�8�$�b�a�&8�9�
�2�9�%�r�r�':�;�
�2�8�$�b�a�&8�9�
�2�9�%�r�r�':�;�
�2�i� �"�!�"4�5�
�2�j�!�2�2�#6�7�
�2�f��r�t�4�5�
�2�g���� 6�7��� �2�%�
�
�2�2�j�=�!�2�a�5�)�
�2�B�{�N�#�R��U�+�
�2�2�j�=��;��7���9K�L�
�2�3�z�>�"�B�q�E�*�
�2�C��O�$�b��e�,�
�2�3�z�>��[��9�2�2�;N�O�	�2�3���R�S�%9�!9�:�
�2�3�����.��B�M�M�0A�2�=�=�0P�Qr1c�|�[SS9nURURURUR4S5 g)Nr@r)r@r�rcr�)r-r�s  r.�test_massive_normalization�(TestTimeDelta.test_massive_normalizationos2��
�B�
'�����"�'�'�2�:�:�r���?�0�	2r1c�
�UR[S55 UR[SS55 UR[SSS55 UR[SS95 UR[S55 g)Nrrr)r�rr�r6s r.�	test_bool�TestTimeDelta.test_boolts\�����	�!��%����	�!�Q��(����	�!�Q��*�+����	�q�1�2�����1��&r1c�:^�"U4SjS[5mT"SS9nUR[U5T5 URUR	5S5 T"SSS9nUR[U5T5 URUR	5S	5 X-nUR[U5[5 TRU5nUR[U5T5 URURUR5 URURUR5 URURUR5 UR[U5[U55 URUR	5S5 g)
Nc�2>�\rSrSr\U4Sj5rSrSrg)�0TestTimeDelta.test_subclass_timedelta.<locals>.Ti}c�T>�T"URURUR5$r3r)r��Ts �r.�from_td�8TestTimeDelta.test_subclass_timedelta.<locals>.T.from_td~s�������"�*�*�b�o�o�>�>r1c�v�URS-URS--URS--n[U5$)Nrhg �@r1)r�rrr�)r-�sums  r.�as_hours�9TestTimeDelta.test_subclass_timedelta.<locals>.T.as_hours�s?���y�y�2�~��|�|�f�,�-��(�(�6�1�2���S�z�!r1r#N)rNrhrirj�staticmethodrBrFrk)rAs�r.rAr?}s���
�
?��
?�
"r1rArr�rhr@i��ri��)
rr4r�r,rFrBr�rrr	)r-r�r��t3�t4rAs     @r.�test_subclass_timedelta�%TestTimeDelta.test_subclass_timedelta{s$���		"�	�		"��A�Y���
�
�d�2�h��"���������+�
�B��
&���
�
�d�2�h��"���������,�
�W���
�
�d�2�h�	�*�
�Y�Y�r�]���
�
�d�2�h��"�������"�'�'�*�������R�Z�Z�0�������"�/�/�:�����R��#�b�'�*���������+r1c	�^�"SS[5nU"SSS5n[SS9nSSU"SSS	54S
SU"SSS	54SS
U"SSS54/nUHJupVnURU5 U"X#5nURX�5 UR	X�5 SSS5 ML g!,(df   M^=f)Nc��\rSrSrSrg)�6TestTimeDelta.test_subclass_date.<locals>.DateSubclassi�r#Nr/r#r1r.�DateSubclassrO����r1rP��rrZr��addc�
�X-$r3r#�r�r�s  r.r��2TestTimeDelta.test_subclass_date.<locals>.<lambda>�����r1ra�raddc�
�X-$r3r#rUs  r.r�rV����!�%r1�subc�
�X-
$r3r#rUs  r.r�rV�rWr1r_)rrrkr,r�)	r-rP�d1r��testsrH�func�expected�acts	         r.�test_subclass_date� TestTimeDelta.test_subclass_date�s���	�4�	��$��1�
%��
�A�
���&��T�1�a�(@�A�
�'��d�A�q�)A�B�
�&��T�1�a�(@�A�
��%*� �D�����d�#��2�l��� � ��/��%�%�c�8�$�#�%*�#�#�s�%+B�
B,	c
�j�"SS[5nU"SSSSS5n[SSS9nS	S
U"SSSS54S
SU"SSSS54SSU"SSSS54/nUHJupVnURU5 U"X#5nURX�5 UR	X�5 SSS5 ML g!,(df   M^=f)Nc��\rSrSrSrg)�>TestTimeDelta.test_subclass_datetime.<locals>.DateTimeSubclassi�r#Nr/r#r1r.�DateTimeSubclassrf�rQr1rgrRrrZr��)r�rrrSc�
�X-$r3r#rUs  r.r��6TestTimeDelta.test_subclass_datetime.<locals>.<lambda>�rWr1ra�
rXc�
�X-$r3r#rUs  r.r�rj�rZr1r[c�
�X-
$r3r#rUs  r.r�rj�rWr1r_)rrrkr,r�)	r-rgr]r�r^rHr_r`ras	         r.�test_subclass_datetime�$TestTimeDelta.test_subclass_datetime�s���	�x�	��d�A�q�"�b�
1��
�A�r�
*���&�(8��q�!�R�(H�I�
�'�)9�$��1�b�)I�J�
�&�(8��q�!�R�(H�I�
��%*� �D�����d�#��2�l��� � ��/��%�%�c�<�$�#�%*�#�#�s�++B#�#
B2	c�t�[SSSS9n[SS9nURX-S5 URX-S5 [SS	S
9n[SS9nURX-S5 URX-S5 [S
5nUR[[X5 UR[[
X5 g)Nrrh�rbrgó@i�r]rh�rrrrqg@r)rr,r�r�r
r)r-r��second�minute�zerotds     r.�
test_division�TestTimeDelta.test_division�s����A�r�2�6���1�%�������V�,������d�+��a��,���1�%�������S�)������a�(��1������+�W�a�@����+�X�q�Ar1c�6�[SSS9n[SS9nX-nURU[SS95 [SSS9nX-nURU[SS95 [S5nUR[[X5 UR[
[US	5 g�
Nr]rhrrrrqrr[rr!)rr,r�r�rr�)r-r�rt�rrus     r.�test_remainder�TestTimeDelta.test_remainder�s����a��,���1�%��
�J������I�b�1�2��b�"�-��
�K������I�b�1�2��1������+�S�!�<����)�S�!�R�0r1c��[SSS9n[SS9n[X5up4URUS5 URU[SS95 [SSS9n[X5up4URUS5 URU[SS95 [S5nUR[[X5 UR[
[US	5 gry)r�divmodr,r�r�r�)r-r�rt�qrzrus      r.�test_divmod�TestTimeDelta.test_divmod�s����a��,���1�%���a� �������A������I�b�1�2��b�"�-���a� �������B������I�b�1�2��1������+�V�Q�?����)�V�Q��3r1c�:�SnUR[5 [5U"SS-5- SSS5 UR[5 [5U"SS-5- SSS5 SHenUR[5 [5U"U5- SSS5 UR[5 [5U"U5- SSS5 Mg g!,(df   N�=f!,(df   N�=f!,(df   Nf=f!,(df   M�=f)Nc�6^�"U4SjS[5nU"5$)Nc�">�\rSrSrU4SjrSrg)�FTestTimeDelta.test_issue31293.<locals>.get_bad_float.<locals>.BadFloati�c�>�T$r3r#)r-�	bad_ratios �r.�as_integer_ratio�WTestTimeDelta.test_issue31293.<locals>.get_bad_float.<locals>.BadFloat.as_integer_ratio�s	���$�$r1r#N)rNrhrirjr�rk)r�s�r.�BadFloatr��s
���%�%r1r�)�float)r�r�s` r.�
get_bad_float�4TestTimeDelta.test_issue31293.<locals>.get_bad_float�s���
%�5�
%��:�r1rr�)r#r��rr]rY)r�r�rr$)r-r�r�s   r.�test_issue31293�TestTimeDelta.test_issue31293�s���	��
�
�y�
)��K�-��T�	�2�2�*�
�
�
�y�
)��K�-��T�	�2�2�*�1�I��"�"�:�.���m�I�6�6�/��"�"�:�.���m�I�6�6�/�.�1�*�
)��
)�
)��/�.��.�.�s/�C�
C)�C:�7D�
C&�)
C7�:
D	�
D	c�^^^�"U4SjS[5n"U4SjS5m"U4SjS[5mSH�mURTS9 [U"S	5S
9 [U"S	5S9 [U"S	5S9 [S	5U"S	5- U"S	5[S	5- [S	5U"S	5- SSS5 M� g![a Nxf=f![a Nxf=f![[4a N~f=f![[4a Nf=f![a Nzf=f![a Nuf=f!,(df   GM=f)
Nc�F>�\rSrSrU4SjrU4SjrU4SjrU4SjrSrg)�-TestTimeDelta.test_issue31752.<locals>.BadInti
c�>�T"5$r3r#�r-�other�Prods  �r.r��5TestTimeDelta.test_issue31752.<locals>.BadInt.__mul__�
����v�
r1c�>�T"5$r3r#r�s  �r.�__rmul__�6TestTimeDelta.test_issue31752.<locals>.BadInt.__rmul__
r�r1c�>�T"5$r3r#r�s  �r.�__floordiv__�:TestTimeDelta.test_issue31752.<locals>.BadInt.__floordiv__r�r1c�>�T"5$r3r#r�s  �r.�
__rfloordiv__�;TestTimeDelta.test_issue31752.<locals>.BadInt.__rfloordiv__r�r1r#N)	rNrhrirjr�r�r�r�rk)r�s�r.�BadIntr�
s���
�
�
�
�
r1r�c�.>�\rSrSrU4SjrU4SjrSrg)�+TestTimeDelta.test_issue31752.<locals>.Prodic�>�T"5$r3r#�r-r��Sums  �r.r#�3TestTimeDelta.test_issue31752.<locals>.Prod.__add__�
����u�r1c�>�T"5$r3r#r�s  �r.�__radd__�4TestTimeDelta.test_issue31752.<locals>.Prod.__radd__r�r1r#N)rNrhrirjr#r�rk)r�s�r.r�r�s���
�
�
r1r�c�">�\rSrSrU4SjrSrg)�*TestTimeDelta.test_issue31752.<locals>.Sumic�>�T$r3r#)r-r��divmodresults  �r.�
__divmod__�5TestTimeDelta.test_issue31752.<locals>.Sum.__divmod__s	���#�#r1r#N)rNrhrirjr�rk�r�s�r.r�r�s
���
$�
$r1r�)Nr#)rrr])rr@r�rrr�r�)rtrkrr�r$)r-r�r�r�r�s  @@@r.�test_issue31752�TestTimeDelta.test_issue31752s?���	�S�	�	�	�	$�#�	$�;�L����<��8���6�!�9�5���F�1�I�.���F�1�I�.���a�L�6�!�9�,���1�I�	�!��,���a�L�F�1�I�-�/9�8�;��
!�����!�����"�:�.�����"�:�.�����!�����!�����19�8�s��	D2�C�C�+C&�;C<�D�%D"�
C�D2�C�D2�
C#� D2�"C#�#D2�&C9�6D2�8C9�9D2�<D�D2�D�D2�
D�D2�D�D2�"
D/�,D2�.D/�/D2�2
E	r#N)$rNrhrirjrrwr'r�r�r
�requires_IEEE_754r�r�r�r�r�r�rrrrrr&r+r5r8r;rKrbrnrvr{r�r�r�rkr#r1r.r�r�s����H�7�2Q�f5�&
���:��:�
.�
L�!�#�(,�&?�P2�0C�&&�$C�A�,
���<��<�
R�B2�
'�,�>9�&=�&
B�&
1�4�"7�(1r1r�c��\rSrSrSrSrg)�TestDateOnlyi>c��[SSS5n[SSSSSS9n[UR5nURU[S55 X-nURXAU-5 X!-nURXAU-5 X-
nURXAU-
5 U*n[UR5nURU[S55 X-nURXAU-5 X!-nURXAU-5 X-
nURXAU-
5 g)	N��rr]rYr_rZrr[)rrr�r,)r-r�rgr��dt2s     r.�test_delta_non_days_ignored�(TestDateOnly.test_delta_non_days_ignoredBs��
�$��1�
���q��1�a�'(�*������$������y��|�,��j������4�i�(��j������4�i�(��j������4�i�(��������$������y��}�-��j������4�i�(��j������4�i�(��j������4�i�(r1r#N)rNrhrirjr�rkr#r1r.r�r�>s��)r1r�c��\rSrSrSrSrg)�SubclassDatei_rr#N�rNrhrirj�sub_varrkr#r1r.r�r�_����Gr1r�c� �\rSrSr\rSrSrSrSr	Sr
SrSrS	r
S
rSrSrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!Sr"Sr#S r$S!r%S"r&S#r'S$r(S%r)S&r*S'r+S(r,S)r-S*r.S+r/S,r0S-r1S.r2g/)0�TestDateibc���URSSS5nURURS5 URURS5 URURS5 g)N��rYr)rwr,�year�monthr%r�s  r.r��TestDate.test_basic_attributeshsP��
�]�]�4��A�
&��������$�'�������1�%��������#r1c��URSSS5URR54H�n[U5nURUR	S55 USSn[U5nUR
X5 URURURUR5nUR
X5 M� g)Nrr]rYrr)
rw�todayrr�rErr,r�r�r%�r-r�rr�s    r.r�TestDate.test_roundtripns����=�=��A�q�)��=�=�&�&�(�*�B��R��A��O�O�A�L�L��5�6��!�"��A��q�'�C����R�%��-�-�������2�6�6�:�C����R�%�*r1c	�H�SH�upp4URXU5nURXCR55 URRU5nURX55 [	US5(dMvURUR
S5 URURS5 URURS5 URURS5 M� [[[S-S5H�nURUSS5nUR5nURRU5nURX75 US:�dMZURRUS-
5nURUS-
SS5nURX75 URUR5US-
5 M� /SQnS	H�upiURUSS5R5n[[SS
5U5H�up�U
S:XaU	(aUS-
n[SUS-5HdnURXjU5nURUR5U5 URX0RRU55 US-
nMf M� M� g)N))rrrr)rr�r�r�)r]rr�n)i�r�r�i��
�hourrrr\r�r�)r��r�rhr�rhr�r�rhr�rhr�))r�T)r�Frkr])
rwr,�	toordinal�fromordinalr�r�rtrs�microsecondr�rr�zip)
r-�y�mr��n�fromordr��d2�dim�isleapr��maxdayr%s
             r.�test_ordinal_conversions�!TestDate.test_ordinal_conversions|s*��3�J�A�!�
�
�
�a�A�&�A����Q���
�.��m�m�/�/��2�G����Q�(��w��'�'�� � ����q�1�� � �����3�� � �����3�� � ��!4�!4�a�8�3�&�'�7�1�9�a�0�D��
�
�d�A�q�)�A����
�A����*�*�1�-�B����Q�#��a�x��M�M�-�-�a��c�2���]�]�4��6�2�r�2��� � ��'�� � ������1��5�1�?��7�L�D��
�
�d�A�q�)�3�3�5�A�!$�U�1�b�\�3�!7�
���A�:�&��a�K�F� ��F�1�H�-�C��
�
�d�3�7�A��$�$�Q�[�[�]�A�6��$�$�Q�
�
�(A�(A�!�(D�E���F�A�	.�"8�8r1c��^^�URRmURTRTRTR5mTR5mTR
T5nURTU5 UR[UU4Sj5 T[SS9-nURUR5TS-5 URXRR
TS-55 URRmURTRTRTR5mTR5mTR
T5nURTU5 UR[UU4Sj5 T[SS9-
nURUR5TS-
5 URXRR
TS-
55 g)Nc�,>�TRTS-
5$r)�r��r��aords��r.r��0TestDate.test_extreme_ordinals.<locals>.<lambda>�����a�m�m�D�1�H�.Er1rr�c�,>�TRTS-5$r)r�r�s��r.r�r��r�r1)rwrr�r�r%r�r�r,r�r$rr�)r-r�r�r�s  @@r.�test_extreme_ordinals�TestDate.test_extreme_ordinals�se����M�M�����M�M�!�&�&�!�'�'�1�5�5�1���{�{�}��
�M�M�$�������A�����*�&E�F�
�	�q�!�!����������q��1�����M�M�5�5�d�Q�h�?�@��M�M�����M�M�!�&�&�!�'�'�1�5�5�1���{�{�}��
�M�M�$�������A�����*�&E�F�
�	�q�!�!����������q��1�����M�M�5�5�d�Q�h�?�@r1c��UR[SS5 UR[SS5 UR[UR[S-
SS5 UR[UR[S-SS5 URSSS5 URSSS5 UR[URSSS5 UR[URSSS5 URSSS5 URSSS5 URS	SS5 UR[URSSS
5 UR[URSSS5 UR[URSSS5 UR[URS
SS5 UR[URSSS5 UR[URSSS5 g)Nrr�r�rrkr]����`	rh���4�lr�)rwrrr�r$r6s r.�test_bad_constructor_arguments�'TestDate.test_bad_constructor_arguments�s~���
�
�g�q�!�$��
�
�g�q�!�$����*�d�m�m�W�Q�Y��1�E����*�d�m�m�W�Q�Y��1�E��
�
�d�A�q�!��
�
�d�B��"����*�d�m�m�T�1�a�@����*�d�m�m�T�2�q�A��
�
�d�A�r�"��
�
�d�A�r�"��
�
�d�A�r�"����*�d�m�m�T�1�b�A����*�d�m�m�T�1�b�A����*�d�m�m�T�1�b�A����*�d�m�m�T�1�b�A����*�d�m�m�T�1�a�@����*�d�m�m�T�1�b�Ar1c��URSSS5nURSSS5nURX5 UR[U5[U55 US0nSX2'UR[U5S5 URX1S5 URX2S5 URSSS5nURSSS5nURX5 UR[U5[U55 US0nSX2'UR[U5S5 URX1S5 URX2S5 g)Nr�r�r�rr]r��rwr,r�r��r-r��e�dics    r.r��TestDate.test_hash_equality�s&���M�M�$��B�'���M�M�$��B�'�����������a��$�q�'�*��!�f���������S��1�%�������#�������#��M�M�$��Q�'���M�M�$��Q�'�����������a��$�q�'�*��!�f���������S��1�%�������#�������#r1c�f^^^�URSSS5mURSSS5nURSSS5nTU-
nURURS[[	SSS55-5 URUR
S	5 URURS	5 [S5m[S
5nURSSS5mURTT-URSSS55 URTT-URSSS55 URTT-
URSSS55 URT*T-URSSS55 URTU-URSSS55 URTU-
URSSS
55 URTSU--URSSS55 URTSU--
URSSS55 URTU-T-
U5 URTT-T-
T5 URTU-
T-
U*5 URTT-
T-
T*5 URTTU--
U*5 URTTT--
T*5 URTTU-
-
U5 URTTT-
-
T5 URX"T-
-
T5 SHomUR[UU4Sj5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4Sj5 Mq UR[UU4Sj5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4Sj5 UR[U4Sj5 UR[U4Sj5 UR[U4Sj5 g)Nr�rr��r�r]�Ar_rr\rYrr�4��r�c�>�TT-$r3r#r�s��r.r��,TestDate.test_computations.<locals>.<lambda>r�r1c�>�TT-
$r3r#r�s��r.r�rr�r1c�>�TT-$r3r#r�s��r.r�rr�r1c�>�TT-
$r3r#r�s��r.r�rr�r1c�>�TT-
$r3r#�r�r%s��r.r�r�	���S�1�Wr1c�>�TT-$r3r#rs��r.r�rrr1c�>�TT-$r3r#rs��r.r�r�	���Q��Wr1c�>�TT-$r3r#rs��r.r�r�	���S�A�Xr1c�>�TT-$r3r#rs��r.r�r�	���Q�#�Xr1c�>�TT-$r3r#r�s�r.r�r �	���Q��Ur1c�>�TT-$r3r#r�s�r.r�r!�	���Q�!�Vr1c�>�TT-$r3r#r�s�r.r�r#rr1�
rwr,r�r�r�rrrr�r�)r-r�r��diff�weekr�r%r�s     @@@r.r��TestDate.test_computations�sw����M�M�$��2�&���M�M�$��2�&���M�M�$�q��#����s��������F�S��t�T�1�1E�-F�$F�G�������q�)�����*�*�A�.���l����|���M�M�$��1�%������S��$�-�-��a��";�<�����q��$�-�-��a��";�<�����S��$�-�-��a��";�<����#����4�=�=��q�!�#<�=�����T��4�=�=��q�!�#<�=�����T��4�=�=��q�"�#=�>�����R��W��d�m�m�D�!�Q�&?�@�����R��W��d�m�m�D�!�Q�&?�@����!�d�(�a���.����!�c�'�Q���,����!�d�(�a��$��/����!�c�'�Q����-�����a�$�h��$��/�����a�#�g����-�����a�$�h���.�����a�#�g���,�����#�g���,��A����i��5����i��5����i��5����i��5�	�	
���)�_�5����)�_�5����)�_�5����)�%5�6����)�%5�6����)�]�3����)�^�4����)�]�3r1c���URRnU[S5[S54H�nURRU-nX2-nUR	[
URU5 UR	[
URU*5 URRU-
nX2-
nUR	[
URU5 UR	[
URU*5 M� g)Nrr])	rwrrrr�r!r"r#r�)r-r$rgr�s    r.r&�TestDate.test_overflow%s����}�}�'�'���I�a�L�)�A�,�7�E����"�"�U�*�B��K�B����m�R�Z�Z��?����m�R�Z�Z�%��@����"�"�U�*�B��K�B����m�R�Z�Z��?����m�R�Z�Z�%��@�8r1c�(�SSKnSup#nUR"X#USSSSSS4	5nURRU5nUR	UR
U5 UR	URU5 UR	URU5 g)Nr)i�rrqr@)r�mktimerw�
fromtimestampr,r�r�r%)r-rr�r�r%�tsr�s       r.�test_fromtimestamp�TestDate.test_fromtimestamp3s����'���S�
�[�[�$�s�A�q�!�Q��2�>�
?���M�M�'�'��+���������&�������%�(��������$r1c�l�SH.nUR[URRU5 M0 g�N)gZb���t�gZb���ti�r�r!rwr�r-�insanes  r.�test_insane_fromtimestamp�"TestDate.test_insane_fromtimestamp>�-��
$�F����m�T�]�]�-H�-H�$�
&�$r1c��UR[5 URRS5 SSS5 g!,(df   g=fr3)r�r�rwrr6s r.� test_fromtimestamp_with_none_arg�)TestDate.test_fromtimestamp_with_none_argGs.��
�
�
�y�
)��M�M�'�'��-�*�
)�
)�s	�;�
A	c�*�SSKn[S5HbnURR5nUR"5nURR	U5nX5:Xa OUR
"S5 Md WW:waUR
XS[SS9S9 gg)NrrYg�������?r�r)rg)rr�rwr�r�sleep�assertAlmostEqualr)r-rr6r�r�
todayagains      r.�
test_today�TestDate.test_todayLs�����1�X�E��M�M�'�'�)�E�����B����4�4�R�8�J��"��
�J�J�s�O�!�(�J���"�"�:�)2�3�)?�
#�
A�r1c	���[S5H�nURURSSSU-5R5U5 URURSSSU-5R	5US-5 URURSSSU-5R5U5 URURSSSU-5R	5US-5 M� g)Nr\r�rYr_rr�r])r�r,rw�weekday�
isoweekday)r-r�s  r.�test_weekday�TestDate.test_weekdayis����q��A����T�]�]�4��A�a�C�8�@�@�B�A�F����T�]�]�4��A�a�C�8�C�C�E�q��s�K����T�]�]�4��A�a�C�8�@�@�B�A�F����T�]�]�4��A�a�C�8�C�C�E�q��s�K�
r1c�L�/SQn/nUHUup4UR"U6n[S5H2nU[U5-nUSSUSU-4-nURXx45 M4 MW UH�up�UR	U	SS9 URU	R
5U
5 SSS5 UR	U	SS9 U	R
5nURURURUR4U
5 SSS5 M� g!,(df   No=f!,(df   M�=f)N)))r�r��)r�r�r))r�r�r��r�rr))r�rrZ)r�r]r))��r�r�)r8r�r))r8r�r�)r8�5r))rrr_)rrrr\rr]�tuple)r��
comparison�fields)
rwr�r�appendrkr,�isocalendarr�rr1)r-�week_mondays�
test_cases�cal_date�iso_date�	base_dater��new_date�new_isor��exp_isor�s            r.�test_isocalendar�TestDate.test_isocalendarrs��
���
�".��H��
�
�x�0�I��1�X��$�y��|�3��"�1�Q�-�8�A�;��?�*<�<���!�!�8�"5�6��#/�%�J�A�����g��6�� � �����'�:�7�����h��7��M�M�O��� � �!�&�&�!�&�&�!�)�)�!<�g�F�8�7�%�6�6��8�7�s�9!D�2AD�
D	�
D#	c��URSSS5n[R"UR55n[R"U5nUR[
U5[5 URUS5 g)N��r)rJrr])rw�pickler�r>r�r,r�r:)r-r��p�ress    r.�test_isocalendar_pickling�"TestDate.test_isocalendar_pickling�s[��

�M�M�$��1�%���L�L�����)���l�l�1�o������c��E�*�����l�+r1c��Sn[[[UR555n/n[	S5H�nURSU-SS5nURSU-SS5nUR
UR5SSUR5SS5 UR5SS:XdM|URU5 M� UR
X25 g)	NaK
              4   32   60   88
              9   37   65   93
             15   43   71   99
             20   48   76
             26   54   82

            105  133  161  189
            111  139  167  195
            116  144  172
            122  150  178
            128  156  184

            201  229  257  285
            207  235  263  291
            212  240  268  296
            218  246  274
            224  252  280

            303  331  359  387
            308  336  364  392
            314  342  370  398
            320  348  376
            325  353  381
        �r�r�r�i@rr9)	�sorted�maprt�splitr�rwr,r>r=)r-�ISO_LONG_YEARS_TABLE�iso_long_years�Lr�r�r]s       r.�test_iso_long_years�TestDate.test_iso_long_years�s��� ��2 ��C�)=�)C�)C�)E� F�G�����s��A��
�
�d�1�f�b�"�-�A����t�A�v�r�2�.�B����Q�]�]�_�Q�R�0�"�.�.�2B�1�2�2F�G��}�}��q�!�R�'�������	
����+r1c�j�URSSS5nURUR5S5 g)Nr]rYz
0002-03-02)rwr,�	isoformat�r-r�s  r.�test_isoformat�TestDate.test_isoformat�s*���M�M�!�Q��"����������5r1c�j�URSSS5nURUR5S5 g)Nr�rYr]zSat Mar  2 00:00:00 2002)rwr,�ctimer\s  r.�
test_ctime�TestDate.test_ctime�s+���M�M�$��1�%���������$>�?r1c��URSSS5nURURS5S5 URURS5S5 URURS5S5 UR[UR5 UR[URSS	5 UR[URS
5 URURS5S5 URURS
5S5 SHnURU5 M URS5 URS5 URSS9 g![
a MYf=f![a N>f=f)N��rYr]�m:%m d:%d y:%yzm:03 d:02 y:05r4��xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�one�twor��%m�03�'%z' '%:z' '%Z'�'' '' '')z%e�%z%#u%y�%m�%f��format)rwr,�strftimer�r�r$�UnicodeEncodeError)r-r��fs   r.�
test_strftime�TestDate.test_strftime�sK���M�M�$��1�%��������$4�5�7G�H�������B���,�������H�-�x�8����)�Q�Z�Z�0����)�Q�Z�Z���>����)�Q�Z�Z��4�	
������D�)�4�0�	
������$5�6�
�C�#�A�
��
�
�1�
�#�	�
�J�J�|�$�
	
�
�
�4��	
�
�
�$�
����
��
��"�	��	�s$�"E*�8E;�*
E8�7E8�;
F�Fc��URSSS5n[R"S5 URURS5[R"SUR
555 URURS5[R"SUR
555 g![a UR	S5 N�f=f)NrdrYr]rmz'time module does not support trailing %zm:%m d:%d y:%y %zm:03 d:02 y:05 %)rw�_timerqr$rOr,�	timetupler\s  r.�test_strftime_trailing_percent�'TestDate.test_strftime_trailing_percent�s���

�M�M�$��1�%��	E��N�N�3��	
������C��%�.�.��a�k�k�m�*L�M����
�J�J�)�*��N�N�-�q�{�{�}�=�	
���	E��M�M�C�D�	E�s�B4�4C�Cc�(�URSSS5nURURS5[U55 UR	[
S5 URS5 SSS5 "SSUR5nU"SSS5nURURS5S5 "S	S
UR5nU"SSS5nURURS5[U55 SH�nURURU5UR
U55 URURU5UR
U55 URURU5S
5 M� g!,(df   GN#=f)N��rr!r4�must be str, not int�{c��\rSrSrSrSrg)�TestDate.test_format.<locals>.Aic��g�N�Ar#r6s r.�__str__�'TestDate.test_format.<locals>.A.__str__���r1r#N�rNrhrirjr�rkr#r1r.r�r����
r1r�c��\rSrSrSrSrg)�TestDate.test_format.<locals>.Bic��g�N�Br#�r-�format_specs  r.rq�(TestDate.test_format.<locals>.B.strftimer�r1r#N�rNrhrirjrqrkr#r1r.r�r�r�r1r��rezm:%m d:%d y:%y H:%H M:%M S:%Sz	%z %:z %Z�rwr,�
__format__r	�assertRaisesRegexr�rq�r-r�r�r�r�r��fmts       r.�test_format�TestDate.test_formats=��
�]�]�4��B�
'��������r�*�C��G�4�
�
#�
#�I�/E�
F��M�M�#��G�	��
�
�	�
�d�A�r�N��������b�)�3�/�	��
�
�	�
�d�A�r�N��������b�)�3�r�7�3��C�
���R�]�]�3�/����S�1A�B����Q�\�\�#�.����C�0@�A����Q�\�\�#�.��4�
�#G�
F�s�F�
Fc��[UR[5(a[nO[nUR	URR
U5 UR	URRU5 UR	URR[5 URURRURR
:�5 gr3)
r�rwrrr�rr�rrr�)r-�expected_classs  r.r�TestDate.test_resolution_info s����d�m�m�X�.�.�%�N�!�N����d�m�m�/�/��@����d�m�m�/�/��@����d�m�m�6�6�	�B�����
�
�)�)�D�M�M�,=�,=�=�>r1c���URRURR-
nURS-S-UR-S-UR
-n[
SSU5nURX5 URURRU-URR5 URURRU-
URR5 g)Nrh��@Br)rwr�rr�rrrr,)r-�bigr��	justasbigs    r.�test_extreme_timedelta�TestDate.test_extreme_timedelta+s����m�m���$�-�-�"3�"3�3��
�X�X�b�[��
����
+�W�4�s�7G�7G�G���a��A�&�	�����(�������*�*�S�0�$�-�-�2C�2C�D�������*�*�S�0�$�-�-�2C�2C�Dr1c
��[S5GH�nURSSSU-5nUR5nURUSSSU-SSSUSU-S4	5 URSSSU-5nUR5nURUSSSU-SSSSU-S-SU-S4	5 URSSSU-5nUR5nURUSSSU-SSSSU-S-S	U-S4	5 URURS5 URUR
S5 URURSU-5 URURS5 URURS5 URURS5 URURSU-S-5 URURS	U-5 URURS5 GM� g)
Nr\r�rr]rr@r�rY�=)
r�rwrxr,�tm_year�tm_mon�tm_mday�tm_hour�tm_min�tm_sec�tm_wday�tm_yday�tm_isdst)r-r�r�r�s    r.�test_timetuple�TestDate.test_timetuple5s����q��A��
�
�d�A�q��s�+�A����
�A����Q��q�!�A�#�q�!�Q��1�Q�3�� C�D��
�
�d�A�q��s�+�A����
�A����Q��q�!�A�#�q�!�Q��1��a���A��r� J�K��
�
�d�A�q��s�+�A����
�A����Q��q�!�A�#�q�!�Q��1��a���A��r� J�K����Q�Y�Y��-����Q�X�X�q�)����Q�Y�Y��!��,����Q�Y�Y��*����Q�X�X�q�)����Q�X�X�q�)����Q�Y�Y��1��a��0����Q�Y�Y��1��-����Q�Z�Z��,�-r1c�
�SnUR"U6n[H9up4nURX%5nURU5nUR	X'5 M; UR	UR5UR
S55 g)N�rar\rr]�rwr�r�r�r,�
__reduce__�
__reduce_ex__r�s        r.r��TestDate.test_picklingNsr�����}�}�d�#��)7�%�G���M�M�$�.�E��o�o�e�,�G����T�+�*8�	
������*�D�,>�,>�q�,A�Br1c��/SQnSnUR"U6nUH(n[HnU"USS9nURXc5 M M* g)N)s'cdatetime
date
(S'\x07\xdf\x0b\x1b'
tR.scdatetime
date
(U�tR.s�cdatetime
date
U��R.)��r���latin1��encoding�rw�pickle_loadsr,�r-r^r�r`�datar�r�s       r.�test_compat_unpickle�TestDate.test_compat_unpickleWsL��
��
���=�=�$�'���D�%����x�8��� � ��3�&�r1c�^^�URSSS5mURSSS5nURTU5 URTU:*5 URTU:�5 URTU:g5 URTU:5 URTU:�5 SGHnUR"U6nURTU:5 URUT:�5 URTU:*5 URUT:�5 URTU:g5 URUT:g5 URTU:H5 URUT:H5 URTU:�5 URUT:5 URTU:�5 URUT:*5 GM [GHmURTT:HS5 URTT:gS5 URTT:HS5 URTT:gS5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4S	j5 UR[UU4S
j5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4S
j5 GM g)Nr]rYr_r�FTc�>�TT:$r3r#r�s��r.r��'TestDate.test_compare.<locals>.<lambda>�r�r1c�>�TT:�$r3r#r�s��r.r�r��r�r1c�>�TT:�$r3r#r�s��r.r�r��r�r1c�>�TT:*$r3r#r�s��r.r�r��r�r1c�>�TT:$r3r#r�s��r.r�r��r�r1c�>�TT:�$r3r#r�s��r.r�r��r�r1c�>�TT:�$r3r#r�s��r.r�r��r�r1)rwr,r�r�rr�r�rs   @@r.r�TestDate.test_comparedsF���
�]�]�1�a��
#��
�]�]�1�a��
#������R� �����b��!�����b��!�����r��"�����b��!�����b��!�3�D�����%�B��O�O�B��G�$��O�O�B��G�$��O�O�B�"�H�%��O�O�B�"�H�%��O�O�B�"�H�%��O�O�B�"�H�%����R�2�X�&����R�2�X�&����R�"�W�%����R�"�W�%����R�2�X�&����R�2�X�&�4�!�j�F����R�6�\�5�1����R�6�\�4�0����V�r�\�5�1����V�r�\�4�0����i�)<�=����i�)<�=����i�)=�>����i�)=�>����i�)<�=����i�)<�=����i�)=�>�!r1c�t^^�URSSS5mURTS:HS5 URST:HS5 URTS:gS5 URST:gS5 UR[U4Sj5 UR[U4Sj5 "S	S
5nU"5mURTT:HS5 URTT:HS5 URTT:gS5 URTT:gS5 UR[UU4Sj5 UR[UU4Sj5 g)
Nr�r_rZrFTc�>�TS:$r)r#��ours�r.r��-TestDate.test_mixed_compare.<locals>.<lambda>�rr1c�>�ST:$r)r#r�s�r.r�r��r	r1c��\rSrSrSrg)�.TestDate.test_mixed_compare.<locals>.SomeClassi�r#Nr/r#r1r.�	SomeClassr��rQr1r�c�>�TT:$r3r#�r��theirs��r.r�r��s	���S�5�[r1c�>�TT:$r3r#r�s��r.r�r��s	���U�S�[r1)rwr,r�r�)r-r�r�r�s  @@r.�test_mixed_compare�TestDate.test_mixed_compare�s����m�m�D�!�Q�'��	
������5�)�����c��5�)�������4�(�����c��4�(�	
���)�_�5����)�_�5�	�	����������u�-�����#��u�-�������t�,�����#��t�,����)�%8�9����)�%8�9r1c��URURR5 URURR5 gr3)r�rwrr�r6s r.r;�TestDate.test_bool�s.������
�
�)�)�*�����
�
�)�)�*r1c�.�SH�nURUSS5nURS5SU-:wdM0URURS5SU-5 [R(dMkURURS5SU-5 M� g)N)rr�r��cr�i�r�r rz%Yz%04d�%dz%4Y)rwrqr,r
�has_strftime_extensions)r-r�r�s   r.�test_strftime_y2k�TestDate.test_strftime_y2k�s{��6�A��
�
�a��A�&�A�
�z�z�$��6�A�:�-�� � ����D�!1�4�!�8�<��2�2�2��$�$�Q�Z�Z��%6���
�C�7r1c	�8�URn/SQnU"U6nURUR5U5 UR[R"U5U5 Sn[	U5HaunupgUSSnXxU'U"U6n	URUR"S0Xg0D6U	5 UR[R"U40Xg0D6U	5 Mc U"SSS5nUR[URSS9 UR[[RUSS9 g)	Nr�)�r�r]�r�rY�r%r_r�r]r�r��r�r#�rwr,rHrY�	enumerater�r$�
r-�clsr��base�changesr�rH�newval�newargsr`s
          r.�test_replace�TestDate.test_replace�s���m�m�����D�z����������.�������d�+�T�2���"+�7�!3��A�~���1�g�G��A�J��G�}�H����T�\�\�;�T�N�;�X�F����T�\�\�$�A�4�.�A�8�L�"4��4��B������*�d�l�l���>����*�d�l�l�D�t��Dr1c��^�"U4SjSTR5nU"SSS5nSURSS94S[R"USS94/nUH�upETRU5 TR	[U5U5 TR
URS5 TR
URS5 TR
URS	5 SSS5 M� g!,(df   M�=f)
Nc�">�\rSrSrU4SjrSrg)�4TestDate.test_subclass_replace.<locals>.DateSubclassi�c�V>�TRR"U/UQ70UD6nSUlU$�Nr\�rwr�r!�r�r��kwargs�resultr-s    �r.r��<TestDate.test_subclass_replace.<locals>.DateSubclass.__new__��-������.�.�s�D�T�D�V�D�� ����
r1r#N�rNrhrirjr�rkr6s�r.rPr���
���
�
r1rP��r�self.replace��r��copy.replacer\)
rwrHrYrkr4r�r,r�r�r!)r-rPr�r@rHrMs`     r.�test_subclass_replace�TestDate.test_subclass_replace�s����	�4�=�=�	��$��1�
%���R�Z�Z�T�Z�2�3�
�T�\�\�"�4�8�9�
�
�
$�I�D����d�#��
�
�d�3�i��6�� � ����4�0�� � ����A�.�� � ����A�.�	$�#�$�#�#�s
�$A0C!�!
C0	c��^�"U4SjSTR5nSnTR"U6nU"U0SS0D6nTRURU5 TRURS5 TRURS5 TRUR5UR55 TRUR
S5URUR-S-
5 g)Nc�,>�\rSrSrSrU4SjrSrSrg)�&TestDate.test_subclass_date.<locals>.Ci�r�c�>�UR5nURS5nTRR"U/UQ70UD6nXElU$�Nr!�rY�poprwr�r!�r�r��kws�tempr!r�r-s      �r.r��.TestDate.test_subclass_date.<locals>.C.__new__��D����x�x�z������)�����.�.�s�B�T�B�T�B��$���
r1c�8�XR-UR-$r3)r�r��r-�starts  r.�newmeth�.TestDate.test_subclass_date.<locals>.C.newmeth�s���y�y�(�4�:�:�5�5r1r#N�rNrhrirj�	theAnswerr�rrkr6s�r.�Cr�s����I�
�
6r1r�r�r_r�r!r\r�r^)	rwr,rMrr!r�rr�r��r-rr�r�r�s`    r.rb�TestDate.test_subclass_date�s����	6��
�
�	6����m�m�T�"����&�'�1��&���������*��������+�������A�&��������#�-�-�/�:�������R��#�(�(�S�Y�Y�*>��*B�Cr1c�L^�"U4SjSTR5nSnSnSnU"U6nTRXQ5 TRURS5 [R
"U[
S55R5nSU44S	U44S
U44/nUHup�X4Hsn
TR[U
5US9 [X�5nU"U	6nTRX�5 TRX�5 TRURS5 SSS5 Mu M� g!,(df   M�=f)Nc�">�\rSrSrU4SjrSrg)�CTestDate.test_subclass_alternate_constructors.<locals>.DateSubclassi�c�V>�TRR"U/UQ70UD6nSUlU$r�r�r�s    �r.r��KTestDate.test_subclass_alternate_constructors.<locals>.DateSubclass.__new__�-������.�.�s�D�T�D�V�D�� ����
r1r#Nr�r6s�r.rPr��
���
�
r1rPri�(z
2003-04-14r\rr�r�
fromisoformat��
base_obj_type�constr_name)rwr�r,r!r�combiner�	timestamprkr��getattr)
r-rPr��d_ord�d_isoformat�base_drr@r'�constr_args�base_obj�constrr�s
`            r.�$test_subclass_alternate_constructors�-TestDate.test_subclass_alternate_constructors�s-���	�4�=�=�	�����"���t�$�����f�3�������q�)��
�
�f�d�1�g�
.�
8�
8�
:���U�H�%�
�r�e�$�
�{�n�-�
�
�)3�$�K�)�2���\�\��X��.9�"�;�$�X�;�F���-�B��)�)�"�;��$�$�R�0��$�$�R�X�X�q�1�;�;�3�)3�;�;�s
�4AD�
D#c���Sn[U6n[HXup4nURX%5nURU5nUR	X'5 UR[
U[55 MZ g)Nr�)r�r�r�r�r,r�rsr�s        r.�test_pickling_subclass_date�$TestDate.test_pickling_subclass_date)s]�����T�"��)7�%�G���M�M�$�.�E��o�o�e�,�G����T�+��O�O�J�w��=�>�	*8r1c	��Sn[UR[5(dUSSnSH0nUR[URUSSU-USS-5 M2 [UR[5(aGUR[S5 UR[
S/[U5-5S5 SSS5 [SS	5H*nURUSS[
U/5-USS-5 M, g!,(df   NI=f)
Ns
1995-03-25r_)�9��
��r]rY�^bad tzinfo state arg$rr�rk)	r�rwrr�r�r��bytesr�r�)r-r��
month_byte�ord_bytes    r.�test_backdoor_resistance�!TestDate.test_backdoor_resistance3s������$�-�-��2�2����8�D�5�J����i����)-�b�q��J�)>��a�b��)I�
K�6��d�m�m�X�.�.��'�'�	�3K�L��
�
�e�Q�C�#�d�)�O�4�e�<�M��a���H�
�M�M�$�r��(�U�H�:�%6�6��a�b��A�B�	%�M�L�s�)C>�>
Dc�$�/SQnUHtnUR"U6nUR5nURUS9 URRUR55nUR	X55 SSS5 Mv g!,(df   M�=f)N)�rrr)r�r]r��r�rr)r�r]r��r�r�r�)r�r_rY�i�rZrh)�dt_str�rwr[rkr$r,)r-�
base_dates�dt_tupler�rF�dt_rts      r.�test_fromisoformat�TestDate.test_fromisoformatMsu��
�
�#�H�����)�B��\�\�^�F����V��,��
�
�3�3�B�L�L�N�C��� � ��+�-�,�#�-�,�s�;B�
B	c���SURSSS54SURSSS54SURSSS54SURS	S
S54SURSSS54S
URSSS54SURSSS54SURS	S
S54SURSS
S54SURSS
S54SURSSS54SURSSS54SURSS
S54SURSS
S54SURSS
S54SURSS
S54SURSS
S54SURSS
S54SURS SS54S!URS SS54S"URS#S
S54S$URS#S
S54S%URS&SS54S'URS(S
S)54S*URS(S
S)54S+URS,SS54/nUHIup#URUS-9 URRU5nURXC5 SSS5 MK g!,(df   M]=f).N�00010101r�20000101r��20250102��r]�99991231r*r�r�z
0001-01-01z
2000-01-01�
2025-01-02z
9999-12-31�2025W01��rhz2025-W01�2025W014z
2025-W01-4�2026W01r�z2026-W01�2026W013z
2026-W01-3�2022W52��r�z2022-W52�2022W527��z
2022-W52-7�2015W534r�z
2015-W53-4z
2015-W53-5���2020W531��r�z
2020-W53-1z
2020-W53-6����	input_str)rwrkr$r,�r-�examplesrcr`�actuals     r.� test_fromisoformat_date_examples�)TestDate.test_fromisoformat_date_examplesasy��
����q�!�Q�/�0�
����t�Q��2�3�
����t�Q��2�3�
����t�R��4�5�
�4�=�=��A�q�1�2�
�4�=�=��q�!�4�5�
�4�=�=��q�!�4�5�
�4�=�=��r�2�6�7�
��
�
�d�B��3�4�
����t�R��4�5�
����t�Q��2�3�
�4�=�=��q�!�4�5�
��
�
�d�B��3�4�
����t�R��4�5�
����t�R��4�5�
�4�=�=��r�2�6�7�
��
�
�d�B��3�4�
����t�R��4�5�
����t�Q��2�3�
�4�=�=��q�!�4�5�
����t�R��4�5�
�4�=�=��r�2�6�7�
�4�=�=��q�!�4�5�
����t�R��4�5�
�4�=�=��r�2�6�7�
�4�=�=��q�!�4�5�5
��:$,��I����	��2����4�4�Y�?��� � ��2�3�2�$,�2�2�s�!-I�
I*	c��"SSUR5nU"SSS5nURUR55nURX15 g)Nc��\rSrSrSrg)�:TestDate.test_fromisoformat_subclass.<locals>.DateSubclassi�r#Nr/r#r1r.rPrk�rQr1rPr�r�r�)rwr$r[r�)r-rPr�rJs    r.�test_fromisoformat_subclass�$TestDate.test_fromisoformat_subclass�sF��	�4�=�=�	��$��B�
'���*�*�2�<�<�>�:�����e�2r1c��/SQnUH<nUR[5 URRU5 SSS5 M> g!,(df   MP=f)N)r4rBz	009-03-04�	123456789z
200a-12-04z
2009-1a-04z
2009-12-0az
2009-01-32z
2009-02-29z
2019-W53-1z
2020-W54-1z
0000-W25-1z10000-W25-1z
2020-W25-0z
2020-W25-8u2009�02�28)r�r$rwr$�r-�bad_strs�bad_strs   r.�test_fromisoformat_fails�!TestDate.test_fromisoformat_fails�sD��
��& �G��"�"�:�.��
�
�+�+�G�4�/�.� �.�.�s�A�
A	c���SS[R"S5/nUH<nUR[5 URRU5 SSS5 M> g!,(df   MP=f)Ns
2009-03-01z
2009-03-01��io�StringIOr�r�rwr$�r-�	bad_types�bad_types   r.�"test_fromisoformat_fails_typeerror�+TestDate.test_fromisoformat_fails_typeerror�sP��"�D�"�+�+�l�*C�D�	�!�H��"�"�9�-��
�
�+�+�H�5�.�-�"�-�-���A�
A,	c�:�SSSSSSSSS	S
SSS
[SS4[SS4/nUHdnURUS9 UR"U6nUR	5nURR
"U6nUR
X55 SSS5 Mf g!,(df   Mx=f)N)r^r_rY)rdrr])i�r�rh)rrr])r8r�r�rC)r�r�r�)r�rr)r�r�r�r7)r�r�r�rB)r*r�r�rr�r�)�	datecomps)rrrkrwr>�fromisocalendarr,)r-�datesr��dobj�isocal�d_roundtrips      r.�test_fromisocalendar�TestDate.test_fromisocalendar�s���
�������������
�a��O�
�b�"��
��$�I����	��2��}�}�i�0���)�)�+��"�m�m�;�;�V�D��� � ��3�
3�2��2�2�s�A
B�
B	c��/SQnUHRnURUS9 UR[5 URR"U6 SSS5 SSS5 MT g!,(df   N=f!,(df   Mw=f)N)
)rJrr)rJr@r)rJ�6r)rJrr)rJrr@)rJr�)rJr9r)r�rr)rrr)i��rr)�rr)rJr�r)rJrr��r�)rkr�r$rwr�)r-�isocalsr�s   r.�!test_fromisocalendar_value_errors�*TestDate.test_fromisocalendar_value_errors�s`��
�� �F����V��,��&�&�z�2��M�M�1�1�6�:�3�-�,��2�2��-�,�s"�A/�A�	A/�
A,�(A/�/
A>	c��[[S/n/nSn[S5H=nUH4n[U5nU"Xd5Xd'UR	[U55 M6 M? UHRnUR
US9 UR[5 URR"U6 SSS5 SSS5 MT g!,(df   N=f!,(df   Mw=f)Nc��gr3r#)�xs r.r��;TestDate.test_fromisocalendar_type_errors.<locals>.<lambda>�s��dr1)rJrrrYr�)r	r�r��listr=r:rkr�r�rwr�)r-�
err_txformersr�r�r��txformer�err_valr�s        r.� test_fromisocalendar_type_errors�)TestDate.test_fromisocalendar_type_errors�s������
�
������q��A�)���t�*��%�g�j�1��
����u�W�~�.�*���F����V��,��&�&�y�1��M�M�1�1�6�:�2�-�,��1�1��-�,�s$�3C	�	B8�#C	�8
C�C	�	
C	r#N)3rNrhrirjrrwr�rr�r�r�r�r�r&rr$r(r.r3rGrNrXr]rartryr�rr�r�r�r�rr�r;r�r�rrbr1r4r?rKrgrlrsr|r�r�r�rkr#r1r.r�r�bs����H�$�&�-�^A�2B�,$�204�dA�	%�&�.�
A�:L�G�<	,�$,�L6�@�( �T
� 5�:	?�E�-�2C�4�%?�N:�4+�
D�E�,/�*D�4*2�X?�C�4,�(!3�F3�5�26�4�<;�,;r1r�c��\rSrSrSrSrg)�SubclassDatetimei�rr#Nr�r#r1r.r�r��r�r1r�c��\rSrSr\rSrSrSrSr	Sr
SrSrS	r
S
rSrSrS
rSrSrSrSrSrSrSrSrSr\R8"S5S5rSr\R8"S5S5rSr Sr!Sr"Sr#S r$\%RL"\'RPS!:HS"5S#5r)\%RL"\'RPS!:HS"5S$5r*S%r+S&r,S'r-\.R^"\0S(9S)5r1S*r2S+r3S,r4S-r5S.r6S/r7\R8"S05S15r8S2r9S3r:S4r;S5r<S6r=S7r>S8r?S9r@S:rAS;rBS<rCS=rDS>rES?rFS@rGgA)B�TestDateTimeic��URSSSSS5nURURS5 URURS5 URURS5 URUR
S5 URURS5 URURS5 URURS5 g)Nr�rYrr�r�	rwr,r�r�r%r�rtrsr�r�s  r.r��"TestDateTime.test_basic_attributess���
�]�]�4��A�r�1�
-��������$�'�������1�%��������#�������"�%�������A�&�������A�&��������+r1c	��URSSSSSSS5nURURS5 URURS5 URURS5 URUR
S5 URURS5 URURS5 URURS5 g)Nr�rYrr�r�@r�r�s  r.�test_basic_attributes_nonzero�*TestDateTime.test_basic_attributes_nonzeros����]�]�4��A�r�2�r�4�
8��������$�'�������1�%��������#�������"�%�������B�'�������B�'��������.r1c
���URSSSSSSS5URR54H�n[U5nURUR	S55 US	Sn[U5nUR
X5 URURURURURURURUR5nUR
X5 M� g)
Nrr]rYr_rZrar\rr)rwr�rr�rErr,r�r�r%r�rtrsr�r�s    r.r�TestDateTime.test_roundtrips����=�=��A�q�!�Q��1�5��=�=�$�$�&�(�B��R��A��O�O�A�L�L��5�6��!�"��A��q�'�C����R�%��-�-�������2�6�6� "������B�I�I� "���0�C�
���R�%�(r1c�b�URSSSSSSS5nURUR5S5 URURS5S5 URURS	5S
5 URURS5S5 URURS
5S5 URURSS9S5 URURSS9S5 URURSS9S5 URURSS9S5 URURSS9S5 URURSS9S5 URURS	SS9S5 UR[URSS9 UR[URS
S9 UR[U5S
5 URSSSSSSS[RS9nURURSS9S5 URSSSSSSS5nURURSS9S 5 URSSSSSS5nURURSS9S5 URURSS9S5 URURSS9S!5 URSSS5nURUR5S"5 URURS5S"5 URURS	5S#5 UR[U5S#5 [[S$S%9S&5nURSSSUS9nURUR5S'5 g)(Nrr]rYr_rZr~z0001-02-03T04:05:01.000123rA� z0001-02-03 04:05:01.000123�z0001-02-0304:05:01.000123rBu0001-02-03�04:05:01.000123r���timespecz
0001-02-03T04rrz0001-02-03T04:05rz0001-02-03T04:05:01r�z0001-02-03T04:05:01.000r�auto)�sepr�z0001-02-03 04:05�foo�L@rz0001-02-03T04:05:01.999+00:00z0001-02-03T04:05:01.999z0001-02-03T04:05:01.000000z0002-03-02T00:00:00z0002-03-02 00:00:00�r�XXXz0002-03-02T00:00:00+00:00:16)
rwr,r[r�r$r	rr5rmrrQs   r.r]�TestDateTime.test_isoformat*s9���M�M�!�Q��1�a��C�0���������+G�H�������S�)�+G�H�������S�)�+G�H�������V�,�.M�N�������X�.�:�	<�������g��6��H�������i��8�:L�M�������i��8�:O�P�������n��=�?X�Y�������n��=�?[�\�������f��5�7S�T��������y��A�CU�V����*�a�k�k�E��B����*�a�k�k�H��E�����Q��!=�>��M�M�!�Q��1�a��F�8�<�<�M�H��������n��=�?^�_��M�M�!�Q��1�a��F�3��������n��=�?X�Y��M�M�!�Q��1�a��+��������f��5�7L�M�������n��=�?X�Y�������n��=�?[�\��M�M�!�Q��"���������+@�A�������S�)�+@�A�������S�)�+@�A�����Q��!6�7�
��2�.��
6���M�M�!�Q��"�M�-���������(F�Gr1c
��S[SS94S[SS94S[SSS	94S
[SSS
S94S[SSSSS94/nSS[R4S[[S554/nUUVVVVs/sH"up4SHupVXS-[Xd-54PM M$ snnnn-
nURSSSSSS5nSnUH0up�UR	U
S9nX�-nURU
S9 SSS5 M2 gs snnnnf!,(df   ML=f)N�05:00rZr��02:00r]�06:27rar�r�12:32:30r�r�rhrb�02:04:09.123456r_rr�rd�r4N�+00:00r�)�-r@)�+rr^r�%z2016-04-01T12:37:09r��tzi�rrr5rwrHrk)
r-�	tzoffsets�tzinfosr`r��prefix�sign�dt_base�exp_base�exp_tzr�r��exps
             r.�test_isoformat_timezone�$TestDateTime.test_isoformat_timezoneVs)��
�i�a�(�)�
�i�a�(�)�
�i�a��4�5�
���R��D�E�
�	��1�a�V\� ]�^�
�	�
�
�x�|�|�$�
�x�	�!��-�.�
��	� )�
� )��� 5����
���� 3�4� 5�
5� )�
�	
���-�-��a��B��A�6��(��"�K�F������,�B��#�C����#��&�&�#��
�'�&�s�,)C,�C4�4
D	c	�@�URSSSSSSS5nURURS5[U55 UR	[
S	5 URS5 SSS5 "S
SUR5nU"SSSSSSS5nURURS5S5 "SS
UR5nU"SSSSSSS5nURURS5[U55 SH�nURURU5UR
U55 URURU5UR
U55 URURU5S
5 M� g!,(df   GN+=f)Nr|rr!r_rZrr~r4r}c��\rSrSrSrSrg)�#TestDateTime.test_format.<locals>.Ai|c��gr�r#r6s r.r��+TestDateTime.test_format.<locals>.A.__str__}r�r1r#Nr�r#r1r.r�r�|r�r1r�c��\rSrSrSrSrg)�#TestDateTime.test_format.<locals>.Bi�c��gr�r#r�s  r.rq�,TestDateTime.test_format.<locals>.B.strftime�r�r1r#Nr�r#r1r.r�r��r�r1r�r�r�r�s       r.r��TestDateTime.test_formattsW��
�]�]�4��B��1�a��
5��������r�*�C��G�4�
�
#�
#�I�/E�
F��M�M�#��G�	��
�
�	�
�d�A�r�1�a��C�(��������b�)�3�/�	��
�
�	�
�d�A�r�1�a��C�(��������b�)�3�r�7�3��C�
���R�]�]�3�/����S�1A�B����Q�\�\�#�.����C�0@�A����Q�\�\�#�.��4�
�#G�
F�s�F�
Fc	�D�SSKnURSSSSSSS5nURUR5S5 URSSS	SSSS5nURUR5UR"UR"UR5555 g)
Nrr�rYr]�rZr~zSat Mar  2 18:03:05 2002r6)rrwr,r`rrx)r-rr�s   r.�test_more_ctime�TestDateTime.test_more_ctime�s�����M�M�$��1�b�!�Q��4���������$>�?�
�M�M�$��2�r�1�a��5���������D�J�J�t�{�{�1�;�;�=�/I�$J�Kr1c	�n�URSSSSSS5nURSSSSSS5nURSSSSSS5nURX5 URX#:�5 UR[SSS	S
S
S5n[	SS9nX-nURX!-
U5 URX:5 g)
Nr�rYrrrr!r�r�rrr�r)rwr,r�rr)r-r�r��dt3r�s     r.�test_tz_independent_comparing�*TestDateTime.test_tz_independent_comparing�s����m�m�D�!�Q��1�a�0���m�m�D�!�Q��A�q�1���m�m�D�!�Q��1�a�0������"�����	�"��m�m�G�R��R��R��@��
�A�
&���h�������B�'�����	�"r1c
��"SS[5nURSSSSSSSU"SS55nUR[URS5 g)	Nc��\rSrSrSrSrg)�DTestDateTime.test_strftime_with_bad_tzname_replace.<locals>.MyTzInfoi�c�0�"SS[5nU"S5$)Nc��\rSrSrSrSrg)�ZTestDateTime.test_strftime_with_bad_tzname_replace.<locals>.MyTzInfo.tzname.<locals>.MyStri�c��gr3r#)r-r�s  r.rH�bTestDateTime.test_strftime_with_bad_tzname_replace.<locals>.MyTzInfo.tzname.<locals>.MyStr.replace�s��#r1r#N)rNrhrirjrHrkr#r1r.�MyStrr��s��$r1r�rH)r	)r-r�r�s   r.r��KTestDateTime.test_strftime_with_bad_tzname_replace.<locals>.MyTzInfo.tzname�s��$�C�$��V�}�$r1r#N)rNrhrirjr�rkr#r1r.�MyTzInfor��s��
%r1r�rdrYr]rrH�%Z)rmrwr�r�rq)r-r�r�s   r.�%test_strftime_with_bad_tzname_replace�2TestDateTime.test_strftime_with_bad_tzname_replace�sI��	%�{�	%�
�M�M�$��1�a��A�q�(�1�f�2E�F�����)�Q�Z�Z��6r1c
��UR[SS5 UR[SS5 UR[UR[S-
SS5 UR[UR[S-SS5 URSSS5 URSSS5 UR[URSSS5 UR[URSSS5 URSSS5 URSSS5 URS	SS5 UR[URSSS
5 UR[URSSS5 UR[URSSS5 UR[URS
SS5 UR[URSSS5 UR[URSSS5 URSSSS5 URSSSS5 UR[URSSSS5 UR[URSSSS5 URSSSSS5 URSSSSS5 UR[URSSSSS5 UR[URSSSSS5 URSSSSSS5 URSSSSSS5 UR[URSSSSSS5 UR[URSSSSSS5 URSSSSSSS5 URSSSSSSS5 UR[URSSSSSSS5	 UR[URSSSSSSS5	 UR[URSSSSS9 UR[URSSSSS9 UR[
URSSSSSSSSS5 g)Nrr�r�rrkr]r�r�r�rhr�r�r�r�r�rr@rhrr�rcr���fold)rwrrr�r$r�r6s r.r��+TestDateTime.test_bad_constructor_arguments�s����
�
�g�q�!�$��
�
�g�q�!�$����*�d�m�m�W�Q�Y��1�E����*�d�m�m�W�Q�Y��1�E��
�
�d�A�q�!��
�
�d�B��"����*�d�m�m�T�1�a�@����*�d�m�m�T�2�q�A��
�
�d�A�r�"��
�
�d�A�r�"��
�
�d�A�r�"����*�d�m�m�T�1�b�A����*�d�m�m�T�1�b�A����*�d�m�m�T�1�b�A����*�d�m�m�T�1�b�A����*�d�m�m�T�1�a�@����*�d�m�m�T�1�b�A��
�
�d�A�r�1�%��
�
�d�A�r�2�&����*�d�m�m�T�1�b�"�E����*�d�m�m�T�1�b�"�E��
�
�d�A�r�2�q�)��
�
�d�A�r�2�r�*����*�d�m�m�T�1�b�"�b�I����*�d�m�m�T�1�b�"�b�I��
�
�d�A�r�2�r�1�-��
�
�d�A�r�2�r�2�.����*�d�m�m�T�1�b�"�b�"�M����*�d�m�m�T�1�b�"�b�"�M��
�
�d�A�r�2�r�2�q�1��
�
�d�A�r�2�r�2�v�6����*�d�m�m���2�r�2�r�2�	7����*�d�m�m���2�r�2�r�!�	#�	
���*�d�m�m���2�B�	�	0����*�d�m�m���2�A�	�	/�	
���)�T�]�]���2�r�2�r�1�d�A�	?r1c��URSSSSSS5nURSSSSSS5nURX5 UR[U5[U55 US0nSX2'UR[U5S5 URX1S5 URX2S5 URS	SSS
SS5nURS	SSS
SS5nURX5 UR[U5[U55 US0nSX2'UR[U5S5 URX1S5 URX2S5 g)Nr�r�r�rrh�rr]r�rrZr�r�s    r.r��TestDateTime.test_hash_equality�s>���M�M�$��B��B��3���M�M�$��B��B��3�����������a��$�q�'�*��!�f���������S��1�%�������#�������#��M�M�$��Q��Q��3���M�M�$��Q��Q��3�����������a��$�q�'�*��!�f���������S��1�%�������#�������#r1c��^^^�URSSS5mURSSS5nTU-
nURURS[[	SSS55-5 URUR
S5 URURS5 URSSS	S
S5m[SSS5n[SS
5n[S5m[S5nURTU-URSSS	SS55 URUT-URSSS	SS55 URTSU--URSSSSS55 URTU-
URSSS	SS55 URU*T-URSSS	SS55 URTU-
TU*-5 URTSU--
URSSSSS55 URTT-URSSSS
S55 URTT-
URSSSS
S55 URTU-URSSSS
S55 URTU-
URSS	SS
S55 URTSU--URSSSS
S55 URTSU--
URSSSS
S55 URTU-T-
U5 URTT-T-
T5 URTU-T-
U5 URTU-T-
U5 URTU-
T-
U*5 URTT-
T-
T*5 URTU-
T-
U*5 URTU-
T-
U*5 URTTU--
U*5 URTTT--
T*5 URTTU--
U*5 URTTU--
U*5 URTTU-
-
U5 URTTT-
-
T5 URTTU-
-
U5 URTTU-
-
U5 URTUT-U-U--URSSSSSSS55 URTUT-U-U--TU-T-U-U-5 URTUT-U-U--
URSS	SSSSS55 URTUT-U-U--
TU-
T-
U-
U-
5 SHomUR[UU4Sj5 UR[UU4Sj5 UR[UU4S j5 UR[UU4S!j5 Mq UR[UU4S"j5 UR[UU4S#j5 UR[UU4S$j5 UR[UU4S%j5 UR[UU4S&j5 UR[U4S'j5 UR[U4S(j5 UR[U4S)j5 g)*Nr�rr�r�r�r_rrYr]r�rar�r�r\r�r!r�rvr�rrr�r�r�r6rZrr�r�c�>�TT-$r3r#r�s��r.r��0TestDateTime.test_computations.<locals>.<lambda>=	r�r1c�>�TT-
$r3r#r�s��r.r�r�>	r�r1c�>�TT-$r3r#r�s��r.r�r�?	r�r1c�>�TT-
$r3r#r�s��r.r�r�@	r�r1c�>�TT-
$r3r#rs��r.r�r�C	rr1c�>�TT-$r3r#rs��r.r�r�E	rr1c�>�TT-$r3r#rs��r.r�r�F	r	r1c�>�TT-$r3r#rs��r.r�r�G	rr1c�>�TT-$r3r#rs��r.r�r�H	r
r1c�>�TT-$r3r#r�s�r.r�r�I	rr1c�>�TT-$r3r#r�s�r.r�r�J	rr1c�>�TT-$r3r#r�s�r.r�r�L	rr1r)	r-r�r�millisecr�rr�r%r�s	      @@@r.r��TestDateTime.test_computations
	s�����M�M�$��2�&���M�M�$��2�&����s��������F�S��t�T�1�1E�-F�$F�G�������q�)�����*�*�A�.��M�M�$��1�b�!�,���Q��4�(����D�!����l����|������T��4�=�=��q�!�R��#C�D�������4�=�=��q�!�R��#C�D�����R��W��d�m�m�D�!�Q��1�&E�F�����T��4�=�=��q�!�R��#C�D����$����D�M�M�$��1�b�!�$D�E�����T��1��u�9�-�����R��W��d�m�m�D�!�Q��A�&F�G�����S��$�-�-��a��B��"B�C�����S��$�-�-��a��B��"B�C�����T��4�=�=��q�!�R��#C�D�����T��4�=�=��q�"�b�!�#D�E�����R��W��d�m�m�D�!�Q��A�&F�G�����R��W��d�m�m�D�!�Q��A�&F�G����!�d�(�a���.����!�c�'�Q���,����!�d�(�a���.����!�h�,�!�+�X�6����!�d�(�a��$��/����!�c�'�Q����-����!�d�(�a��$��/����!�h�,�!�+�h�Y�7�����a�$�h��$��/�����a�#�g����-�����a�$�h��$��/�����a�(�l�+�h�Y�7�����a�$�h���.�����a�#�g���,�����a�$�h���.�����a�(�l�+�X�6�����d�S�j�4�/�(�:�;����t�Q��B��1�d�C�	E�����d�S�j�4�/�(�:�;���H��+�t�3�x�?�	A�����d�S�j�4�/�(�:�;����t�Q��B��2�v�F�	H�����d�S�j�4�/�(�:�;���H��+�t�3�x�?�	A��A����i��5����i��5����i��5����i��5�	�	
���)�_�5����)�_�5����)�_�5����)�%5�6����)�%5�6����)�]�3����)�^�4����)�]�3r1c�
�SnUR"U6n[H9up4nURX%5nURU5nUR	X'5 M; UR	UR5UR
S55 g)N�rar\rrvrr�r]r�r�s        r.r��TestDateTime.test_picklingN	sr��)���}�}�d�#��)7�%�G���M�M�$�.�E��o�o�e�,�G����T�+�*8�	
������*�D�,>�,>�q�,A�Br1c	�x�URSSSSSSS5n[[RS-5H�n[R"X5n[R
"U5nUR
URS5 UR
URS5 UR
URS5 M� g)	Nr�r]r\r��0r�i��r)
rwr�rK�HIGHEST_PROTOCOLr�r�r,r�r�r%)r-r�r�rr�s     r.�test_more_pickling�TestDateTime.test_more_picklingW	s����M�M�$��1�b�"�b�&�9���6�2�2�Q�6�7�E����Q�&�A����Q��A����Q�V�V�T�*����Q�W�W�a�(����Q�U�U�A�&�8r1c���Sn[U6n[HXup4nURX%5nURU5nUR	X'5 UR[
U[55 MZ g)Nr)r�r�r�r�r,r�rsr�s        r.�test_pickling_subclass_datetime�,TestDateTime.test_pickling_subclass_datetime`	s^��)����&��)7�%�G���M�M�$�.�E��o�o�e�,�G����T�+��O�O�J�w�0@�A�B�	*8r1c��/SQnSnUR"U6nUH(n[HnU"USS9nURXc5 M M* g)N)s@cdatetime
datetime
(S'\x07\xdf\x0b\x1b\x14;\x01\x00\x10\x00'
tR.s#cdatetime
datetime
(U
�;tR.s$�cdatetime
datetime
U
�;�R.)r�r�r�rvrrrr�r�r�r�s       r.r��!TestDateTime.test_compat_unpicklei	sL��	
��.���=�=�$�'���D�%����x�8��� � ��3�&�r1c�d�/SQnUR"U6nUR"U6nURX#5 URX#:*5 URX#:�5 URX#:g5 URX#:5 URX#:�5 [	[U55GHnUSSnXS-XT'UR"U6nURX#:5 URX2:�5 URX#:*5 URX2:�5 URX#:g5 URX2:g5 URX#:H5 URX2:H5 URX#:�5 URX2:5 URX#:�5 URX2:*5 GM g)N)r�r�r�rvrr�r�r)rwr,r�r�r�r�)r-r�r�r�r�r�s      r.�test_more_compare�TestDateTime.test_more_compare{	sj��2��
�]�]�D�
!��
�]�]�D�
!������ ������!������!������"������!������!��s�4�y�!�A��1�g�G���1��G�J�����(�B��O�O�B�G�$��O�O�B�G�$��O�O�B�H�%��O�O�B�H�%��O�O�B�H�%��O�O�B�H�%����R�X�&����R�X�&����R�W�%����R�W�%����R�X�&����R�X�&�"r1c���URURUR5 URURUR5 URUR
UR5 URURUR5 URURUR5 URURUR5 gr3)
r,r�r�r�r�r�r%r�r�r�rtr�rs)r-r`�gots   r.�verify_field_equality�"TestDateTime.verify_field_equality�	s�������)�)�3�8�8�4�������#�)�)�4�����)�)�3�7�7�3�����)�)�3�8�8�4�������#�*�*�5�������#�*�*�5r1c��SSKnUR"5nUR"U5nURRU5nUR	X45 g�Nr)r�	localtimerwrr�r-rrr`rs     r.r�TestDateTime.test_fromtimestamp�	s@���
�Y�Y�[���>�>�"�%���m�m�)�)�"�-���"�"�8�1r1c�\�SSKnURRUR"5S9 g)Nr)r))rrwr)r-rs  r.�test_fromtimestamp_keyword_arg�+TestDateTime.test_fromtimestamp_keyword_arg�	s"���	
�
�
�#�#�d�i�i�k�#�:r1c�
�SSKnUR"5nUR"U5nUR[5 URRU5nSSS5 UR
UW5 g!,(df   N!=fr)r�gmtime�assertWarns�DeprecationWarningrw�utcfromtimestamprrs     r.�test_utcfromtimestamp�"TestDateTime.test_utcfromtimestamp�	s^���
�Y�Y�[���;�;�r�?��
�
�
�0�
1��-�-�0�0��4�C�2��"�"�8�S�1�2�
1�s�A4�4
B�EST+05EDT,M3.2.0,M11.1.0c	��URSSS5nURUR5S5 URSSSSSSS5nURUR5S5 URSSS	SS
5nURSS9nURURR	UR55U[SS9-
5 URURR	UR55U[SS9-5 URSS	SSS
5nURURR	UR55U5 URSSS5URS
SS54H?nUR5nURURR	U5U5 MA g![a MQf=f)Nr rg��@r]rYr_���6�@rr�rhr�r�i'r�)rwr,r)rHrrr!)r-r��t0r�rs     r.�test_timestamp_naive�!TestDateTime.test_timestamp_naive�	s����M�M�$��1�%����������0��M�M�$��1�a��A�q�1���������;�	=��]�]�4��B��2�
.��
�Z�Z�Q�Z�
��������4�4�R�\�\�^�D��i�a�0�0�	2�������4�4�R�\�\�^�D��i�a�0�0�	2�
�M�M�$��A�q�"�-��������4�4�Q�[�[�]�C�Q�G��-�-��!�A�&��
�
�d�2�b�(A�B�A�
D��K�K�M��� � ����!<�!<�Q�!?��C�
C��!�
��
�s�
G
�
G�Gc��URSSS[RS9nURUR	5S5 URSSSSSSS[RS9nURUR	5S5 URSSSSSSS[[S	S
9S5S9nURUR	5S5 g)
Nr rrr�r]rYr_g�7��@r?r�r�r))rwrr5r,r)rr\s  r.�test_timestamp_aware�!TestDateTime.test_timestamp_aware�	s����M�M�$��1�X�\�\�M�:����������,��M�M�$��1�a��A�q����M�F���������1�	3��M�M�$��1�a��A�q�!)�)�"�*=�u�!E�
�
G���������9�	;r1zMSK-03c�^�U4SjnTRRU4GH
nU"S5nTRURS5 TRURS5 U"S5nU"S5nTRURS5 TRURS5 U"S5nTRXc5 U"S5nTRXe5 U"S	5nTRXc5 U"S
5nTRURS5 TRURS5 U"S5nTRXc5 U"S
5nTRXd5 U"S5nTRURS5 TRURS5 U"S5nTRURS5 TRURS5 U"S5nTRURS5 TRURS5 GM
 g![
a GNf=f)Nc�>�TR[5 TRR"U0UD6sSSS5 $!,(df   g=fr3)r"r#rwr$)r�r�r-s  �r.r$�@TestDateTime.test_microsecond_rounding.<locals>.utcfromtimestamp�	s5����!�!�"4�5��}�}�5�5�t�F�v�F�6�5�5�s	�=�
Arg���ư>g���ư�rrcg:�0�yE�g1E��2��gH�����z�r0i�#gH�����z>g1E��2�>g<"2��?g�P���?rr.r/)rwrr,rsr��OSError)r-r$�ftsr�rg�	minus_oner�s`      r.r5�&TestDateTime.test_microsecond_rounding�	s����	G��M�M�/�/�$�&�C��q�6�D����T�[�[�!�,����T�-�-�q�1��d�)�C�
8���J�	�
� � ��!1�!1�2�6�� � ��!6�!6��?���J��� � ��)���J��� � ��.���J��� � ��)���L��� � ����2�.�� � �����7��D�	�A����Q�%��D�	�A����Q�$��J��A����Q�X�X�q�)����Q�]�]�F�3��I��A����Q�X�X�q�)����Q�]�]�A�.��F��A����Q�X�X�q�)����Q�]�]�D�1�K&���
��
�s�-H0�0
H>�=H>c��URS5 URRR[R
S9nUR
5nURUS5 SSS5 URS5 URRR[R
SS9nUR
5nURUS5 SSS5 g!,(df   N}=f!,(df   g=f)Nzminimum UTCrl����w#o9zmaximum UTCr�rr�g�� �MB)	rkrwrrHrr5r)r,r�)r-�min_dt�min_ts�max_dt�max_tss     r.�test_timestamp_limits�"TestDateTime.test_timestamp_limits
s���
�\�\�-�
(��]�]�&�&�.�.�h�l�l�.�C�F��%�%�'�F�
���V�\�2�
)��\�\�-�
(��]�]�&�&�.�.�h�l�l�;<�/�>�F��%�%�'�F�
���V�^�4�)�
(�)�
(��)�
(�s�AC�?AC.�
C+�.
C<c	�~�URRS5 URR
[
SS9-nUR5nURRRSS9nURR[
SS9-
R5[
S	S
S
S9R5-nSX!4S
XC44HKupVnURXVUS9 URRU5nURX�5 SSS5 MM SU[
SSS9R5-
4SU[
SS9R5-
4SU[
SS9R5-4SU[
SS9R5-4/n	U	H\upVURXVS9 UR[[45 URRU5 SSS5 SSS5 M^ g![[4a UR	S5 GN�f=f!,(df   GMY=f!,(df   NV=f!,(df   M�=f)N����Test not valid on this platformrr�r�r�rr�r6rrb�minimum�maximum�rr`�Too small by a littler�r2�Too small by a lotrQ�Too big by a little�Too big by a lot�r)rwrr3r!rOrrr)r�rHr�rkr,r�r$)
r-r9r:r;r<�	test_namerr`rfr@s
          r.�test_fromtimestamp_limits�&TestDateTime.test_fromtimestamp_limits$
s��	=��M�M�'�'�
�3����"�"�Y�A�%6�6���!�!�#�����"�"�*�*�q�*�9���=�=�$�$�y�r�':�:�E�E�G��"�b�"�=�K�K�M�N���F�+��F�+�*
�%�Y�H����i���B����4�4�R�8��� � ��2�C�B�	*
�%�f�y�a�r�/J�/X�/X�/Z�&Z�[�
!�6�I�3�,?�,M�,M�,O�#O�P�
"�F�Y�A�->�-L�-L�-N�$N�O�
��)��*=�*K�*K�*M�!M�N�	
�
�(�M�I����i��/��&�&�
�M�'B�C��M�M�/�/��3�D�0�/�(��;��'�	=��M�M�;�<�	=�� C�B��D�C��0�/�sA�G!�-H	�H-�0H�H-�!!H�H�	
H	�
H*�&H-�-
H<	c	��UR[5 URRS5 SSS5 URRR[RS9nUR5nURRRS[RS9nUR5nSX!RSS94SXCRSS944HkupVnURXVUS9 UR[5 URRU5nSSS5 URWU5 SSS5 Mm S	US
-
4SU[!SS
9R#5-
4SUS
-4SU[!SS
9R#5-4/n
U
HzupVURXVS9 UR%[&[
45 UR[5 URRU5 SSS5 SSS5 SSS5 M| g![[
4a UR
S5 GNf=f!,(df   GN=f![[
4a%n	UR
[U	55 Sn	A	GNUSn	A	ff=f!,(df   GNd=f!,(df   GM�=f!,(df   N�=f!,(df   N�=f!,(df   GMH=f)Nr@rArr�r�rrCrDrErFrrGrQr�rHrIrJ)r"r#rwr$r3r!rOrrHrr5r)r�rkr	r,rr�r�r$)r-r9r:r;r<rKrr`rf�excr@s           r.�test_utcfromtimestamp_limits�)TestDateTime.test_utcfromtimestamp_limitsK
se��
�
�
�0�
1�
A��
�
�.�.�z�:�2����"�"�*�*�(�,�,�*�?���!�!�#�����"�"�*�*�q����*�N���!�!�#���F�N�N�$�N�$?�@��F�N�N�$�N�$?�@�*
�%�Y�H����i���B��%�%�&8�9�0�!%���!?�!?��!C��:�� � ���2�C�B�	*
�%�f�q�j�1�
!�6�I�3�,?�,M�,M�,O�#O�P�
"�F�Q�J�/�
��)��*=�*K�*K�*M�!M�N�	
�
�(�M�I����i��/��&�&�
�M�'B�C��)�)�*<�=��
�
�6�6�r�:�>�D�0�/�(��=�]�+�
A��
�
�?�@�
A��2�
1��($�]�3�0��
�
�c�#�h�/�/��0��:�9��C�B��(>�=��D�C��0�/�s��H<�H�6J�J�I�)J�)K
�J<�J+	�7J<�?K
�!H9�5H<�8H9�9H<�<
I�J	�I>	�8J�>J	�J�
J�J�
J(	�+
J9
�5J<�<
K
�K
�
K	c�l�SH.nUR[URRU5 M0 gr r!r"s  r.r$�&TestDateTime.test_insane_fromtimestampu
r&r1c���SHLnUR[5 UR[URR
U5 SSS5 MN g!,(df   M`=fr )r"r#r�r!rwr$r"s  r.�test_insane_utcfromtimestamp�)TestDateTime.test_insane_utcfromtimestamp~
sK��
$�F��!�!�"4�5��!�!�-����1O�1O�"(�*�6�5�$�5�5�s�,A�
A#	�win32z*Windows doesn't accept negative timestampsc�:�URRS5 g)N��������)rwrr6s r.�!test_negative_float_fromtimestamp�.TestDateTime.test_negative_float_fromtimestamp�
s��	
�
�
�#�#�E�*r1c���UR[5 URRS5nSSS5 UR	WURSSSSSSS55 g!,(df   N6=f)	NrZi�r�r�rrri�~)r"r#rwr$r,)r-r�s  r.�$test_negative_float_utcfromtimestamp�1TestDateTime.test_negative_float_utcfromtimestamp�
sX��
�
�
�0�
1��
�
�.�.�u�5�A�2�����D�M�M�$��B��B��F�K�L�2�
1�s�A"�"
A0c���SSKn[SS9n[S5H�nUR[5 UR
R
5nSSS5 UR[5 UR
RUR"55nSSS5 [WW-
5U::dM� O UR[WW-
5U5 g!,(df   N�=f!,(df   NV=f)NrrrrY)
rrr�r"r#rw�utcnowr$r��assertLessEqual)r-r�	tolerancer6�from_now�from_timestamps      r.�test_utcnow�TestDateTime.test_utcnow�
s�����a�(�	��1�X�E��!�!�"4�5��=�=�/�/�1��6��!�!�"4�5�!%���!?�!?��	�	��!L��6��>�H�,�-��:���	
���S��(�!:�;�Y�G�6�5��6�5�s�C�)+C$�
C!	�$
C2	c	��SnSn[R"URX5nURRX5nUR	X45 UR[
U5UR5 UR[
U5UR5 /SQnUHkupURXS9 [R"URUU5nURRX5nUR	X45 SSS5 Mm URRnUR	U"SS5R5S[-5 UR	U"SS5R5S	[-5 UR	U"S
S5R5[SSSS
9*5 SS[R*[RS44H�upxUS:aSn	U*n
OSn	Un
[U
S-S5up�SRX�X�5n
U"U
S5nUR	UR5[US95 UR	UR5U5 M� Sup�U"X�5nUR	UR5S[ -S[--5 UR	UR5S5 UR	UR#U5U
5 UR	U"SS5R$S5 UR'[(5 U"SS5 SSS5 UR'[(5 U"SS5 SSS5 UR'[(5 U"SS5 SSS5 g!,(df   GM�=f!,(df   Np=f!,(df   NZ=f!,(df   g=f)Nz2004-12-01 13:02:47.197z%Y-%m-%d %H:%M:%S.%f))u2004-12-01�13:02:47.197u%Y-%m-%d�%H:%M:%S.%f)u2004�12-01 13:02:47.197u%Y�%m-%d %H:%M:%S.%f)u2004-12-01 13:02�47.197u%Y-%m-%d %H:%M�%S.%f)�stringrpz+0002�%zr]z-0002r[z-00:02:01.000003rrY)rrrr)rr)r�GMTrr�r�r�z{}{:02d}{:02d} {}�%z %Zr)z	+1234 UTCrlr�r�rr�z-2400z-000�z)�	_strptime�_strptime_datetimerw�strptimer,r4r�rkr��MINUTErrwrr�r~rpr5rqrr�r$)r-rirpr`r�inputsrp�	tzsecondsr�r�rr�rr�dtstrr�r�s                r.�
test_strptime�TestDateTime.test_strptime�
s��*��'���/�/��
�
�v�N���m�m�$�$�V�4������'��
�
�d�8�n�d�m�m�4��
�
�d�3�i����/�
��
%�N�F����V��;�$�7�7��
�
�v�8>�@���m�m�,�,�V�<��� � ��/�	<�;�%��=�=�)�)������'�4�0�:�:�<�a�&�j�I�����'�4�0�:�:�<�b�6�k�J�����'��.�8�8�:�
�q�!�!�
<�<�	
�
#-�j�#(�>�>�/�5�<�<��?�!C�"E��I��1�}���$�*����#��#�G�R�K��4�N�E�'�.�.�t�G�L�E��%��)�B����R�\�\�^�Y�y�-I�J����R�Y�Y�[�&�1�"E�*�
��
�e�
!����������d��R�&�[�)@�A��������e�,�������S�)�5�1�	
����%��.�5�5�t�<�
�
�
�z�
*�H�W�d�,C�
*�
�
�
�z�
*�H�V�T�,B�
*�
�
�
�z�
*�H�S�$�,?�
*�
*�S<�;��N+�
*��
*�
*��
*�
*�s1�6AM>�
N�
N"�+
N3�>
N	�
N�"
N0�3
Oc
�d�URRnUR[5 U"SS5nSSS5 URSSSSSS5nURSSSSSS5nURSSSS	S	S	5nURSSS
S	S	S	5nSSSU4S
SSU4SSSU4SSSU4SSSU4SSSU4SSSU4SSSU4SSSU4S SS!U4/
nUH>up�p�S"U-nUR	UU	U
US#9 U"X�5nURX+US$9 SSS5 M@ g!,(df   N�=f!,(df   Mc=f)%Nz01/02/3 04:05:06z%d/%m/%y %H:%M:%Sr�r]rr_rZrar�r�z
1/02/03 4:5:6riz
01/2/03 4:5:6z%Hz01/02/03 4:05:06z%Mz01/02/03 04:5:06z%Sz01/02/03 04:05:6z%jz2/03 04am:05:06z%j/%y %I%p:%M:%Sz%Iz02/03 4am:05:06z%wz6/04/03z%w/%U/%yz%Wz6/4/2003z%u/%W/%Yz%Vz%u/%V/%Gztest single digit )�reasonrirp�target)�msg)rwrpr�r$rkr,)r-rp�newdater�r�r��dt4rrryrirprzs            r.�test_strptime_single_digit�'TestDateTime.test_strptime_single_digit�
s����=�=�)�)��
�
�
�z�
*��1�3F�G�G�+��m�m�D�!�Q��1�a�0���m�m�D�!�Q��1�a�0���m�m�D�!�Q��1�a�0���m�m�D�!�R��A�q�1��
�?�$7��=�
�?�$7��=�
�%�':�C�@�
�%�':�C�@�
�%�':�C�@�
�$�&8��=�
�$�&8��=�
�9�j�#�.�
�:�z�3�/�
�:�z�3�/�
��/5�*�F�F�)�F�2�F����V�%+�%+�%+��-�#�6�2��� � ��f� �=�-�-�/5�)+�
*��,-�-�s�
D�)D �
D� 
D/	��categoryc�^�UR[5 URRSS5 SSS5 UR	[
S5 URRSS5 SSS5 UR
[
5 URRSS5 SSS5 UR
[
5 URRSS	5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   Nk=f!,(df   g=f)
Nz02-29z%m-%dz.*day of month without a year.*z03-14.159265z%m-%d.%fz20-03-14.159265z%y-%m-%d.%fz
02-29,2024z%m-%d,%Y)r�r$rwrp�assertWarnsRegexr#�_assertNotWarnsr6s r.�test_strptime_leap_year�$TestDateTime.test_strptime_leap_years����
�
�z�
*��M�M�"�"�7�G�4�+��
"�
"�#5�#E�G��M�M�"�"�>�:�>�G��
!�
!�"4�
5��M�M�"�"�#4�m�D�6�
�
!�
!�"4�
5��M�M�"�"�<��<�6�
5�+�
*��G�G��6�
5��
5�
5�s/�C+�C<�D
�D�+
C9�<
D
�
D�
D,c���URSSSSSS5nURUR5S5 URUR5URURUR
URURURUR5UR5[URSS5R5-
S-S	4	5 UR5nURURUR5 URURUR5 URURUR
5 URURUR5 URUR UR5 URUR"UR5 URUR$UR55 URUR&UR5[URSS5R5-
S-5 URUR(S	5 g)
Nr�r�r�rar6�!)	r�r�r�rar6r�r_r�r@rr@)rwr,rxr�r�r%r�rtrsr1r�rr�r�r�r�r�r�r�r�r�)r-r��tts   r.�test_more_timetuple� TestDateTime.test_more_timetuples����M�M�$��B��2�r�2���������(M�N���������&�&�!�'�'�1�5�5��&�&�!�(�(�A�H�H��)�)�+��+�+�-�$�q�v�v�q�!�*<�*F�*F�*H�H�1�L��	�	��[�[�]��������Q�V�V�,�������A�G�G�,�������Q�U�U�+�������Q�V�V�,�������A�H�H�-�������A�H�H�-�������Q�Y�Y�[�1�������Q�[�[�]�%)�!�&�&�!�Q�%7�%A�%A�%C�&D�FG�&H�	I�������b�)r1c	�f�URSSSSSSS5nURURS5S	5 S
Hsuup#n[[	SX#S9*5nURUS
9nURURS5SU-5 URURS5SU-5 Mu g)Nr�r�r�rar6r��/z%m %d %y %f %S %M %H %jz12 31 04 000047 33 22 06 366)))r�r~z	33.000123))r�r�33r])r�rrrrjz-0200z%:zz-02:00:)rwr,rqrrrH)r-r�rr�rmr�s      r.�test_more_strftime�TestDateTime.test_more_strftime&s����M�M�$��B��2�r�2�6��������$=�>�$B�	D�F�J�G�Q�Q��9�1�a�I�I�J�B��	�	��	�$�A����Q�Z�Z��-�w��{�;����Q�Z�Z��.�	�A�
�>�	Gr1c	��URSSSSSSS5nURS5nURS	5nURURS
5S
5 URURS5SUS
U35 URURS
5USUS
35 URURS5S5 URURS5S5 URURS5SUSU35 URURS5USUS35 URURS5USUS35 URURS5S5 URURS5USU35 URURS5S5 URURS5USU35 URURS5S5 URURS5S5 URURS5SUSU35 URURS5USUS35 g)Nr�r�r�rar6r�r�z%cz%B�🐍u💻%c🐍%B�💻u%c💻%B🐍����u
�%c�%Bu
%c�%B�u
%c�%B����u
%c��%B�����u%c����%Br���z%c%Bz%c%B�rwrqr,�r-r��s1�s2s    r.�test_strftime_special�"TestDateTime.test_strftime_special1sK���M�M�$��B��2�r�2�6��
�Z�Z��
��
�Z�Z��
��	
������L�1�<�@�������$>�?�:�b�T�Q[�\^�[_�A`�a�������$>�?�B�4�z�RT�QU�U_�A`�a�������H�-�x�8�������H�-�x�8�������$6�7�6�"��V�B�4�9P�Q�������$6�7�B�4�v�b�T��9P�Q�������$6�7�B�4�v�b�T��9P�Q�������N�3�^�D�������$6�7�B�4�|�B�4�9P�Q�������$>�?�A[�\�������$B�C��t�Kc�df�cg�Eh�i�������D�)�4�0�������I�.�	�:�������J�/�2�b�T��B�4��A�������J�/�B�4�r�"��R��Ar1c	���URSSSSSSS5nURUR5[SSS55 URUR5[SSSS55 g)Nr�rYr_r��-��)rwr,rrr�s  r.�test_extract�TestDateTime.test_extractLs\��
�]�]�4��A�r�2�q�$�
7���������D��q�!�$4�5��������D��R��D�$9�:r1c	���[SSS5n[SSSS5nURSSSSSSS5nURRnU"X5nUR	XS5 U"X!S9nUR	XS5 UR	XR55 UR	X%R55 UR	XT"UR5UR555 UR[U5 UR[XA5 UR[XBU5 UR[XAUS5 UR[XAUSS	5 UR[US
S5 UR[XAS5 UR[US
U5 U"X[R5nURUR[R5 U"X[RS9nURUR[R5 [5nU"XR5nUR	UR5U5 UR	UR5U5 g)
Nr�rYr_r�r�r�)rrrr]rrr)rrrwr(r,r�r�rr5r4r)r-r�r�r`r(r�s      r.�test_combine�TestDateTime.test_combineQs�����q�!�����R��D�!���=�=��q�!�R��Q��=���-�-�'�'��
�Q�]������&�
�!�
$������&�����G�G�I�&�����G�G�I�&�����W�R�W�W�Y����	�:�;����)�W�-����)�W�0����)�W��3����)�W��A�6����)�W��A�q�9����)�W�f�f�=����)�W��8����)�W�f�a�8��Q�8�<�<�
(���
�
�b�i�i����.�
�Q�(�,�,�
/���
�
�b�i�i����.��F��
�R�^���������A�&��������A�&r1c	�8�URn/SQnU"U6nURUR5U5 UR[R"U5U5 Sn[	U5HaunupgUSSnXxU'U"U6n	URUR"S0Xg0D6U	5 UR[R"U40Xg0D6U	5 Mc U"SSS5nUR[URSS9 UR[[RUSS9 g)	N)rr]rYr_rZrar\)r�r�r��r�rZ�rtra�rsr\�r�r�r�r]r�r�r�r#r�r�s
          r.r��TestDateTime.test_replacess���m�m��$���D�z����������.�������d�+�T�2�'��"+�7�!3��A�~���1�g�G��A�J��G�}�H����T�\�\�;�T�N�;�X�F����T�\�\�$�A�4�.�A�8�L�"4��4��B������*�d�l�l���>����*�d�l�l�D�t��Dr1�EDT4c��URR5n[SS5nUR[	[SS9S5S9nUR
UR5U5 UR[URX"5 UR[URU5 URUS9[SSS9-nUR
URU5U5 UR
URUS	9U5 "S
S[5nU"5nUR[URU5 UR
URUS9RU5U5 "SS
[5nU"5nUR[URU5 "SS[5n	U	"5n
URU
S9nUR[5 UR5 SSS5 g!,(df   g=f)N�,�0044r`r��EDTrr_r�r�c� �\rSrSrSrSrSrg)�+TestDateTime.test_astimezone.<locals>.Bogusi�c��gr3r#r�s  r.r��5TestDateTime.test_astimezone.<locals>.Bogus.utcoffset����Dr1c��[S5$rrr�s  r.r��/TestDateTime.test_astimezone.<locals>.Bogus.dst�s��i��l�2r1r#N�rNrhrirjr�r�rkr#r1r.�Bogusr��s��0�2r1r�c� �\rSrSrSrSrSrg)�/TestDateTime.test_astimezone.<locals>.AlsoBogusi�c��[S5$rrr�s  r.r��9TestDateTime.test_astimezone.<locals>.AlsoBogus.utcoffset�s��I�a�L�%8r1c��gr3r#r�s  r.r��3TestDateTime.test_astimezone.<locals>.AlsoBogus.dst����dr1r#Nr�r#r1r.�	AlsoBogusr��s��8�*r1r�c� �\rSrSrSrSrSrg)�,TestDateTime.test_astimezone.<locals>.Brokeni�c��gr)r#r�s  r.r��6TestDateTime.test_astimezone.<locals>.Broken.utcoffset�s��Ar1c��gr)r#r�s  r.r��0TestDateTime.test_astimezone.<locals>.Broken.dst����ar1r#Nr�r#r1r.�Brokenr��s��-�'r1r�)rwr�rmrHrrr,�
astimezoner�r�rr$)r-r�rs�dt_utc�dt_fr��bogr��alsobogr��broken�	dt_brokens            r.�test_astimezone�TestDateTime.test_astimezone�s���
�]�]�
�
�
 ����F�#�����8�I�B�,?��#G��H���������&�1����)�R�]�]�A�9����)�R�]�]�B�7��z�z��z�#�i�a��&D�D��������q�)�4�0�������!��,�d�3�	3�F�	3��g�����*�b�m�m�S�9�������3��/�:�:�1�=�t�D�	+��	+��+�����*�b�m�m�W�=�	(�V�	(�����J�J�f�J�-�	�
�
�
�y�
)�� � �"�*�
)�
)�s�G3�3
Hc�^�"U4SjSTR5nSnTR"U6nU"U0SS0D6nTRURU5 TRURS5 TRURS5 TRUR5UR55 TRUR
S5URUR-UR-S-
5 g)Nc�,>�\rSrSrSrU4SjrSrSrg)�.TestDateTime.test_subclass_datetime.<locals>.Ci�r�c�>�UR5nURS5nTRR"U/UQ70UD6nXElU$r
rr
s      �r.r��6TestDateTime.test_subclass_datetime.<locals>.C.__new__�rr1c�R�XR-UR-UR-$r3)r�r�rsrs  r.r�6TestDateTime.test_subclass_datetime.<locals>.C.newmeth�s!���y�y�(�4�:�:�5����C�Cr1r#Nrr6s�r.rr��s����I�
�
Dr1r)r�r_r�r�rk�)r!r\r�r^)
rwr,rMrr!r�rr�r�rsrs`    r.rn�#TestDateTime.test_subclass_datetime�s����	D��
�
�	D�'���m�m�T�"����&�'�1��&���������*��������+�������A�&��������#�-�-�/�:�������R��#�(�(�S�Y�Y�*>�*-�*�*�+5�78�+9�	:r1c�.^�"U4SjSTR5nSnSnSnU"U6nTRXQ5 TRURS5 UR	5nSU4U4SU[
R4UR[
R54SU4U4S	U4U4S
US4U4S[US
S6[USS64U4/nUH�up�n
X4H�nTR[U5US9 [X�5nUS:Xa$TR[5 U"U	6n
SSS5 OU"U	6n
TRW
U5 TRX�5 TRU
RS5 SSS5 M� M� g!,(df   N^=f!,(df   M�=f)Nc�">�\rSrSrU4SjrSrg)�TTestDateTime.test_subclass_alternate_constructors_datetime.<locals>.DateTimeSubclassi�c�V>�TRR"U/UQ70UD6nSUlU$r�r�r�s    �r.r��\TestDateTime.test_subclass_alternate_constructors_datetime.<locals>.DateTimeSubclass.__new__�r"r1r#Nr�r6s�r.rgr��r#r1rg)r�r_r�r�rh�r�z2003-04-14T12:30:15.123456gh͏�TM�Ar\rr$r$rpz%Y-%m-%dT%H:%M:%S.%fr(rrYr%)rwr�r,r!r)rr5r�rrrkr�r*r"r#)r-rgr�r,�utc_tsr-rr@r'r.r`r/�constructorr�s`             r.�-test_subclass_alternate_constructors_datetime�:TestDateTime.test_subclass_alternate_constructors_datetime�s����	�t�}�}�	�1��2��"��!�4�(�����f�7�������q�)��
�
�
���r�e�V�,�
�r�8�<�<�0�%�0�0����>�
@�
�&��F�3�
�{�n�f�5�
�+�'=�>��G�
��t�A�a�y�)�4��a�b��?�;�V�D�	
�
�3=�.�K�h�-�6���\�\��X��.9�"�;�")�(�"@�K�"�&8�8�!�-�-�.@�A�!,�k�!:�B�B�A�)�+�6���)�)�"�.>�?��$�$�R�2��$�$�R�X�X�q�1�#;�;�7�3=�B�A��;�;�s%�)'F�E4	�A
F�4
F
�>F�
Fc�^�"U4SjSTR5nSS04SS04SSS[R04SSS[[SS	9S
504/nUH�up4nTR	U5 [X5nUS:Xa'TR
[5 U"S0UD6nSSS5 OU"S0UD6nTRWU5 TRURS5 SSS5 M� g!,(df   NI=f!,(df   M�=f)
Nc�">�\rSrSrU4SjrSrg)�8TestDateTime.test_subclass_now.<locals>.DateTimeSubclassic�V>�TRR"U/UQ70UD6nSUlU$r�r�r�s    �r.r��@TestDateTime.test_subclass_now.<locals>.DateTimeSubclass.__new__r"r1r#Nr�r6s�r.rgr�r#r1rgr�ra�now_utcr��	now_fixedr?r�r�r\r#)rwrr5rrkr*r"r#r�r,r!)r-rgr@rH�	meth_namer�r0r�s`       r.�test_subclass_now�TestDateTime.test_subclass_now�s���	�t�}�}�	��E�2��
�x��$�
���h�l�l�3�4�
�%�$����1D�e�(L�!M�N�	
�
�(2�#�D�V����d�#� �!1�=����(��)�)�*<�=�#�-�f�-��>�=� �)�&�)�B��%�%�b�*:�;�� � ����1�-�$�#�(2�>�=��$�#�s$�('C5�	C$�?C5�$
C2�.C5�5
D	c	�
�"SSUR5nU"SSS5nU"SSSSS9nSURSS9S	4SURSS9S4S
[R"USS9S	4S
[R"USS9S4/nUHqupVnURXWS9 UR	[U5U5 UR
URS5 UR
URU5 SSS5 Ms g!,(df   M�=f)Nc��\rSrSrSrg)�ATestDateTime.test_subclass_replace_fold.<locals>.DateTimeSubclassir#Nr/r#r1r.rgr�rQr1rgrrr�rrr�rr)	rwrHrYrkr4r�r,r�r�)r-rgr�r�r@rHrMr�s        r.�test_subclass_replace_fold�'TestDateTime.test_subclass_replace_folds���	�t�}�}�	��d�A�q�
)���t�Q���2���R�Z�Z�T�Z�2�A�6�
�S�[�[�d�[�3�Q�7�
�T�\�\�"�4�8�!�<�
�T�\�\�#�D�9�1�=�	
�
� *�O�D�t����d��.��
�
�d�3�i�)9�:�� � ����4�0�� � ����4�0�/�.� *�.�.�s
�AC3�3
D	c��/SQn/SQnSS/nS[R[[SS95[[SS95/nUVVVs/sH.nUH$nUHnUR"/UQUQ7SU06PM M& M0 nnnnUH_n	UHVn
U	R	U
S	9nURUS
9 URR
U5nURX�5 SSS5 MX Ma gs snnnf!,(df   Mu=f)N)rBrCrDrE)�rrrr)rrrih�)rrr�G�)r�rhr�r�r�rAr?r�r]r�r��rt)rr5rrwr[rkr$r,)
r-rH�
base_times�
separatorsr��
date_tuple�
time_tupler��dtsr�r�rtrJs
             r.�test_fromisoformat_datetime�(TestDateTime.test_fromisoformat_datetime.s��
�
�
�
��3�Z�
������I�B�/�0��I�A�.�/�1��
",�#�!+�:�!+�:�!�3��}�}�B�j�B�:�B�c�B�"�C�!+�C�!+�	�#�
�B�!�������-���\�\��\�.� �M�M�7�7��>�E��$�$�R�/�/�.�"���#�/�.�s�5C&�(-C-�-
C<c�2�URSSSSSSS5n[SS9[SS9[S	S
S9[SSSS
9[SSSSS9/nX"Vs/sHnSU-PM
 sn-
nS[R[[SS95/nXBVs/sHn[U5PM sn-
nUHUnUR	US9nUR5nUR
US9 URRU5nSSS5 MW gs snfs snf!,(df   Ms=f)Nr�r�rhr��pQrZr�r]rar�rr�rbr_rr�rdr@rr��tstr�rwrrr5rHr[rkr$)	r-�base_dtr�r�r�r�r�rtrJs	         r.�test_fromisoformat_timezone�(TestDateTime.test_fromisoformat_timezoneQs���-�-��b�"�b�"�b�&�A��
�A��	�� 2��A�r�*��B��B�7��A�q�!�&�I�	
�	�	�	�2�	�"�b�2�g�	�2�2�	������I�A�.�/�1��	�9�5�9�R�H�R�L�9�5�5���C������,�B��L�L�N�E����5��)��
�
�3�3�E�:��*�)�	��3��
6�*�)�s�C=�D�D�
D	c
��/SQnUHmnURSSSSSSS5nURUS	9nURUS
9 URRU5nUR	X55 SSS5 Mo g!,(df   M�=f)N)	r�rA��€uʁuᛇu時r�rBrRrr�rrr�iu�r�r�rG�r-r�r�r�rtrJs      r.�test_fromisoformat_separators�*TestDateTime.test_fromisoformat_separatorsjs���
�
��C����t�Q��B��B��?�B��L�L�S�L�)�E����E��*��
�
�3�3�E�:��� � ��+�+�*�	�+�*�s�-A9�9
B	c��SS/nUHknURSSSSS5nURUS9nURUS	9 URRU5nUR	X55 SSS5 Mm g!,(df   M=f)
Nr�r�rRrr�r�r�r�r�rGrs      r.�test_fromisoformat_ambiguous�)TestDateTime.test_fromisoformat_ambiguous{s|���3�Z�
��C����t�Q��B��3�B��L�L�S�L�)�E����E��*��
�
�3�3�E�:��� � ��+�+�*�	�+�*�s�-A7�7
B	c��SS/nS[R[[SS95[[SS95[[SSS95/n/S	Qn[U5H�upEUH�nUH�nUS
:XaSUSS--nUSSU4-nUR"USS
U-SU06n	U	RUS9n
UR
U
S9 URRU
5nURX�5 SSS5 M� M� M� g!,(df   M�=f)N)r8r�r_r�r�r�r�)r8r�r_r�r�r�rr?r�r]rar�r�r�rrrr�rr�r�rr_rr�r��	rr5rr�rwr[rkr$r,)r-�datetime_basesr��	timespecs�iprr�rI�new_microsecondsr�rtrJs            r.�test_fromisoformat_timespecs�)TestDateTime.test_fromisoformat_timespecs�s��,�'�)�������I�B�/�0��I�A�.�/��I�A�r�:�;�=��
5�	� �	�*�F�B��� .�H��^�+�+/�8�A�;�$�3F�+G�(�#+�A�a�=�4D�3F�#F������!�Q��V�)=�K�s�K�B��L�L�"�L�5�E����E��2� $�
�
� ;� ;�E� B���(�(��3�3�2�!/��+�3�2���9-C;	�;
D

c��[Rn[[SS9S5n[[SS9S5n[[SS9S5n/SURS	SS
SS54PSURS	SS
S
S54PSURS	SS
S
S54PSURS	SS
S
S54PSURS	SS
S
SS54PSURS	SS
S
SS54PSURS	SS
S
SSS54PSURS	SS
S
SSS54PSURS	SS
S
SSS54PSURS	SS
S
SSS54PSURS	SS
S
SSS54PSURS	SS
S
SSS54PSURS	SS
S
SSS54PSURS	SS
S
SSS54PSURS SS!S
S"S#S$54PS%URS SS!S
S"S#S&54PS'URS	SS
S
SSS54PS(URS	SS
SS54PS)URS	SS
S
S54PS*URS	SS
S
S54PS+URS	SS
S
SS54PS,URS	SS
S
SS54PS-URS	SS
S
SSS54PS.URS	SS
S
SSS54PS/URS	SS
S
SSS54PS0URS	SS
S
SSS54PS1URS	SS
S
SSS54PS2URS	SS
S
SSS54PS3URS	SS
S
SSS54PS4URS	SS
S
SSS54PS5URS6SS
54PS7URS6S8S9S:S54PS;URS<SSS:S54PS=URS	S8S>S?S54PS@URS	S8SAS?S54PSBURSCS8SDS
S54PSEURS	SS
S
S54PSFURSCS8SDS8S54PSGURS	SS
S8S54PSHURS	SS
S8SISA54PSJURS	S8SAS?SK54PSLURS	S8SAS?SK54PSMURS<SSS:SKSN54PSOURS<SSS:SKSN54PSPURS	SS
S8SISA54PSQURS	SS
S
SS54PSRURS	SS
S
SS54PSSURSTSS
S
SS54PSUURSTSS
S
SS54PSVURS	SS
S
SS54PSWURS	SS
S
SSS54PSXURS	SS
S8SISA54PSYURS	SS
S8SISASZ54PS[URS	S8SAS?SK54PS\URS	S8SAS?SK54PS]URS<SSS:SKSN54PS^URS<SSS:SKSNS_54PS`URSCS8SDS
SUSa94PSbURS	SS
S
SSUSa94PScURS	SS
S
SSUSa94PSdURS	SS
S
SSSUSa94PSeURSfSSSS[[SKS95Sa94PSgURS	SS
S
SSh[[S
S95Sa94PSiURS	SS
S
SSh[[SjS95Sa94PSkURS	SS
S
SSUSa94PSlURS	SS
S
SSh[[S
S95Sa94PSmURS	SS
S
SSh[[SjS95Sa94PSnURSoSSS
SSpSqUSa94PSrURSoSSS
SSpSqUSa94PSsURSoShSSSShStUSa94PSuURSoShSSSShStUSa94PSvURSTSwSASSDUSa94PSxURSTSwSASSDUSa94PSyURS	SS
S
SSSUSa94PSzURS	SS
S
SSS[[SwS{95Sa94PnUHIupgUR	US|9 URRU5nUR
X�5 SSS5 MK g!,(df   M]=f)}Nrr��BSTr?r�r`r�rSrQr]rz
2025-01-02T03rYz2025-01-02T03:04r_z2025-01-02T0304z2025-01-02T03:04:05rZz2025-01-02T030405z2025-01-02T03:04:05.6i�'	z2025-01-02T03:04:05,6z2025-01-02T03:04:05.678ipX
z2025-01-02T03:04:05.678901�[
z2025-01-02T03:04:05,678901z2025-01-02T030405.678901z2025-01-02T030405,678901z2025-01-02T03:04:05.6789010z2009-04-19T03:15:45.2345r8rqr�r�i�z2009-04-19T03:15:45.1234567r�z2025-01-02T03:04:05,678rP�20250102T03z20250102T03:04z20250102T03:04:05�20250102T030405z20250102T03:04:05.6z20250102T03:04:05,6z20250102T03:04:05.678z20250102T03:04:05,678z20250102T03:04:05.678901z20250102T030405.678901z20250102T030405,678901z20250102T030405.6789010�2022W01rZ�
2022W52520r�r�rv�2022W527520r\�
2026W01516r�r��2026W013516r��
2025W01503rUrh�2025W014503�
2025W01512�2025W014512�2025W014T121431r��2026W013T162100r�z2026W013 162100�2022W527T202159rz2022W527 202159z2025W014 121431�2025W014T030405z2025W014 030405z2020-W53-6T03:04:05raz2020W537 03:04:05z2025-W01-4T03:04:05z2025-W01-4T03:04:05.678901z2025-W01-4T12:14:31z2025-W01-4T12:14:31.012345i90z2026-W01-3T16:21:00z2026-W01-3T16:21:00.000000z2022-W52-7T20:21:59z2022-W52-7T20:21:59.999999rcz2025-W01003+00rz2025-01-02T03:04:05+00z2025-01-02T03:04:05Zz!2025-01-02003:04:05,6+00:00:00.00z2000-01-01T00+21r�z2025-01-02T03:05:06+0300raz2025-01-02T03:05:06-0300rXz2025-01-02T03:04:05+0000z2025-01-02T03:05:06+03z2025-01-02T03:05:06-03z 2020-01-01T03:05:07.123457-05:00r`r\iA�z2020-01-01T03:05:07.123457-0500z 2020-06-01T04:05:06.111111-04:00i�z2020-06-01T04:05:06.111111-0400z 2021-10-31T01:30:00.000000+01:00r!z2021-10-31T01:30:00.000000+0100z2025-01-02T03:04:05,6+000000.00z 2025-01-02T03:04:05,678+00:00:10rrb)rr5rrwrkr$r,)	r-rrr�r�rercr`rfs	         r.�$test_fromisoformat_datetime_examples�1TestDateTime.test_fromisoformat_datetime_examples�st���l�l���y�q�)�5�1���y�r�*�E�2���y�r�*�E�2��z
�
�4�=�=��q�!�Q��:�;�z
�
�d�m�m�D�!�Q��1�=�>�z
� ����t�Q��1�a�!@�A�z
���
�
�d�A�q�!�Q� ?�@�	z
�
#�D�M�M�$��1�a��A�$F�G�z
�!�$�-�-��a��A�q�!�"D�E�
z
�%�
�]�]�4��A�q�!�Q��
7�
9�z
�%�
�]�]�4��A�q�!�Q��
7�
9�z
�'�
�]�]�4��A�q�!�Q��
7�
9�z
�*�
�]�]�4��A�q�!�Q��
7�
9�z
�*�
�]�]�4��A�q�!�Q��
7�
9�z
�"(�
�]�]�4��A�q�!�Q��
7�
9�#z
�&(�
�]�]�4��A�q�!�Q��
7�
9�'z
�*+�
�]�]�4��A�q�!�Q��
7�
9�+z
�.(�
�]�]�4��B��2�r�6�
:�
<�/z
�2+�
�]�]�4��B��2�r�6�
:�
<�3z
�6'�
�]�]�4��A�q�!�Q��
7�
9�7z
�:����t�Q��1�a�8�9�;z
�<�D�M�M�$��1�a��;�<�=z
�>�t�}�}�T�1�a��A�>�?�?z
�@!�$�-�-��a��A�q�!�"D�E�Az
�B��
�
�d�A�q�!�Q�� B�C�Cz
�D#�
�]�]�4��A�q�!�Q��
7�
9�Ez
�H#�
�]�]�4��A�q�!�Q��
7�
9�Iz
�L%�
�]�]�4��A�q�!�Q��
7�
9�Mz
�P%�
�]�]�4��A�q�!�Q��
7�
9�Qz
�T(�
�]�]�4��A�q�!�Q��
7�
9�Uz
�X&�
�]�]�4��A�q�!�Q��
7�
9�Yz
�\&�
�]�]�4��A�q�!�Q��
7�
9�]z
�`'�
�]�]�4��A�q�!�Q��
7�
9�az
�d��
�
�d�A�q�1�2�ez
�f�4�=�=��r�2�r�1�=�>�gz
�h�D�M�M�$��1�b�!�<�=�iz
�j�4�=�=��r�2�r�1�=�>�kz
�l�D�M�M�$��B��A�>�?�mz
�n�4�=�=��r�2�q�!�<�=�oz
�p�D�M�M�$��1�a��;�<�qz
�r�4�=�=��r�2�r�1�=�>�sz
�t�D�M�M�$��1�b�!�<�=�uz
�v��
�
�d�A�q�"�b�"� E�F�wz
�x��
�
�d�B��B�� C�D�yz
�z��
�
�d�B��B�� C�D�{z
�|��
�
�d�A�q�"�b�"� E�F�}z
�~��
�
�d�A�q�"�b�"� E�F�z
�@��
�
�d�A�q�"�b�"� E�F�Az
�B��
�
�d�A�q�!�Q�� B�C�Cz
�D��
�
�d�A�q�!�Q�� B�C�Ez
�F#�D�M�M�$��1�a��A�$F�G�Gz
�H!�$�-�-��a��A�q�!�"D�E�Iz
�J#�D�M�M�$��1�a��A�$F�G�Kz
�L*�
�]�]�4��A�q�!�Q��
7�
9�Mz
�P#�D�M�M�$��1�b�"�b�$I�J�Qz
�R*�
�]�]�4��A�r�2�r�5�
9�
;�Sz
�V#�D�M�M�$��B��B�$G�H�Wz
�X*�4�=�=��r�2�r�2�+N�O�Yz
�Z#�
�]�]�4��A�r�2�r�
2�
4�[z
�^*�
�]�]�4��A�r�2�r�6�
:�
<�_z
�b�
�]�]�4��R��A�c�]�
:�
<�cz
�f&�
�]�]�4��A�q�!�Q�s�]�
;�
=�gz
�j$�
�]�]�4��A�q�!�Q�s�]�
;�
=�kz
�n1�
�]�]�4��A�q�!�Q��s�]�
C�
E�oz
�r �
�]�]�4��A�q�!�H�Y�R�=P�4Q�]�
R�
T�sz
�v(�
�]�]�4��A�q�!�Q�"*�9�1�+=�">��@�
A�wz
�|(�
�]�]�4��A�q�!�Q�"*�9�2�+>�"?��A�
B�}z
�B(�
�]�]�4��A�q�!�Q�s�]�
;�
=�Cz
�F&�
�]�]�4��A�q�!�Q�"*�9�1�+=�">��@�
A�Gz
�L&�
�]�]�4��A�q�!�Q�"*�9�2�+>�"?��A�
B�Mz
�R0�
�]�]�4��A�q�!�Q��s�]�
C�
E�Sz
�V/�
�]�]�4��A�q�!�Q��s�]�
C�
E�Wz
�Z0�
�]�]�4��A�q�!�Q��s�]�
C�
E�[z
�^/�
�]�]�4��A�q�!�Q��s�]�
C�
E�_z
�b0�
�]�]�4��R��B�s�]�
;�
=�cz
�f/�
�]�]�4��R��B�s�]�
;�
=�gz
�j/�
�]�]�4��A�q�!�Q��s�]�
C�
E�kz
�n0�
�]�]�4��A�q�!�Q��"*�9�R�+@�"A��C�
D�oz
��x$,��I����	��2����4�4�Y�?��� � ��2�3�2�$,�2�2�s�;-_5�5
`	c��/SQnUHTnURUS9 UR[5 URR	U5 SSS5 SSS5 MV g!,(df   N=f!,(df   My=f)N)r4rBz
2009.04-19T03z
2009-04.19T03z
2009-04-19T0az2009-04-19T03:1a:45z2009-04-19T03:15:4az2009-04-19T03;15:45z2009-04-19T03:15;45z2009-04-19T03:15:4500:00z 2009-04-19T03:15:45.123456+24:30z 2009-04-19T03:15:45.123456-24:30u2009-04-10ᛇᛇᛇᛇᛇ12:15u2009-04�10T12:15u2009-04-10T12�15z2009-04-19T1z2009-04-19T12:3z2009-04-19T12:30:4z2009-04-19T12:z2009-04-19T12:30:z2009-04-19T12:30:45.z2009-04-19T12:30:45.123456+z2009-04-19T12:30:45.123456-z!2009-04-19T12:30:45.123456-05:00az2009-04-19T12:30:45.123-05:00az2009-04-19T12:30:45-05:00az2009-04-19T12:30:45.400 +02:30z2009-04-19T12:30:45.400 z2009-04-19T12:30:45. 400�rr�rkr�r$rwr$rps   r.�!test_fromisoformat_fails_datetime�.TestDateTime.test_fromisoformat_fails_datetime&
sa��
��@ �G����g��.��&�&�z�2��M�M�/�/��8�3�/�.� �2�2��/�.��"�A1�A �A1� 
A.�*A1�1
B	c���SnUR[[R"[	U555 UR
R
U5 SSS5 g!,(df   g=f)Nu2018-01-03�01:0113)r�r$�re�escaperrwr$)r-rts  r.�"test_fromisoformat_fails_surrogate�/TestDateTime.test_fromisoformat_fails_surrogateM
sE��*��
�
#�
#�J��	�	�$�u�+�0F�
G��M�M�'�'��.�H�
G�
G�s�A�
A)c��SnURRU5nURUR[R
5 g)Nz2014-04-19T13:21:13+00:00)rwr$r4rrr5)r-rFr�s   r.�test_fromisoformat_utc�#TestDateTime.test_fromisoformat_utcU
s1��,��
�]�]�
(�
(��
0���
�
�b�i�i����.r1c���"SSUR5nU"SSSSSSS	[[S
SS95S9nURUR	55nURX#5 UR
X15 g)
Nc��\rSrSrSrg)�BTestDateTime.test_fromisoformat_subclass.<locals>.DateTimeSubclassi\
r#Nr/r#r1r.rgrB\
rQr1rgr�r�r�rrhr�i��r!rr)rwrrr$r[r,r�)r-rgr�rJs    r.rl�(TestDateTime.test_fromisoformat_subclass[
sp��	�t�}�}�	��d�B��A�r�2�v�%-�i�b�"�.M�%N�P��!�.�.�r�|�|�~�>������#����e�6r1r#N)HrNrhrirjrrwr�r�rr]r�r�r�r�r�r�r�r�r�r
r
r�rrrrr%r
�run_with_tzr+r.r5r=rLrQr$rV�unittest�skipIfrL�platformr[r^rfrur~r�ignore_warningsr#r�r�r�r�r�r�r�r�rnr�r�r�rr	rrrr0r5r;r>rlrkr#r1r.r�r�s����H�,�
/�&� *H�X-�<5�:L� #�$	7�3?�j$�.B4�HC�'�C�4�$'�B6�2�;�2�
���3�4�D�5�D�6	;�
����"�*2�#�*2�X5�&%4�N(;�T&�*��_�_�S�\�\�W�,�.Z�[�+�\�+�
�_�_�S�\�\�W�,�.Z�[�M�\�M�
H�"9@�v >�D�$�$�.@�A�=�B�=�*�,	?�B�6;�
 '�DE�4
���� �#�!�#�@:�632�j.�81�(!0�F*�2,�"	,�4�4D3�L%9�N/�/�
7r1r�c�H�\rSrSr\r\R"S5S5rSr	g)�TestSubclassDateTimeih
znot appropriate for subclassesc��gr3r#r6s r.r�#TestSubclassDateTime.test_roundtripk
s��r1r#N)
rNrhrirjr�rwrE�skiprrkr#r1r.rJrJh
s#���H�
�]�]�3�4�
�5�
r1rJc��\rSrSrSrSrg)�SubclassTimeio
rr#Nr�r#r1r.rOrOo
r�r1rOc��\rSrSr\rSrSrSrSr	Sr
SrSrS	r
S
rSrSrS
rSrSrSrSrSrSrSrSrSrSrSrSrg)�TestTimeir
c��URSS5nURURS5 URURS5 URURS5 URUR
S5 g)Nr�r�rwr,r�rtrsr�r\s  r.r��TestTime.test_basic_attributesv
sb���M�M�"�a� ���������$�������1�%�������1�%��������*r1c��URSSSS5nURURS5 URURS5 URURS5 URUR
S5 g)Nr�rr�rSr\s  r.r��&TestTime.test_basic_attributes_nonzero}
sh��
�M�M�"�b�"�d�+���������$�������2�&�������2�&��������-r1c�^�URSSSS5n[U5nURURS55 USSn[	U5nURX5 URURURURUR5nURX5 g)Nrr]rYr_rr)
rwrr�rErr,r�rtrsr�)r-r�rr�s    r.r�TestTime.test_roundtrip�
s����M�M�!�Q��1�%��
��G��������[�1�2�
�a�b�E��
�!�W��������]�]�1�6�6�1�8�8�Q�X�X��=�=�*������r1c�^^�/SQnUR"U6mUR"U6nURTU5 URTU:*5 URTU:�5 URTU:g5 URTU:5 URTU:�5 [	[U55GHnUSSnXS-XC'UR"U6nURTU:5 URUT:�5 URTU:*5 URUT:�5 URTU:g5 URUT:g5 URTU:H5 URUT:H5 URTU:�5 URUT:5 URTU:�5 URUT:*5 GM [GH0mURTT:HS5 URTT:gS5 URTT:HS5 URTT:gS5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4S	j5 UR[UU4S
j5 UR[UU4Sj5 UR[UU4Sj5 GM3 g)
N�rr]rYr_rFTc�>�TT:*$r3r#r�s��r.r��)TestTime.test_comparing.<locals>.<lambda>�
r�r1c�>�TT:$r3r#r�s��r.r�r\�
r�r1c�>�TT:�$r3r#r�s��r.r�r\�
r�r1c�>�TT:�$r3r#r�s��r.r�r\�
r�r1c�>�TT:*$r3r#r�s��r.r�r\�
r�r1c�>�TT:$r3r#r�s��r.r�r\�
r�r1c�>�TT:�$r3r#r�s��r.r�r\�
r�r1c�>�TT:�$r3r#r�s��r.r�r\�
r�r1)	rwr,r�r�r�r�rr�r�)r-r�r�r�r�r�r�s     @@r.�test_comparing�TestTime.test_comparing�
ss�����
�]�]�D�
!��
�]�]�D�
!������R� �����b��!�����b��!�����r��"�����b��!�����b��!��s�4�y�!�A��1�g�G���1��G�J�����(�B��O�O�B��G�$��O�O�B��G�$��O�O�B�"�H�%��O�O�B�"�H�%��O�O�B�"�H�%��O�O�B�"�H�%����R�2�X�&����R�2�X�&����R�"�W�%����R�"�W�%����R�2�X�&����R�2�X�&�"�"!�j�F����R�6�\�5�1����R�6�\�4�0����V�r�\�5�1����V�r�\�4�0����i�)=�>����i�)<�=����i�)<�=����i�)=�>����i�)=�>����i�)<�=����i�)<�=����i�)=�>�!r1c�\�URSS5 URSS5 UR[URSS5 UR[URSS5 URSS5 URSS5 UR[URSS5 UR[URSS5 URSSS5 URSSS5 UR[URSSS5 UR[URSSS5 URSSSS5 URSSSS5 UR[URSSSS5 UR[URSSSS5 g)	Nrrr@rhrr�rcr�)rwr�r$r6s r.r��'TestTime.test_bad_constructor_arguments�
sJ���
�
�a����
�
�b�!�����*�d�m�m�R��;����*�d�m�m�R��;��
�
�b�!���
�
�b�"�����*�d�m�m�R��<����*�d�m�m�R��<��
�
�b�"�a� ��
�
�b�"�b�!����*�d�m�m�R��R�@����*�d�m�m�R��R�@��
�
�b�"�b�!�$��
�
�b�"�b�&�)����*�d�m�m�R��R��D����*�d�m�m�R��R��Ir1c��URSSS5nURSSS5nURX5 UR[U5[U55 US0nSX2'UR[U5S5 URX1S5 URX2S5 URSSS5nURSSS5nURX5 UR[U5[U55 US0nSX2'UR[U5S5 URX1S5 URX2S5 g)Nrrhr�rr]rrZr�r�s    r.r��TestTime.test_hash_equality�
s&���M�M�"�b�"�%���M�M�"�b�"�%�����������a��$�q�'�*��!�f���������S��1�%�������#�������#��M�M�!�a��$���M�M�!�a��$�����������a��$�q�'�*��!�f���������S��1�%�������#�������#r1c���URSSSS5nURUR5S5 URUR5[U55 UR5nURUR5S5 URUR5[U55 URSS9nURUR5S5 URUR5[U55 URS	S9nURUR5S
5 URUR5[U55 URSS9nURUR5S5 URUR5[U55 URS
S9nURUR5S5 URUR5[U55 URSS9nURUR5S5 URUR5[U55 URSS9nURUR5S5 URUR5[U55 URSSSSS9nURURSS9S5 URURSS9S5 URURSS9S5 URURSS9S 5 URURS!S9S"5 URURS#S9S"5 UR	[
URS$S9 UR	[
URS%S9 URSSSS&S9nURURSS9S'5 URSSSS(S9nURURSS9S)5 URURS!S9S*5 URURS#S9S5 g)+Nr_rZrr~z04:05:01.000123�00:00:00rBz00:00:00.000001r!z00:00:00.000010r�z00:00:00.000100r�z00:00:00.001000r�z00:00:00.010000順z00:00:00.100000r�r�r�r�)r�rtrsr�r�r��12rrz12:34rz12:34:56r�z12:34:56.123rz12:34:56.123456r��monkeyrBr�z12:34:56.999rz12:34:56.000z12:34:56.000000)rwr,r[r	r�r$r\s  r.r]�TestTime.test_isoformat�
s����M�M�!�Q��3�'���������(9�:���������A��/��M�M�O���������
�3���������A��/��M�M�a�M�(���������(9�:���������A��/��M�M�b�M�)���������(9�:���������A��/��M�M�c�M�*���������(9�:���������A��/��M�M�d�M�+���������(9�:���������A��/��M�M�e�M�,���������(9�:���������A��/��M�M�f�M�-���������(9�:���������A��/��M�M�r�"�R�V�M�L��������g��6��=�������i��8�'�B�������i��8�*�E�������n��=�~�N�������n��=�?P�Q�������f��5�7H�I����*�a�k�k�H��E����*�a�k�k�H��E��M�M�r�"�R�V�M�L��������n��=�~�N��M�M�r�"�R�Q�M�G��������n��=�~�N�������n��=�?P�Q�������f��5�z�Br1c
��S[SS94S[SS94S[SSS	94S
[SSS
S94S[SSSSS94/nSS[R4S[[S554/nUUVVVVs/sH"up4SHupVXS-[Xd-54PM M$ snnnn-
nURSSS5nSnUH0up�UR	U
S9nX�-nURU
S9 SSS5 M2 gs snnnnf!,(df   ML=f)Nr�rZr�r�r]r�rar�rr�r�r�rhrbr�r_rr�rdr�r�rr�r�z12:37:09rr�r�)
r-r�r�r`r�r�r��t_baser�r�r�r�r�s
             r.r�� TestTime.test_isoformat_timezone!s#��
�i�a�(�)�
�i�a�(�)�
�i�a��4�5�
���R��D�E�
�	��1�a�V\� ]�^�
�	�
�
�x�|�|�$�
�x�	�!��-�.�
��	� )�
� )��� 5����
���� 3�4� 5�
5� )�
�	
�����r�2�q�)����"�K�F����c��*�A��#�C����#��&�&�#��
�'�&�s�,)C)�C1�1
D	c�`�URSS9nUR[URSS9 g)Nr�rsrY)r�)rwr�r�r[r\s  r.�test_1653736�TestTime.test_1653736?s+���M�M��M�#�����)�Q�[�[�a��8r1c��URSSSS5nURURS5S5 URURS5S5 URS	5 URS
S9 g![a Nf=f)Nrr]rYr_z%H %M %S %fz01 02 03 000004rkrlu%H�%Mrnro)rwr,rqrrr\s  r.rt�TestTime.test_strftimeDs���M�M�!�Q��1�%��������M�2�4E�F�������$5�6�
�C�	�
�J�J�|�$�
	
�
�
�$�
���	"�	��	�s�A9�9
B�Bc��URSSSS5nURS5nURS5nURURS5S5 URURS5S	USU35 URURS
5US	US35 URURS5S5 URURS5S5 URURS
5SUSU35 URURS5USUS35 URURS5USUS35 URURS5S5 URURS5USU35 URURS5S5 URURS5USU35 URURS5S5 URURS5S5 URURS5SUSU35 URURS5USUS35 g)Nrr]rYr_z%I%p%Zz%Xr�u💻%I%p%Z🐍%Xr�u%I%p%Z💻%X🐍r�r�u�%I%p%Z�%Xu%I%p%Z�%X�u%I%p%Z�%X�r�u%I%p%Z��%Xr�u%I%p%Z����%Xr�r�z
%I%p%Z%Xz
%I%p%Z%Xr�r�s    r.r��TestTime.test_strftime_specialSsI���M�M�!�Q��1�%��
�Z�Z��
!��
�Z�Z��
��	
������L�1�<�@�������$B�C�z�RT�QU�U_�`b�_c�Ed�e�������$B�C��t�:�VX�UY�Yc�Ed�e�������H�-�x�8�������H�-�x�8�������$:�;�v�b�T��PR�t�=T�U�������$:�;��t�6�"��V�=T�U�������$:�;��t�6�"��V�=T�U�������N�3�^�D�������$:�;��t�<�PR�t�=T�U�������$>�?�A[�\�������$F�G�B�4�Og�hj�gk�Il�m�������D�)�4�0�������I�.�	�:�������N�3�r�"��R��t�_�E�������N�3��t�2�b�T��_�Er1c�.�URSSSS5nURURS5[U55 UR	[
S5 URS5 SSS5 "SS	UR5nU"SSSS5nURURS5S	5 "S
SUR5nU"SSSS5nURURS5[U55 SH�nURURU5UR
U55 URURU5UR
U55 URURU5S5 M� g!,(df   GN%=f)
Nrr]rYr_r4r}r~c��\rSrSrSrSrg)�TestTime.test_format.<locals>.Aivc��gr�r#r6s r.r��'TestTime.test_format.<locals>.A.__str__wr�r1r#Nr�r#r1r.r�r}vr�r1r�c��\rSrSrSrSrg)�TestTime.test_format.<locals>.Bi}c��gr�r#r�s  r.rq�(TestTime.test_format.<locals>.B.strftime~r�r1r#Nr�r#r1r.r�r�}r�r1r�)z%H %M %Sr�)r-r�r�r�r�r�r�s       r.r��TestTime.test_formatns?���M�M�!�Q��1�%��������b�)�3�q�6�2�
�
#�
#�I�/E�
F�
�L�L���G�	��
�
�	�
�a��A�q�M��������b�)�3�/�	��
�
�	�
�a��A�q�M��������b�)�3�q�6�2��C����Q�\�\�#�.��
�
�3��@����Q�\�\�#�.��
�
�3��@����Q�\�\�#�.��4�	�#G�
F�s�F�
Fc
���UR[URSSSS55S5 UR[URSSSS55S5 UR[URS	SSS
55S5 UR[URSSSS	55S
5 UR[URSSS	S	55S5 g)Nrr]rYr_z01:02:03.000004r!rCz10:02:03.004000rrz00:02:03.400000r�z12:02:03rr�z23:15:00)r,r	rwr6s r.r�TestTime.test_str�s�������T�]�]�1�a��A�6�7�9J�K�����T�]�]�2�q�!�T�:�;�=N�O�����T�]�]�1�a��F�;�<�>O�P�����T�]�]�2�q�!�Q�7�8�*�E�����T�]�]�2�r�1�a�8�9�:�Fr1c
��SURR-nUR[URSSSS55SU-5 UR[URSSSS55S	U-5 UR[URS
SSS55SU-5 UR[URS
SSS
55SU-5 UR[URSSS
S
55SU-5 g)Nrrr]rYr_z%s(1, 2, 3, 4)r!rCz%s(10, 2, 3, 4000)rrz%s(0, 2, 3, 400000)r�z%s(12, 2, 3)rr�z
%s(23, 15)r
rs  r.r�TestTime.test_repr�s����T�]�]�3�3�3������d�m�m�A�q�!�Q�7�8�)�D�0�	2�����d�m�m�B��1�d�;�<�-��4�	6�����d�m�m�A�q�!�V�<�=�.��5�	7�����d�m�m�B��1�a�8�9�'�$�.�	0�����d�m�m�B��A�q�9�:�%��,�	.r1c��URURRUR5 URURRUR5 URURR[
5 UR
URRURR:�5 gr3)r�rwrr�rrr�r6s r.r�TestTime.test_resolution_info�s}�����d�m�m�/�/����?����d�m�m�/�/����?����d�m�m�6�6�	�B�����
�
�)�)�D�M�M�,=�,=�=�>r1c�
�SnUR"U6n[H9up4nURX%5nURU5nUR	X'5 M; UR	UR5UR
S55 g)N�rvrr�rr]r�r�s        r.r��TestTime.test_pickling�sr�� ���}�}�d�#��)7�%�G���M�M�$�.�E��o�o�e�,�G����T�+�*8�	
������*�D�,>�,>�q�,A�Br1c���Sn[U6n[HXup4nURX%5nURU5nUR	X'5 UR[
U[55 MZ g)Nr�)rOr�r�r�r,r�rsr�s        r.�test_pickling_subclass_time�$TestTime.test_pickling_subclass_time�s]�� ���T�"��)7�%�G���M�M�$�.�E��o�o�e�,�G����T�+��O�O�J�w��=�>�	*8r1c��/SQn[U5HTunup4URUS9 UR"U6n[HnU"USS9nUR	Xu5 M SSS5 MV g!,(df   Mh=f)N))s,cdatetime
time
(S'\x14;\x10\x00\x10\x00'
tR.r�)scdatetime
time
(U;tR.r�)s�cdatetime
time
U;�R.r�)s,cdatetime
time
(S'\x14;\x19\x00\x10\x00'
tR.�rvrrxr)scdatetime
time
(U;tR.r�)s�cdatetime
time
U;�R.r�)r�r�r�)r�rkrwr�r,)r-r^r�r�r�r`r�r�s        r.r��TestTime.test_compat_unpickle�so��

�� )��/�O�A�|�������"��=�=�$�/��)�E�#�D�8�<�G��$�$�W�7�*�#�"� 0�"�"�s�5A)�)
A8	c�:�URnURU"S55 URU"SS55 URU"SSS55 URU"SSSS55 URU"S55 URU"55 g)Nrr)rwr�)r-r�s  r.r;�TestTime.test_bool�su���m�m������A�������A�q�	�"�����A�q�!��%�����A�q�!�Q��(�����A��������r1c	���URn/SQnU"U6nURUR5U5 UR[R"U5U5 Sn[	U5HaunupgUSSnXxU'U"U6n	URUR"S0Xg0D6U	5 UR[R"U40Xg0D6U	5 Mc U"S5nUR[URSS9 UR[URSS9 UR[URSS	9 UR[URS
S9 UR[[RUSS9 UR[[RUSS9 UR[[RUSS	9 UR[[RUS
S9 g)
NrZ)r�r�r�r�rrh�r�r@�rtr�rtr�rBr#r�r�s
          r.r��TestTime.test_replace�s����m�m�����D�z����������.�������d�+�T�2�'��"+�7�!3��A�~���1�g�G��A�J��G�}�H����T�\�\�;�T�N�;�X�F����T�\�\�$�A�4�.�A�8�L�"4��1�v�����*�d�l�l���<����*�d�l�l�2��>����*�d�l�l�3��?����*�d�l�l���H����*�d�l�l�D�r��B����*�d�l�l�D���D����*�d�l�l�D���E����*�d�l�l�D�g��Nr1c	�~^�"U4SjSTR5nU"SS5nU"SSSS9nSURSS	9S
4SURSS	9S4S[R"USS	9S
4S[R"USS	9S4/nUH�upVnTRXWS9 TR	[U5U5 TR
URS5 TR
URS5 TR
URS5 TR
URU5 SSS5 M� g!,(df   M�=f)
Nc�">�\rSrSrU4SjrSrg)�4TestTime.test_subclass_replace.<locals>.TimeSubclassi�c�V>�TRR"U/UQ70UD6nSUlU$r�r�r�s    �r.r��<TestTime.test_subclass_replace.<locals>.TimeSubclass.__new__�r�r1r#Nr�r6s�r.�TimeSubclassr��r�r1r�r�rhrr�rr!r�rrr\)rwrHrYrkr4r�r,r�rtr!r�)r-r�r`�ctime2r@rHrMr�s`       r.r�TestTime.test_subclass_replace�s���	�4�=�=�	��R��$���b�"�1�-���U�]�]��]�3�Q�7�
�V�^�^��^�4�a�8�
�T�\�\�%�b�9�1�=�
�T�\�\�&�r�:�A�>�	
�
� *�O�D�t����d��.��
�
�d�3�i��6�� � ����2�.�� � ����R�0�� � ����A�.�� � ����4�0�/�.� *�.�.�s
�BD-�-
D<	c��^�"U4SjSTR5nSnTR"U6nU"U0SS0D6nTRURU5 TRURS5 TRURS5 TRUR5UR55 TRUR
S5URUR-S-
5 g)Nc�,>�\rSrSrSrU4SjrSrSrg)�&TestTime.test_subclass_time.<locals>.Ci
r�c�>�UR5nURS5nTRR"U/UQ70UD6nXElU$r
rr
s      �r.r��.TestTime.test_subclass_time.<locals>.C.__new__rr1c�8�XR-UR-$r3�r�rsrs  r.r�.TestTime.test_subclass_time.<locals>.C.newmeth����y�y�(�4�;�;�6�6r1r#Nrr6s�r.rr�
�����I�
�
7r1r)r_rZrar!r\r�r^)	rwr,rMrr!r[rr�rsrs`    r.�test_subclass_time�TestTime.test_subclass_times����	7��
�
�	7����m�m�T�"����&�'�1��&���������*��������+�������A�&��������#�-�-�/�:�������R��#�(�(�S�Z�Z�*?�!�*C�Dr1c	�0�SnSS[S5S4H)nUR[URX!SS-5 M+ UR	[S5 UR[S/[
U5-5S5 SSS5 g!,(df   g=f)	Nz2:59.0r��9rh�ÿrr;r�)�chrr�r�rwr�r<r�)r-r��	hour_bytes   r.r?�!TestTime.test_backdoor_resistance%s}�����c�3�r�7�F�2�I����i����)2�!�"�X�)=�
?�3��
#�
#�I�/G�
H��M�M�%���c�$�i��0�%�8�I�
H�
H�s�)B�
Br#N)rNrhrirjrrwr�r�rrdr�r�r]r�rurtr�r�rrrr�r�r�r;r�rr�r?rkr#r1r.rQrQr
s����H�+�.�
 �)?�VJ�,$�.2C�h,�<9�

 �F�65�6G�.�?�C�?�8�,�O�:1�2E�49r1rQc�2�\rSrSrSrSrSrSrSrSr	g)	�
TZInfoBasei2c��URn"SS[5nU"SSSU"5S9nU[L=(a S=(d SnURUR	5U5 [U[L=(a S	=(d S
S9nURUR
5U5 URUR5U5 g)Nc�$�\rSrSrSrSr\rSrg)�7TZInfoBase.test_argument_passing.<locals>.introspectivei7c�*�U=(a S=(d S$)N�real�noner#r�s  r.r��>TZInfoBase.test_argument_passing.<locals>.introspective.tzname8s��B�M�6�,C�V�%Cr1c�8�[U=(a S=(d SS9$)Nr�����rqrr�s  r.r��ATZInfoBase.test_argument_passing.<locals>.introspective.utcoffset9s�� �2�9�"�+;��<�<r1r#N)rNrhrirjr�r�r�rkr#r1r.�
introspectiver�7s��C�
=��Cr1r�rr]rYrr�r�r�r�rq)rwrrr,r�rr�r�)r-r�r��objr`s     r.�test_argument_passing� TZInfoBase.test_argument_passing4s����m�m��	�F�	��!�Q��-�/�2���$�;�)�6�3�V���������x�0��c�T�k�&9�c�&?�R�A���������(�3��������H�-r1c	��URnUR[USSSSS9 "SS[5nUR[USSSUS9 "SS[5nU"5nU"SSSUS9nURURU5 g)Nrr�rc� �\rSrSrSrSrSrg)�3TZInfoBase.test_bad_tzinfo_classes.<locals>.NiceTryiJc��gr3r#r6s r.r{�<TZInfoBase.test_bad_tzinfo_classes.<locals>.NiceTry.__init__K���r1c��gr3r#r�s  r.r��=TZInfoBase.test_bad_tzinfo_classes.<locals>.NiceTry.utcoffsetL���Tr1r#N�rNrhrirjr{r�rkr#r1r.�NiceTryr�J���$�)r1r�c� �\rSrSrSrSrSrg)�5TZInfoBase.test_bad_tzinfo_classes.<locals>.BetterTryiOc��gr3r#r6s r.r{�>TZInfoBase.test_bad_tzinfo_classes.<locals>.BetterTry.__init__Pr�r1c��gr3r#r�s  r.r��?TZInfoBase.test_bad_tzinfo_classes.<locals>.BetterTry.utcoffsetQr�r1r#Nr�r#r1r.�	BetterTryr�Or�r1r�)rwr�r��objectrr4)r-r�r�r�r�r�s      r.�test_bad_tzinfo_classes�"TZInfoBase.test_bad_tzinfo_classesFs����m�m�����)�S�!�Q��"��=�	*�f�	*�	
���)�S�!�Q��'��B�	*��	*�
�K����1�a��"���
�
�a�h�h��"r1c���"SS[5nURnSH�up4U[LaU"SSSU"U5S9nOU[LaU"SSSSSSU"U5S9nU(az[	U5n[US	5upxS
US:=(a S=(d S
Xx4-n	[
W[5(aUR5nUR[U5SU	-5 M�UR[[W5 M� g)Nc� �\rSrSrSrSrSrg)�6TZInfoBase.test_utc_offset_out_of_bounds.<locals>.EdgyiWc� �[US9Ulgrp�rry)r-rys  r.r{�?TZInfoBase.test_utc_offset_out_of_bounds.<locals>.Edgy.__init__Xs��'��7��r1c��UR$r3�ryr�s  r.r��@TZInfoBase.test_utc_offset_out_of_bounds.<locals>.Edgy.utcoffsetZs���{�{�"r1r�Nr�r#r1r.�Edgyr�Ws��
8�
#r1r�))�`���F)�a���T)�T)r�Frr]rYrrar�z%c%02d:%02drr�r�z01:02:03)rrwrrr�r~rs�timetzr,r	r�r$)
r-r�r�ry�legitr��aofsr7r��tags
          r.�test_utc_offset_out_of_bounds�(TZInfoBase.test_utc_offset_out_of_boundsVs���	#�6�	#��m�m��-�M�F��d�{���1�a��V��5�������1�a��A�q��f��>����6�{���d�B�'���#�v��z�'9�c�'@�S�!�&G�G���a��*�*����
�A�� � ��Q���c�)9�:��!�!�*�c�1�5�%-r1c	���URn"SS[5nU"SSS5U"SSSSS9U"SSSU"5S94H`nURUR55 URUR	55 URUR55 Mb "SS[5nU"SSSU"5S9nUR
UR5[SS95 UR
UR	5[S	S95 UR
UR5S
5 "SS[5nU"SSSU"5S9nUR[UR5 UR[UR5 UR[UR
5 "S
S[5nU"SSSU"5S9nUR[UR5 UR[UR5 "SS[5nU"SSSU"5S9nUR
UR5[SS95 UR
UR	5[SS95 g)Nc�&�\rSrSrSrSrSrSrg)�*TZInfoBase.test_tzinfo_classes.<locals>.C1itc��gr3r#r�s  r.r��4TZInfoBase.test_tzinfo_classes.<locals>.C1.utcoffsetur�r1c��gr3r#r�s  r.r��.TZInfoBase.test_tzinfo_classes.<locals>.C1.dstvr�r1c��gr3r#r�s  r.r��1TZInfoBase.test_tzinfo_classes.<locals>.C1.tznamews��r1r#Nr�r#r1r.�C1r�ts��0�*�-r1r�rrc�&�\rSrSrSrSrSrSrg)�*TZInfoBase.test_tzinfo_classes.<locals>.C3ic��[SS9$)Nr�rqrr�s  r.r��4TZInfoBase.test_tzinfo_classes.<locals>.C3.utcoffset�s��I�e�,D�%Dr1c��[SS9$)Nr�rqrr�s  r.r��.TZInfoBase.test_tzinfo_classes.<locals>.C3.dst�s��i��&=�=r1c��g�N�anamer#r�s  r.r��1TZInfoBase.test_tzinfo_classes.<locals>.C3.tzname�s��r1r#Nr�r#r1r.�C3r�s��D�=�0r1rr�rqr�r�c�&�\rSrSrSrSrSrSrg)�*TZInfoBase.test_tzinfo_classes.<locals>.C4i�c��gr�r#r�s  r.r��4TZInfoBase.test_tzinfo_classes.<locals>.C4.utcoffset�s��Gr1c��gr�r#r�s  r.r��.TZInfoBase.test_tzinfo_classes.<locals>.C4.dst�r�r1c��grr#r�s  r.r��1TZInfoBase.test_tzinfo_classes.<locals>.C4.tzname�s��r1r#Nr�r#r1r.�C4r�s��3�'�*r1r
c� �\rSrSrSrSrSrg)�*TZInfoBase.test_tzinfo_classes.<locals>.C6i�c��[SS9$)Ni��r�rr�s  r.r��4TZInfoBase.test_tzinfo_classes.<locals>.C6.utcoffset�s��I�C�,@�%@r1c��[SS9$)Nrhr�rr�s  r.r��.TZInfoBase.test_tzinfo_classes.<locals>.C6.dst�s��i�b�&9�9r1r#Nr�r#r1r.�C6r�s��@�9r1rc� �\rSrSrSrSrSrg)�*TZInfoBase.test_tzinfo_classes.<locals>.C7i�c��[SS9$)Nr�rrr�s  r.r��4TZInfoBase.test_tzinfo_classes.<locals>.C7.utcoffset�s��I�2�,F�%Fr1c��[SS9$)N���rrr�s  r.r��.TZInfoBase.test_tzinfo_classes.<locals>.C7.dst�s��i�S�&A�Ar1r#Nr�r#r1r.�C7r�s��F�Ar1rr�rr)rwrr;r�r�r�r,rr�r�r$)r-r�r�r�rr
rrs        r.�test_tzinfo_classes�TZInfoBase.test_tzinfo_classesrs����m�m��	.��	.��a��A�,��a��A�d�+��a��A�b�d�+�-�A�
���a�k�k�m�,����a�e�e�g�&����a�h�h�j�)�-�	1��	1�
��1�a���%���������	�%�(@�A��������)�D�"9�:��������W�-�	+��	+�
��1�a���%�����)�Q�[�[�1����)�Q�U�U�+����)�Q�X�X�.�	:��	:�
��1�a���%�����*�a�k�k�2����*�a�e�e�,�	B��	B�
��1�a���%���������	�r�(B�C��������)��"=�>r1c���URn"SS[5nU"SSSU"5S9nURSS9nURSS9nURS	S9nXEU4HknXEU4H`n[[[
[[[4H9n	U	"Xx5n
U	"URUR5nURX�5 M; Mb Mm U[La�URSU"5S
9nURSU"5S
9nURS	U"5S
9nXEU4HTnXEU4HInXx:�Xx:-
n
XtLdXuLaX�LdX�LaSnOXxs=LaULaO OSnO	XvLaSnOS
nURX�5 MK MV gg)Nc��\rSrSrSrSrg)�=TZInfoBase.test_aware_compare.<locals>.OperandDependentOffseti�c�Z�URS:a[URS9$[SS9$�Nr!rqr�rtrr\s  r.r��GTZInfoBase.test_aware_compare.<locals>.OperandDependentOffset.utcoffset��)���8�8�b�=�$�Q�X�X�6�6�%�R�0�0r1r#Nr�r#r1r.�OperandDependentOffsetr����
1r1r$r�rr!rrYr�r��rtrrr@r)rwrrHrrrrrr	rtr,r)r-r�r$r��d0r]r�r�r��oprr`s            r.�test_aware_compare�TZInfoBase.test_aware_compare�sx���m�m��	1�V�	1��1�a��$:�$<�=��
�\�\��\�
#��
�\�\��\�
#��
�\�\��\�
$�����A��R�Z���b�"�b�"�b�0�B��Q�(�C�!�!�(�(�A�H�H�5�H��$�$�S�3�1� ���d�?����Q�/E�/G��H�B����Q�/E�/G��H�B����R�0F�0H��I�B��R�Z�����A��5�Q�U�+�C���1�7���A�G�#$����2��#$����#%��$%���$�$�S�3�$� �	r1r#N)
rNrhrirjr�r�r�rr)rkr#r1r.r�r�2s��.�$#� 6�8.?�`-4r1r�c�~�\rSrSr\rSrSrSrSr	Sr
SrSrS	r
S
rSrSrS
rSrSrSrSrSrSrg)�
TestTimeTZi�c�:�UR5nURURS5 URURS5 URURS5 URUR
S5 UR
UR5 gr)rwr,r�rtrsr�r;rr\s  r.�
test_empty�TestTimeTZ.test_empty�so���M�M�O���������#�������1�%�������1�%��������*����!�(�(�#r1c�~
^^�[SSS5n[SSS5n[SSS	5n[S
SUS9n[S
SUS9n[SSUS9n[SS9m[SUS9mURURU5 URURU5 URURU5 UR	TR5 URTRU5 URUR5[
SS95 URUR5[
SS95 URUR5[
SS95 UR	TR55 UR[UR
S5 URUR5S5 URUR5S5 URUR5S5 UR	TR55 UR[URS5 URUR5[
SS95 URUR5[
SS95 URUR5[
S	S95 UR	TR55 UR[URS5 UR[U5[U55 UR[U5[U55 UR[U5[U55 URXE5 URXF5 URXV5 URTT5 UR[UU4Sj5 UR[UU4Sj5 UR[U5S5 UR[U5S5 UR[U5S5 UR[T5S5 UR[T5S5 URUR5S5 URUR5S5 URUR5S5 URTR5S5 URTR5S5 SnUR[U5US-5 UR[U5US-5 UR[U5US-5 UR[T5US-5 UR[T5US -5 URUR!S!5S"5 URUR!S#5S$5 URUR!S#5S%5 [S&S'5n[S(S)US9nURUR!S*5S+5 "S,S-[5n	[S.S	S/U	"5S9n
URU
R!S05S15 UR[U
R S25 S3U	lURU
R!S25S35 g)4Nr�r�rrrr[r��METrYr\r�rr�rk�(rBrOrqzno argsc�>�TT:$r3r#�rJ�t5s��r.r��'TestTimeTZ.test_zones.<locals>.<lambda>r�r1c�>�TT:$r3r#r4s��r.r�r6	r�r1z07:47:00-05:00z12:47:00+00:00z13:47:00+01:00z00:00:00.000040z00:00:00.000040+00:00z
datetime.timez(7, 47, tzinfo=est)z(12, 47, tzinfo=utc)z(13, 47, tzinfo=met)z
(0, 0, 0, 40)z(0, 0, 0, 40, tzinfo=utc)z%H:%M:%S %%Z=%Z %%z=%z %%:z=%:zz#07:47:00 %Z=EST %z=-0500 %:z=-05:00z%H:%M:%S %Z %z %:zz12:47:00 UTC +0000 +00:00z13:47:00 MET +0100 +01:00r�z%z %Z %%z%%Zrrz%H:%M %%Z='%Z' %%z='%z'z"23:59 %Z='%z %Z %%z%%Z' %z='-2359'c��\rSrSrSrSrSrg)�(TestTimeTZ.test_zones.<locals>.Badtznamei)r�c��UR$r3r�r�s  r.r��/TestTimeTZ.test_zones.<locals>.Badtzname.tzname+s
�����.r1r#N)rNrhrirjr�r�rkr#r1r.�	Badtznamer9)s
���B�0r1r<r]r_z%H:%M:%Sz02:03:04r�rB)rmrr,rr;r�rr�r�r�r�r�r#r	r[rrqr�)
r-�estr5�metr�r�rIr��yuckr<r�rJr5s
           @@r.�
test_zones�TestTimeTZ.test_zones�s2����$��q�)���!�U�B�'���"�e�Q�'��
�1�b��
%��
�"�b��
%��
�"�b��
%��
�b�
!��
�b��
-��������C�(�������C�(�������C�(����"�)�)�$�������C�(���������4�)@�A���������1�)=�>���������2�)>�?����"�,�,�.�)����)�R�\�\�9�=��������e�,��������e�,��������e�,����"�)�)�+�&����)�R�Y�Y�	�:��������9�Q�#7�8��������9�R�#8�9��������9�Q�#7�8����"�&�&�(�#����)�R�V�V�Y�7�����b��4��8�,�����b��4��8�,�����b��4��8�,����� ����� ����� ����B��#����)�_�5����)�_�5�����R��"2�3�����R��"2�3�����R��"2�3�����R��"3�4�����R��"9�:��������)9�:��������)9�:��������)9�:��������):�;��������)@�A�������b��1�'<�#<�=�����b��1�'=�#=�>�����b��1�'=�#=�>�����b��1��#6�7�����b��1�'B�#B�C�������%F�G�%J�	L�������%9�:�<W�X�������%9�:�<W�X��5�.�1��
�"�b��
&��������%>�?�%I�	K�	1��	1�
��A�q���-��������J�/��<����)�Q�Z�Z��6� �	��������D�)�8�4r1c
�|�URSSSS[SS5S9nURSSSS[SS5S9nUR[U5[U55 URS	S
SS[S
S5S9nURS	SSS[SS5S9nUR[U5[U55 g)Nrrr]rYr�r4ri�rrrar�i���ri���)rwrmr,r�r�s   r.�test_hash_edge_cases�TestTimeTZ.test_hash_edge_cases4s���
�]�]�1�a��A�k�$��.C�]�
D��
�]�]�1�a��A�k�$��.C�]�
D������b��4��8�,�
�]�]�2�r�1�c�+�e�R�2H�]�
I��
�]�]�2�r�1�c�+�e�R�2H�]�
I������b��4��8�,r1c��SnUR"U6n[H9up4nURX%5nURU5nUR	X'5 M; UR	UR5UR
S55 [SS5nURSSSUS9n[H�up4nURX%5nURU5nUR	X'5 URUR[5 UR	UR5[SS	95 UR	UR5S5 M� UR	UR5UR
S55 g)
Nr�r]r�r�rZrar\rrq)
rwr�r�r�r,r�r�r�r�rr�rr��	r-r�r�r�r�r�r�r��tinfos	         r.r��TestTimeTZ.test_pickling>s=�� ���}�}�d�#��)7�%�G���M�M�$�.�E��o�o�e�,�G����T�+�*8�	
������*�D�,>�,>�q�,A�B�%�T�8�4���}�}�Q��1�U�}�3��)7�%�G���M�M�$�.�E��o�o�e�,�G����T�+��!�!�'�.�.�2F�G����W�.�.�0�)�D�2I�J����W�^�^�-�x�8�
*8�	
������*�D�,>�,>�q�,A�Br1c	��/SQn[SS5nURSSSSUS9nUH�n[H�nU"US	S
9nURXc[	U55 URUR[5 URUR5[SS95 URUR5S5 M� M� g)N)s�cdatetime
time
(S'\x05\x06\x07\x01\xe2@'
ctest.datetimetester
PicklableFixedOffset
(tR(dS'_FixedOffset__offset'
cdatetime
timedelta
(I-1
I68400
I0
tRsS'_FixedOffset__dstoffset'
NsS'_FixedOffset__name'
S'cookie'
sbtR.s�cdatetime
time
(U�@ctest.datetimetester
PicklableFixedOffset
)R}(U_FixedOffset__offsetcdatetime
timedelta
(J����J0KtRU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubtR.s��cdatetime
time
U�@ctest.datetimetester
PicklableFixedOffset
)R}(U_FixedOffset__offsetcdatetime
timedelta
J����J0K�RU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieub�R.r�r�rZrar\r�rr�r�rq)
r�rwr�r,rr�rr�rr�)r-r^rGr`r�r�r�s       r.r��TestTimeTZ.test_compat_unpickleTs���
��.%�T�8�4���=�=��A�q�&��=�?���D�%����x�8��� � ��D��J�?��%�%�g�n�n�6J�K�� � ��!2�!2�!4�i��6M�N�� � ����!1�8�<�&�r1c�.�URnU"S[SS5S9nURU5 U"S[SS5S9nURU5 U"S[SS5S9nURU5 U"SS[S	S5S9nURU5 g)
Nrr�r4rrZi,rrr�)rwrmr�)r-r�r�s   r.�test_more_bool�TestTimeTZ.test_more_boolvs����m�m����+�d�B�/�0���������+�d�B�/�0���������+�c�2�.�/���������B�{�:�r�:�;������r1c	��URn[SS5n[[SS9S5nSSSS	U/nU"U6nURUR	5U5 UR[
R"U5U5 S
SSS
SU44n[
U5Haunup�USSn
X�U'U"U
6nURUR"S0X�0D6U5 UR[
R"U40X�0D6U5 Mc URUR5S5 UR	SS9nURUR5 URUR55 [
R"USS9n
URU
R5 URU
R55 UR	US9nURX^5 URURUR5 [
R"X�S9nURX_5 URURUR5 U"S5nUR[URSS9 UR[URSS9 UR[URSS9 UR[URSS9 UR[[
RUSS9 UR[[
RUSS9 UR[[
RUSS9 UR[[
RUSS9 g)Nr��+100�8���rq�-200rr]rYr_r�r�r�r�rrrhr�r@r�rtr�rBr#�
rwrmrr,rHrYr�r�r;rr4r�r$�r-r��z100�zm200r�r�r�r�rHr�r�r`�base2�base22�base3�base32s                r.r��TestTimeTZ.test_replace�s����m�m���3��'���I�d�3�V�<���1�a��D�!���D�z����������.�������d�+�T�2�� � �%��e�$�	&��
"+�7�!3��A�~���1�g�G��A�J��G�}�H����T�\�\�;�T�N�;�X�F����T�\�\�$�A�4�.�A�8�L�"4�	
��������/����D��)�����%�,�,�'����%�,�,�.�)����d�4�0�����&�-�-�(����&�-�-�/�*��
�
�T�
�*������%��
�
�d�k�k�5�<�<�0����f�2������&��
�
�d�k�k�6�=�=�1��1�v�����*�d�l�l���<����*�d�l�l�2��>����*�d�l�l�3��?����*�d�l�l���H����*�d�l�l�D�r��B����*�d�l�l�D���D����*�d�l�l�D���E����*�d�l�l�D�g��Nr1c���URSSS5nURSSS5nURX5 URSS9nURX5 UR[SS5S9nURX5 UR[SS5S9nUR	X5 "SS[
5nU"5nURUS9nURUS9nURUR
5[S	S
95 URUR
5[SS
95 URX5 URU"5S9nURX:5 g)Nrr]rYrr4rc� �\rSrSrSrSrSrg)�-TestTimeTZ.test_mixed_compare.<locals>.Variesi�c� �[SS9Ulg�Nr6rqr�r6s r.r{�6TestTimeTZ.test_mixed_compare.<locals>.Varies.__init__����'��3��r1c�R�U=R[SS9-
slUR$�Nrrq�ryrr\s  r.r��7TestTimeTZ.test_mixed_compare.<locals>.Varies.utcoffset�������y��3�3���{�{�"r1r�Nr�r#r1r.�Variesr]����
4�
#r1rgrrqrh)	rwr,rHrmr#rr�rr��r-r�r�rg�vs     r.r��TestTimeTZ.test_mixed_compare�s7��
�]�]�1�a��
#��
�]�]�1�a��
#������ �
�Z�Z�t�Z�
$������ �
�Z�Z�{�4��4�Z�
5������ �
�Z�Z�{�1�b�1�Z�
2�����B�#�	#�V�	#�
�H��
�Z�Z�q�Z�
!��
�Z�Z�q�Z�
!����������2�)>�?���������2�)>�?����� ��Z�Z�v�x�Z�
(������� r1c
���SS/nSnSnSnSnU[[R"X#XE55-
nS[R[[SS95[[S	S
S95/nUHrnUHinUR"USU06n	U	R5n
URU
S
9 URRU
5nURX�5 SSS5 Mk Mt g!,(df   M�=f)Nr�)rrrrc)rr�rv)rZrh)r_r�)ri�r r]r�rar�rrr)r��	itertools�productrr5rrwr[rkr$r,)r-�
time_examples�hh�mm�ss�usecr��ttupr�r�r�t_rts            r.rK�TestTimeTZ.test_fromisoformat�s���� �
�
�
��
��
��"����i�/�/���A�B�B�
������I�A�.�/��I�A�r�:�;�=��"�D����M�M�4�4��4���{�{�}���\�\�t�\�,��=�=�6�6�t�<�D��$�$�Q�-�-�,�	�"�
-�,�s� -C�
C-c�,�URSSSS5n[SS9[SS9[SS	S
9[SSSS9[SS
SSS9/nX"Vs/sHnSU-PM
 sn-
nS[R[[SS95/nXBVs/sHn[U5PM sn-
nUHUnUR	US9nUR5nUR
US9 URRU5nSSS5 MW gs snfs snf!,(df   Ms=f)Nr�rhr�rrZr�r]rar�rr�rbr_rr�rdr@rrrr)	r-�	base_timer�r�r�r�r�rrus	         r.r	�&TestTimeTZ.test_fromisoformat_timezone�s���M�M�"�b�"�f�5�	�
�A��	�� 2��A�r�*��B��B�7��A�q�!�&�I�	
�	�	�	�2�	�"�b�2�g�	�2�2�	������I�A�.�/�1��	�9�5�9�R�H�R�L�9�5�5���C��!�!��!�-�A��;�;�=�D����4��(��}�}�2�2�4�8��)�(�	��3��
6�)�(�s�	C:�C?�D�
D	c��SS/nS[R[[SS95[[SS95[[SSS95/n/S	Qn[U5H�upEUH�nUH�nUS
:XaSUSS--nUS
SU4-nUR"US
SU-SU06n	U	RUS9n
UR
U
S9 URRU
5nURX�5 SSS5 M� M� M� g!,(df   M�=f)N)r�r�r�r�)r�r�r�rr?r�r]rar�rrr�r�r@rrrr�rr)r-�
time_basesr�rrrr��t_tuplerr�rrus            r.r�'TestTimeTZ.test_fromisoformat_timespecss����
�
�
�����I�B�/�0��I�A�.�/��I�A�r�:�;�=��
5�	� �	�*�F�B���)�G��^�+�+/�7�2�;�$�3F�+G�(�")�!�B�-�3C�2E�"E���
�
���1�r�6�(;�I�S�I�A��;�;��;�3�D����4��0�#�}�}�:�:�4�@���(�(��1�1�0� *��+�1�0�rc��/SQnUH@up#UR"U6nURRU5nURXT5 MB g)N))z
12:30:45.1)r�rhr�rl)z12:30:45.12)r�rhr�i��)z12:30:45.123)r�rhr�ix�)z
12:30:45.1234)r�rhr�i�)z12:30:45.12345)r�rhr�i:�)z12:30:45.123456�r�rhr�r�)z12:30:45.1234567r)z12:30:45.12345678r)rwr$r,)r-�strs�time_str�
time_compsr`rfs      r.�test_fromisoformat_fractions�'TestTimeTZ.test_fromisoformat_fractions#sH��	
��%)� �H��}�}�j�1�H��]�]�0�0��:�F����V�.�	%)r1c���/SURSS54PSURSS54PSURSS54PSURSS54PSURSS54PSURSS54PSURSS54PS	URSS54PS
URSS54PSURSS54PSURS
S54PSURS
S54PSURS
S54PSURS
S54PSURS
S54PSURS
S54PSURS
S54PSURS
S54PSURS
S54PSURS
S54PSURSS54PSURSS54PSURSSS54PSURSSS54PSURSSSS54PSURSSSS54PS URSSSS!54PS"URSSSS!54PS#URSSSS$54PS%URSSSS$54PS&URSS[RS'94PS(URS
S[RS'94PS)URS
S[RS'94PS*URSS[[S+S,95S'94PS-URSS[[S+S.S/95S'94PS0URS
S[[S1S,95S'94PS2URS
S[[S1S,95S'94PS3URSS[[SSSS$S49*5S'94PnUHIup#UR	US59 URRU5nUR
XC5 SSS5 MK g!,(df   M]=f)6N�0000rz00:00�000000rkz000000.0z
00:00:00.0z
000000.000z00:00:00.000z
000000.000000z00:00:00.000000�1200r�z12:00�120000z12:00:00z120000.0z
12:00:00.0z
120000.000z12:00:00.000z
120000.000000z12:00:00.000000�2359rrz23:59�235959z23:59:59z235959.9i��
z
23:59:59.9z
235959.999r�z23:59:59.999z
235959.999999rcz23:59:59.999999z	00:00:00Zrz
12:00:00+0000z12:00:00+00:00z00:00:00+05rZr�z00:00:00+05:30rhrz12:00:00-05:00r?z
12:00:00-0500z00:00:00,000-23:59:59.999999rdrb)rwrr5rrkr$r,rds     r.� test_fromisoformat_time_examples�+TestTimeTZ.test_fromisoformat_time_examples5s���,
�
�T�]�]�1�a�(�)�,
�
�d�m�m�A�q�)�*�,
��t�}�}�Q��*�+�,
�����q�!�,�-�	,
�
����q�!�,�-�,
��4�=�=��A�.�/�
,
��4�=�=��A�.�/�,
��T�]�]�1�a�0�1�,
��d�m�m�A�q�1�2�,
���
�
�a�� 3�4�,
��T�]�]�2�q�)�*�,
��d�m�m�B��*�+�,
��t�}�}�R��+�,�,
�����r�1�-�.�,
�����r�1�-�.�,
� �4�=�=��Q�/�0�!,
�"�4�=�=��Q�/�0�#,
�$�T�]�]�2�q�1�2�%,
�&�d�m�m�B��2�3�',
�(��
�
�b�!� 4�5�),
�*�T�]�]�2�r�*�+�+,
�,�d�m�m�B��+�,�-,
�.�t�}�}�R��R�0�1�/,
�0����r�2�r�2�3�1,
�2����r�2�r�6�:�;�3,
�4�4�=�=��R��V�<�=�5,
�6�4�=�=��R��V�<�=�7,
�8�T�]�]�2�r�2�v�>�?�9,
�:�d�m�m�B��B��?�@�;,
�<��
�
�b�"�b�&� A�B�=,
�>�$�-�-��1�X�\�\�-�B�C�?,
�@�d�m�m�B��(�,�,�m�G�H�A,
�B�t�}�}�R��8�<�<�}�H�I�C,
�D�
�]�]�1�a����1C�(D�]�
E�
G�E,
�H�
�]�]�1�a����B�1O�(P�]�
Q�
S�I,
�L�
�]�]�2�q��)�"�2E�)F�]�
G�
I�M,
�P�
�]�]�2�q��)�"�2E�)F�]�
G�
I�Q,
�T,�
�]�]�1�a��)�"�b�Z\�kq�2r�1r�(s�]�
t�
v�U,
��\$,��I����	��2����4�4�Y�?��� � ��2�3�2�$,�2�2�s�-O�
O	c��/SQnUHTnURUS9 UR[5 URR	U5 SSS5 SSS5 MV g!,(df   N=f!,(df   My=f)N)r4u12�00z12:z12:30:z	12:30:15.�1z12:3z12:30:1z1a:30:45.334034z12:a0:45.334034z12:30:a5.334034z12:30:45.123456+24:30z12:30:45.123456-24:30u12:30:45�12:30:45.123456az12:30:45.123456789au12:30:45․123456z	12:30:45az
12:30:45.123ar�z12:30:45.123456-z12:30:45.123456+z12:30:45.123456+12:00:30az12:30:45.400 +02:30z
12:30:45.400 z
12:30:45. 400r3r4rps   r.rs�#TestTimeTZ.test_fromisoformat_failsis`��
��: �G����g��.��&�&�z�2��M�M�/�/��8�3�/�.� �2�2��/�.�r7c���SS[R"S5/nUH<nUR[5 URRU5 SSS5 M> g!,(df   MP=f)Ns12:30:45z12:30:45rvrys   r.r|�-TestTimeTZ.test_fromisoformat_fails_typeerror�sP�� �$����J�(?�@�	�!�H��"�"�9�-��
�
�+�+�H�5�.�-�"�-�-�r~c���"SSUR5nU"SSSS[RS9nURUR	55nURX#5 UR
X15 g)Nc��\rSrSrSrg)�<TestTimeTZ.test_fromisoformat_subclass.<locals>.TimeSubclassi�r#Nr/r#r1r.r�r��rQr1r�r�r�r�i�r)rwrr5r$r[r,r�)r-r��tsc�tsc_rts    r.rl�&TestTimeTZ.test_fromisoformat_subclass�s\��	�4�=�=�	��2�r�2�v�h�l�l�C���+�+�C�M�M�O�<������%����f�3r1c	�^�"U4SjSTR5nSSSS[SSS	54nTR"U6nU"U0S
S0D6nTRURU5 TRURS5 TRUR
S5 TRUR
5UR
55 TRURS
5URUR-S-
5 g)Nc�,>�\rSrSrSrU4SjrSrSrg)�*TestTimeTZ.test_subclass_timetz.<locals>.Ci�r�c�>�UR5nURS5nTRR"U/UQ70UD6nXElU$r
rr
s      �r.r��2TestTimeTZ.test_subclass_timetz.<locals>.C.__new__�rr1c�8�XR-UR-$r3r�rs  r.r�2TestTimeTZ.test_subclass_timetz.<locals>.C.newmeth�r�r1r#Nrr6s�r.rr��r�r1rr_rZra��r�r�rr!r\r�r^)
rwrmr,rMrr!r�rr�rsrs`    r.�test_subclass_timetz�TestTimeTZ.test_subclass_timetz�s����	7��
�
�	7��!�Q��[��u�a�8�8���m�m�T�"����&�'�1��&���������*��������+�������A�&��������#�-�-�/�:�������R��#�(�(�S�Z�Z�*?�!�*C�Dr1r#N)rNrhrirjrrwr.r@rCr�r�rLr�r�rKr	rr�r�rsr|rlr�rkr#r1r.r,r,�se���H�$�T5�l-�C�, =�D� /O�b!�<.�4'�22�6/�$23�h!9�F6�4�Er1r,c�&�\rSrSr\rSrSrSrSr	Sr
SrSrS	r
S
rSrSrS
rSrSrSrSrSrSr\R2"S5S5r\R2"S5S5r\R2"S5S5rSrSrSrSr g)�TestDateTimeTZi�c	���URSSSSSSS5nURURS5 URURS5 URURS5 URUR
S5 URURS5 URURS5 URURS5 URURS5 g)Nrr]rYr_rZrar\)
rwr,r�r�r%r�rtrsr�rr�s  r.�test_trivial�TestDateTimeTZ.test_trivial�s���
�]�]�1�a��A�q�!�Q�
/��������!�$�������1�%��������#�������!�$�������A�&�������A�&��������+�������D�)r1c
��^^�URSSS[SS5S9mUR[SSSSSS	[S
S5S9mURTT:5 URTT:g5 URTT:�5 UR	TT5 UR	TT5 URSSSSS[SS5S9mURSSSSS
[SS5S9mUR	TT5 URSSSSS[SS5S9mURTT:�5 URSSSSS[SS5S9mURTT:5 URSSSSS[SS5SS9mURTT:�5 URSSSSS[SS5SS9mURTT:�5 URR
mUR
TT5 UR	TT5 UR[5 TT:� SSS5 "SS[5nURSSSU"5S9mUR
TT5 UR	TT5 URSSS5mUR	TT5 "SS[5nURSSSU"5S9mURSSS[SS5S9mUR[UU4Sj5 g!,(df   N�=f)Nrr�r4rr�r�rrrcr�r]rYrk��r)rrsr8c��\rSrSrSrSrg)�4TestDateTimeTZ.test_even_more_compare.<locals>.Naivei�c��gr3r#r�s  r.r��>TestDateTimeTZ.test_even_more_compare.<locals>.Naive.utcoffset�r�r1r#Nr�r#r1r.�Naiver��s��0r1r�rZrar\c��\rSrSrSrSrg)�4TestDateTimeTZ.test_even_more_compare.<locals>.Bogusic��[SS9$)Nr�rqrr�s  r.r��>TestDateTimeTZ.test_even_more_compare.<locals>.Bogus.utcoffsets
�� ��.�.r1r#Nr�r#r1r.r�r�s��
/r1r�c�>�TT:H$r3r#)r�r�s��r.r��7TestDateTimeTZ.test_even_more_compare.<locals>.<lambda>s	���b�B�hr1)rwrmrr�r,rr#r�r�rr$)r-r�r�r�r�s   @@r.�test_even_more_compare�%TestDateTimeTZ.test_even_more_compare�s����
�]�]�1�a��;�t�R�+@�]�
A��
�]�]�7�B��B��B��"-�e�R�"8��:��	
����R�� �����b��!�����R�� �����R� �����R� ��]�]�1�b�"�b�"�[��B�5G�]�
H��
�]�]�1�a��A�r�+�i��2L�]�
M������R� ��]�]�1�b�"�b�"�[��B�5G�]�
H������R�� ��]�]�1�b�"�b�"�[��B�5G�]�
H������R�� ��]�]�1�b�"�b�"�[��B�5G�"#��%������R�� ��]�]�1�b�"�b�"�[��B�5G�'(��*������R�� ��]�]�
�
�����B��#�����R� �
�
�
�y�
)���G�*�	1�F�	1�
�]�]�1�a��5�7�]�
3�����B��#�����R� ��]�]�1�a��
#������R� �	/�F�	/��]�]�1�a��5�7�]�
3��
�]�]�1�a��;�q�"�+=�]�
>�����*�&6�7�+*�
)�s�
K%�%
K3c
�6�SnUR"U6n[H9up4nURX%5nURU5nUR	X'5 M; UR	UR5UR
S55 [SS5nUR"U0SU0D6nURSSS[SSS5S	9n[H�up4nURX%5nURU5nUR	X'5 URUR[5 UR	UR5[SS
95 UR	UR5S5 M� UR	UR5UR
S55 g)Nrr]r�r�rrrr4rrq)rwr�r�r�r,r�r�r�rmr�rr�rr�rFs	         r.r��TestDateTimeTZ.test_picklings^��)���}�}�d�#��)7�%�G���M�M�$�.�E��o�o�e�,�G����T�+�*8�	
������*�D�,>�,>�q�,A�B�%�T�8�4���}�}�d�8�x��&7�8���-�-��1�a��A�r�1�0E�-�F��)7�%�G���M�M�$�.�E��o�o�e�,�G����T�+��!�!�'�.�.�2F�G����W�.�.�0�)�D�2I�J����W�^�^�-�x�8�
*8�	
������*�D�,>�,>�q�,A�Br1c	�z�/SQnSn[SS5nUR"U0SU0D6nUH�n[H�nU"USS9nURXt5 UR	UR
[5 URUR
5[SS95 URUR5S5 M� M� g)	N)s�cdatetime
datetime
(S'\x07\xdf\x0b\x1b\x14;\x01\x01\xe2@'
ctest.datetimetester
PicklableFixedOffset
(tR(dS'_FixedOffset__offset'
cdatetime
timedelta
(I-1
I68400
I0
tRsS'_FixedOffset__dstoffset'
NsS'_FixedOffset__name'
S'cookie'
sbtR.s�cdatetime
datetime
(U
�;�@ctest.datetimetester
PicklableFixedOffset
)R}(U_FixedOffset__offsetcdatetime
timedelta
(J����J0KtRU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubtR.s��cdatetime
datetime
U
�;�@ctest.datetimetester
PicklableFixedOffset
)R}(U_FixedOffset__offsetcdatetime
timedelta
J����J0K�RU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieub�R.)r�r�r�rvrrr�r�r�rr�r�rq)	r�rwr�r,r�rr�rr�)r-r^r�rGr`r�r�r�s        r.r��#TestDateTimeTZ.test_compat_unpickle%s���
��2/��$�T�8�4���=�=�$�<�8�U�*;�<���D�%����x�8��� � ��3��%�%�g�n�n�6J�K�� � ��!2�!2�!4�i��6M�N�� � ����!1�8�<�&�r1c
��URSSS[SS5S9n[U5 UR[SSSSSS	[S
S5S9n[U5 URSSS[SS5S9nUR	[
[U5 g)
Nrr�r4rr�r�rrrcr�rZr�)rwrmr�rr�r$r\s  r.�test_extreme_hashes�"TestDateTimeTZ.test_extreme_hashesJs���
�M�M�!�Q��+�d�B�*?�M�@���Q���M�M�'�2�r�2�r�2�v�!,�U�B�!7�
�
9���Q��
�M�M�!�Q��+�e�R�*@�M�A�����*�d�A�.r1c	��[SS5n[SS5n[SS5n[SSS	S
SUS9n[SSS	S
SUS9n[SSS	SSUS9nURURU5 URURU5 URURU5 URUR	5[SS95 URUR	5[SS95 URUR	5[SS95 URUR
5S5 URUR
5S5 URUR
5S5 UR[U5[U55 UR[U5[U55 UR[U5[U55 URXE5 URXF5 URXV5 UR[U5S5 UR[U5S5 UR[U5S5 SnUR[U5US-5 UR[U5US-5 UR[U5US-5 g)Nr�r�rrr�r1r�rYrqr\r�rr�rkrqz2002-03-19 07:47:00-05:00z2002-03-19 12:47:00+00:00z2002-03-19 13:47:00+01:00zdatetime.datetime(2002, 3, 19, z7, 47, tzinfo=est)z12, 47, tzinfo=utc)z13, 47, tzinfo=met))
rmrr,rr�rr�r�r	r)r-r=r5r>r�r�rIr�s        r.r@�TestDateTimeTZ.test_zonesXs5���$��&���!�U�#���"�e�$��
�d�A�r�A�r�#�
6��
�d�A�r�2�r�#�
6��
�d�A�r�2�r�#�
6��������C�(�������C�(�������C�(���������4�)@�A���������1�)=�>���������2�)>�?��������e�,��������e�,��������e�,�����b��4��8�,�����b��4��8�,�����b��4��8�,����� ����� ����� �����R��"=�>�����R��"=�>�����R��"=�>�-������b��1�';�#;�<�����b��1�'<�#<�=�����b��1�'<�#<�=r1c��[SS5n[SSS5n[SSSSUS	9n[R"X#5nURU[SSSSSSSUS	95 g�
Nr�r1r�rYr_r�r�r�r)rmrrrr(r,)r-r>r�r�r�s     r.r��TestDateTimeTZ.test_combinevsf���"�e�$����q�!���
�"�b�!�T�#�
.��
�
�
�a�
$������X�d�A�q�"�b�!�T�/2�4�	5r1c�L�[SS5nURSSSSSSSUS	9nURUR5[SSS55 URUR	5[	SSSS55 URUR5[	SSSSUS	95 gr�)rmrwr,rrr�)r-r>r�s   r.r��TestDateTimeTZ.test_extract~s����"�e�$��
�]�]�4��A�r�2�q�$�s�]�
C���������D��q�!�$4�5��������D��R��D�$9�:��������d�2�r�1�d�3�&G�Hr1c
�~^
^^^�URR5m[SS5nTR5R	US9nURRTR
5U5mURTRU5 URTR5U5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4Sj5 UR[U4Sj5 URTT-
[S	55 URTT-
[S	55 [S
SSS
9m
TT
-mURTRU5 T
T-nURURU5 URTU5 TT
-
nURURU5 URTU5 UR[U
U4Sj5 URTT-
T
5 [[R"SS5S5nTR	US9mURTRU5 TT-
nTR!5TR!5-
T
-
nURXg5 URS
S
S
[SS5S9nUR["SSSSSS[SS5S9n	X�-
n
URX�RR$URR&-
[SS9-5 [)[*S5n[)[*S5nUR	US9U	R	US9-
m
URT
URR&URR$-
5 g)Ni����z	west 5:30rc�>�TT-
$r3r#�r��nowawares��r.r��9TestDateTimeTZ.test_tz_aware_arithmetic.<locals>.<lambda>��	���S�8�^r1c�>�TT-
$r3r#r�s��r.r�r���	���X��^r1c�>�TT-$r3r#r�s��r.r�r��r�r1c�>�TT-$r3r#r�s��r.r�r��r�r1c�>�TT-$r3r#)r�s�r.r�r��s
���X��-@r1rrr�i.)r�rrrc�>�TT-
$r3r#)rg�nowawarepluss��r.r�r��s
���U�\�-Ar1r�r��randomtimezoner�rr�rrrcr�i>rqr�r�)rwr�rmrrHr(rr4rr,r�r�r�rr��	randranger�rr�rrr5)r-�tz55�	timeaware�
nowawareplus2r�tzrrr`rr��maxdiff�tza�tzbrgr�r�r�s             @@@@r.�test_tz_aware_arithmetic�'TestDateTimeTZ.test_tz_aware_arithmetic�s!����m�m���!���4��-���H�H�J�&�&�d�&�3�	��=�=�(�(�����Y�?���
�
�h�o�o�t�,�������*�I�6�	
���)�%;�<����)�%;�<�	
���)�%;�<����)�%;�<����)�%@�A�	
����s��I�a�L�1�����H�,�i��l�;���2�D�A���%�'���
�
�h�o�o�t�,���(�
��
�
�m�*�*�D�1�����}�5��e�#���
�
�d�k�k�4�(�����4�(����)�%A�B������0�%�8��&�*�*�5�$�7�9I�J��#�+�+�3�+�7���
�
�l�)�)�3�/���%�� �)�)�+�h�.@�.@�.B�B�U�J������'��m�m�A�q�!�K��e�,D�m�E���m�m�G�R��R��R��#.�u�e�#<��>���)������-�-�"3�"3�d�m�m�6G�6G�"G�"+�F�";�#<�	=��t�S�!���t�S�!�����3��'�#�+�+�S�+�*A�A�������
�
� 1� 1�D�M�M�4E�4E� E�Fr1c���URRnU"5n[SS5nU"U5nU"US9nURURUR5 URUR
5[SS95 UR[US5 UR[USS9 UR[XS9 UR[XU5 [SS	S5n[[S
SS9S
S5[[S
SS9S
54H�n[S5H�n[R"U5n	URU	RU5 UR[5 [R"5R!US9n
SSS5 W
R#U5n[%X�-
5[SS9:dM� M� UR'S5 M� g!,(df   NT=f)Nr��42r�rqr�r�rGrr5r�rr�weirdtzrYrhrz0utcnow(), now(tz), or astimezone() may be broken)rwr�rmr4rr,r�rr�r�rr�rr"r#rarHr�r��fail)r-�methr��off42�another�againr5r�r6r�ra�now2s            r.�test_tzinfo_now�TestDateTimeTZ.test_tzinfo_now�s����}�}� � ���v���B��%���u�+�������
�
�g�n�n�e�l�l�3�����*�*�,�i��.C�D����)�T�2�.����)�T�"��5����)�T��7����)�T�%�8�
�!�U�A�&��#�I�B��$C�Y�PQ�R� ���R�!@�)�L�O�G��q����l�l�7�+���
�
�c�j�j�'�2��%�%�&8�9�%�_�_�.�6�6�c�6�B�F�:��(�(��1���s�z�?�Y�r�%:�:��"��	�	�L�M�O�
:�9�s�*#G�
G)c�B�SSKnURRnUR"5nU"U5n[SS5nU"X55nU"X5S9nUR	UR
UR
5 UR
UR5[SS95 UR[X#S5 UR[X#SS9 UR[X#US9 UR[X#XU5 UR[U5 S	nUR[5 [R"U5n	SSS5 [S
SS9n
[U
S
S5nW	U
-n[R"X�5n
UR
X�RSS95 g!,(df   N_=f)Nrr�r�r�rqr�rr�r i��'rr�)rrwrrmr4rr,r�rr�r�r"r#rr$rH)r-rr�rr�r�r�r�r)�utcdatetimer�r�r`rs              r.�test_tzinfo_fromtimestamp�(TestDateTimeTZ.test_tzinfo_fromtimestamp�s\����}�}�*�*��
�Y�Y�[���B�x���B��%���r�/���R�"���
�
�g�n�n�e�l�l�3�����*�*�,�i��.C�D����)�T�r�2����)�T�b��9����)�T�U��;����)�T�u�<����)�T�*��	�
�
�
�0�
1�"�3�3�I�>�K�2��C��4�	�
��D�!�
,����*���$�$�Y�3������;�;�d�;�#;�<�2�
1�s� F�
Fc��URRnUR[5 U"5nSSS5 [	SS5nUR[X5 UR[XS9 g!,(df   NE=f)Nr�r�r)rwrar"r#rmr�r�)r-r�r�r�s    r.�test_tzinfo_utcnow�!TestDateTimeTZ.test_tzinfo_utcnowsf���}�}�#�#��
�
�
�0�
1��6�D�2��B��%�����)�T�1����)�T��8�
2�
1�s�A3�3
Bc���SSKnURRnUR"5nUR[5 U"U5nSSS5 [SS5n[R"[S9 [R"S[S9 UR[X#U5 UR[X#US9 SSS5 g!,(df   N�=f!,(df   g=f)Nrr�r�r��ignorer)rrwr$r"r#rm�warnings�catch_warnings�simplefilterr�r�)r-rr�rr�r�s      r.�test_tzinfo_utcfromtimestamp�+TestDateTimeTZ.test_tzinfo_utcfromtimestamps�����}�}�-�-��
�Y�Y�[��
�
�
�0�
1���8�D�2��B��%��
�
$�
$�.@�
A��!�!�(�5G�H����i��5�9����i��%��@�B�
A�2�
1��
B�
A�s�	C�6AC�
C�
C$c
�z�"SS[5nURnSGH$up4U"SSSSSSSU"U5S	9nUR5nURSUR5 URSUR
5 URSUR5 URSUR5 URSUR5 URSUR5 URS
UR5 URSUR5 URXFR5 GM' UR[U"SSSU"S5S	9R5 URU"SSSU"S5S	9R5RS5 URU"SSSU"S
5S	9R5RS5 UR[U"SSSU"S5S	9R5 UR[U"SSSU"S5S	9R5 g)Nc� �\rSrSrSrSrSrg)�1TestDateTimeTZ.test_tzinfo_timetuple.<locals>.DSTi-c�L�[U[5(a	[US9nXlgrp�rsrtr�dstvalue�r-r�s  r.r{�:TestDateTimeTZ.test_tzinfo_timetuple.<locals>.DST.__init__.����h��,�,�(��:�H� (�
r1c��UR$r3�r�r�s  r.r��5TestDateTimeTZ.test_tzinfo_timetuple.<locals>.DST.dst2����}�}�$r1rN�rNrhrirjr{r�rkr#r1r.�DSTr�-s��
)�
%r1r))����r)r�r)rr)Nr@rr!rvrhr2rrr�r�r�r�r�)rrwrxr,r�r�r�r�r�r�r�r�r�r�r�r$)r-rr�r��flagr�r�s       r.�test_tzinfo_timetuple�$TestDateTimeTZ.test_tzinfo_timetuple*s���	%�&�	%��m�m��C�N�H��A�q�!�R��R��C��M�B�A����
�A����Q��	�	�*����Q����)����Q��	�	�*����R����+����R����*����R����*����Q��	�	�*����Q��	�	�*����T�:�:�.�D�	
���)�S��A�q��S��%B�%L�%L�M�	
����Q�q��3�t�9�5�?�?�A�J�J�A�N�����Q�q��3�u�:�6�@�@�B�K�K�Q�O�	
���*�c�!�A�a��D�	�&B�&L�&L�M����*�c�!�A�a��E�
�&C�&M�&M�Nr1c�"	^�"SS[5mURnUR[U"SSST"S5S9R5 "U4SjST5nSGH�nU"SS	S
SSS
SU"SU5S9nUR5nUR
URUR5 UR
URUR5 UR
URUR5 UR
SUR5 UR
SUR5 UR
URUR 5 UR
UR#5UR$5 UR
UR'5[)SSS5R'5-
S-UR*5 UR
SUR,5 GM� U"SS	S
SSS
S5nUR5nUR
USSUR/5SS5 UR
SUR,5 "SST5nU"SS	S
SSS
SU"5S9nUR5nUR
USSUR/5SS5 UR
SUR,5 "SST5nU"SS	S
SSS
SU"5S9nUR[0UR
5 U"SSSSSSS5n[2R4[2R6[2R84HcnUR;US9n	UR
U	R5SSU	R=[2R65R/5SS5 Me U"[>SSSSSU"S5S9n
UR[@U
R
5 U"[BSSS S!SS"U"S#5S9nUR[@UR
5 UR4R;[3[D5S9n
UR[@U
R
5 UR8R;[3[D*5S9nUR[@UR
5 g)$Nc�$�\rSrSrSSjrSrSrg)�-TestDateTimeTZ.test_utctimetuple.<locals>.DSTiOc�L�[U[5(a	[US9nXlgrpr�r�s  r.r{�6TestDateTimeTZ.test_utctimetuple.<locals>.DST.__init__Prr1c��UR$r3rr�s  r.r��1TestDateTimeTZ.test_utctimetuple.<locals>.DST.dstTrr1rN)rrr#r1r.rrOs��
)�
%r1rrrrc�,>�\rSrSrSU4SjjrSrSrg)�.TestDateTimeTZ.test_utctimetuple.<locals>.UOFSi\Nc�D>�TRX5 [US9Ulgrp)r{r�uofs)r-r�dofsrs   �r.r{�7TestDateTimeTZ.test_utctimetuple.<locals>.UOFS.__init__]s������T�(�%�d�3��	r1c��UR$r3�rr�s  r.r��8TestDateTimeTZ.test_utctimetuple.<locals>.UOFS.utcoffset`s���y�y� r1rr3r�)rs�r.�UOFSr\s
���
4�
!r1r)rr�rNr]rYr!rvrhr2i���r�rkr@c��\rSrSrSrSrg)�.TestDateTimeTZ.test_utctimetuple.<locals>.NOFSiyc��gr3r#r�s  r.r��8TestDateTimeTZ.test_utctimetuple.<locals>.NOFS.utcoffsetzs��r1r#Nr�r#r1r.�NOFSrys��
r1r!c��\rSrSrSrSrg)�.TestDateTimeTZ.test_utctimetuple.<locals>.BOFSi�c��g)Nr�r#r�s  r.r��8TestDateTimeTZ.test_utctimetuple.<locals>.BOFS.utcoffset�s��r1r#Nr�r#r1r.�BOFSr#�s��
r1r&rr�r�r�i+�r�r�r�r�rrrcr�)#rrwr�r�r��utctimetupler,r�r�r�r�r%r�r�r�rsr�r1r�r�rr�r�rxr�rrr5r�rHr�rr!rrq)
r-r�rr�r�r�r!r&r��dtzr$�hugers
            @r.�test_utctimetuple� TestDateTimeTZ.test_utctimetupleNs����	%�&�	%��m�m�����-��a��A�c�!�f�5�?�?�	A�	!�3�	!�)�H��A�q�!�R��R��D��h�4G�H�A���� �A����Q�V�V�Q�Y�Y�/����Q�W�W�a�h�h�/����Q�U�U�A�I�I�.����R����+����R����*����Q�X�X�q�x�x�0����Q�Y�Y�[�!�)�)�4����Q�[�[�]�T�!�Q��]�-D�-D�-F�F��J��Y�Y�
(�
���Q��
�
�+�)�"
��1�a��R��R�(��
�N�N�������3�B������s��!3�4�����A�J�J�'�	�3�	�
��1�a��R��R���7��
�N�N�������3�B������s��!3�4�����A�J�J�'�	�3�	�
��1�a��R��R���7�����)�Q�^�^�4�
��b�"�b�"�b�&�1���<�<����x�|�|�<�B��)�)�2�)�&�C����S�-�-�/���4� �^�^�H�L�L�9�C�C�E�c�r�J�
L�=��7�A�q�!�Q��4��:�>�����-��):�):�;��7�B��B��B��t�E�{�K�����-��):�):�;��w�w���h�v�&6��7�����-��):�):�;��w�w���h��w�&7��8�����-��):�):�;r1c
��[SS5n[SS5n[SS5n[SS5nURnSnSXX44GHnS	GHnU"S
SSS
SSX�S9n	SU=(a S=(d S-n
USL=(a U	R5=(d SnX�-nU	R5n
UR	X�S-U-5 UR	X�RS55 UR	U	RS5US-U-5 UR	U	RS5US-U-5 UR	[U	5US-U-5 GM GM g)Nrr���z+03:40i���z-03:51r4z
0001-02-03)riyrr]rYr_rZrrz04:05:59z.987001rA�kuሴr�)rmrwr�r[r,r	)r-r��plus�minus�unknownr��datestr�ofsr�r��timestr�ofsstr�tailstr�isos              r.�test_tzinfo_isoformat�$TestDateTimeTZ.test_tzinfo_isoformat�sA���1�h�'���3��)���D�(�+���d�B�'���m�m������U�3�C�����1�a��A�r�2�:��$��(8�y�(>�B�?���D��7�Q�X�X�Z�=�2��!�*���k�k�m��� � ���m�g�&=�>�� � ��k�k�#�&6�7�� � ����S�!1�7�S�=�7�3J�K�� � ����X�!6��(�8J�W�8T�U�� � ��Q���3���)@�A� �4r1c	�(�URn[SS5n[[SS9S5nSSSS	S
SSU/nU"U6nURUR	5U5 UR[
R"U5U5 S
SSSSSSSU44n[
U5Haunup�USSn
X�U'U"U
6nURUR"S0X�0D6U5 UR[
R"U40X�0D6U5 Mc URUR5S5 UR	SS9nURUR5 URUR55 [
R"USS9n
URU
R5 URU
R55 UR	US9nURX^5 URURUR5 [
R"X�S9nURX_5 URURUR5 U"SSS5nUR[URSS9 UR[[
RUSS9 g)Nr�rOrPrqrQrr]rYr_rZrar\r�r�r�r�r�r�r�rrr�r�r�r�r#rRrSs                r.r��TestDateTimeTZ.test_replace�s9���m�m���3��'���I�d�3�V�<���1�a��A�q�!�T�*���D�z����������.�������d�+�T�2����� � �%��e�$�&��"+�7�!3��A�~���1�g�G��A�J��G�}�H����T�\�\�;�T�N�;�X�F����T�\�\�$�A�4�.�A�8�L�"4�	
��������/����D��)�����%�,�,�'����%�,�,�.�)����d�4�0�����&�-�-�(����&�-�-�/�*��
�
�T�
�*������%��
�
�d�k�k�5�<�<�0����f�2������&��
�
�d�k�k�6�=�=�1��4��B������*�d�l�l���>����*�d�l�l�D�t��Dr1c��[SS5n[SS5n[[SS9*S5nURRUS9nUR	UR
U5 UR
[URU5 URUR
5nUR	UR
U5 URUR5UR55 URUR5UR55 URU5nUR	UR
U5 URUR5[SS95 XDR5-
nXsRU5-
nURUS	9nURUR5UR55 URUR5UR55 URUR5UR55 UR	UR
UR
5 URXg5 g)
N�Noner��44rZr��m300r�r?r)rmrrwr�r4rr�r$r�r,rrr�rHr�)r-�fnone�f44m�fm5hr�r�rr`s        r.�test_more_astimezone�#TestDateTimeTZ.test_more_astimezone�s����D�&�)���2�t�$���I�A�.�.��7��
�]�]�
�
�$�
�
'���
�
�b�i�i��&����*�b�m�m�U�;��M�M�"�)�)�$���
�
�a�h�h��%��������2�7�7�9�-��������2�7�7�9�-��m�m�D�!���
�
�c�j�j�$�'��������)�"�*=�>�����&���N�N�2�&�&���#�#�4�#�0���������X�]�]�_�5��������X�]�]�_�5��������x���'8�9��
�
�c�j�j�(�/�/�2�����'r1rc���URR[R5nUR	URS5U5 UR	UR5U5 gr3)rwr�rr5r,r�r�s  r.�test_astimezone_default_utc�*TestDateTimeTZ.test_astimezone_default_utc�sI��
�]�]�
�
�x�|�|�
,��������t�,�b�1��������"�-r1r'c	��URSSSSS[RS9nUR5nUR	X5 UR	URS5S5 URSSSS	S[RS9nUR5nUR	X5 UR	URS5S
5 g)Nrr�r_rarhrrlz	-0500 ESTrZz	-0400 EDT)rwrr5r�r,rq)r-r�rJs   r.�test_astimezone_default_eastern�.TestDateTimeTZ.test_astimezone_default_easterns���
�]�]�4��Q��2�h�l�l�]�
C���
�
�������#��������0�+�>�
�]�]�4��Q��2�h�l�l�]�
C���
�
�������#��������0�+�>r1c���[SSSS[RS9nUR5nUR5nUR	UR
UR
5 g)Nr�r�rrZr)rrr5r�r,r)r-r�r�rs    r.�!test_astimezone_default_near_fold�0TestDateTimeTZ.test_astimezone_default_near_foldsH��
�T�2�q�!�H�L�L�9��
�L�L�N��
�L�L�N��������1�8�8�,r1c���URn"SS[5nU"SSSSSSS	U"5S
9nURSS9nURSS9nURSS9nXEU4HCnXEU4H8nXx-
n	[URUR-
S
9n
URX�5 M: ME U"SSSSSSS	5nURSU"5S9nURSU"5S9nURSU"5S9nXEU4HonXEU4HdnXx-
n	XtLdXuLaX�LdX�La[S5n
O0Xxs=LaULaO O[S5n
OXvLa
[SS
9n
O	[SS
9n
URX�5 Mf Mq g)Nc��\rSrSrSrSrg)�BTestDateTimeTZ.test_aware_subtract.<locals>.OperandDependentOffsetic�Z�URS:a[URS9$[SS9$r r!r\s  r.r��LTestDateTimeTZ.test_aware_subtract.<locals>.OperandDependentOffset.utcoffsetr#r1r#Nr�r#r1r.r$rPr%r1r$r�rr!r�r�rkr�rrYr�rqr&ri���r)rwrrHrrtr,)r-r�r$r�r'r]r�r�r�rr`s           r.�test_aware_subtract�"TestDateTimeTZ.test_aware_subtracts���m�m��	1�V�	1��1�a��R��R��4J�4L�M��
�\�\��\�
#��
�\�\��\�
#��
�\�\��\�
$�����A��R�Z���e��$�Q�X�X����-@�A��� � ��/� ���1�a��R��R��,��
�\�\��+A�+C�\�
D��
�\�\��+A�+C�\�
D��
�\�\��,B�,D�\�
E�����A��R�Z���e���G�q�w�Q�W���(��|�H��\�r�\�(��|�H��W�(��;�H� )��;�H�� � ��/� �r1c	���[SSSSSSS5n[SSSSSSS5nURX5 URSS9nURX5 UR[SS	5S9nURX5 UR[S
S	5S9nUR	X5 "SS[
5nU"5nURUS9nURUS9nURUR
5[S
S95 URUR
5[SS95 URX5 URU"5S9nURX:5 g)Nrr]rYr_rZrar\rr4rc� �\rSrSrSrSrSrg)�1TestDateTimeTZ.test_mixed_compare.<locals>.VariesiQc� �[SS9Ulgr_r�r6s r.r{�:TestDateTimeTZ.test_mixed_compare.<locals>.Varies.__init__Rrar1c�R�U=R[SS9-
slUR$rcrdr\s  r.r��;TestDateTimeTZ.test_mixed_compare.<locals>.Varies.utcoffsetTrfr1r�Nr�r#r1r.rgrWQrhr1rgrrqrh)	rr,rHrmr#rr�rr�ris     r.r��!TestDateTimeTZ.test_mixed_compareEs?��
�a��A�q�!�Q��
*��
�a��A�q�!�Q��
*������ �
�Z�Z�t�Z�
$������ �
�Z�Z�{�4��4�Z�
5������ �
�Z�Z�{�1�b�1�Z�
2�����B�#�	#�V�	#�
�H��
�Z�Z�q�Z�
!��
�Z�Z�q�Z�
!����������2�)>�?���������2�)>�?����� ��Z�Z�v�x�Z�
(������� r1c�^�"U4SjSTR5nSSSSSSS	[S
SS54nTR"U6nU"U0S
S0D6nTRURU5 TRURS5 TRUR
S5 TRUR
5UR
55 TRURS5URUR-S-
5 g)Nc�,>�\rSrSrSrU4SjrSrSrg)�2TestDateTimeTZ.test_subclass_datetimetz.<locals>.Cier�c�>�UR5nURS5nTRR"U/UQ70UD6nXElU$r
rr
s      �r.r��:TestDateTimeTZ.test_subclass_datetimetz.<locals>.C.__new__hrr1c�8�XR-UR-$r3)r�r�rs  r.r�:TestDateTimeTZ.test_subclass_datetimetz.<locals>.C.newmethos���y�y�(�4�9�9�4�4r1r#Nrr6s�r.rr_es����I�
�
5r1rr�r�r�r_rZrar�r�r�rr!r\r�r^)
rwrmr,rMrr!r�rr�r�rs`    r.�test_subclass_datetimetz�'TestDateTimeTZ.test_subclass_datetimetzcs����	5��
�
�	5��R��Q��1�c�;�t�U�A�+F�F���m�m�T�"����&�'�1��&���������*��������+�������A�&��������#�-�-�/�:�������R��#�(�(�S�X�X�*=��*A�Br1r#N)!rNrhrirjrrwr�r�r�r�r�r@r�r�r�r�r�r�r�r
r*r8r�rCr
rDrFrIrLrSr�rdrkr#r1r.r�r��s����H�	*�C8�JC�.#=�J/�>�<5�I�?G�B$N�L"=�H	9�
A�"O�HN<�`B�*,E�\(�:
�����.� �.�
���3�4�?�5�?�
���3�4�-�5�-�*0�X!�<Cr1r�c�V�SUR5-
nU(aU[U5-
nU$)Nra)r1r)r��
days_to_gos  r.�first_sunday_on_or_afterrhs)���R�Z�Z�\�!�J��
�i�
�#�#��
�Ir1rqr�r�r_r]rxc�2�\rSrSrSrSrSrSrSrSr	g)	�
USTimeZonei�c�D�[US9UlX lX0lX@lg�Nr��r�	stdoffset�reprname�stdname�dstname�r-r�rorprqs     r.r{�USTimeZone.__init__����"��/��� �
����r1c��UR$r3�ror6s r.r�USTimeZone.__repr__�r�r1c�^�URU5(aUR$UR$r3�r�rqrpr�s  r.r��USTimeZone.tzname��#���8�8�B�<�<��<�<���<�<�r1c�>�URURU5-$r3�rnr�r�s  r.r��USTimeZone.utcoffset�����~�~������,�,r1c� �Ub
URc[$[[R	UR
S95n[[R	UR
S95nX!R	SS9s=::aU:a[$ [$[$�Nr�r)rrrh�DSTSTARTrHr��DSTENDr5�r-r�r�ends    r.r��USTimeZone.dst�s}��
�:����*��K�)��)9�)9�r�w�w�)9�)G�H��'�v�~�~�2�7�7�~�'C�D��
�J�J�d�J�+�1�c�1��K�2��K�4�Kr1�rqrorprnN�
rNrhrirjr{rr�r�r�rkr#r1r.rjrj�s���� �-�r1rjr?rGr�r�rb�Central�CST�CDTr^�Mountain�MST�MDTi�����Pacific�PST�PDTri0����UTCfakec�n�\rSrSr\"SSSS5r\"SSSS5r\rS	rS
r	Sr
SrS
rSr
SrSrg)�TestTimezoneConversionsi�r�r_r\r]r!r�rc��URUR5[5 URURU5U5 URU5nURU5nUR	5UR	5:Xa~UR
S:XanURU[-U5 URUR5[5 URURU5URU55 OURX5 U[-nURU5n	UR	5UR	5:XagUR
S:XaWURX�RSS95 U[-
nURU5n	URX�RSS95 gURX�-
[5 g)Nr]rrr�)r,r�r5r�rr�rrH)
r-r�r�r5�dston�dstoff�asutc�there_and_back�nexthour_utc�nexthour_tzs
          r.�checkinside�#TestTimezoneConversions.checkinside�st���������4�(�	
������r�*�B�/��
�
�c�"���)�)�"�-���7�7�9��
�
��$����A��
���^�d�2�B�7�
���^�/�/�1�4�8����^�6�6�s�;��]�]�3�/�
1�
���R�0��t�|��"�-�-�b�1��
�7�7�9����
�%�"�'�'�Q�,�
���[�*�*�!�*�*<�=��D� �L�&�1�1�"�5�K����[�*�*�!�*�*<�=����[�-�t�4r1c���URUR5[5 URURU5U5 URU5nURU5nURX5 gr3)r,r�rr�)r-r�r�r5r�r�s      r.�checkoutside�$TestTimezoneConversions.checkoutsidesa���������4�(�	
������r�*�B�/��
�
�c�"���)�)�"�-������,r1c	��URRUS9nURRUS9n[SS9[[
[SS9[SS94HknUR
X1X#U5 X5-XE-
4HnUR
XaX#U5 M URXAU5 X5-
XE-4HnURXqU5 M Mm g)Nrrkr�rrqr)r�rHr�r�DAYr5r�r�)r-r�r5r�r�rg�during�outsides        r.�convert_between_tz_and_utc�2TestTimezoneConversions.convert_between_tz_and_utcs����
�
�"�"�"�"�-�����$�$�B�$�/���b�)�����*��Q�/�	1�E�
���U��F�;��-���7��� � ��S��@�8�
���f�#�.� �=�&�.�8���!�!�'�s�3�9�1r1c�<�UR[[5 UR[[5 UR[[5 UR[[5 UR[[5 UR[[5 gr3)r�rG�utc_realr��utc_faker6s r.�	test_easy�!TestTimezoneConversions.test_easy!sd���'�'���:��'�'���:��'�'���:��'�'���:�	
�'�'���9��'�'���9r1c
��UR[SS9-
n[SSS5nURUS9nURRSS9nUR	[
5RSS9nUR
X45 URRS	[S
9nURRSS9nUR	[
5RSS9nUR
X45 [[4H�n[
[4H�nUR[SS9-
nX�RS5-nX�RS5-n	U	RUS9n
S
H|nURRUS9nSHQn
URU
S9nU
RU
S9n	U	R	U5nUR
URSS9U5 MS U
[-
n
M~ M� M� g)Nr_r�i��z-0900rrrYr�ra�r�rrr])rrrr]�rrhrr�)
r�rrmrHr�rGr,r�r�r�r�r�r5)r-�fourback�ninewestr`r�sixutcr5r��first_std_hourr��	asutcbase�tzhour�expectedbasert�astzs               r.�test_tricky�#TestTimezoneConversions.test_tricky9s����:�:�	�� 2�2���u�g�q�1���#�#�8�#�4���:�:�%�%�1�%�-���!�!�'�*�2�2�$�2�?������'����#�#��8�#�<���:�:�%�%�1�%�-������(�0�0��0�=������'��X�%�C��w�&��!%���y�q�/A�!A���,�,�t�"4�4��&���t�)<�<��"�M�M��M�5�	�*�F�#'�;�;�#6�#6�F�#6�#C�L�"+��#/�#7�#7�v�#7�#F�� )� 1� 1�� 1� @��$�/�/��3���(�(����T��)B�H�M�	#,�
��%�I�+�'�&r1c��"SS[5nURR5R[S9nURU"55 "SSU5nUR
[UR
U"55 "SSU5nURSS	S	5R[S9nUR
[UR
U"55 g)
Nc� �\rSrSrSrSrSrg)�2TestTimezoneConversions.test_bogus_dst.<locals>.okimc��[$r3�r5r�s  r.r��<TestTimezoneConversions.test_bogus_dst.<locals>.ok.utcoffsetns��D�[r1c��[$r3r�r�s  r.r��6TestTimezoneConversions.test_bogus_dst.<locals>.ok.dstos��d�{r1r#Nr�r#r1r.�okr�ms��0�*r1r�rc��\rSrSrSrSrg)�5TestTimezoneConversions.test_bogus_dst.<locals>.notokivc��gr3r#r�s  r.r��9TestTimezoneConversions.test_bogus_dst.<locals>.notok.dstwr�r1r#N�rNrhrirjr�rkr#r1r.�notokr�vs��*r1r�c��\rSrSrSrSrg)�<TestTimezoneConversions.test_bogus_dst.<locals>.tricky_notoki~c�6�URS:XagS[-$)Nr�r!)r�r5r�s  r.r��@TestTimezoneConversions.test_bogus_dst.<locals>.tricky_notok.dsts���7�7�d�?���d�7�Nr1r#Nr�r#r1r.�tricky_notokr�~s��
#r1r�r�r)rrwr�rHr�r�r�r$)r-r�r�r�r�r�s      r.�test_bogus_dst�&TestTimezoneConversions.test_bogus_dstls���	+��	+��m�m���!�)�)��)�:�����r�t��	+�B�	+����*�c�n�n�e�g�>�	#�2�	#��]�]�4��A�
&�
.�
.�h�
.�
?�����*�b�m�m�\�^�Dr1c���UR[[R5 [R
"[S9nUR[[RU5 UR[S9n[RU5nURUR[5 UR[[RX5 UR[[R[R"55 "SS[5nU"SSSS5nURRS	[S
9nURUS9nSH�nURUS9nUS
:XaU[SS9-n[RU5n	URX�5 XdR -nURU5n	URX�5 UR[S9R#U5n	URX�5 U[$-
nU[$-
nM� UR&RS	[S
9nURUS9nSH�nURUS9n[RU5n	URX�5 XdR -nURU5n	URX�5 UR[S9R#U5n	URX�5 U[$-
nU[$-
nM� g)Nr�rc��\rSrSrSrSrg)�<TestTimezoneConversions.test_fromutc.<locals>.FauxUSTimeZonei�c��XR-$r3)rnr�s  r.r��DTestTimezoneConversions.test_fromutc.<locals>.FauxUSTimeZone.fromutc�s���N�N�*�*r1r#N�rNrhrirjr�rkr#r1r.�FauxUSTimeZoner��s��
+r1r�r?�FEastern�FEST�FEDTr_r�)rrrrYr_rZr�rrr�)rrrr]rYr_)r�r�rGr�rr�r�r$rHr,rrr�rjr�rrnr�r5r�)
r-r��enowr�r�r�fstart�wallr`rs
          r.rK�$TestTimezoneConversions.test_fromutc�sf�����)�W�_�_�5��l�l�h�'�����*�g�o�o�s�;��k�k��k�)�����s�#��������g�.����)�W�_�_�c�?����)�W�_�_�d�j�j�l�C�	+�Z�	+�#�2�z�F�F�C���
�
�"�"��'�"�:�����h��/��%�D��}�}�$�}�/�H��r�z��I�1�-�-���/�/�%�(�C����X�+�� 2� 2�2�H��"�"�6�*�C����X�+��.�.��.�1�<�<�X�F�C����X�+��T�M�E��d�N�F�!&�&���#�#��7�#�;�����h��/��$�D��}�}�$�}�/�H��/�/�%�(�C����X�+�� 2� 2�2�H��"�"�6�*�C����X�+��.�.��.�1�<�<�X�F�C����X�+��T�M�E��d�N�F�%r1r#N)rNrhrirjrr�r�rwr�r�r�r�r�r�rKrkr#r1r.r�r��sM���T�1�a��#�E�
�d�B��A�
&�F��H�15�h	-�4�,
:�00&�fE�6:r1r�c�&�\rSrSrSrSrSrSrg)�Oddballsi�c�^^�[R"5n[R"U[	55n[URURUR5n[URURURSSS5nX4H�nX$4H�nXV4Xe44H�ummURTT:g5 URTT:H5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4Sj5 UR[UU4Sj5 M� M� M� X4X14X$4XB44H~ummURTT:H5 URTT:g5 URTT:5 URTT:�5 URTT:*5 URTT:�5 M� X4X!44H�ummURTRT5[ 5 URTR#T5[ 5 URTR%T5[ 5 URTR'T5[ 5 URTR'T5[ 5 URTR)T5[ 5 M� g)Nrc�>�TT:$r3r#�r�r�s��r.r��8Oddballs.test_date_datetime_comparison.<locals>.<lambda>��	����Q�r1c�>�TT:*$r3r#r�s��r.r�r���	����a�r1c�>�TT:�$r3r#r�s��r.r�r��r�r1c�>�TT:�$r3r#r�s��r.r�r��r�r1)rr�rr(rr�r�r�r%r�r�r�r�r�r,�__eq__�NotImplemented�__ne__�__lt__�__gt__�__ge__)	r-�as_date�as_datetime�date_sc�datetime_scr�r�r�r�s	       @@r.�test_date_datetime_comparison�&Oddballs.test_date_datetime_comparison�s2����*�*�,���&�&�w���7���w�|�|�W�]�]�G�K�K�H��&�w�|�|�W�]�]�'.�{�{�A�q�!�=���#�A�"�0���G�b�W�,�D�A�q��O�O�A��F�+��$�$�Q�!�V�,��%�%�i��?��%�%�i��@��%�%�i��?��%�%�i��@�
-�1�$��'��'�!�/�!�/�1�D�A�q�
�O�O�A��F�#����Q�!�V�$����Q��U�#����Q��U�#��O�O�A��F�#��O�O�A��F�#�1��*�[�,B�B�D�A�q����Q�X�X�a�[�.�9����Q�X�X�a�[�.�9����Q�X�X�a�[�.�9����Q�X�X�a�[�.�9����Q�X�X�a�[�.�9����Q�X�X�a�[�.�9�
Cr1c	��UR[5 [R"5nSSS5 [R
"5[
5W[5[5[[554H(nUR[5 SUlSSS5 M* g!,(df   N=f!,(df   MM=fr))
r"r#rrarr�rrrrr��AttributeErrorr")r-rar�s   r.�test_extra_attributes�Oddballs.test_extra_attributes�s���
�
�
�0�
1��_�_�&�F�2��*�*�,��&���+��(��9�;�'�)�A��"�"�>�2����3�2�
)�2�
1��3�2�s�B%�B6�%
B3�6
C	c��"SS5n"SS[5nSU"S5[R"S5[R"S5U"S5U"S5S	4H�nUR[[
USSSSSS5	 UR[[
SUSSSSS5	 UR[[
SSUSSSS5	 UR[[
SSSUSSS5	 UR[[
SSSSUSS5	 UR[[
SSSSSUS5	 UR[[
SSSSSSU5	 M� g)
Nc� �\rSrSrSrSrSrg)�-Oddballs.test_check_arg_types.<locals>.Numberic��Xlgr3��value)r-r�s  r.r{�6Oddballs.test_check_arg_types.<locals>.Number.__init__s��"�
r1c��UR$r3r�r6s r.�__int__�5Oddballs.test_check_arg_types.<locals>.Number.__int__s���z�z�!r1r�N)rNrhrirjr{r	rkr#r1r.�Numberr�s��
#�
"r1r	c��\rSrSrSrg)�,Oddballs.test_check_arg_types.<locals>.Floati	r#Nr/r#r1r.�Floatr		rQr1r	g$@g������%@r!z10.9�10)r��decimal�Decimalr�r�r)r-r	r	�xxs    r.�test_check_arg_types�Oddballs.test_check_arg_typess*��	"�	"�	�E�	���t���?�?�2�&�����(?��"�:�v�d�|���B�
���i��2�r�2�r�2�r�2�N����i��2�r�2�r�2�r�2�N����i��2�r�2�r�2�r�2�N����i��2�r�2�r�2�r�2�N����i��2�r�2�r�2�r�2�N����i��2�r�2�r�2�r�2�N����i��2�r�2�r�2�r�2�N�r1r#N)rNrhrirjr�r�r
	rkr#r1r.r�r��s��+:�Z
�Or1r�c��\rSrSrSrSrg)�tzinfo2ic��[U[5(d[S5eURULa[	S5eURSS9R
5nURSS9R
5nUbUbUR5c[eX#:XaX-nUR
5nX#:XaU$X#4HFnX-nUR
5U:XaUs $URSS9nUR
5U:XdMDUs $ [	S5e)N�&fromutc() requires a datetime argument�dt.tzinfo is not selfrr�rzNo suitable local time found)rsrr�rr$rHr�r�)r-r��off0�off1�ldt�offs      r.r��tzinfo2.fromutc s����"�h�'�'��D�E�E�
�9�9�D� ��4�5�5��z�z�q�z�!�+�+�-���z�z�q�z�!�+�+�-���<�4�<�2�6�6�8�+;����<��)�C��=�=�?�D��|��
��<�C��(�C��}�}��#�%��
��+�+�1�+�%�C��}�}��#�%��
�
 ��7�8�8r1r#Nr�r#r1r.r
	r
	s��9r1r
	c�2�\rSrSrSrSrSrSrSrSr	g)	�USTimeZone2i@c�D�[US9UlX lX0lX@lgrlrmrrs     r.r{�USTimeZone2.__init__Brtr1c��UR$r3rvr6s r.r�USTimeZone2.__repr__Hr�r1c�^�URU5(aUR$UR$r3ryr�s  r.r��USTimeZone2.tznameKr{r1c�>�URURU5-$r3r}r�s  r.r��USTimeZone2.utcoffsetQrr1c��Ub
URc[$[[R	UR
S95n[[R	UR
S95nUR	SS9nU[-Us=::aU:a[$ X1s=::a
U[-:a O OUR(a[$[$X!s=::a
U[-:a%O [$UR(a[$[$[$r�)	rrrhr�rHr�r�r5r�r�s    r.r��USTimeZone2.dstTs���
�:����*��K�)��)9�)9�r�w�w�)9�)G�H��'�v�~�~�2�7�7�~�'C�D��
�Z�Z�t�Z�
$���4�<�2�#��#��K�$��
#��t��
#��7�7�4�,��,�
�
'�5�4�<�
'�
�K��7�7�4�,��,��Kr1r�Nr�r#r1r.r	r	@s���� �-�r1r	�Eastern2�Central2�	Mountain2�Pacific2c�8�\rSrSrSrSrSrSrSrSr	Sr
g	)
�Europe_Vilnius_1941i�c	�6�[SSSSUS9[SSSSUS9/$)N�rarr�rr6�rr6s r.�	_utc_fold�Europe_Vilnius_1941._utc_fold�s,����q�"�b��6���q�"�b��6�8�	8r1c	�6�[SSSSUS9[SSSSUS9/$)Nr)	rarrrhrr*	r6s r.�	_loc_fold�Europe_Vilnius_1941._loc_fold�s,����q�"�b��6���q�"�a��5�7�	7r1c��UR5up#X:a	S[-$X:a#UR(a	S[-$S[-$S[-$)NrYr]�r.	r5r��r-r��
fold_start�	fold_stops    r.r��Europe_Vilnius_1941.utcoffset��H�� $��� 0��
�
�?��t�8�O�
�>����A�4�/�/�a�4�/�/��4�x�r1c��UR5up#X:a	S[-$X:a#UR(a	S[-$S[-$S[-$)Nrrr1	r2	s    r.r��Europe_Vilnius_1941.dst�r6	r1c�\�UR5up#X:agX:aSUR$g)N�MSK)r:	�CESTr;	)r.	r�r2	s    r.r��Europe_Vilnius_1941.tzname�s0�� $��� 0��
�
�?��
�>�"�2�7�7�+�+�r1c���URS:wa[eUR5up#X:aUS[--$X:aUS[--R	SS9$US[--$)Nr)	rYr]rr�)r�r�r+	r5rHr2	s    r.r��Europe_Vilnius_1941.fromutc�sf���7�7�d�?�%�%� $��� 0��
�
�?���D��=� �
�>���T��M�*�*��*�2�2��A��H�}�r1r#N)rNrhrirjr+	r.	r�r�r�r�rkr#r1r.r'	r'	�s ��8�7����r1r'	c�j�\rSrSrSrSrSrSrSrSr	Sr
\R"S	5S
5r
\R"S5S5rS
r\R"S	5S5r\R"S5S5r\R"S	5S5rSrSrSrSrSrSrSrSrSrSrg)�TestLocalTimeDisambiguationi�c
�L�[5n[SSSSSS[RS9nUR	U5nURUR
S5S5 URURS	5 URUR55 [SSSS
[RS9nUR	U5nURUR
S5S5 URURS5 URUR55 [SSSS
[RS9nUR	U5nURUR
S5S5 URURS	5 URUR55 g)Nr)	rarrvrrz%a %b %d %H:%M:%S %Y %Z%zz!Mon Jun 23 23:59:59 1941 MSK+0300rr�z"Mon Jun 23 23:00:00 1941 CEST+0200rr6z"Tue Jun 24 00:00:00 1941 CEST+0200)r'	rrr5r�r,rqr�r�r�r�)r-�Vilnius�gdtr	s    r.�test_vilnius_1941_fromutc�5TestLocalTimeDisambiguation.test_vilnius_1941_fromutc�sE��%�'���t�Q��B��B�x�|�|�D���n�n�W�%��������&A�B�<�	>�������1�%��������#��t�Q��B�x�|�|�<���n�n�W�%��������&A�B�=�	?�������1�%�������	�"��t�Q��B�x�|�|�<���n�n�W�%��������&A�B�=�	?�������1�%�������	�"r1c��[5n[SSSSSSUS9nUR[R5nURUR
S5S5 [SSSSSSUS9nUR[R5nURUR
S5S	5 [SSSSSSUS
S9nUR[R5nURUR
S5S5 [SSS
SUS9nUR[R5nURUR
S5S5 g)Nr)	rarr6rrz%a %b %d %H:%M:%S %Y %ZzMon Jun 23 19:59:59 1941 UTCzMon Jun 23 20:59:59 1941 UTCr)rr�zMon Jun 23 21:59:59 1941 UTCrhrzMon Jun 23 22:00:00 1941 UTC)r'	rr�rr5r,rq)r-rB	r	rC	s    r.�test_vilnius_1941_toutc�3TestLocalTimeDisambiguation.test_vilnius_1941_toutc�s"��%�'���t�Q��B��B�w�?���n�n�X�\�\�*��������&?�@�7�	9��t�Q��B��B�w�?���n�n�X�\�\�*��������&?�@�7�	9��t�Q��B��B�w�Q�G���n�n�X�\�\�*��������&?�@�7�	9��t�Q��A�g�6���n�n�X�\�\�*��������&?�@�7�	9r1c	��[SSS9n[SSSSS9nURURS5 URURS5 UR	[
5 [SSSSSS5 SSS5 g!,(df   g=f�Nrrr�)rrr,r�r�r��r-r�r�s   r.�test_constructors�-TestLocalTimeDisambiguation.test_constructors�sq�����O��
�a��A�A�
&���������#�������!�$�
�
�
�y�
)���A�q�!�T�1�%�*�
)�
)�s�$A>�>
Bc���[SSSSS9nUR5nURURS5 UR	5nURURS5 g)Nrr�)rrr,r�r�)r-r�r�s   r.�test_member�'TestLocalTimeDisambiguation.test_member�sP��
�a��A�A�
&���G�G�I���������#��I�I�K���������#r1c��[S5n[SSS5nURURSS9RS5 URURSS9RS5 URURSS9RS5 URURSS9RS5 URS[
S9nURS[
S9nURURSS9RS5 URURSS9RS5 UR
[5 URSS9 SSS5 UR
[5 URSS9 SSS5 UR
[5 URSSSSS5 SSS5 UR
[5 URSSSSSSSSS5	 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   Nh=f!,(df   g=f)Nrrr�)r�rrr])	rrr,rHr�rGr�r$r�rK	s   r.r��(TestLocalTimeDisambiguation.test_replace�s�����G��
�a��A�
����������*�/�/��3���������+�0�0�!�4���������*�/�/��3���������+�0�0�!�4�
�I�I�1�W�I�-��
�Z�Z�Q�w�Z�
/��������$��/�4�4�a�8�������4��0�5�5�q�9�
�
�
�z�
*�
�I�I�1�I��+�
�
�
�z�
*��J�J�A�J��+��
�
�y�
)�
�I�I�a��A�t�Q�'�*�
�
�
�y�
)��J�J�q�!�Q��1�a��D�!�4�*�
)�+�
*��
*�
*��*�
)��
)�
)�s0�G<�9H
�&H�H/�<
H
�
H�
H,�/
H=c��[S5n[SSS5nURXRSS95 URX"RSS95 grJ	)rrr,rHrK	s   r.rN�+TestLocalTimeDisambiguation.test_comparison
sK����G��
�a��A�
������I�I�1�I�-�.�����Z�Z�Q�Z�/�0r1c	��[S5n[SSS5nUR[U5[UR	SS955 UR[U5[UR	SS955 grJ	)rrr,r�rHrK	s   r.�	test_hash�%TestLocalTimeDisambiguation.test_hashsa����G��
�a��A�
������a��$�q�y�y�a�y�'8�"9�:�����b��4��
�
��
�(:�#;�<r1r'c���Sn[R"U5n[R"US-5nURURS5 URURS5 g)NiX�UTr�rr)rrr,r�)r-r�dt0r�s    r.r�.TestLocalTimeDisambiguation.test_fromtimestampsS�����$�$�Q�'���$�$�Q��X�.��������1�%�������1�%r1zAustralia/Lord_Howec�|�[R"S5n[R"SU5S:waURS5 Sn[R
"U5n[R
"US-5nUR
X45 UR
URS5 UR
URS5 g)	N�����A�%Z%z�	LHST+1030�>Australia/Lord_Howe timezone is not supported on this platformi�U�rr)rwrrqrOrrr,r�)r-�tmrr*r�s     r.�test_fromtimestamp_lord_howe�8TestLocalTimeDisambiguation.test_fromtimestamp_lord_howe!s���
�_�_�U�
#���>�>�&�"�%��4��M�M�Z�[�

��
�
#�
#�A�
&��
�
#�
#�A��H�
-������ �������!�$�������!�$r1c�d�UR[R"S5RS5 gr)r,rrr�r6s r.�%test_fromtimestamp_low_fold_detection�ATestLocalTimeDisambiguation.test_fromtimestamp_low_fold_detection1s%��	
����/�/��2�7�7��;r1c��[SSSSS5nURSS9nURUR5S-UR55 g)Nr�r�r]rrhr�r�)rrHr,r))r-rY	r�s   r.�test_timestamp�*TestLocalTimeDisambiguation.test_timestamp6sH���t�R��A�r�*���k�k�q�k�!���������4�/�����	*r1c�D�[R"S5n[R"SU5S:waURS5 [	SSSSS	5nURS
S9R
5nURSS9R
5nURUS-U5 g)
Nr\	r]	r^	r_	r�r_rZrr�rr�r`	)rwrrqrOrrHr)r,)r-ra	r��s0r�s     r.�test_timestamp_lord_howe�4TestLocalTimeDisambiguation.test_timestamp_lord_howe=s���
�_�_�U�
#���>�>�&�"�%��4��M�M�Z�[��T�1�a��B�'��
�Y�Y�A�Y�
�
(�
(�
*��
�Y�Y�A�Y�
�
(�
(�
*������d��B�'r1c��[SSSSS5nURSS9nUR5nUR5nURUR	5S5 URUR	5S5 URU[
-U5 URURS	5 URURS	5 g)
Nr�r�r]rrhr�r�r�r)rrHr�r,r�r5r�)r-rY	r��adt0�adt1s     r.r��+TestLocalTimeDisambiguation.test_astimezoneGs����t�R��A�r�*���k�k�q�k�!���~�~����~�~�����������.���������.�������d�+�������A�&�������A�&r1c�$�[SS9n[SSSSS9n[Hqup4nX4HdnURXe5nUR	U5nURXh5 URUS:aSOURUR5 Mf Ms g)Nrr�r_r)rrr�r�r�r,r�)	r-r�r�r�r�r�r�rr�s	         r.�test_pickle_fold�,TestLocalTimeDisambiguation.test_pickle_foldVs����a�L��
�a��A�A�
&��)7�%�G���W���M�M�!�+���O�O�A�&��� � ��&�� � �u�q�y�!�a�f�f�q�v�v�F�	�*8r1c��[SS9n[SSSSS9nUR[U5S5 UR[U5S5 g)Nrr�zdatetime.time(0, 0, fold=1)z(datetime.datetime(1, 1, 1, 0, 0, fold=1))rrr,rrK	s   r.r�%TestLocalTimeDisambiguation.test_repr`sH���a�L��
�a��A�A�
&������a��"?�@�����b��C�	Er1c
�~�[SSSS[S9[R-
n[SSSS[S9nUR	UR5[5 UR	UR5[5 UR	URSS9R5[5 UR	URSS9R5[5 SHjn[SSSSU[S9nUR	UR5[5 UR	URSS9R5[5 Ml SHjn[SS	S
SU[S9nUR	UR5[5 UR	URSS9R5[5 Ml g)Nr�r!r�rrr]r�r�r_r\)	rr"	rrr,r�r5rrH)r-�	dt_summer�	dt_winterrtr�s     r.r<�$TestLocalTimeDisambiguation.test_dstgs_���T�2�r�1�X�>��AU�AU�U�	��T�2�r�1�X�>�	��������$�/��������$�/�����*�*��*�2�6�6�8�$�?�����*�*��*�2�6�6�8�$�?�"�F��$��B��6�(�C�B����R�V�V�X�t�,����R�Z�Z�Q�Z�/�3�3�5�t�<�"�"�F��$��1�a���A�B����R�V�V�X�t�,����R�Z�Z�Q�Z�/�3�3�5�t�<�"r1c���[SSSS[S9[R-
n[SSSS[S9nUR	UR5S[-5 UR	UR5S[-5 UR	URSS	9R5S[-5 UR	URSS	9R5S[-5 g)
Nr�r!r�rrr]r`r?r�)rr"	rrr,r�r5rH)r-rx	ry	s   r.r8�*TestLocalTimeDisambiguation.test_utcoffset�s����T�2�r�1�X�>��AU�AU�U�	��T�2�r�1�X�>�	�����,�,�.��T�	�:�����,�,�.��T�	�:�����*�*��*�2�<�<�>��T�	�J�����*�*��*�2�<�<�>��T�	�Jr1c	��[SSSS[S9[R-
n[SSSS[S9n[R	U5n[R	U5nURX1S[--
5 URXBS[--
5 URURS	5 URURS	5 [SSSSS
[S9n[R	U5nU[-
n[R	U5nURXg5 URURS	5 URURS5 [SSSSS
[S9n[R	U5nURURUR4S5 [SSSSS
[S9n[R	U5nURURUR4S
5 [SSSSS	[S9n[R	U5nURURUR4S5 g)Nr�r!r�rarr\r_rZrrhr)r�r�)r�rr])rar�)
rr"	rrr�r,r5r�r%r�)	r-�u_summer�u_winter�t_summer�t_winterr�r*r�r�s	         r.rK�(TestLocalTimeDisambiguation.test_fromutc�s����D�"�b�!�H�=�	�@T�@T�T���D�"�b�!�H�=���#�#�H�-���#�#�H�-������a�$�h�#6�7�����a�$�h�#6�7��������*��������*�
�T�2�r�1�b��:��
�
�
�a�
 ��	�T�	��
�
�
�a�
 ������ �������!�$�������!�$��T�2�r�1�b��:�����Q������!�%�%�����(�3��T�2�r�1�b��:�����Q������!�%�%�����'�2�
�T�1�a��A�h�7�����Q������!�%�%�����'�2r1c��[SSS[S9nURXR[R
55 [SSS[S9nURXR[R
55 g)Nr�rrra)rr"	r,r�rr5r\s  r.�test_mixed_compare_regular�6TestLocalTimeDisambiguation.test_mixed_compare_regular�sX���T�1�a��1������L�L����6�7��T�1�a��1������L�L����6�7r1c	��[SSSSS[S9nUR[R5nURX5 URX!5 g)Nr�r!r�rr�r�rr"	r�rr5r#)r-�t_fold�
t_fold_utcs   r.�test_mixed_compare_fold�3TestLocalTimeDisambiguation.test_mixed_compare_fold�sF���$��B��2�h�?���&�&�x�|�|�4�
����F�/����J�/r1c	��[SSSSS[S9nUR[R5nURX5 URX!5 g)Nr�r_r\r]r�rr�	)r-�t_gap�	t_gap_utcs   r.�test_mixed_compare_gap�2TestLocalTimeDisambiguation.test_mixed_compare_gap�sF����q�!�Q��8�<���$�$�X�\�\�2�	����E�-����I�-r1c	��[SSS[S9nUR[U5[UR	SS955 [SSSSS[S9n[SS	S
SS[S9nUR[U5[UR	SS955 UR[U5[UR	SS955 g)Nr�rrr�r�r!r�r�r_r\r])rr"	r,r�rH)r-r�r�	r�	s    r.�test_hash_aware�+TestLocalTimeDisambiguation.test_hash_aware�s����T�1�a��1������a��$�q�y�y�a�y�'8�"9�:��$��B��2�h�?����q�!�Q��8�<������f��t�F�N�N��N�,B�'C�D�����e��d�5�=�=�a�=�+@�&A�Br1r#N)rNrhrirjrD	rG	rL	rO	r�rNrV	r
rDrrb	re	rh	rl	r�rs	rr<r8rKr�	r�	r�	r�	rkr#r1r.r@	r@	�s���#�09�.&�$�5�.1�=�
���3�4�&�5�&�
���.�/�
%�0�
%�<�

���3�4�*�5�*�
���.�/�(�0�(�
���3�4�'�5�'�G�E�=�6K�3�B8�0�.�Cr1r@	c�`�[R"U5up[US5 [X5$r3)rm�tee�nextr�)�iterabler�r�s   r.�pairsr�	�s%���=�=��"�D�A���D�M��q�9�r1c��\rSrSrSrSr\S5r\S5r	\S5r
\"SSS5R5r
S	rS
rSrSrS
r\SSj5r\SSj5rSrSr\SSj5rSrSrSrSrg)�ZoneInfoi�z/usr/share/zoneinfoc�H�XlX lURX5Ulgr3)�ut�ti�invertr)r-r�	r�	s   r.r{�ZoneInfo.__init__�s�������+�+�b�%��r1c�P�[SU5[SU54nU(a�USS[-nUSS==U-
ss'USS==U-
ss'[S[U55H>nUSU==XS-
S[--
ss'USU==XS[--
ss'M@ U$)Nrrr)r�SECr�r�)r�	r�	rryr�s     r.r�	�ZoneInfo.invert�s����C��n�e�C��n�
-��
���U�1�X��_�F��q�E�!�H���H��q�E�!�H���H��1�c�"�g�&���1��a��B��s�G�A�J�#�-�-���1��a��B�E�!�H��O�+��'��	r1c	��URS5R5S:wa[S5eURS5 [	S5nURUS5 [RS:waUR5 [	S5nURXS5 [RS:waUR5 [	S	5nURXS5 /n[US
5H8nUR[R"SURS555 M: URUS
5n[U5H;unup�n
XzURSU
5R5n[SU5X�4XV'M= S/[!U5-n[U5HupmX]X�'M
 U"X<5nU$)Nr_�TZifznot a zoneinfo filer�r�rYr�rr�rz>lbbrar])�read�decoder$�seekr�fromfilerL�	byteorder�byteswapr�r=�struct�unpackr��findrr�)r��fileobj�countsr�	�type_indices�ttisr��abbrs�gmtoff�isdst�abbrind�abbrr�	�idxr-s               r.r�	�ZoneInfo.fromfile�s{���<�<��?�!�!�#�v�-��2�3�3����R���s��������#��=�=�E�!��O�O��
�3�Z��
���G�A�Y�'��=�=�E�!��K�K�M��S�z�����g�a�y�1����v�a�y�!�A��K�K��
�
�f�g�l�l�1�o�>�?�"����V�A�Y�'��,5�T�?�'�A�'��w�����A�w�!7�8�?�?�A�D� ��F�+�U�9�D�G�,;��V�c�"�g�
����-�F�A��I�B�E�.��2�{���r1c���[RRURU5n[	US5nURU5sSSS5 $!,(df   g=f)N�rb)�os�path�join�zoneroot�openr�	)r�rHr�	rss    r.�fromname�ZoneInfo.fromnames=���w�w�|�|�C�L�L�$�/��
�$��
���<�<��?��
�
�s�A�
A r rc�X�[U[5(d[S5eURULa[	S5eUR5UR-
S-URS--URS--UR-nX RS:aURSnSnOa[R"URU5nURUS-
UupcUSUS-
nU[SX RUS-
-
5:�nXS-
nU(aURSS	9$U$)
Nr	r	r�r�r�rrr]r�)rsrr�rr$r��EPOCHORDINALr�rtrsr�	r�	�bisect�bisect_rightrrH)r-r�r)�ttir�r�	�tti_prev�shifts        r.r��ZoneInfo.fromutcs$���"�h�'�'��D�E�E�
�9�9�D� ��4�5�5��l�l�n�t�'8�'8�8�E�A��w�w��~�&��y�y�2�~�&��y�y�!�	�
�w�w�q�z�!��'�'�!�*�C��D��%�%�d�g�g�y�9�C�!�G�G�C��E�#�.�M�H��Q�K�#�a�&�(�E��I�a��W�W�S��U�^�)C�D�D�D�
�!�f�����:�:�1�:�%�%��Ir1c�8�UR5UR-
S-URS--URS--UR-nUR
URn[R"XC5nUR[SUS-
5U$)Nr�r�r�rr)r�r�	r�rtrsrr�r�	r�	r�	r�)r-r�r�r)rr�	s      r.�_find_ti�ZoneInfo._find_ti4s����l�l�n�t�'8�'8�8�E�A��w�w��~���y�y�2�~���y�y��	��W�W�R�W�W�
���!�!�"�0���w�w�s�1�c�A�g��'��*�*r1c�&�URUS5$r�r�	r�s  r.r��ZoneInfo.utcoffset>����}�}�R��#�#r1c�L�URUS5nU(a[$[$r))r�	rr5)r-r�r�	s   r.r��ZoneInfo.dstAs!���
�
�b�!�$��
�t�&�$�&r1c�&�URUS5$)Nr]r�	r�s  r.r��ZoneInfo.tznameIr�	r1Nc#�x# �UcURn[RRUS5n[	U5nU UHInUR
5nU(dMURS5(aM4UR5Sv� MK SSS5 g![
a gf=f!,(df   g=f7f)Nzzone.tab�#r])	r�	r�	r�	r�	r�	r3�striprErT)r��zonedir�zone_tabrs�lines     r.�	zonenames�ZoneInfo.zonenamesLs�����?��l�l�G��7�7�<�<���4��	��X��A�����z�z�|���4����� 4� 4��*�*�,�q�/�)���Q���	��	��
�Q�sK�0B:�B�B:�B)�B)�7B)�	B:�
B&�#B:�%B&�&B:�)
B7�3B:c���S=n=n=pE[R=pg[=p�[R=p�S=p�[R=p�S=nn[USS5nUR5H�nUS-
nUR
U5nUR5H�unnUU:aMU[:�aJUS-
nUU4X�4:�aUnUn
UnU[RU-
4U[RU
-
4:aUnUnUn
M`MbU[:aMUS-
nU*nUU4X�4:�aUn	UnUnU[RU-
4U[RU-
4:aUnUnUnM�M�US-
nM� M� X4U4n[SU-5 [S[U54U--5 [SU<SSU
<SU<35 [S	U<SSU<SU
<35 [S
U<SSU<SU<35 [SU	<SSU<SU<35 g)NrrzNumber of zones:       %5dz@Number of transitions: %5d = %d (gaps) + %d (folds) + %d (zeros)zMin gap:         z>16z at z in zMax gap:         zMin fold:        zMax fold:        )
rr�rrrr�	r�	�transitions�printrE)r��
start_year�count�	gap_count�
fold_count�zeros_count�min_gap�min_fold�max_gap�max_fold�min_gap_datetime�max_gap_datetime�min_gap_zone�max_gap_zone�min_fold_datetime�max_fold_datetime�
min_fold_zone�
max_fold_zone�stats_since�zonenamer�r�r�	�trans_countss                        r.�stats�ZoneInfo.stats[s��78�8��8�	�8�J�&�]�]�*��!�!��.6�l�l�:��&*�*��08���<��(,�,�
�
��z�1�a�0���
�
��H��Q�J�E����h�'�B��^�^�-�	��E���#���4�<���N�I��r�{�g�%@�@�"'��'/��+-�(��x�|�|�b�0�1�W�h�l�l�M]�>]�4^�^�"'��'/��+-�(�_��T�\��!�O�J�"�F�E��r�{�h�%B�B�#(��(0�
�,.�)��x�|�|�b�0�1�X�x�|�|�N_�?_�4`�`�#(��(0�
�,.�)�a�
 �1�$�K�3.�(�:"�{�;��
�*�U�2�3�
�P��L�!�#�l�2�4�	5�
�W�>N�P\�]�^�
�W�>N�P\�]�^�
�X�?P�R_�`�a�
�X�?P�R_�`�ar1c#�# �[[URUR55H)uupup4USUS-
n[[US9-U4v� M+ g7f)Nrr)r�	r�r�	r�	�EPOCH_NAIVEr�r-�_�prev_tir�r�	r�	s      r.r�	�ZoneInfo.transitions�sT���%*�3�t�w�w����+@�%A�!�L�Q�'�1��q�E�G�A�J�&�E���1�!5�5��=�=�&B�s�AAc#�# �[[URUR55HLuupup4USUS-
nU[:dM!USUS:XdM/[[U5U*USUS4v� MN g7f)Nrrr])r�	r�r�	r�	r�_utcfromtimestamprr�	s      r.�nondst_folds�ZoneInfo.nondst_folds�su���%*�3�t�w�w����+@�%A�!�L�Q�'�1��q�E�G�A�J�&�E��t�|��1����� 3�'��!�5��v�w�q�z�2�a�5�P�P�&B�s�AA=�
A=�"A=c���SnUR5HbnURU5nUR5H:upgp�URU:dU(aX�:waM$US-
n[	SX4XgX�4-5 M< Md g)Nrrz%3d) %-30s %s %10s %5s -> %s)r�	r�	r�	r�r�	)
r��	same_abbrr�	r�	r�	r�r�r�	�	prev_abbrr�	s
          r.�print_all_nondst_folds�ZoneInfo.print_all_nondst_folds�sw�����
�
��H����h�'�B�.0�o�o�.?�*��9��7�7�Z�'�9��9J����
���4���9�C�D�E�	/@�(r1c#�b# �UR5HupU[:dMX*4v� M g7fr3�r�	r�r-r�r�	s   r.�folds�ZoneInfo.folds�s*����(�(�*�H�A��t�|���i��+�s�/�/c#�`# �UR5HupU[:�dMX4v� M g7fr3r
r
s   r.�gaps�
ZoneInfo.gaps�s(����(�(�*�H�A��t�|��h��+�s�.�
.c#�X# �UR5HupU(aMUv� M g7fr3)r�	r
s   r.�zeros�ZoneInfo.zeros�s$����(�(�*�H�A��5���+�s�*�	*)rr�	r�	r3)r)Fr)rNrhrirjr�	r{rHr�	�classmethodr�	r�	rr�r�	r�r�	r�r�r�r�	r�	r�	r�	r
r
r
r
rkr#r1r.r�	r�	�s���$�H�&��	��	��"��"�H�#��#�
��a��#�-�-�/�L��<+�$�'�$��*��*��-b��-b�`>�
Q��	E��	E� �
�
r1r�	c�p�\rSrSrSrSrSrSrSr\	R"\"\S5S5S	5r
S
rg)�ZoneInfoTesti�zAmerica/New_Yorkc�V�[RS:XaURS5 [RS:XaURS5 [R	UR
5Ulg![a-nURSUR
<SU<35 SnAgSnAff=f)N�vxworksz"Skipping zoneinfo tests on VxWorksrXz"Skipping zoneinfo tests on Windowsz	Skipping z: )rLrGrOr�	r�	r�	r��FileNotFoundError)r-�errs  r.r�ZoneInfoTest.setUp�sz���<�<�9�$��M�M�>�?��<�<�7�"��M�M�>�?�	D��'�'��
�
�6�D�G�� �	D��M�M�t�}�}�c�B�C�C��	D�s�$A1�1
B(�;#B#�#B(c���URURSS9UR[UR54URSS9UR[UR545 g)Nr)r,rHr��idr)r-r�r�s   r.�assertEquivDatetimes�!ZoneInfoTest.assertEquivDatetimes�sR�����!�)�)�4�)�0�!�&�&�"�Q�X�X�,�G��)�)�4�)�0�!�&�&�"�Q�X�X�,�G�	Ir1c	�8�URnUR5GHyup#SU-SU-U[R-
4H�nX$-nUR	URUS95nUR
URS5 UR[RS9RU5nURXv5 UR5nUR
URSS9XX-5 URUR[R5UR[RS95 M� [R*U4HCnX$-nURUS9nUR	U5nUR
URS5 ME GM| g)Nrr�rr)
r�r
rrr�rHr,r�rr5r�r
r��	r-r�r�r�	r��udtr	�adtr�s	         r.�
test_folds�ZoneInfoTest.test_folds�sM��
�W�W������I�B��%�i��u��e�i�6J�6J�.J�K���f���j�j����B��!7�8��� � ����1�-��k�k����k�6�A�A�"�E���)�)�#�3��M�M�O�	�� � ����D��!9�3�?�K��)�)�#�.�.����*F�*-�+�+�X�\�\�+�*J�L�L�!�+�+�+�U�3���f���k�k��k�,���j�j��o��� � ����1�-�	4�$r1c	��URnUR5GH�up#SU-SU-U[R-
4GH0nX$-nUR	US9nURU5nUR
URS5 UR	[RS9RU5nURXv5 UR5nUR
UR	SS9UR	SS9U-5 URUR	US95U-
U-nURUR	SS9R5UR	SS9R5SU-5 GM3 [R*U4HAnX$-nURUR	US95nUR
URS5 MC GM� g)Nrr�rrr�zAt %s.)r�r
rrrHr�r,r�rr5r�r
r��
assertLessr
s	         r.�	test_gaps�ZoneInfoTest.test_gaps�s���
�W�W������I�B��%�i��u��e�i�6J�6J�.J�K���f���k�k��k�,���j�j��o��� � ����1�-��k�k����k�6�A�A�"�E���)�)�#�3��M�M�O�	�� � ����D��!9�3�;�;�d�;�;S�V_�;_�`��j�j����2��!6�7�%�?�!�C���������� 3� =� =� ?� #����� 3� =� =� ?� (�3��0�L�!�+�+�+�U�3���f���j�j����B��!7�8��� � ����1�-�4�!#r1�tzsetz"time module has no attribute tzsetc	���SUR;d URRS5(aURSUR-5 URn[R
R
S5nUR[R
S'[R"5 UR5GH�up4URS:�a GO�U[SSS5-
[-nU[-nSS	S
SUS-
US-US
-4HrnXW-n[R"U5n	[R"X�5RSS9n
URX�5 U	R!5nUR#X�5 Mt US:�dM�[R"U5US--
nUR!5n
URSS9R!5nUR#X�US--5 UR#X�US--
5 UR%[&R(5nURSS9R%[&R(5nUR#UU[+SU5-5 GM� Uc[R
S	OU[R
S'[R"5 g!Uc[R
S	OU[R
S'[R"5 f=f)N�Riyadh8zright/zSkipping %s�TZi�r ri���i��r@ri@i�2rr]r�)r�	rErOr�r�	�environ�getrwr&
r�	r�rr�	rrHr
r)r,r�rr5r)r-r�r)
r
r�	rk	rrr�r�sdt�tzdtr�r��ts0�ts1�utc0�utc1s                 r.�test_system_transitions�$ZoneInfoTest.test_system_transitions�sW��
����&��
�
�(�(��2�2��M�M�-�$�-�-�7�8�
�W�W��
�Z�Z�^�^�D�
!���=�=��
�
�4��!	��K�K�M� �n�n�.�
���8�8�t�#���H�T�1�a�0�0�S�8���c�\��$�h��A��q�&�"�y�.�"�y�.�B�A���A�"�0�0��3�C�#�1�1�!�8�@�@��@�M�D��-�-�c�8�����B��$�$�Q�+�B���6�!�/�/��3�e�a�i�?�B��,�,�.�C��*�*�!�*�,�6�6�8�C��$�$�S�r�A�v�+�6��$�$�S�r�A�v�+�6��=�=����6�D��:�:�1�:�-�8�8����F�D��$�$�T�4�)�A�r�2B�+B�C�3/�6�z��J�J�t�$�#%��
�
�4� ��K�K�M��	�z��J�J�t�$�#%��
�
�4� ��K�K�M�s�C*J*�C&J*�*?K)r�N)rNrhrirjr�	rr
r 
r$
rE�
skipUnlessr�rwr2
rkr#r1r.r
r
�sI��!�H�D�I�.�,.�.�����w��!E��.��.r1r
c�(^�\rSrSrU4SjrSrU=r$)�ZoneInfoCompleteTesti&c�6>�/n[S5(aw[R5H_n[SU-[405nX#l[
U5H2nURS5(dMURU"U55 M4 Ma [TU])U5 g)N�tzdatazZoneInfoTest[%s]�test_)rr�	r�	r�r
r�	r:rEr=�superr{)r-r^rH�Test�methodrMs     �r.r{�ZoneInfoCompleteTest.__init__'s������x�(�(� �*�*�,���.��5����K�� $�
�!�$�i�F��(�(��1�1����T�&�\�2�(�-�	����r1r#)rNrhrirjr{rk�
__classcell__)rMs@r.r6
r6
&s
���	 �	 r1r6
c��\rSrSrSrSrg)�IranTesti3zAsia/Tehranr#N)rNrhrirjr�	rkr#r1r.r@
r@
3s���Hr1r@
zneed _testcapi modulec��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrg)�CapiTesti7c��URRRS5(aURS5 [R
"5 g�N�PurezNot relevant in pure Python)rMrNrFrO�	_testcapi�test_datetime_capir6s r.r�CapiTest.setUp9s8���>�>�"�"�+�+�F�3�3��M�M�7�8�	�$�$�&r1c���SHQn[R"U5nURUS9 URU[R
5 SSS5 MS g!,(df   Me=f)N�TF)�	use_macro)rF
�get_timezone_utc_capirkr4rr5)r-rK
�capi_utcs   r.�
test_utc_capi�CapiTest.test_utc_capiBsM��&�I� �6�6�y�A�H����	��2��
�
�h����5�3�2�'�3�2�s�!A�
A(	c
�d�[R"5upn[[SS9S5n[[SS95nSX4SX$4SX54/nUH�upxn	UR	US9 URX�5 [
SS	S
US9n
[
SS	S
U	S9nURX�5 URU
R5UR55 [
SS	S
S[RS9nURU
R[R5U5 SSS5 M� g!,(df   M�=f)
Nr?r�r��est_capi�	est_macro�est_macro_nn)rHr�r]r_rrZ)
rF
�make_timezones_capirrrkr,rr�r5r�)
r-rQ
rR
rS
�	exp_named�exp_unnamed�casesrH�tz_act�tz_expr�r�r�s
             r.�test_timezones_capi�CapiTest.test_timezones_capiIs��,5�,I�,I�,K�)��\��Y�R�0�%�8�	��y�r�2�3����-�
�)�/�
�\�7�
��%*� �D�&����4��(�� � ��0��t�Q��&�9���t�Q��&�9��� � ��*�� � �����s�z�z�|�<�!�$��1�a����E��� � �������!=�v�F�)�(�%*�(�(�s
� B3D � 
D/	c��"SS[5n[U4H�nSH�nU"U6nURX#S9 [R"U5upVnUR	XTR
5 UR	XdR5 UR	XtR5 SSS5 M� M� g!,(df   M�=f)Nc��\rSrSrSrg)�=CapiTest.test_PyDateTime_DELTA_GET.<locals>.TimeDeltaSubclassidr#Nr/r#r1r.�TimeDeltaSubclassr^
drQr1r_
)�r��7韆r`
�r�r)rrkrF
�PyDateTime_DELTA_GETr,r�rr)r-r_
�klassr�r�r�rrs        r.�test_PyDateTime_DELTA_GET�"CapiTest.test_PyDateTime_DELTA_GETcs���	�	�	� �!2�3�E�:���4�L���\�\�e�\�7�2;�2P�2P�QR�2S�/�D�<��$�$�T�6�6�2��$�$�W�i�i�8��$�$�\�>�>�B�8�7�;�4�8�7���A+B0�0
B?c��"SS[5n[U4H�nSH�nU"U6nURX#S9 [R"U5upVnUR	XTR
5 UR	XdR5 UR	XtR5 SSS5 M� M� g!,(df   M�=f)Nc��\rSrSrSrg)�2CapiTest.test_PyDateTime_GET.<locals>.DateSubclassirr#Nr/r#r1r.rPrk
rrQr1rP))r�rr])rr]r�rc
)rrkrF
�PyDateTime_GETr,r�r�r%)r-rPre
r�r�r�r�r%s        r.�test_PyDateTime_GET�CapiTest.test_PyDateTime_GETqs���	�4�	��L�)�E�5���4�L���\�\�e�\�7�'0�'?�'?��'B�$�D���$�$�T�6�6�2��$�$�U�G�G�4��$�$�S�%�%�0�8�7�6�*�8�7�rh
c
�"�"SS[5n[U4H�nSSSSSSS	S
[R44H�nU"U6nURX#S9 [R
"U5upVpxn	UR
XTR5 UR
XdR5 UR
XtR5 UR
X�R5 URX�R5 SSS5 M� M� g!,(df   M�=f)Nc��\rSrSrSrg)�;CapiTest.test_PyDateTime_DATE_GET.<locals>.DateTimeSubclassi�r#Nr/r#r1r.rgrq
�rQr1rg)��r�r�r6r�ra
rb
rr
r�r�r6r�ra
rb
rc
)
rrr5rkrF
�PyDateTime_DATE_GETr,r�rtrsr�r4r)
r-rgre
r�r�r�rtrsr�rs
          r.�test_PyDateTime_DATE_GET�!CapiTest.test_PyDateTime_DATE_GETs���	�x�	�� 0�1�E�9���2�r�2�r�5�"�,�,�(�)���4�L���\�\�e�\�7�,5�,I�,I�!�,L�>�D�&�v��$�$�T�6�6�2��$�$�V�X�X�6��$�$�V�X�X�6��$�$�[�-�-�@��M�M�&�(�(�3�8�7�	)�2�
8�7�s
�B"C?�?
Dc��"SS[5n[U4H�nSSSSS[R44H�nU"U6nURX#S9 [R
"U5upVpxn	UR
XTR5 UR
XdR5 UR
XtR5 UR
X�R5 URX�R5 SSS5 M� M� g!,(df   M�=f)	Nc��\rSrSrSrg)�7CapiTest.test_PyDateTime_TIME_GET.<locals>.TimeSubclassi�r#Nr/r#r1r.r�rx
�rQr1r�)r�rhrvr!r�rhrvr!rc
)
rrr5rkrF
�PyDateTime_TIME_GETr,r�rtrsr�r4r)
r-r�re
r�r�r�rtrsr�rs
          r.�test_PyDateTime_TIME_GET�!CapiTest.test_PyDateTime_TIME_GET�s���	�4�	��L�)�E�)��b�"�b�(�,�,�7�9���4�L���\�\�e�\�7�.7�.K�.K�A�.N�>�D�&�v��$�$�T�6�6�2��$�$�V�X�X�6��$�$�V�X�X�6��$�$�[�-�-�@��M�M�&�(�(�3�8�7�9�*�8�7�s
�	B"C<�<
Dc���[R"5upnURSS9 URU[R
5 SSS5 URSS9 URU[R
5 SSS5 URSS9 UR
U[R
5 [	[SS9S5nURX45 [SS	S
US9n[SS	S
US9nURXV5 URUR5UR55 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   g=f)Nr0
)�testnamer1
�non_utcrr�r4r�r]r_r)rF
�get_timezones_offset_zerorkr4rr5r"rr,rr�)r-r0
r1
r~
�non_utc_expr�r�s       r.�test_timezones_offset_zero�#CapiTest.test_timezones_offset_zero�s��'�A�A�C���G�
�\�\�6�\�
*��M�M�$����-�+��\�\�6�\�
*��M�M�$����-�+��\�\�9�\�
-����W�h�l�l�3�"�9�1�#5�r�:�K����W�2��4��A�g�6�C��4��A�k�:�C����S�&����S�Z�Z�\�3�:�:�<�8�.�
-�
+�
*��+�
*��.�
-�s$�!D=� !E�BE�=
E�
E�
E-c
��"SS[5n[SSS5nU"SSS5n[SSS5n[RnUR	U"U55 UR	U"U55 UR	U"U55 UR	U"US55 URU"US55 URU"US55 [
5[5SS[S5[R[SS5/nUH;nS	H2nURXxS
9 URU"Xx55 SSS5 M4 M= g!,(df   MJ=f)Nc��\rSrSrSrg)�.CapiTest.test_check_date.<locals>.DateSubclassi�r#Nr/r#r1r.rPr�
�rQr1rP��rT�
2011-01-01r�rrJ
��arg�exact)
rrrF
�datetime_check_dater�r�r:r�rrr5rrk)	r-rPr��dsr��is_dater�r�
r�
s	         r.�test_check_date�CapiTest.test_check_date�s%��	�4�	�
��q�!���
�$��1�
%��
�d�A�q�
!���/�/��	
�����
�#�������$�������$������4�(�)�	
�����T�*�+������T�*�+������L��!��h�l�l�D��R�L�:���C�&���\�\�c�\�7��$�$�W�S�%8�9�8�7�'��7�7�s�$E
�
Ec�D�"SS[5n[SS5nU"SS5n[RnURU"U55 URU"U55 URU"US55 UR	U"US55 [5[
5SS[S5[R[SSS5/nUH;nS	H2nURXgS
9 UR	U"Xg55 SSS5 M4 M= g!,(df   MJ=f)Nc��\rSrSrSrg)�.CapiTest.test_check_time.<locals>.TimeSubclassi�r#Nr/r#r1r.r�r�
�rQr1r�r�rhTrr�
r�
rJ
r�
)rrF
�datetime_check_timer�r�r:r�rrr5rrk)r-r�r�r�is_timer�r�
r�
s        r.�test_check_time�CapiTest.test_check_time�s���	�4�	�
��R�L��
�"�b�
!���/�/��	
�����
�#�������$������4�(�)�	
�����T�*�+������L��!��h�l�l�D��q�!�,<�>���C�&���\�\�c�\�7��$�$�W�S�%8�9�8�7�'��7�7���'D�
Dc�P�"SS[5n[SSSSS5nU"SSSSS5n[RnURU"U55 URU"U55 URU"US55 UR	U"US55 [5[
5SS[S5[R[SSS5/nUH;nS	H2nURXgS
9 UR	U"Xg55 SSS5 M4 M= g!,(df   MJ=f)Nc��\rSrSrSrg)�6CapiTest.test_check_datetime.<locals>.DateTimeSubclassi�r#Nr/r#r1r.rgr�
�rQr1rgr�
rr�rhTr�
rJ
r�
)rrF
�datetime_check_datetimer�r�r:r�rrr5rrk)r-rgr�r�is_datetimer�r�
r�
s        r.�test_check_datetime�CapiTest.test_check_datetime�s��	�x�	��d�A�q�"�b�
)���t�Q��2�r�2���7�7��	
����B��(�����C�(�)�����B��-�.�	
����S�$�/�0������L��!��h�l�l�D��q�!�,<�>���C�&���\�\�c�\�7��$�$�[��%<�=�8�7�'��7�7�s�-D�
D%c�D�"SS[5n[S5nU"S5n[RnURU"U55 URU"U55 URU"US55 UR	U"US55 [5[
5SS[R[SSS5[SSS5/nUH;nSH2nURXgS9 UR	U"Xg55 SSS5 M4 M= g!,(df   MJ=f)	Nc��\rSrSrSrg)�4CapiTest.test_check_delta.<locals>.TimeDeltaSubclassir#Nr/r#r1r.r_
r�
rQr1r_
rTr�
r�
rJ
r�
)rrF
�datetime_check_deltar�r�r:r�rr5rrrk)r-r_
r��tds�is_timedeltar�r�
r�
s        r.�test_check_delta�CapiTest.test_check_delta
s���	�	�	��q�\����"�� �5�5��	
����R�(�)�����S�)�*�����R��.�/�	
����c�4�0�1������L����d�4��A�.���q�!�0D�F���C�&���\�\�c�\�7��$�$�\�#�%=�>�8�7�'��7�7�r�
c
��"SS[5n[5nU"5n[[SS95n[RnURU"U55 URU"U55 URU"U55 URU"US55 UR
U"US55 UR
U"US55 [5[5SS[SSS5[SSS5/nUH;nS	H2nURXxS
9 UR
U"Xx55 SSS5 M4 M= g!,(df   MJ=f)Nc��\rSrSrSrg)�2CapiTest.test_check_tzinfo.<locals>.TZInfoSubclassi%r#Nr/r#r1r.�TZInfoSubclassr�
%rQr1r�
r?r�Trr�
r�
rJ
r�
)rrrrF
�datetime_check_tzinfor�r�r:r�rrrk)	r-r�
r��tzisr��	is_tzinfor�r�
r�
s	         r.�test_check_tzinfo�CapiTest.test_check_tzinfo$s��	�V�	��h�����
�i�b�)�
*���3�3�	�	
���	�#��'����	�"�
�&����	�$��(����	�#�t�,�-�	
����2�t�,�-�����4��.�/������L��T�1�a� �(�4��A�"6�8���C�&���\�\�c�\�7��$�$�Y�s�%:�;�8�7�'��7�7�s�E�
Ec��[SSS5nSHcnURUS9 [R"UURUR
UR5nURX15 SSS5 Me g!,(df   Mw=f)Nrr
r�r��FT��macro)rrkrF
�get_date_fromdater�r�r%r,�r-�exp_dater�
�
c_api_dates    r.�test_date_from_date�CapiTest.test_date_from_dateAso����a��$�� �E����E��*�&�8�8���M�M��N�N��L�L�	"�
�� � ��6�+�*�!�*�*���A	A8�8
B	c�t�[SSSSSSS5nSH�nURUS	9 [R"UURUR
URURURURUR5nURX15 SSS5 M� g!,(df   M�=f)
Nrr
r�r�r6r�ra
rb
r�
r�
)rrkrF
�get_datetime_fromdateandtimer�r�r%r�rtrsr�r,r�
s    r.�test_datetime_from_dateandtime�'CapiTest.test_datetime_from_dateandtimeNs����D�!�R��R��U�;�� �E����E��*�&�C�C���M�M��N�N��L�L��M�M��O�O��O�O��(�(�*�
�� � ��6�+�*�!�*�*�s�A5B(�(
B7	c���[SSSSSSS5nSH�nS	H�nURX2S
9 [R"UURUR
URURURURURUR5	nURXA5 URURUR5 SSS5 M� M� g!,(df   M�=f)Nrr
r�r�r6r�ra
rb
�rrr�
�r�
r�)
rrkrF
�#get_datetime_fromdateandtimeandfoldr�r�r%r�rtrsr�r�r,)r-r�
r�r�
r�
s     r.�%test_datetime_from_dateandtimeandfold�.CapiTest.test_datetime_from_dateandtimeandfold_s����D�!�R��R��U�;���D�$���\�\��\�9�!*�!N�!N�� �
�
� ��� ��� �
�
� ��� ��� �,�,� �
�
�	"'�J��$�$�Z�:��$�$�Z�_�_�h�m�m�D�:�9�%��9�9�s�B&C"�"
C1c	�,�[SSSS5nSHnnURUS9 [R"UURUR
URUR5nURX15 SSS5 Mp g!,(df   M�=f)Nr6r�ra
rb
r�
r�
)	rrkrF
�get_time_fromtimer�rtrsr�r,)r-�exp_timer�
�
c_api_times    r.�test_time_from_time�CapiTest.test_time_from_timessz����B��E�*�� �E����E��*�&�8�8���M�M��O�O��O�O��(�(�*�
�� � ��6�+�*�!�*�*�s�AB�
B	c��[SSSS5nSH�nSH�nURX2S9 [R"UURUR
URURUR5nURXA5 URURUR5 SSS5 M� M� g!,(df   M�=f)Nr6r�ra
rb
r�
r�
r�
)
rrkrF
�get_time_fromtimeandfoldr�rtrsr�r�r,)r-r�
r�r�
r�
s     r.�test_time_from_timeandfold�#CapiTest.test_time_from_timeandfold�s�����B��E�*���D�$���\�\��\�9�!*�!C�!C�� �
�
� ��� ��� �,�,� �
�
�
"'�J��$�$�Z�:��$�$�Z�_�_�h�m�m�D�:�9�%��9�9�s�BB>�>
C
c��[SSS5nSHcnURUS9 [R"UURUR
UR5nURX15 SSS5 Me g!,(df   Mw=f)Nr�ra
rb
r�
r�
)rrkrF
�get_delta_fromdsur�rrr,)r-�	exp_deltar�
�c_api_deltas    r.�test_delta_from_dsu�CapiTest.test_delta_from_dsu�ss���b�"�e�,�	� �E����E��*�'�9�9���N�N��%�%��*�*�	,��� � ��8�+�*�!�*�*�r�
c
��[SSS5R5nSHXnURUS9 [R"[U5U5nUR
U[SSS55 SSS5 MZ g!,(df   Ml=f)N��r_r�r�
r�
)rr)rkrF
�get_date_fromtimestamprtr,r)r-rr�
r�s    r.�test_date_from_timestamp�!CapiTest.test_date_from_timestamp�so��
�d�A�r�
"�
,�
,�
.�� �E����E��*��4�4�S��W�e�D��� � ��D��q�"�$5�6�+�*�!�*�*�s�>A;�;
B
	c�~�SSS[[SS95S4SSS	[[SS95S4/n[RnUHgnS
H^nUR	X4S9 UupVn[USU06n[
UR55n	U"X�Xt5n
URX�5 SSS5 M` Mi g!,(df   Mv=f)
N)�r�
r_r�NF)r�
NTr�
rr�T)�r�
r_r�r�rhNF)r�
NTr�
r�
)�caser�
r)	rrrF
�get_datetime_fromtimestamprkrrtr)r,)r-rW
rer�
r�
�dtupr�usetz�dt_origrrJs           r.�test_datetime_from_timestamp�%CapiTest.test_datetime_from_timestamp�s���(�'�
�H�Y�Q�%7�8�$�?�0�/�
"�H�Y�Q�-?�$@�$�G�

��#�=�=���D�$���\�\�t�\�9�*.�'�D�%�&��<�V�<�G��W�.�.�0�1�B�*�2�u�D�E��$�$�W�4�:�9�%��9�9�s
�AB-�-
B<c���[RS:XaSnOSn[R"S[SLSUS35n[c)[
R"U5nURUS5 gSHfnURU5 [R"U5Rn[
R"U40UD6nURUS5 SSS5 Mh g!,(df   Mz=f)	N�ios�AppleFrameworkLoader�ExtensionFileLoaderz
            if a_:
                import _testcapi as module
                module.test_datetime_capi()
            else:
                import importlib.machinery
                import importlib.util
                fullname = '_testcapi_datetime'
                origin = importlib.util.find_spec('_testcapi').origin
                loader = importlib.machinery.a�(fullname, origin)
                spec = importlib.util.spec_from_loader(fullname, loader)
                module = importlib.util.module_from_spec(spec)
                spec.loader.exec_module(module)

            def run(type_checker, obj):
                if not type_checker(obj, True):
                    raise TypeError(f'{type(obj)} is not C API type')

            import _datetime
            run(module.datetime_check_date,     _datetime.date.today())
            run(module.datetime_check_datetime, _datetime.datetime.now())
            run(module.datetime_check_time,     _datetime.time(12, 30))
            run(module.datetime_check_delta,    _datetime.timedelta(1))
            run(module.datetime_check_tzinfo,   _datetime.tzinfo())
        r)�isolated�legacy)rLrG�textwrap�dedent�
_interpretersr
�run_in_subinterpr,rk�
new_config�__dict__�run_in_subinterp_with_config)r-�extension_loader�script�retrH�configs      r.�test_type_check_in_subinterp�%CapiTest.test_type_check_in_subinterp�s����<�<�5� �5��4�����&���%�&�'.�/?�-?�@	�"�
��2� ��*�*�6�2�C����S�!�$�.���\�\�$�'�*�5�5�d�;�D�D�F�!�>�>�v�P��P�C��$�$�S�!�,�(�'�/�'�'�s
�A
C�
C)	r#N)rNrhrirjrrN
rZ
rf
rm
rt
rz
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
rkr#r1r.rB
rB
7st��'�6�G�4C�1�4�&4�$9�,:�8:�4>�4?�4<�:7�7�"E�(7�E�"9�7�5�,)-r1rB
c�D�\rSrSrSr\RS5rSrSr	g)�ExtensionModuleTestsi�c�|�URRRS5(aURS5 ggrD
)rMrNrFrOr6s r.r�ExtensionModuleTests.setUp�s/���>�>�"�"�+�+�F�3�3��M�M�7�8�4r1c�d�URS5 [R"S5n[R"SU5 SSS5 URS5 [R"S5n[R"SU5 SSS5 g!,(df   NV=f!,(df   g=f)N�simplez�
                import datetime
                from _ast import Tuple
                f = lambda: None
                Tuple.dims = property(f, f)

                class tzutc(datetime.tzinfo):
                    pass
                �-c�complexa�
                import asyncio
                import datetime
                from typing import Type

                class tzutc(datetime.tzinfo):
                    pass
                _EPOCHTZ = datetime.datetime(1970, 1, 1, tzinfo=tzutc())

                class FakeDateMeta(type):
                    def __instancecheck__(self, obj):
                        return True
                class FakeDate(datetime.date, metaclass=FakeDateMeta):
                    pass
                def pickle_fake_date(datetime_) -> Type[FakeDate]:
                    # A pickle function for FakeDate
                    return FakeDate
                )rkr�
r�
r�assert_python_ok�r-r�
s  r.�test_gh_120161�#ExtensionModuleTests.test_gh_120161�s���
�\�\�(�
#��_�_�&��F�
�*�*�4��8�$��\�\�)�
$��_�_�&��F�$
�*�*�4��8�'%�
$�$�
#��%�
$�s�.B�.B!�
B�!
B/c�^�[R"S5n[R"SU5 g)Na}
            import sys
            for i in range(5):
                import _datetime
                assert _datetime.date.max > _datetime.date.min
                assert _datetime.time.max > _datetime.time.min
                assert _datetime.datetime.max > _datetime.datetime.min
                assert _datetime.timedelta.max > _datetime.timedelta.min
                assert _datetime.date.__dict__["min"] is _datetime.date.min
                assert _datetime.date.__dict__["max"] is _datetime.date.max
                assert _datetime.date.__dict__["resolution"] is _datetime.date.resolution
                assert _datetime.time.__dict__["min"] is _datetime.time.min
                assert _datetime.time.__dict__["max"] is _datetime.time.max
                assert _datetime.time.__dict__["resolution"] is _datetime.time.resolution
                assert _datetime.datetime.__dict__["min"] is _datetime.datetime.min
                assert _datetime.datetime.__dict__["max"] is _datetime.datetime.max
                assert _datetime.datetime.__dict__["resolution"] is _datetime.datetime.resolution
                assert _datetime.timedelta.__dict__["min"] is _datetime.timedelta.min
                assert _datetime.timedelta.__dict__["max"] is _datetime.timedelta.max
                assert _datetime.timedelta.__dict__["resolution"] is _datetime.timedelta.resolution
                assert _datetime.timezone.__dict__["min"] is _datetime.timezone.min
                assert _datetime.timezone.__dict__["max"] is _datetime.timezone.max
                assert _datetime.timezone.__dict__["utc"] is _datetime.timezone.utc
                assert isinstance(_datetime.timezone.min, _datetime.tzinfo)
                assert isinstance(_datetime.timezone.max, _datetime.tzinfo)
                assert isinstance(_datetime.timezone.utc, _datetime.tzinfo)
                del sys.modules['_datetime']
            r�
)r�
r�
rr�
rs  r.�test_update_type_cache�+ExtensionModuleTests.test_update_type_caches'�����"���8	�&�&�t�V�4r1r#N)
rNrhrirjrr
�cpython_onlyrrrkr#r1r.r�
r�
�s'��9�
��� 9�� 9�D5r1r�
c�8�UR[55 U$r3)�addTestr6
)�loader�standard_tests�patterns   r.�
load_testsr4s�����/�1�2��r1�__main__)yr�	rYr	rwrmr�	rKr�r9r�	rLr�
rEr�r�operatorrrrrrr	r
rr�testr
�test.supportrrrrrrrr+rrrrrrrrrwrF
�ImportErrorr�
�ModuleNotFoundErrorrnrc�	_datetimer��_loadsr�r�r	r�r�	rr�r*r��TestCaser'rmr�r�r�r�r�rtr�r�r�r�r�r�rJrOrQr�r,r�rhrrqr5r�r�r�rjrGr�r�r�r�r�r�r�r
	r	r"	r#	r$	r%	r'	r@	r�	r�	r�	r
�	TestSuiter6
r@
rFrB
r�
rrN�main)r�s0r.�<module>rs���
���	��	�
�
�	�
�
�����C�C�C��J�J�7�"�%������#������
�����
���f�m�m�,�� %�V�%<�%<�q�%@�A�C�A�e��6�5�)�A�C���t�Q��1�a�(���$��r�2�r�
*�
��E�l���E�l��5)��"�"�5)�v �&� �&<�;�<�
E�$8�E��f��^/��"�"�^/�BD�8�$�$�D�J.7�.7�fv�+�X�->�->�v�x)�8�$�$�)�B�4��U;�&��(9�(9�U;�v�x��e7�8�e7�P+
�<�
��4��{9�&��(9�(9�{9�@]4�]4�BcE��:�x�'8�'8�cE�P@C�\�:�x�/@�/@�@C�H���|��	�1�	���q����Q����A�q�!�Q���

�!�R��Q�	��(��(�T�b�)�e�U�3���b�)�e�U�3���b�*�e�U�3���b�)�e�U�3���q�%��#���v�y�!�,��}�h�/�/�}�FOO�x� � �OO�n9�f�9�D1�'�1�f
��J���6����J���6����K���6�	���J���6��/�&�/�dOC�(�"3�"3�OC�b��1�o���
c�v�c�Lo�8�$�$�o�d
 �8�-�-�
 ��|��
����d�"�$;�<�o-�x� � �o-�=�o-�d
G5�8�,�,�G5�T�
�z���M�M�O���cX���I������M������K������I���CsN�&P�+P �4P/�9P>�,Q
�P�P� P,�+P,�/P;�:P;�>Q
�	Q


Youez - 2016 - github.com/yon3zu
LinuXploit