Ë
    ­Œjf4  ã                  ó:  — d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dlmZ d dlZd dl	Z	ddl
mZ ddlmZ dd	lmZ d
dl
mZ d
dl
mZ d
dlmZ d
dlmZ ej(                  rd
dlmZ d
dlmZ d
dlmZ  G d„ d«      Z e«       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Z d$d„Z! G d„ d«      Z"d%d„Z#ejH                  	 	 	 	 d&	 	 	 	 	 	 	 	 	 d'd„«       Z%ejH                  	 	 	 	 d(	 	 	 	 	 	 	 	 	 d)d„«       Z%	 	 	 	 	 	 d*d„Z%d$d„Z& G d „ d!«      Z' G d"„ d#«      Z(y)+é    )ÚannotationsN)ÚAny)ÚDict)ÚOptionalé   )Úconfig)Ú	decorator)Ú
gc_collecté   )Úevent)Úpool)Ú
await_only)ÚLiteral)ÚEngine)ÚURL)ÚAsyncEnginec                  ór   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚConnectionKillerc                ó�   — t        j                  «       | _        t        j                  t
        «      | _        t        «       | _        y ©N)ÚweakrefÚWeakKeyDictionaryÚ
proxy_refsÚcollectionsÚdefaultdictÚsetÚtesting_enginesÚdbapi_connections©Úselfs    úd/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/sqlalchemy/testing/engines.pyÚ__init__zConnectionKiller.__init__%   s/   € Ü!×3Ñ3Ó5ˆŒÜ*×6Ñ6´sÓ;ˆÔÜ!$£ˆÕó    c                ó  — t        j                  |d| j                  «       t        j                  |d| j                  «       t        j                  |d| j                  «       t        j                  |d| j                  «       y )NÚcheckoutÚcheckinÚcloseÚclose_detached)r   ÚlistenÚ	_add_connÚ_remove_conn)r    r   s     r!   Úadd_poolzConnectionKiller.add_pool*   sY   € Ü�‰�T˜: t§~¡~Ô6Ü�‰�T˜9 d×&7Ñ&7Ô8Ü�‰�T˜7 D×$5Ñ$5Ô6Ü�‰�TÐ+¨T×->Ñ->Õ?r#   c                óX   — | j                   j                  |«       d| j                  |<   y )NT)r   Úaddr   )r    Ú	dbapi_conÚ
con_recordÚ	con_proxys       r!   r*   zConnectionKiller._add_conn2   s$   € Ø×Ñ×"Ñ" 9Ô-Ø%)ˆ�‰˜	Ò"r#   c                ó:   — | j                   j                  |«       y r   )r   Údiscard)r    Ú
dbapi_connÚargs      r!   r+   zConnectionKiller._remove_conn6   s   € Ø×Ñ×&Ñ& zÕ2r#   c                ó‚   — | j                  |j                  «       |dv sJ ‚| j                  |   j                  |«       y )N)ÚclassÚglobalÚfunctionÚfixture)r,   r   r   r.   )r    ÚengineÚscopes      r!   Ú
add_enginezConnectionKiller.add_engine9   s:   € Ø�‰�f—k‘kÔ"àÐBÑBÐBÐBØ×Ñ˜UÑ#×'Ñ'¨Õ/r#   c                óp   — 	  |«        y # t         $ r"}t        j                  d|z  «       Y d }~y d }~ww xY w)Nz5testing_reaper couldn't rollback/close connection: %s©Ú	ExceptionÚwarningsÚwarn©r    ÚfnÚes      r!   Ú_safezConnectionKiller._safe?   s5   € ð	Ù�DøÜò 	Ü�M‰MØGÈ!ÑK÷ñ ûð	úó   ‚
 Š	5“0°5c                óŽ   — t        | j                  «      D ]-  }|€Œ|j                  sŒ| j                  |j                  «       Œ/ y r   )Úlistr   Úis_validrF   Úrollback©r    Úrecs     r!   Úrollback_allzConnectionKiller.rollback_allG   s0   € Ü˜Ÿ™Ö(ˆCØ‰ 3§<£<Ø—
‘
˜3Ÿ<™<Õ(ñ )r#   c                ód  — t        | j                  «      D ]R  }|€Œ|j                  sŒ| j                  j	                  |j
                  «       | j                  |j                  «       ŒT | j                  D ]  }| j                  |j                  «       Œ | j                  j                  «        y r   )
