+
    ˜h©j÷:  ã                   óÐ  € R t ^ RIt^ RIt^ RIt^ RIHtHtHt ^ RIH	t	 ^ RI
Ht ^ RIHtHtHt ^ RIHt ^ RIHtHtHtHtHt ^ RIHt ^R	IHt ^R
IHt . ROt]]] ] ] ] .]3,          t!]PD                  ! R4      t#]]R,          ,          t$R R lt%R R lt&]'! 4       t(]])]]PT                  ,          ]. ]3,          3,          ,          t+R R lt, ! R R4      t-R^@RR/R R llt.R# )z*
Core implementation of aiosqlite proxies
N)ÚAsyncIteratorÚ	GeneratorÚIterable)Úpartial)ÚPath)ÚEmptyÚQueueÚSimpleQueue)ÚThread)ÚAnyÚCallableÚLiteralÚOptionalÚUnion)Úwarn)Úcontextmanager©ÚCursorÚ
ConnectionÚ	aiosqlitec                óH   € V ^8„  d   QhR\         P                  R\        RR/# )é   ÚfutÚresultÚreturnN)ÚasyncioÚFuturer   )Úformats   "ÚI/var/www/html/bestweb/venv/lib/python3.14/site-packages/aiosqlite/core.pyÚ__annotate__r       s%   € ÷ ñ ”G—N‘Nð ¬Cð °Dñ ó    c                óX   € V P                  4       '       g   V P                  V4       R# R# )z9Set the result of a future if it hasn't been set already.N)ÚdoneÚ
set_result)r   r   s   &&r   r#   r#       s   € à�8‰8�:Š:Ø�‰�vÖñ r    c                óH   € V ^8„  d   QhR\         P                  R\        RR/# )r   r   Úer   N)r   r   ÚBaseException)r   s   "r   r   r   &   s%   € ÷ ñ ”w—~‘~ð ¬-ð ¸Dñ r    c                óX   € V P                  4       '       g   V P                  V4       R# R# )z<Set the exception of a future if it hasn't been set already.N)r"   Úset_exception)r   r%   s   &&r   r(   r(   &   s    € à�8‰8�:Š:Ø×Ñ˜!Öñ r    c                ó$   € V ^8„  d   QhR\         /# )r   Útx)Ú_TxQueue)r   s   "r   r   r   0   s   € ÷ Qñ Q¤(ñ Qr    c                óÆ  €  V P                  4       w  r \        P                  RV4       V! 4       pV'       d%   VP                  4       P	                  \
        W4       \        P                  RV4       V\        J d   R# K�    \         dT   p\        P                  RT4       T'       d+   TP                  4       P	                  \        Y4        Rp?KÔ   Rp?KÚ  Rp?ii ; i)z>
Execute function calls on a separate thread.

:meta private:
zexecuting %szoperation %s completedzreturning exception %sN)	ÚgetÚLOGÚdebugÚget_loopÚcall_soon_threadsafer#   Ú_STOP_RUNNING_SENTINELr&   r(   )r*   ÚfutureÚfunctionr   r%   s   &    r   Ú_connection_worker_threadr5   0   s±   € ð ð
 Ÿ6™6›8Ñˆð	QÜ�I‰I�n hÔ/Ù“ZˆFçØ—‘Ó!×6Ñ6´zÀ6ÔRÜ�I‰IÐ.°Ô9àÔ/Ó/Ùñ 0øô ô 	QÜ�I‰IÐ.°Ô2ßØ—‘Ó!×6Ñ6´}Àf×PÒPõ ûð	Qús   •A)B ÂC ÂACÃC c                   óœ  a € ] tR t^Nt o RQV 3R lR lltR tV 3R lR lt]V 3R lR l4       tV 3R	 lR
 lt	V 3R lR lt
R tV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR lt]V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR lt]RQV 3R lR ll4       t]RQV 3R  lR! ll4       t]RQV 3R" lR# ll4       t]V 3R$ lR% l4       t]V 3R& lR' l4       tV 3R( lR) ltRRV 3R* lR+ llt]V 3R, lR- l4       t]V 3R. lR/ l4       t]P<                  V 3R0 lR1 l4       t]V 3R2 lR3 l4       t]P<                  V 3R4 lR5 l4       t]V 3R6 lR7 l4       t ] P<                  V 3R8 lR9 l4       t ]V 3R: lR; l4       t!V 3R< lR= lt"V 3R> lR? lt#V 3R@ lRA lt$V 3RB lRC lt%V 3RD lRE lt&V 3RF lRG lt'RH^ RIRRJRKRLRM/V 3RN lRO llt(RPt)V t*R# )Sr   Nc                ó|   <€ V ^8„  d   QhRS[ . S[P                  3,          RS[RS[S[P                  ,          RR/# )r   Ú	connectorÚiter_chunk_sizeÚloopr   N)r   Úsqlite3r   Úintr   r   ÚAbstractEventLoop)r   Ú__classdict__s   "€r   r   ÚConnection.__annotate__O   sN   ø€ ÷ ñ á˜B¡× 2Ñ 2Ð2Õ3ðñ ðñ ‘w×0Ñ0Õ1ð	ð
 