rI   r   rJ   r   r3   Údbapi_connectionrF   Ú_checkinrK   Úclear)r    rM   Úcons      r!   Úcheckin_allzConnectionKiller.checkin_allL   s€   € ô ˜Ÿ™Ö(ˆCØ‰ 3§<£<Ø×&Ñ&×.Ñ.¨s×/CÑ/CÔDØ—
‘
˜3Ÿ<™<Õ(ð )ð ×)Ô)ˆCØ�J‰J�s—|‘|Õ$ð *à×Ñ×$Ñ$Õ&r#   c                ó$   — | j                  «        y r   )rT   r   s    r!   Ú	close_allzConnectionKiller.close_all[   s   € Ø×ÑÕr#   c                ó~   — t         j                  sy ddlm} |j	                  |j
                  j                  |«       y ©Nr   )Ú	provision)r   Úbootstrapped_as_sqlalchemyÚ rY   Úprepare_for_drop_tablesr;   Úurl)r    Ú
connectionrY   s      r!   r\   z(ConnectionKiller.prepare_for_drop_tables^   s-   € ä×0Ò0Øåà×)Ñ)¨*×*;Ñ*;×*?Ñ*?ÀÕLr#   c                ó¤  — | j                   |   }t        |«      D ]£  }t        | j                  «      D ]S  }|€Œ|j                  sŒ|j                  €Œ |j                  |j
                  u sŒ9| j                  |j                  «       ŒU t        |d«      rt        |j                  «       «       Œ”|j                  «        Œ¥ |j                  «        y )NÚsync_engine)r   rI   r   rJ   Ú_poolr   rF   rQ   Úhasattrr   ÚdisposerR   )r    r<   ÚengrM   Ú	proxy_refs        r!   Ú_drop_testing_enginesz&ConnectionKiller._drop_testing_enginesg   s›   € Ø×"Ñ" 5Ñ)ˆÜ˜–9ˆCÜ! $§/¡/Ö2�	ØÑ(¨Y×-?Ó-?à!Ÿ™Ñ3Ø%ŸO™O¨s¯x©xÒ7àŸ
™
 9×#5Ñ#5Õ6ð 3ô �s˜MÔ*Ü˜3Ÿ;™;›=Õ)à—‘•ð ð 	�	‰	�r#   c                ó&   — | j                  d«       y )Nr9   )rf   r   s    r!   Ú
after_testzConnectionKiller.after_testx   s   € Ø×"Ñ" :Õ.r#   c                ó2  — t         j                  sy |j                  j                  ry | j	                  «        ddlm} t         j                  j                  «       5 }|j                  |j                  j                  |«       d d d «       y # 1 sw Y   y xY wrX   )r   rZ   Ú	__class__Ú"__leave_connections_for_teardown__rT   r[   rY   ÚdbÚconnectr\   r;   r]   )r    ÚtestrY   Úconns       r!   Úafter_test_outside_fixturesz,ConnectionKiller.after_test_outside_fixtures{   se   € ä×0Ò0Øà�>‰>×<Ò<Øà×ÑÔõ
 	 ä�Y‰Y×ÑÔ  DØ×-Ñ-¨d¯k©k¯o©o¸tÔD÷ !× Ñ ús   Á'BÂBc                óh   — | j                  «        | j                  d«       | j                  d«       y )Nr9   r7   )rT   rf   r   s    r!   Ústop_test_class_inside_fixturesz0ConnectionKiller.stop_test_class_inside_fixtures�   s*   € Ø×ÑÔØ×"Ñ" :Ô.Ø×"Ñ" 7Õ+r#   c                ó.  — t         j                  j                  r{t        «        t         j                  j                  rVt	        t         j                  j                  «      }t         j                  j                  j                  «        	 J d|z  «       ‚y y )Nz/%d connection recs not cleared after test suite)r   ÚbaseÚ_strong_ref_connection_recordsr
   ÚlenrR   )r    Úlns     r!   Ú stop_test_class_outside_fixturesz1ConnectionKiller.stop_test_class_outside_fixtures’   sq   € ô �9‰9×3Ò3ÜŒLä�y‰y×7Ò7ÜœŸ™×AÑAÓB�Ü—	‘	×8Ñ8×>Ñ>Ô@àðLàDÈÑKóLØð	 8ð 4r#   c                óh   — | j                  «        | j                  D ]  }| j                  |«       Œ y r   )rT   r   rf   )r    r<   s     r!   Úfinal_cleanupzConnectionKiller.final_cleanupŸ   s,   € Ø×ÑÔØ×)Ô)ˆEØ×&Ñ& uÕ-ñ *r#   c                óB   — | j                   D ]  }|j                  sŒJ ‚ y r   )r   rJ   rL   s     r!   Úassert_all_closedz"ConnectionKiller.assert_all_closed¤   s   € Ø—?”?ˆCØ�|‹|Ø�uñ #r#   N)Ú__name__Ú