ñr    c                óÆ   € R V n         RV n        Wn        \        4       V n        W n        \        \        V P                  3R7      V n        Ve   \        R\        4       R# R# )TN)ÚtargetÚargsz8aiosqlite.Connection no longer uses the `loop` parameter)Ú_runningÚ_connectionÚ
_connectorr	   Ú_txÚ_iter_chunk_sizer
   r5   Ú_threadr   ÚDeprecationWarning)Úselfr8   r9   r:   s   &&&&r   Ú__init__ÚConnection.__init__O   sU   € ð ˆŒØ9=ˆÔØ#ŒÜ(›]ˆŒØ /ÔÜÔ%>ÀdÇhÁhÀ[ÔQˆŒàÒÜØJÜ"öñ r    c                ór   € V P                   f   R # \        V : R2\        ^R7       V P                  4        R # )Nzi was deleted before being closed. Please use 'async with' or '.close()' to close the connection properly.)Ú
stacklevel)rD   r   ÚResourceWarningÚstop©rJ   s   &r   Ú__del__ÚConnection.__del__b   s=   € Ø×ÑÒ#Ùäà‘(ð Zð Zô Øõ	
ð 	�	‰	Žr    c                óD   <€ V ^8„  d   QhRS[ S[P                  ,          /# ©r   r   )r   r   r   )r   r>   s   "€r   r   r?   t   s   ø€ ÷ ñ ‘h™wŸ~™~Õ.ñ r    c                óÈ   a € RS n         V 3R lp \        P                  ! 4       P                  4       pS P
                  P                  W!34       V#   \         d    Rp L-i ; i)zBStop the background thread. Prefer `async with` or `await close()`Fc                  ón   <€ S P                   e"   S P                   P                  4        R S n         \        # ©N)rD   Úcloser2   rQ   s   €r   Úclose_and_stopÚ'Connection.stop.<locals>.close_and_stopx   s/   ø€ Ø×ÑÒ+Ø× Ñ ×&Ñ&Ô(Ø#'�Ô Ü)Ð)r    N)rC   r   Úget_event_loopÚcreate_futureÚ	ExceptionrF   Ú
put_nowait)rJ   rZ   r3   s   f  r   rP   ÚConnection.stopt   s]   ø€ àˆŒõ	*ð	Ü×+Ò+Ó-×;Ñ;Ó=ˆFð 	�‰×Ñ˜VÐ4Ô5Øˆøô	 ô 	ØŠFð	ús   �#A ÁA!Á A!c                ó4   <€ V ^8„  d   QhRS[ P                  /# rU   ©r;   r   )r   r>   s   "€r   r   r?   ‡   s   ø€ ÷  ñ  ‘w×)Ñ)ñ  r    c                óL   € V P                   f   \        R4      hV P                   # )Nzno active connection)rD   Ú
ValueErrorrQ   s   &r   Ú_connÚConnection._conn†   s&   € à×ÑÒ#ÜÐ3Ó4Ð4à×ÑÐr    c                óP   <€ V ^8„  d   QhRS[ RS[RS[S[P                  ,          /# ©r   ÚsqlÚ
parametersr   )Ústrr   r   r;   ÚRow)r   r>   s   "€r   r   r?   �   s+   ø€ ÷ !ñ !¡3ð !±Cð !¹HÁWÇ[Á[Õ<Qñ !r    c                óz   € V P                   P                  W4      pVP                  R 4       VP                  4       # )zSELECT last_insert_rowid())re   ÚexecuteÚfetchone©rJ   ri   rj   Úcursors   &&& r   Ú_execute_insertÚConnection._execute_insert�   s0   € Ø—‘×#Ñ# CÓ4ˆØ�‰Ð3Ô4Ø�‰Ó Ð r    c                óP   <€ V ^8„  d   QhRS[ RS[RS[S[P                  ,          /# rh   )rk   r   r   r;   rl   )r   r>   s   "€r   r   r?   ’   s+   ø€ ÷ !ñ !¡Sð !±cð !¹hÁwÇ{Á{Õ>Sñ !r    c                óX   € V P                   P                  W4      pVP                  4       # rX   )re   rn   Úfetchallrp   s   &&& r   Ú_execute_fetchallÚConnection._execute_fetchall’   s#   € Ø—‘×#Ñ# CÓ4ˆØ�‰Ó Ð r    c              �  ó  "  € V P                   '       d   V P                  '       g   \        R4      h\        V.VO5/ VB p\        P
                  ! 4       P                  4       pV P                  P                  WT34       VG Rj  x€L
 #  L5i)z8Queue a function with the given arguments for execution.zConnection closedN)	rC   rD   rd   r   r   r\   r]   rF   r_   )rJ   ÚfnrB   Úkwargsr4   r3   s   &&*,  r   Ú_executeÚConnection._execute–   so   é € à�}�}ˆ} D×$4×$4Ð$4ÜÐ0Ó1Ð1ä˜2Ð/ Ò/¨Ñ/ˆÜ×'Ò'Ó)×7Ñ7Ó9ˆà�‰×Ñ˜VÐ.Ô/à�|Ð‰|ùs   ‚$B§ABÂB
ÂBc                ó   <€ V ^8„  d   QhRR/# ©r   r   r   © )r   r>   s   "€r   r   r?   ¢   s   ø€ ÷ ñ  ñ r    c              ƒ  ó2  "  € V P                   f\    \        P                  ! 4       P                  4       pV P                  P                  WP                  34       VG Rj  x€L
 V n         V # V #  L  \         d    T P                  4        RT n         h i ; i5i)z&Connect to the actual sqlite database.N)	rD   r   r\   r]   rF   r_   rE   r&   rP   ©rJ   r3   s   & r   Ú_connectÚConnection._connect¢   s‚   é € à×ÑÒ#ðÜ ×/Ò/Ó1×?Ñ?ÓA�Ø—‘×#Ñ# V¯_©_Ð$=Ô>Ø)/§<�Ô ð ˆˆtˆñ $0øÜ ô Ø—	‘	”Ø#'�Ô Øðüs/   ‚B’AA0 Á A.Á!	A0 Á*BÁ.A0 Á0$BÂBc                ó6   <€ V ^8„  d   QhRS[ S[RR3,          /# )r   r   Nr   )r   r   )r   r>   s   "€r   r   r?   °   s    ø€ ÷ +ñ +™9¡S¨$°Ð%<Õ=ñ +r    c                ór   € V P                   P                  4        V P                  4       P                  4       # rX   )rH   Ústartrƒ   Ú	__await__rQ   s   &r   rˆ   ÚConnection.__await__°   s'   € Ø�‰×ÑÔØ�}‰}‹×(Ñ(Ó*Ð*r    c                ó   <€ V ^8„  d   QhRR/# r   r€   )r   r>   s   "€r   r   r?   ´   s   ø€ ÷ ñ  ,ñ r    c              ƒ  ó"   "  € V G R j  x€L
 #  L5irX   r€   rQ   s   &r   Ú
__aenter__ÚConnection.__aenter__´   s   é € Ø�zÐ‰zùs   ‚ˆ‰c                ó   <€ V ^8„  d   QhRR/# ©r   r   Nr€   )r   r>   s   "€r   r   r?   ·   s   ø€ ÷ ñ ¸Dñ r    c              ƒ  óB   "  € V P                  4       G R j  x€L
  R #  L5irX   )rY   )rJ   Úexc_typeÚexc_valÚexc_tbs   &&&&r   Ú	__aexit__ÚConnection.__aexit__·   s   é € Ø�j‰j‹l×Ôùs   ‚–—c                ó    <€ V ^8„  d   QhRS[ /# rU   r   )r   r>   s   "€r   r   r?   »   s   ø€ ÷ Dñ D™fñ Dr    c              ƒ  óz   "  € \        Y P                  V P                  P                  4      G Rj  x€L
 4      #  L5i)z<Create an aiosqlite cursor wrapping a sqlite3 cursor object.N)r   r|   re   rq   rQ   s   &r   rq   ÚConnection.cursorº   s+   é € ô �d§-¡-°·
±
×0AÑ0AÓ"B×BÓCÐCÑBùs   ‚.;°9
±	;c                ó   <€ V ^8„  d   QhRR/# r�   r€   )r   r>   s   "€r   r   r?   ¿   s   ø€ ÷ /ñ /˜dñ /r    c              ƒ  ól   "  € V P                  V P                  P                  4      G Rj  x€L
  R#  L5i)zCommit the current transaction.N)r|   re   ÚcommitrQ   s   &r   r›   ÚConnection.commit¿   s!   é € à�m‰m˜DŸJ™J×-Ñ-Ó.×.Ô.ùó   ‚)4«2¬4c                ó   <€ V ^8„  d   QhRR/# r�   r€   )r   r>   s   "€r   r   r?   Ã   s   ø€ ÷ 1ñ 1 ñ 1r    c              ƒ  ól   "  € V P                  V P                  P                  4      G Rj  x€L
  R#  L5i)z"Roll back the current transaction.N)r|   re   ÚrollbackrQ   s   &r   r    ÚConnection.rollbackÃ   s!   é € à�m‰m˜DŸJ™J×/Ñ/Ó0×0Ô0ùr�   c                ó   <€ V ^8„  d   QhRR/# r�   r€   )r   r>   s   "€r   r   r?   Ç   s   ø€ ÷ ñ ˜Tñ r    c              ƒ  ó”  "  € V P                   f   R#  V P                  V P                  P                  4      G Rj  x€L
   RT n         T P                  4       pT'       d   TG Rj  x€L
  R# R#  L2  \         d    \
        P                  R4       h i ; i L/  RT n         T P                  4       pT'       d   TG Rj  x€L 
  i i ; i5i)z9Complete queued queries/cursors and close the connection.Nz+exception occurred while closing connection)rD   r|   re   rY   r^   r.   ÚinforP   r‚   s   & r   rY   ÚConnection.closeÇ   s©   é € ð ×ÑÒ#Ùð		Ø—-‘- §
¡
× 0Ñ 0Ó1×1Ñ1ð
  $ˆDÔØ—Y‘Y“[ˆFßØ—’ñ ñ 2øÜô 	Ü�H‰HÐBÔCØð	úñ øð  $ˆDÔØ—Y‘Y“[ˆFßØ—’ð üs\   ‚C”(A1 ¼A/½A1 ÁCÁ!CÁ&BÁ'CÁ/A1 Á1"BÂB ÂCÂ%CÂ=C Â>CÃCc                óL   <€ V ^8„  d   QhRS[ RS[S[S[,          ,          RS[/# rh   )rk   r   r   r   r   )r   r>   s   "€r   r   r?   Ù   s.   ø€ ÷ $ñ $Ùð$Ù$,©X±c­]Õ$;ð$á	ñ$r    c              ƒ  óŒ   "  € Vf   . pV P                  V P                  P                  W4      G Rj  x€L
 p\        W4      #  L5i)z6Helper to create a cursor and execute the given query.N)r|   re   rn   r   rp   s   &&& r   rn   ÚConnection.executeØ   s@   é € ð
 ÒØˆJØ—}‘} T§Z¡Z×%7Ñ%7¸ÓI×IˆÜ�dÓ#Ð#ñ Jùs   ‚0A²A³Ac                óp   <€ V ^8„  d   QhRS[ RS[S[S[,          ,          RS[S[P
                  ,          /# rh   ©rk   r   r   r   r;   rl   )r   r>   s   "€r   r   r?   ã   s<   ø€ ÷ Jñ JÙðJÙ$,©X±c­]Õ$;ðJá	‘'—+‘+Õ	ñJr    c              ƒ  ób   "  € Vf   . pV P                  V P                  W4      G Rj  x€L
 #  L5i)z/Helper to insert and get the last_insert_rowid.N)r|   rr   ©rJ   ri   rj   s   &&&r   Úexecute_insertÚConnection.execute_insertâ   s/   é € ð
 ÒØˆJØ—]‘] 4×#7Ñ#7¸ÓI×IÐIÑIùó   ‚&/¨-©/c                óp   <€ V ^8„  d   QhRS[ RS[S[S[,          ,          RS[S[P
                  ,          /# rh   rª   )r   r>   s   "€r   r   r?   ì   s<   ø€ ÷ Lñ LÙðLÙ$,©X±c­]Õ$;ðLá	‘'—+‘+Õ	ñLr    c              ƒ  ób   "  € Vf   . pV P                  V P                  W4      G Rj  x€L
 #  L5i)z2Helper to execute a query and return all the data.N)r|   rw   r¬   s   &&&r   Úexecute_fetchallÚConnection.execute_fetchallë   s/   é € ð
 ÒØˆJØ—]‘] 4×#9Ñ#9¸3ÓK×KÐKÑKùr¯   c                óL   <€ V ^8„  d   QhRS[ RS[S[S[,          ,          RS[/# rh   )rk   r   r   r   )r   r>   s   "€r   r   r?   õ   s.   ø€ ÷ $ñ $Ùð$Ù$,©X±c­]Õ$;ð$á	ñ$r    c              ƒ  ó€   "  € V P                  V P                  P                  W4      G Rj  x€L
 p\        W4      #  L5i)z;Helper to create a cursor and execute the given multiquery.N)r|   re   Úexecutemanyr   rp   s   &&& r   r¶   ÚConnection.executemanyô   s5   é € ð
 —}‘} T§Z¡Z×%;Ñ%;¸SÓM×MˆÜ�dÓ#Ð#ñ Nùó   ‚*>¬<­>c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Ú