__module__Ú__qualname__r"   r,   r*   r+   r=   rF   rN   rT   rV   r\   rf   rh   rp   rr   rx   rz   r|   © r#   r!   r   r   $   s[   „ ò'ò
@ò*ò3ò0òò)ò
'òòMòò"/òEò$,ò
Lò.ó
r#   r   c                óp   — 	  | |i |¤Ž t         j                  «        y # t         j                  «        w xY wr   )Útesting_reaperr|   ©rD   ÚargsÚkws      r!   Úassert_conns_closedr†   ­   s+   € ð+Ù
ˆDˆ�BŠä×(Ñ(Õ*øŒ×(Ñ(Õ*úó   ‚ Ÿ5c                óp   — 	  | |i |¤Ž t         j                  «        y# t         j                  «        w xY w)zBDecorator that rolls back all open connections after fn execution.N)r‚   rN   rƒ   s      r!   Úrollback_open_connectionsr‰   µ   s+   € ð&Ù
ˆDˆ�BŠä×#Ñ#Õ%øŒ×#Ñ#Õ%úr‡   c                ó<   — t         j                  «         | |i |¤Ž y)z:Decorator that closes all connections before fn execution.N©r‚   rT   rƒ   s      r!   Úclose_firstrŒ   ¿   s   € ô ×ÑÔ Ùˆ€O�ƒOr#   c                óp   — 	  | |i |¤Ž t         j                  «        y# t         j                  «        w xY w)z9Decorator that closes all connections after fn execution.Nr‹   rƒ   s      r!   Úclose_open_connectionsrŽ   Ç   s+   € ð%Ù
ˆDˆ�BŠä×"Ñ"Õ$øŒ×"Ñ"Õ$úr‡   c              #  óÎ   K  — dd l m} |j                  D ]L  }| r|| v rŒ
t        ||d «      }|s"t        t	        d|z  «      j                  |«      }|j                  «       –— ŒN y ­w)Nr   zsqlalchemy.dialects.%s)Úsqlalchemy.dialectsÚdialectsÚ__all__ÚgetattrÚ
__import__Údialect)ÚexcludeÚdÚnameÚmods       r!   Úall_dialectsrš   Ð   sb   è ø€ Ý#à—	”	ˆá�t˜w‘ØÜ�a˜˜tÓ$ˆÙÜÜÐ3°dÑ:Ó;×DÑDÀdóˆCð �k‰k‹mÓñ ùs   ‚A#A%c                  ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zy)	ÚReconnectFixturec                ó.   — || _         g | _        d| _        y ©NF)ÚdbapiÚconnectionsÚ
is_stopped)r    rŸ   s     r!   r"   zReconnectFixture.__init__à   s   € ØˆŒ
ØˆÔØˆ�r#   c                ó.   — t        | j                  |«      S r   )r“   rŸ   ©r    Úkeys     r!   Ú__getattr__zReconnectFixture.__getattr__å   s   € Ü�t—z‘z 3Ó'Ð'r#   c                ó  —  | j                   j                  |i |¤Ž}| j                  rC| j                  |j                  «       |j                  «       }|j                  d«       J d«       ‚| j                  j                  |«       |S )Nzselect 1z%simulated connect failure didn't work)	rŸ   rm   r¡   rF   r'   ÚcursorÚexecuter    Úappend)r    r„   Úkwargsro   Úcurss        r!   rm   zReconnectFixture.connectè   sq   € Ø!ˆt�z‰z×!Ñ! 4Ð2¨6Ñ2ˆØ�?Š?Ø�J‰J�t—z‘zÔ"Ø—;‘;“=ˆDð �L‰L˜Ô$ØAÐAÓA�5à×Ñ×#Ñ# DÔ)ØˆKr#   c                óp   — 	  |«        y # t         $ r"}t        j                  d|z  «       Y d }~y d }~ww xY w)Nz.ReconnectFixture couldn't close connection: %sr?   rC   s      r!   rF   zReconnectFixture._safeõ   s4   € ð	PÙ�DøÜò 	PÜ�M‰MÐJÈQÑN×OÑOûð	PúrG   c                óŠ   — || _         t        | j                  «      D ]  }| j                  |j                  «       Œ g | _        y r   )r¡   rI   r    rF   r'   )r    ÚstopÚcs      r!   ÚshutdownzReconnectFixture.shutdownû   s8   € ð ˆŒÜ�d×&Ñ&Ö'ˆAØ�J‰J�q—w‘wÕð (àˆÕr#   c                ó   — d| _         y rž   )r¡   r   s    r!   ÚrestartzReconnectFixture.restart  s	   € Øˆ�r#   N)F)	r}   r~   r   r"   r¥   rm   rF   r°   r²   r€   r#   r!   rœ   rœ   ß   s!   „ ò ò
(òòPó	ó r#   rœ   c                ó�  ‡‡— | xs t         j                  j                  } t         j                  j                  j                  }|si }t        |«      |d<   t        | |«      Š‰j                  Šˆˆfd„}‰j                  j                  j                  ‰_	        ‰j                  j                  j                  ‰_        |‰_        ‰S )NÚmodulec                 ó’   •— ‰j                   j                  j                  «        d‰j                   j                  _         ‰ «        y rž   )r•   rŸ   r°   r¡   )Ú_disposer;   s   €€r!   rc   z$reconnecting_engine.<locals>.dispose  s0   ø€ Ø�‰×Ñ×%Ñ%Ô'Ø*/ˆ�‰×ÑÔ'Ù�
r#   )r   rl   r]   r•   rŸ   rœ   Útesting_enginerc   r°   Útest_shutdownr²   Útest_restart)r]   ÚoptionsrŸ   rc   r¶   r;   s       @@r!   Úreconnecting_enginer»   
  s™   ù€ Ø
Ò
”—‘—‘€CÜ�I‰I×Ñ×#Ñ#€EÙØˆÜ(¨Ó/€GˆHÑÜ˜C Ó)€FØ�~‰~€Hõð
 "Ÿ>™>×/Ñ/×8Ñ8€FÔØ Ÿ.™.×.Ñ.×6Ñ6€FÔØ€F„NØ€Mr#   c                 ó   — y r   r€   ©r]   rº   ÚasyncioÚtransfer_staticpools       r!   r·   r·     s   € ð r#   c                 ó   — y r   r€   r½   s       r!   r·   r·   '  s   € ð r#   c                óê  — |r|rJ ‚ddl m} nddlm} ddlm} |sd}d}	d}
n6|j                  dd«      }|j                  d	d«      }	|j                  d
d«      }
| xs t        j                  j                  }  || «      } t        j                  �1| j                  t        j                  j                  j                  k(  r/t        j                  rt        j                  j                  «       }ni }|�|j                  |«        || fi |¤Ž}|
rG|j                  dk(  r8t        j                   |d«      d„ «       }t        j                   |d«      d„ «       }|rpddlm} t        j                  �{t'        t        j                  j(                  |«      rWd}|j(                  j+                  t        j                  j(                  «       n!|rt        j                  j(                  |_        |	dk(  r|rd|j,                  _        nd|_        t'        |j(                  t(        j0                  «      r.d|vr*d|vr&d|vr"d|j(                  _        d|j(                  _        |rt6        j9                  ||	«       |S )Nr   )Úcreate_async_engine)Úcreate_engine)Úmake_urlTr9   FÚ
use_reaperr<   Úsqlite_savepointÚsqliterm   c                ó   — d | _         y r   )Úisolation_level)rP   Úconnection_records     r!   Ú
do_connectz"testing_engine.<locals>.do_connect\  s   € à/3ÐÕ,r#   Úbeginc                ó&   — | j                  d«       y )NÚBEGIN)Úexec_driver_sql)ro   s    r!   Údo_beginz testing_engine.<locals>.do_begin`  s   € à× Ñ  Õ)r#   )Ú
StaticPoolr8   r   Úpool_timeoutÚmax_overflow)Úsqlalchemy.ext.asynciorÂ   Ú
sqlalchemyrÃ   Úsqlalchemy.engine.urlrÄ   Úpopr   rl   r]   Ú
drivernameÚdb_optsÚcopyÚupdater˜   r   Úlistens_forÚsqlalchemy.poolrÑ   Ú
isinstancer   Ú_transfer_fromr`   Ú_has_eventsÚ	QueuePoolÚ_timeoutÚ_max_overflowr‚   r=   )r]   rº   r¾   r¿   Ú
share_poolÚ_sqlite_savepointrÃ   rÄ   rÅ   r<   rÆ   Úuse_optionsr;   rË   rÐ   rÑ   s                   r!   r·   r·   0  s  € ñ Ù$Ð$Ð$ö	
õ 	-Ý.áØˆ
ØˆØ Ñà—[‘[ ¨tÓ4ˆ
Ø—‘˜G ZÓ0ˆØ"Ÿ;™;Ð'9¸5ÓAÐà
Ò
”—‘—‘€Cá
�3‹-€Cô 	�	‰	Ð˜SŸ^™^¬v¯y©y¯}©}×/GÑ/GÒGÜ
�.Š.Ü—n‘n×)Ñ)Ó+‰àˆàÐØ×Ñ˜7Ô#á˜3Ñ. +Ñ.€Fá˜FŸK™K¨8Ò3ä	×	Ñ	˜6 9Ó	-ñ	4ó 
.ð	4ô 
×	Ñ	˜6 7Ó	+ñ	*ó 
,ð	*ñ Ý.ä�9‰9Ð ¤Z´·	±	·±À
Ô%KØˆJØ�K‰K×&Ñ&¤v§y¡y§~¡~Õ6Ù	Ü—i‘i—n‘nˆŒà�ÒÙØ-1ˆF×ÑÕ*ð ð Ôô
 	�6—;‘;¤§¡Ô/Ø˜+Ñ%Ø +Ñ-Ø +Ñ-à ˆ�‰ÔØ$%ˆ�‰Ô!ÙÜ×!Ñ! &¨%Ô0à€Mr#   c                óÎ   ‡‡— ddl m} | st        j                  j                  } g Šˆfd„}ˆfd„}ˆfd„} || dz   |«      Št        ‰d«      rJ ‚‰‰_        |‰_        |‰_        ‰S )a'  Provides a mocking engine based on the current testing.db.

    This is normally used to test DDL generation flow as emitted
    by an Engine.

    It should not be used in other cases, as assert_compile() and
    assert_sql_execution() are much better choices with fewer
    moving parts.

    r   )Úcreate_mock_enginec                ó(   •— ‰j                  | «       y r   )r©   )ÚsqlÚar…   Úbuffers      €r!   Úexecutorzmock_engine.<locals>.executor–  s   ø€ Ø�‰�cÕr#   c           
     ó‚   •— ‰D �cg c]"  }t        j                  ddt        |«      «      ‘Œ$ }}|| k(  sJ |«       ‚y c c}w )Nz[\n\t]r[   )ÚreÚsubÚstr)ÚstmtsÚsÚrecvrì   s      €r!   Ú
assert_sqlzmock_engine.<locals>.assert_sql™  s>   ø€ Ù7=Ó>±v°!”—‘�y "¤c¨!£fÕ-°vˆÐ>Ø�uŠ}Ð"˜dÓ"‰}ùò ?s   †'<c                 óf   •‡ — ‰j                   Š dj                  ˆ fd„‰j                  D «       «      S )NÚ
c              3  óT   •K  — | ]  }t        |j                  ‰¬ «      «      –— Œ! y­w))r•   N)rñ   Úcompile)Ú.0ró   r—   s     €r!   Ú	<genexpr>z1mock_engine.<locals>.print_sql.<locals>.<genexpr>Ÿ  s"   øè ø€ ÐH¹K°qœ˜QŸY™Y¨q˜YÓ1×2¹Kùs   ƒ%()r•   ÚjoinÚmock)r—   r;   s   @€r!   Ú	print_sqlzmock_engine.<locals>.print_sql�  s%   ù€ Ø�N‰NˆØ�y‰yÓH¸F¿KºKÓHÓHÐHr#   z://rý   )	rÕ   rè   r   rl   r˜   rb   rý   rõ   rþ   )Údialect_namerè   rí   rõ   rþ   rì   r;   s        @@r!   Úmock_enginer   ƒ  sl   ù€ õ .áÜ—y‘y—~‘~ˆà€Fôô#ôIñ   ¨uÑ 4°hÓ?€FÜ�v˜vÔ&Ð&Ð&Ø€F„KØ"€FÔØ €FÔØ€Mr#   c                  ó0   — e Zd ZdZd„ Zdd„Zd„ Zd„ Zd„ Zy)	ÚDBAPIProxyCursorzuProxy a DBAPI cursor.

    Tests can provide subclasses of this to intercept
    DBAPI-level cursor operations.

    c                óN   — || _         || _         |j                  |i |¤Ž| _        y r   )r;   r^   r§   )r    r;   ro   r„   rª   s        r!   r"   zDBAPIProxyCursor.__init__±  s'   € ØˆŒØˆŒØ!�d—k‘k 4Ð2¨6Ñ2ˆ�r#   Nc                ó|   — |r | j                   j                  ||fi |¤ŽS  | j                   j                  |fi |¤ŽS r   )r§   r¨   )r    ÚstmtÚ
parametersr…   s       r!   r¨   zDBAPIProxyCursor.execute¶  s?   € ÙØ&�4—;‘;×&Ñ& t¨ZÑ>¸2Ñ>Ð>à&�4—;‘;×&Ñ& tÑ2¨rÑ2Ð2r#   c                ó>   —  | j                   j                  ||fi |¤ŽS r   )r§   Úexecutemany)r    r  Úparamsr…   s       r!   r  zDBAPIProxyCursor.executemany¼  s    € Ø&ˆt�{‰{×&Ñ& t¨VÑ:°rÑ:Ð:r#   c                ó,   — t        | j                  «      S r   )Úiterr§   r   s    r!   Ú__iter__zDBAPIProxyCursor.__iter__¿  s   € Ü�D—K‘KÓ Ð r#   c                ó.   — t        | j                  |«      S r   )r“   r§   r£   s     r!   r¥   zDBAPIProxyCursor.__getattr__Â  s   € Ü�t—{‘{ CÓ(Ð(r#   r   )	r}   r~   r   Ú__doc__r"   r¨   r  r  r¥   r€   r#   r!   r  r  ©  s    „ ñò3ó
3ò;ò!ó)r#   r  c                  ó(   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zy)ÚDBAPIProxyConnectionz}Proxy a DBAPI connection.

    Tests can provide subclasses of this to intercept
    DBAPI-level connection operations.

    c                ó.   — || _         || _        || _        y r   )ro   r;   Ú
cursor_cls)r    r;   ro   r  s       r!   r"   zDBAPIProxyConnection.__init__Î  s   € ØˆŒ	ØˆŒØ$ˆ�r#   c                óX   —  | j                   | j                  | j                  g|¢­i |¤ŽS r   )r  r;   ro   )r    r„   rª   s      r!   r§   zDBAPIProxyConnection.cursorÓ  s'   € Øˆt�‰˜tŸ{™{¨D¯I©IÐG¸ÒGÀÑGÐGr#   c                ó8   — | j                   j                  «        y r   )ro   r'   r   s    r!   r'   zDBAPIProxyConnection.closeÖ  s   € Ø�	‰	�‰Õr#   c                ó.   — t        | j                  |«      S r   )r“   ro   r£   s     r!   r¥   z DBAPIProxyConnection.__getattr__Ù  s   € Ü�t—y‘y #Ó&Ð&r#   N)r}   r~   r   r  r"   r§   r'   r¥   r€   r#   r!   r  r  Æ  s   „ ñò%ò
Hòó'r#   r  r   )NN)NNFF)
r]   úOptional[URL]rº   úOptional[Dict[str, Any]]r¾   zLiteral[False]r¿   ÚboolÚreturnr   )NNTF)
r]   r  rº   r  r¾   zLiteral[True]r¿   r  r  r   )NNFFFF))Ú
__future__r   r   rï   Útypingr   r   r   rA   r   r[   r   Úutilr	   r
   r   r   r   Úutil.typingr   ÚTYPE_CHECKINGr;   r   Ú
engine.urlr   Úext.asyncior   r   r‚   r†   r‰   rŒ   rŽ   rš   rœ   r»   Úoverloadr·   r   r  r  r€   r#   r!   Ú<module>r"     s   ðõ #ã Û 	Û Ý Ý Ý Û Û å Ý Ý Ý Ý Ý Ý !ð 
×ÒÝÝ Ý)÷Cñ CñL "Ó#€ð ñ+ó ð+ð ñ&ó ð&ð ñó ðð ñ%ó ð%ó÷( ñ ( óVð( ‡�àØ(,Ø#Ø %ð	Ø	ðà%ðð ðð ð	ð
 òó ðð ‡�àØ(,Ø!Ø %ð	Ø	ðà%ðð ðð ð	ð
 òó ðð 	ØØØØØóPóf#÷L)ñ )÷:'ò 'r#   