sql_scriptr   )rk   r   )r   r>   s   "€r   r   r?   ý   s   ø€ ÷ $ñ $©cð $±fñ $r    c              ƒ  ó€   "  € V P                  V P                  P                  V4      G Rj  x€L
 p\        W4      #  L5i)z4Helper to create a cursor and execute a user script.N)r|   re   Úexecutescriptr   )rJ   rº   rq   s   && r   r¼   ÚConnection.executescriptü   s5   é € ð —}‘} T§Z¡Z×%=Ñ%=¸zÓJ×JˆÜ�dÓ#Ð#ñ Kùr¸   c                ó   <€ V ^8„  d   QhRR/# r�   r€   )r   r>   s   "€r   r   r?     s   ø€ ÷ &ñ & ñ &r    c              ƒ  ó>   "  € V P                   P                  4       # 5i)zInterrupt pending queries.)re   Ú	interruptrQ   s   &r   rÀ   ÚConnection.interrupt  s   é € à�z‰z×#Ñ#Ó%Ð%ùs   ‚c          
      ó6   <€ V ^8„  d   QhRS[ RS[RS[RS[RR/# )r   ÚnameÚ
num_paramsÚfuncÚdeterministicr   N)rk   r<   r   Úbool)r   r>   s   "€r   r   r?     s5   ø€ ÷ 
ñ 
Ùð
Ù%(ð
Ù08ð
ÙIMð
à	ñ
r    c              ƒ  óv   "  € V P                  V P                  P                  VVVVR7      G Rj  x€L
  R#  L5i)aç  
Create user-defined function that can be later used
within SQL statements. Must be run within the same thread
that query executions take place so instead of executing directly
against the connection, we defer this to `run` function.

If ``deterministic`` is true, the created function is marked as deterministic,
which allows SQLite to perform additional optimizations. This flag is supported
by SQLite 3.8.3 or higher, ``NotSupportedError`` will be raised if used with
older versions.
)rÆ   N)r|   re   Úcreate_function)rJ   rÃ   rÄ   rÅ   rÆ   s   &&&&&r   rÉ   ÚConnection.create_function  s;   é € ð �m‰mØ�J‰J×&Ñ&ØØØØ'ð ó 
÷ 	
ô 	
ùs   ‚.9°7±9c                ó    <€ V ^8„  d   QhRS[ /# rU   ©rÇ   )r   r>   s   "€r   r   r?     s   ø€ ÷ )ñ )¡ñ )r    c                ó.   € V P                   P                  # rX   )re   Úin_transactionrQ   s   &r   rÎ   ÚConnection.in_transaction  s   € à�z‰z×(Ñ(Ð(r    c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rU   )r   rk   )r   r>   s   "€r   r   r?   !  s   ø€ ÷ *ñ *¡©#¥ñ *r    c                ó.   € V P                   P                  # rX   ©re   Úisolation_levelrQ   s   &r   rÓ   ÚConnection.isolation_level   s   € à�z‰z×)Ñ)Ð)r    c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r   Úvaluer   N)ÚIsolationLevel)r   r>   s   "€r   r   r?   %  s   ø€ ÷ +ñ +¡^ð +¸ñ +r    c                ó&   € WP                   n        R # rX   rÒ   ©rJ   r×   s   &&r   rÓ   rÔ   $  s   € à%*�
‰
Ö"r    c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rU   ©r   Útype)r   r>   s   "€r   r   r?   )  s   ø€ ÷ &ñ &™X¡d�^ñ &r    c                ó.   € V P                   P                  # rX   ©re   Úrow_factoryrQ   s   &r   rà   ÚConnection.row_factory(  s   € à�z‰z×%Ñ%Ð%r    c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# ©r   Úfactoryr   NrÜ   )r   r>   s   "€r   r   r?   -  s   ø€ ÷ )ñ )¡8©D¥>ð )°dñ )r    c                ó&   € WP                   n        R # rX   rß   ©rJ   rä   s   &&r   rà   rá   ,  s   € à!(�
‰
Ör    c                ó8   <€ V ^8„  d   QhRS[ S[.S[3,          /# rU   ©r   Úbytesr   )r   r>   s   "€r   r   r?   1  s   ø€ ÷ 'ñ '™h© w± |Õ4ñ 'r    c                ó.   € V P                   P                  # rX   ©re   Útext_factoryrQ   s   &r   rì   ÚConnection.text_factory0  s   € à�z‰z×&Ñ&Ð&r    c                ó<   <€ V ^8„  d   QhRS[ S[.S[3,          RR/# rã   rè   )r   r>   s   "€r   r   r?   5  s&   ø€ ÷ *ñ *¡H©e¨W±c¨\Õ$:ð *¸tñ *r    c                ó&   € WP                   n        R # rX   rë   ræ   s   &&r   rì   rí   4  s   € à")�
‰
Ör    c                ó    <€ V ^8„  d   QhRS[ /# rU   )r<   )r   r>   s   "€r   r   r?   9  s   ø€ ÷ (ñ (™sñ (r    c                ó.   € V P                   P                  # rX   )re   Útotal_changesrQ   s   &r   rò   ÚConnection.total_changes8  s   € à�z‰z×'Ñ'Ð'r    c                ó$   <€ V ^8„  d   QhRS[ RR/# rÖ   rÌ   )r   r>   s   "€r   r   r?   <  s   ø€ ÷ Eñ E±ð E¸$ñ Er    c              ƒ  ón   "  € V P                  V P                  P                  V4      G R j  x€L
  R #  L5irX   )r|   re   Úenable_load_extensionrÚ   s   &&r   rö   Ú Connection.enable_load_extension<  s#   é € Ø�m‰m˜DŸJ™J×<Ñ<¸eÓD×DÔDùó   ‚*5¬3­5c                ó    <€ V ^8„  d   QhRS[ /# )r   Úpath)rk   )r   r>   s   "€r   r   r?   ?  s   ø€ ÷ =ñ =©ñ =r    c              ƒ  ón   "  € V P                  V P                  P                  V4      G R j  x€L
  R #  L5irX   )r|   re   Úload_extension)rJ   rú   s   &&r   rü   ÚConnection.load_extension?  s#   é € Ø�m‰m˜DŸJ™J×5Ñ5°tÓ<×<Ô<ùrø   c                óN   <€ V ^8„  d   QhRS[ . S[S[,          3,          RS[RR/# )r   ÚhandlerÚnr   N)r   r   r<   )r   r>   s   "€r   r   r?   B  s8   ø€ ÷ Iñ IÙ ¡H©S¥MÐ 1Õ2ðIÙ7:ðIà	ñIr    c              ƒ  ón   "  € V P                  V P                  P                  W4      G R j  x€L
  R #  L5irX   )r|   re   Úset_progress_handler)rJ   rÿ   r   s   &&&r   r  ÚConnection.set_progress_handlerB  s%   é € ð �m‰m˜DŸJ™J×;Ñ;¸WÓH×HÔHùrø   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   rÿ   r   N)r   )r   r>   s   "€r   r   r?   G  s   ø€ ÷ Dñ D±ð D¸Tñ Dr    c              ƒ  ón   "  € V P                  V P                  P                  V4      G R j  x€L
  R #  L5irX   )r|   re   Úset_trace_callback)rJ   rÿ   s   &&r   r  ÚConnection.set_trace_callbackG  s#   é € Ø�m‰m˜DŸJ™J×9Ñ9¸7ÓC×CÔCùrø   c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# )r   Úauthorizer_callbackr   N)r   ÚAuthorizerCallback)r   r>   s   "€r   r   r?   J  s'   ø€ ÷ *Lñ *LÙ#+Ñ,>Õ#?ð*Là	ñ*Lr    c              ƒ  ón   "  € V P                  V P                  P                  V4      G Rj  x€L
  R#  L5i)ao  
Set an authorizer callback to control database access.

The authorizer callback is invoked for each SQL statement that is prepared,
and controls whether specific operations are permitted.

Example::

    import sqlite3

    def restrict_drops(action_code, arg1, arg2, db_name, trigger_name):
        # Deny all DROP operations
        if action_code == sqlite3.SQLITE_DROP_TABLE:
            return sqlite3.SQLITE_DENY
        # Allow everything else
        return sqlite3.SQLITE_OK

    await conn.set_authorizer(restrict_drops)

See ``sqlite3`` documentation for details:
https://docs.python.org/3/library/sqlite3.html#sqlite3.Connection.set_authorizer

:param authorizer_callback: An optional callable that receives five arguments:

    - ``action_code`` (int): The action to be authorized (e.g., ``SQLITE_READ``)
    - ``arg1`` (str): First argument, meaning depends on ``action_code``
    - ``arg2`` (str): Second argument, meaning depends on ``action_code``
    - ``db_name`` (str): Database name (e.g., ``"main"``, ``"temp"``)
    - ``trigger_name`` (str): Name of trigger or view that is doing the access,
      or ``None``

    The callback should return:

    - ``SQLITE_OK`` (0): Allow the operation
    - ``SQLITE_DENY`` (1): Deny the operation, raise ``sqlite3.DatabaseError``
    - ``SQLITE_IGNORE`` (2): Treat operation as no-op

    Pass ``None`` to remove the authorizer.
N)r|   re   Úset_authorizer)rJ   r	  s   &&r   r  ÚConnection.set_authorizerJ  s'   é € ðT �m‰m˜DŸJ™J×5Ñ5Ð7JÓK×KÔKùrø   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rU   )r   rk   )r   r>   s   "€r   r   r?   v  s   ø€ ÷ (ñ (¡©cÕ 2ñ (r    c               ó”  a a"  € \        4       oVV 3R lpS P                  V4      p\        P                  ! V4      p  SP	                  4       pVf   MV5x € K  VG Rj  x€L
  R#   \
         dR    TP                  4       '       d   \        P                  R4        KE  \        P                  ! R4      G Rj  x€L 
   K…  i ; i Le5i)z�
Return an async iterator to dump the database in SQL text format.

Example::

    async for line in db.iterdump():
        ...

c                  óü   <€  SP                   P                  4        F  p SP                  V 4       K  	  SP                  R 4       R #   \         d)    \        P                  R4       SP                  R 4       h i ; i)Nzexception while dumping db)re   Úiterdumpr_   r^   r.   Ú	exception)ÚlineÚ
dump_queuerJ   s    €€r   ÚdumperÚ#Connection.iterdump.<locals>.dumper‚  sh   ø€ ðØ ŸJ™J×/Ñ/Ö1�DØ×)Ñ)¨$Ö/ñ 2à×%Ñ% dÖ+øäô Ü—‘Ð:Ô;Ø×%Ñ% dÔ+Øðús   ƒAA Á3A;Nziterdump completed unexpectedlyg{®Gáz„?)
r   r|   r   Úensure_futureÚ
get_nowaitr   r"   r.   ÚwarningÚsleep)rJ   r  r   Útaskr  r  s   f    @r   r  ÚConnection.iterdumpv  s£   ùé € ô "›Gˆ
ö		ð �m‰m˜FÓ#ˆÜ×$Ò$ SÓ)ˆàð*Ø&0×&;Ñ&;Ó&=�Ø’<ØØ•
ð �
Š
øô ô *Ø—9‘9—;’;Ü—K‘KÐ AÔBÚä—m’m DÓ)×)Ô)ð*úñ 	ùs^   „:C¿A' ÁCÁA' ÁCÁ CÁ!CÁ' CÂCÂCÂ CÂ9B<Â:CÂ?CÃCÃCÚpagesÚprogressrÃ   Úmainr  g      Ð?c                ó’   <€ V ^8„  d   QhRS[ RS[P                  3,          RS[RS[S[S[S[S[.R3,          ,          RS[RS[RR/# )	r   rA   r   r  r  NrÃ   r  r   )r   r;   r   r<   r   r   rk   Úfloat)r   r>   s   "€r   r   r?      sl   ø€ ÷ 
ñ 
á�l¡G×$6Ñ$6Ð6Õ7ð
ñ ð	
ñ
 ™8¡S©#©s O°TÐ$9Õ:Õ;ð
ñ ð
ñ ð
ð 
ñ
r    c          	   ƒ  ó¼   "  € \        V\        4      '       d   VP                  pV P                  V P                  P                  VVVVVR7      G Rj  x€L
  R#  L5i)zŽ
Make a backup of the current database to the target database.

Takes either a standard sqlite3 or aiosqlite Connection object as the target.
)r  r  rÃ   r  N)Ú
isinstancer   re   r|   Úbackup)rJ   rA   r  r  rÃ   r  s   &&$$$$r   r$  ÚConnection.backup   sT   é € ô �fœj×)Ò)Ø—\‘\ˆFà�m‰mØ�J‰J×ÑØØØØØð ó 
÷ 	
ô 	
ùs   ‚AAÁAÁA)rD   rE   rG   rC   rH   rF   rX   )F)+Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rK   rR   rP   Úpropertyre   rr   rw   r|   rƒ   rˆ   rŒ   r”   r   rq   r›   r    rY   rn   r­   r²   r¶   r¼   rÀ   rÉ   rÎ   rÓ   Úsetterrà   rì   rò   rö   rü   r  r  r  r  r$  Ú__static_attributes__Ú__classdictcell__)r>   s   @r   r   r   N   sd  ø‡ € ÷ò ò&÷$ð ð$ ÷ ó ð ÷!ð !÷
!ð !ò
÷ð ÷+ð +÷ð ÷ð ð ÷Dó ðD÷/ð /÷1ð 1÷ð ð" ÷$ñ $ó ð$ð ÷Jñ Jó ðJð ÷Lñ Ló ðLð ÷$ó ð$ð ÷$ó ð$÷
&ð &÷
ò 
ð, ÷)ó ð)ð ÷*ó ð*ð ×Ñ÷+ó ð+ð ÷&ó ð&ð ×Ñ÷)ó ð)ð ÷'ó ð'ð ×Ñ÷*ó ð*ð ÷(ó ð(÷Eð E÷=ð =÷Ið I÷
Dð D÷*Lð *L÷X(ð (ðT
ð ð	
ð
 ?Cð
ð ð
ð ÷
÷ 
ð 
r    r9   r:   c                ó”   € V ^8„  d   QhR\         \        \        3,          R\        \        P
                  ,          R\        R\        /# )r   Údatabaser:   r{   r   )r   rk   r   r   r   r=   r   r   )r   s   "r   r   r   »  sF   € ÷ 2ñ 2Ü”Cœ�IÕð2ô ”7×,Ñ,Õ
-ð	2ô
 ð2ô ñ2r    c               óX   a a€ Ve   \        R\        4       R V V3R llp\        WA4      # )z<Create and return a connection proxy to the sqlite database.z7aiosqlite.connect() no longer uses the `loop` parameterc                ó8   € V ^8„  d   QhR\         P                  /# rU   rb   )r   s   "r   r   Úconnect.<locals>.__annotate__Ê  s   € ÷ .ñ .”w×)Ñ)ñ .r    c                  óÊ   <€ \        S\        4      '       d   Sp M3\        S\        4      '       d   SP                  R 4      p M\        S4      p \        P
                  ! V 3/ SB # )zutf-8)r#  rk   ré   Údecoder;   Úconnect)Úlocr/  r{   s    €€r   r8   Úconnect.<locals>.connectorÊ  sM   ø€ Ü�h¤×$Ò$Ø‰CÜ˜¤%×(Ò(Ø—/‘/ 'Ó*‰Cä�h“-ˆCä�Š˜sÑ- fÑ-Ð-r    )r   rI   r   )r/  r9   r:   r{   r8   s   f$$l r   r5  r5  »  s0   ù€ ð ÒÜØEÜô	
÷
.ñ .ô �iÓ1Ð1r    )r5  r   r   )ÚDEFERREDÚ	IMMEDIATEÚ	EXCLUSIVE)/Ú__doc__r   Úloggingr;   Úcollections.abcr   r   r   Ú	functoolsr   Úpathlibr   Úqueuer   r   r	   Ú	threadingr
   Útypingr   r   r   r   r   Úwarningsr   Úcontextr   rq   r   Ú__all__r<   rk   r
  Ú	getLoggerr.   rØ   r#   r(   Úobjectr2   Útupler   r+   r5   r   r5  r€   r    r   Ú<module>rI     sæ   ðñó Û Û ß >Ñ >Ý Ý ß +Ñ +Ý ß :Õ :Ý å #Ý â
-€à˜s C¨¨c°3Ð7¸Ð<Õ=Ð à×Ò˜Ó$€ð ˜'Ð"FÕGÕH€õõñ  ›Ð Ø�u˜X g§n¡nÕ5°xÀÀCÀÕ7HÐHÕIÕJ€õQ÷<j
ñ j
ðZ2ð ð2ð 15÷	2ñ 2r    