
    R
h                    +   U d Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
 ddlmZmZmZ ddlmZmZ ddlmZmZ dd	lmZmZmZmZ erdd
lmZmZ dZded<   i Zded<   e G d d                      Z dAdZ! G d de"          Z# G d de"          Z$ G d de$          Z% G d de$          Z& G d de&          Z' G d  d!e&          Z( G d" d#e&          Z) G d$ d%e&          Z* G d& d'e&          Z+ G d( d)e&          Z, G d* d+e(          Z- G d, d-e(          Z. G d. d/e(          Z/ G d0 d1          Z0dBd3Z1dCd7Z2dDdEd<Z3dFd>Z4dCd?Z5dCd@Z6i dAe(dBe,dCe+dDe+dEe'dFe)dGe*dHe*dIe+dJe(dKe(dLe*dMe*dNe(dOe+dPe(dQe(e(e+e+e(e+e+e(e(e(e(e(e(e(e+e*dRZ7 G dS dTe&dUdVW          Z8 G dX dYe&dZd[W          Z9 G d\ d]e&d^d_W          Z: G d` dae(dbdcW          Z; G dd dee(dfdgW          Z< G dh die(djdkW          Z= G dl dme(dndoW          Z> G dp dqe(drdsW          Z? G dt due(dvdwW          Z@ G dx dye(dzd{W          ZA G d| d}e&d~dW          ZB G d de,ddW          ZC G d de&ddW          ZD G d de&ddW          ZE G d de&ddW          ZF G d de&ddW          ZG G d de&ddW          ZH G d de&ddW          ZI G d de&ddW          ZJ G d de&ddW          ZK G d de+ddW          ZL G d de+ddW          ZM G d de'ddW          ZN G d de'ddW          ZO G d de'ddW          ZP G d de'ddW          ZQ G d de'ddW          ZR G d de'ddìW          ZS G dĄ de'ddǬW          ZT G dȄ de'ddˬW          ZU G d̄ de'ddϬW          ZV G dЄ de'ddӬW          ZW G dԄ de'dd׬W          ZX G d؄ de'dd۬W          ZY G d܄ de'dd߬W          ZZ G d de'ddW          Z[ G d de'ddW          Z\ G d de'ddW          Z] G d de'ddW          Z^ G d de'ddW          Z_ G d de'ddW          Z` G d de'ddW          Za G d de'ddW          Zb G d  de'ddW          Zc G d de'ddW          Zd G d d	e'd
dW          Ze G d de'ddW          Zf G d de'ddW          Zg G d de'ddW          Zh G d de'ddW          Zi G d de'ddW          Zj G d  d!e'd"d#W          Zk G d$ d%e'd&d'W          Zl G d( d)e'd*d+W          Zm G d, d-e'd.d/W          Zn G d0 d1e'd2d3W          Zo G d4 d5e'd6d7W          Zp G d8 d9e'd:d;W          Zq G d< d=e'd>d?W          Zr G d@ dAe'dBdCW          Zs G dD dEe'dFdGW          Zt G dH dIe'dJdKW          Zu G dL dMe'dNdOW          Zv G dP dQe'dRdSW          Zw G dT dUe'dVdWW          Zx G dX dYe'dZd[W          Zy G d\ d]e'd^d_W          Zz G d` dae'dbdcW          Z{ G dd dee'dfdgW          Z| G dh die'djdkW          Z} G dl dme'dndoW          Z~ G dp dqe'drdsW          Z G dt due'dvdwW          Z G dx dye'dzd{W          Z G d| d}e'd~dW          Z G d de'ddW          Z G d de'ddW          Z G d de'ddW          Z G d de'ddW          Z G d de'ddW          Z G d de'ddW          Z G d de'ddW          Z G d de'ddW          Z G d de'ddW          Z G d de'ddW          Z G d de'ddW          Z G d de'ddW          Z G d de'ddW          Z G d de'ddW          Z G d de'ddW          Z G d de)ddW          Z G d de)ddìW          Z G dĄ de)dƐdǬW          Z G dȄ de)dʐdˬW          Z G d̄ de)dΐdϬW          Z G dЄ de)dҐdӬW          Z G dԄ de)d֐d׬W          Z G d؄ de*dڐd۬W          Z G d܄ de*dސd߬W          Z G d de*ddW          Z G d de*ddW          Z G d de*ddW          Z G d de*ddW          Z G d de*ddW          Z G d de*ddW          Z G d de*ddW          Z G d de*ddW          Z G d  de*ddW          Z G d de*ddW          Z G d d	e*d
dW          Z G d de*ddW          Z G d de+ddW          Z G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z G d  d!e*d"d#W          Z G d$ d%e*d&d'W          Z G d( d)e*d*d+W          Z G d, d-e(d.d/W          Z G d0 d1e(d2d3W          Z G d4 d5e(d6d7W          Z G d8 d9e(d:d;W          Z G d< d=e(d>d?W          Z G d@ dAe+dBdCW          Z G dD dEe(dFdGW          Z G dH dIe(dJdKW          Z G dL dMe(dNd3W          Z G dO dPe(dQd7W          Z G dR dSe(dTd;W          Z G dU dVe(dWdXW          Z G dY dZe(d[d\W          Z G d] d^e(d_dW          Z G d` dae(dbdcW          Z G dd dee(dfdgW          Z G dh die(djdkW          Z G dl dme(dndoW          Z G dp dqe(drdsW          Z G dt due+dvdwW          Z G dx dye+dzd{W          Z G d| d}e(d~dW          Z G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddìW          Z G dĄ de+dƐdǬW          Z G dȄ de+dʐdˬW          Z G d̄ de+dΐdϬW          Z G dЄ de+dҐdӬW          Z G dԄ de+d֐d׬W          Z G d؄ de+dڐd۬W          Z G d܄ de+dސd߬W          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d  de+ddW          Z G d de+ddW          Z G d d	e+d
dW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d de+ddW          Z G d  d!e+d"d#W          Z G d$ d%e+d&d'W          Z G d( d)e+d*d+W          Z G d, d-e+d.d/W          Z G d0 d1e+d2d3W          Z G d4 d5e+d6d7W          Z G d8 d9e+d:d;W          Z G d< d=e+d>d?W          Z G d@ dAe+dBdCW          Z G dD dEe(dFdGW          Z G dH dIe(dJdKW          Z G dL dMe(dNdOW          Z G dP dQe(dRdSW          Z G dT dUe(dVdWW          Z G dX dYe(dZd[W          Z G d\ d]e(d^d_W          Z G d` dae(dbdcW          Z G dd dee(dfdgW          Z G dh die(djdkW          Z G dl dme(dndoW          Z G dp dqe(drdsW          Z  G dt due(dvdwW          Z G dx dye(dzd{W          Z G d| d}e(d~dW          Z G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z	 G d de(ddW          Z
 G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z G d de&ddW          Z G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z G d de(ddìW          Z G dĄ de(dƐdǬW          Z G dȄ de(dʐdˬW          Z G d̄ de(dΐdϬW          Z G dЄ de(dҐdӬW          Z G dԄ de(d֐d׬W          Z G d؄ de(dڐd۬W          Z G d܄ de(dސd߬W          Z G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z G d de(ddW          Z  G d de(ddW          Z! G d de(ddW          Z" G d de(ddW          Z# G d  de(ddW          Z$ G d de(ddW          Z% G d d	e(d
dW          Z& G d de(ddW          Z' G d de(ddW          Z( G d de(ddW          Z) G d de(ddW          Z* G d de(ddW          Z+ G d  d!e+d"d#W          Z, G d$ d%e+d&d'W          Z- G d( d)e+d*d+W          Z. G d, d-e+d.d/W          Z/ G d0 d1e+d2d3W          Z0 G d4 d5e*d6d7W          Z1 G d8 d9e*d:d;W          Z2 G d< d=e*d>d?W          Z3e$e4e
fZ5d@S (G  a]  
psycopg exceptions

DBAPI-defined Exceptions are defined in the following hierarchy::

    Exceptions
    |__Warning
    |__Error
       |__InterfaceError
       |__DatabaseError
          |__DataError
          |__OperationalError
          |__IntegrityError
          |__InternalError
          |__ProgrammingError
          |__NotSupportedError
    )annotations)TYPE_CHECKINGAnyCallableNoReturnSequence)CancelledError)	dataclassfieldfields   )PGconnPGresult)	TypeAlias	TypeGuard)
ConnStatusDiagnosticFieldPipelineStatusTransactionStatus)ConninfoOptionPGnotifyz)PGresult | dict[int, bytes | None] | Noner   	ErrorInfozdict[str, type[Error]]	_sqlcodesc                  z   e Zd ZU dZ ee          Zded<   dZded<   dZ	ded<   dZ
ded	<   dZded
<   dZded<   dZded<   dZded<   dZded<   ej        j        Zded<   ej        j        Zded<   ej        j        Zded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZ ded<   dZ!ded<   d Z"d!ed"<   d Z#d#ed$<   e$d_d'            Z%e&d`d*            Z'e&d`d+            Z(d_d,Z)dad.Z*d_d/Z+dbdcd2Z,d_d3Z-d_d4Z.e&d`d5            Z/d`d6Z0e1d_d7            Z2d`d8Z3ddd9Z4d`d:Z5d`d;Z6d`d<Z7d`d=Z8d`d>Z9d`d?Z:d`d@Z;d`dAZ<d`dBZ=d`dCZ>d`dDZ?d`dEZ@d`dFZAd`dGZBd_dHZCd_dIZDd_dJZEd_dKZFd_dLZGdedNZHd_dOZId_dPZJd_dQZKd`dRZLd`dSZMd`dTZNd`dUZOd`dVZPd_dWZQd`dXZRd`dYZSd`dZZTd_d[ZUd_d\ZVd_d]ZWd_d^ZXd S )fFinishedPGconnzFinished libpq connection.

    Attributes are set from a real `~psycopg.pq.PGconn` but any operations will
    raise an `~psycopg.OperationalError`.
    )default_factoryzlist[ConninfoOption]info    bytesdbuserpasswordhosthostaddrportttyoptionsintstatustransaction_statuspipeline_statuserror_messageutf-8str	_encodingr   server_versionbackend_pidFboolneeds_passwordused_password
ssl_in_usenonblockingNz!Callable[[PGresult], None] | Nonenotice_handlerz!Callable[[PGnotify], None] | Nonenotify_handlerreturnr   c                      t          d          Nzthe connection is closed)OperationalError r   Y/var/www/html/01_SiteInternet/03_Maps/venv/lib/python3.11/site-packages/psycopg/errors.py_raisezFinishedPGconn._raiseK   s    9:::r   argsr   c                &    t          |  d          Nz is unusable	TypeErrorclsr@   s     r>   connectzFinishedPGconn.connectO       3,,,---r   c                &    t          |  d          rB   rC   rE   s     r>   connect_startzFinishedPGconn.connect_startS   rH   r   c                .    |                                   d S Nr?   selfs    r>   connect_pollzFinishedPGconn.connect_pollW       r   Nonec                    d S rL   r=   rN   s    r>   finishzFinishedPGconn.finishZ   s    r   c                .    |                                   d S rL   rM   rN   s    r>   resetzFinishedPGconn.reset]   rQ   r    encodingc                    dS r;   r=   )rO   rX   s     r>   get_error_messagez FinishedPGconn.get_error_message`   s    ))r   c                .    |                                   d S rL   rM   rN   s    r>   reset_startzFinishedPGconn.reset_startc   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   
reset_pollzFinishedPGconn.reset_pollf   rQ   r   c                &    t          |  d          rB   rC   rE   s     r>   pingzFinishedPGconn.pingi   rH   r   c                .    |                                   d S rL   rM   rO   r@   s     r>   parameter_statuszFinishedPGconn.parameter_statusm   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   socketzFinishedPGconn.socketp   s    r   c                .    |                                   d S rL   rM   rb   s     r>   exec_zFinishedPGconn.exec_t   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   
send_queryzFinishedPGconn.send_queryw   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   exec_paramszFinishedPGconn.exec_paramsz   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   send_query_paramsz FinishedPGconn.send_query_params}   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   send_preparezFinishedPGconn.send_prepare   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   send_query_preparedz"FinishedPGconn.send_query_prepared   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   preparezFinishedPGconn.prepare   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   exec_preparedzFinishedPGconn.exec_prepared   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   describe_preparedz FinishedPGconn.describe_prepared   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   send_describe_preparedz%FinishedPGconn.send_describe_prepared   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   describe_portalzFinishedPGconn.describe_portal   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   send_describe_portalz#FinishedPGconn.send_describe_portal   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   close_preparedzFinishedPGconn.close_prepared   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   send_close_preparedz"FinishedPGconn.send_close_prepared   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   close_portalzFinishedPGconn.close_portal   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   send_close_portalz FinishedPGconn.send_close_portal   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   
get_resultzFinishedPGconn.get_result   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   consume_inputzFinishedPGconn.consume_input   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   is_busyzFinishedPGconn.is_busy   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   flushzFinishedPGconn.flush   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   set_single_row_modez"FinishedPGconn.set_single_row_mode   rQ   r   sizec                .    |                                   d S rL   rM   )rO   r   s     r>   set_chunked_rows_modez$FinishedPGconn.set_chunked_rows_mode   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   cancel_connzFinishedPGconn.cancel_conn   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   
get_cancelzFinishedPGconn.get_cancel   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   notifieszFinishedPGconn.notifies   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   put_copy_datazFinishedPGconn.put_copy_data   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   put_copy_endzFinishedPGconn.put_copy_end   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   get_copy_datazFinishedPGconn.get_copy_data   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   tracezFinishedPGconn.trace   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   set_trace_flagszFinishedPGconn.set_trace_flags   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   untracezFinishedPGconn.untrace   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   encrypt_passwordzFinishedPGconn.encrypt_password   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   change_passwordzFinishedPGconn.change_password   rQ   r   c                .    |                                   d S rL   rM   rb   s     r>   make_empty_resultz FinishedPGconn.make_empty_result   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   enter_pipeline_modez"FinishedPGconn.enter_pipeline_mode   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   exit_pipeline_modez!FinishedPGconn.exit_pipeline_mode   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   pipeline_synczFinishedPGconn.pipeline_sync   rQ   r   c                .    |                                   d S rL   rM   rN   s    r>   send_flush_requestz!FinishedPGconn.send_flush_request   rQ   r   )r9   r   )r@   r   r9   r   )r9   rR   )rW   )rX   r.   r9   r.   )r@   r   r9   rR   )r   r(   r9   r   )Y__name__
__module____qualname____doc__r   listr   __annotations__r    r!   r"   r#   r$   r%   r&   r'   r   BADvaluer)   r   UNKNOWNr*   r   OFFr+   r,   r/   r0   r1   r3   r4   r5   r6   r7   r8   staticmethodr?   classmethodrG   rJ   rP   rT   rV   rZ   r\   r^   r`   rc   propertyre   rg   ri   rk   rm   ro   rq   rs   ru   rw   ry   r{   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r=   r   r>   r   r   '   s          "'t!<!<!<D<<<<BOOOODHDHDCG.&F&&&&/7=====)-3O3333MINK N    MJK8<N<<<<8<N<<<<; ; ; \; . . . [. . . . [.         * * * * *       . . . [.       X                                                                                                                    r   r   pgconnr   r9   c                    i }t          t                    D ]0}	 t          | |j                  ||j        <   !# t          $ r Y -w xY w|                                  t          di |S )Nr=   )r   r   getattrname	ExceptionrT   )r   r@   fs      r>   finish_pgconnr      s}    DN##  	"61622DLL 	 	 	D	
MMOOO!!D!!!s   8
AAc                      e Zd ZdZdZdS )Warningzy
    Exception raised for important warnings.

    Defined for DBAPI compatibility, but never raised by ``psycopg``.
    psycopgNr   r   r   r   r=   r   r>   r   r                JJJr   r   c                       e Zd ZU dZdZdZded<   ddddd fdZedd            Zedd            Z	edd            Z
d fdZ xZS )Errora  
    Base exception for all the errors psycopg will raise.

    Exception that is the base class of all other error exceptions. You can
    use this to catch all errors with one single `!except` statement.

    This exception is guaranteed to be picklable.
    r   N
str | Nonesqlstater-   )r   rX   r   r@   Sequence[Any]r   r   rX   r.   r   PGconn | Nonec                    t                      j        |  || _        || _        || _        | j        s|r| j        j        | _        d S d S d S rL   )super__init___infor/   _pgconnr   diag)rO   r   rX   r   r@   	__class__s        r>   r   zError.__init__
  se     	$
! } 	/ 	/ I.DMMM	/ 	/ 	/ 	/r   r9   c                "    | j         r| j         ndS )z|The connection object, if the error was raised from a connection attempt.

        :rtype: psycopg.pq.PGconn | None
        N)r   rN   s    r>   r   zError.pgconn  s      $|5t||5r   PGresult | Nonec                <    t          | j                  r| j        ndS )zyThe result object, if the exception was raised after a failed query.

        :rtype: psycopg.pq.PGresult | None
        N)_is_pgresultr   rN   s    r>   pgresultzError.pgresult"  s     *$*55?tzz4?r   
Diagnosticc                8    t          | j        | j                  S )z[
        A `Diagnostic` object to inspect details of the errors from the database.
        )rX   )r   r   r/   rN   s    r>   r   z
Error.diag*  s    
 $*t~>>>>r   str | tuple[Any, ...]c                    t                                                      }t          |t                    r;t	          |          dk    r(t          | j                  |d         d<   d |d         d<   |S )N      r   r   r   
__reduce__
isinstancetuplelen_info_to_dictr   rO   resr   s     r>   r   zError.__reduce__1  sb    gg  ""c5!! 	%c#hh!mm+DJ77CF7O $CF9
r   )r@   r   r   r   rX   r.   r   r   )r9   r   )r9   r   )r9   r   r9   r   )r   r   r   r   r   r   r   r   r   r   r   r   __classcell__r   s   @r>   r   r      s           JH
  $/ / / / / / / /  6 6 6 X6 @ @ @ X@ ? ? ? X?         r   r   c                      e Zd ZdZdZdS )InterfaceErrorzU
    An error related to the database interface rather than the database itself.
    r   Nr   r=   r   r>   r   r   ;            JJJr   r   c                       e Zd ZdZdZdd	dZdS )
DatabaseErrorzG
    Exception raised for errors that are related to the database.
    r   Ncoder   r   c                H    |r| t           |<   || _        |r| t           |<   d S d S rL   )r   r   )rF   r   r   s      r>   __init_subclass__zDatabaseError.__init_subclass__J  s9     	 !IdOCL 	"!IdOOO	" 	"r   )NN)r   r   r   r   )r   r   r   r   r   r=   r   r>   r   r   C  s>          J" " " " " " "r   r   c                      e Zd ZdZdZdS )	DataErrorz
    An error caused by problems with the processed data.

    Examples may be division by zero, numeric value out of range, etc.
    r   Nr   r=   r   r>   r   r   R  r   r   r   c                      e Zd ZdZdZdS )r<   a8  
    An error related to the database's operation.

    These errors are not necessarily under the control of the programmer, e.g.
    an unexpected disconnect occurs, the data source name is not found, a
    transaction could not be processed, a memory allocation error occurred
    during processing, etc.
    r   Nr   r=   r   r>   r<   r<   \  s          JJJr   r<   c                      e Zd ZdZdZdS )IntegrityErrorz
    An error caused when the relational integrity of the database is affected.

    An example may be a foreign key check failed.
    r   Nr   r=   r   r>   r   r   i  r   r   r   c                      e Zd ZdZdZdS )InternalErrorz
    An error generated when the database encounters an internal error,

    Examples could be the cursor is not valid anymore, the transaction is out
    of sync, etc.
    r   Nr   r=   r   r>   r   r   s            JJJr   r   c                      e Zd ZdZdZdS )ProgrammingErrorz
    Exception raised for programming errors

    Examples may be table not found or already exists, syntax error in the SQL
    statement, wrong number of parameters specified, etc.
    r   Nr   r=   r   r>   r   r   ~  r   r   r   c                      e Zd ZdZdZdS )NotSupportedErrorzS
    A method or database API was used which is not supported by the database.
    r   Nr   r=   r   r>   r  r    r   r   r  c                      e Zd ZdZdS )ConnectionTimeoutz
    Exception raised on timeout of the `~psycopg.Connection.connect()` method.

    The error is raised if the ``connect_timeout`` is specified and a
    connection is not obtained in useful time.

    Subclass of `~psycopg.OperationalError`.
    Nr   r=   r   r>   r  r    s           r   r  c                      e Zd ZdZdS )CancellationTimeoutz
    Exception raised on timeout of connection's
    `~psycopg.Connection.cancel_safe()` method.

    Subclass of `~psycopg.OperationalError`.
    Nr   r=   r   r>   r  r    s           r   r  c                      e Zd ZdZdS )PipelineAbortedz
    Raised when a operation fails because the current pipeline is in aborted state.

    Subclass of `~psycopg.OperationalError`.
    Nr   r=   r   r>   r  r    s           r   r  c                      e Zd ZdZd!d"dZed#d
            Zed#d            Zed#d            Zed#d            Z	ed#d            Z
ed#d            Zed#d            Zed#d            Zed#d            Zed#d            Zed#d            Zed#d            Zed#d            Zed#d            Zed#d            Zed#d            Zed#d            Zed#d            Zd$dZd% fd Z xZS )&r   z%Details from a database error report.r-   r   r   rX   r.   c                "    || _         || _        d S rL   )r   r/   )rO   r   rX   s      r>   r   zDiagnostic.__init__  s    
!r   r9   r   c                @    |                      t          j                  S rL   )_error_messager   SEVERITYrN   s    r>   severityzDiagnostic.severity      ""?#;<<<r   c                @    |                      t          j                  S rL   )r  r   SEVERITY_NONLOCALIZEDrN   s    r>   severity_nonlocalizedz Diagnostic.severity_nonlocalized  s    ""?#HIIIr   c                @    |                      t          j                  S rL   )r  r   SQLSTATErN   s    r>   r   zDiagnostic.sqlstate  r  r   c                @    |                      t          j                  S rL   )r  r   MESSAGE_PRIMARYrN   s    r>   message_primaryzDiagnostic.message_primary      ""?#BCCCr   c                @    |                      t          j                  S rL   )r  r   MESSAGE_DETAILrN   s    r>   message_detailzDiagnostic.message_detail      ""?#ABBBr   c                @    |                      t          j                  S rL   )r  r   MESSAGE_HINTrN   s    r>   message_hintzDiagnostic.message_hint  s    ""?#?@@@r   c                @    |                      t          j                  S rL   )r  r   STATEMENT_POSITIONrN   s    r>   statement_positionzDiagnostic.statement_position  s    ""?#EFFFr   c                @    |                      t          j                  S rL   )r  r   INTERNAL_POSITIONrN   s    r>   internal_positionzDiagnostic.internal_position  s    ""?#DEEEr   c                @    |                      t          j                  S rL   )r  r   INTERNAL_QUERYrN   s    r>   internal_queryzDiagnostic.internal_query  r  r   c                @    |                      t          j                  S rL   )r  r   CONTEXTrN   s    r>   contextzDiagnostic.context  s    ""?#:;;;r   c                @    |                      t          j                  S rL   )r  r   SCHEMA_NAMErN   s    r>   schema_namezDiagnostic.schema_name      ""?#>???r   c                @    |                      t          j                  S rL   )r  r   
TABLE_NAMErN   s    r>   
table_namezDiagnostic.table_name  s    ""?#=>>>r   c                @    |                      t          j                  S rL   )r  r   COLUMN_NAMErN   s    r>   column_namezDiagnostic.column_name  r/  r   c                @    |                      t          j                  S rL   )r  r   DATATYPE_NAMErN   s    r>   datatype_namezDiagnostic.datatype_name  s    ""?#@AAAr   c                @    |                      t          j                  S rL   )r  r   CONSTRAINT_NAMErN   s    r>   constraint_namezDiagnostic.constraint_name  r  r   c                @    |                      t          j                  S rL   )r  r   SOURCE_FILErN   s    r>   source_filezDiagnostic.source_file  r/  r   c                @    |                      t          j                  S rL   )r  r   SOURCE_LINErN   s    r>   source_linezDiagnostic.source_line  r/  r   c                @    |                      t          j                  S rL   )r  r   SOURCE_FUNCTIONrN   s    r>   source_functionzDiagnostic.source_function  r  r   r   r   c                    | j         rlt          | j         t                    r| j                             |          }n| j                             |          }||                    | j        d          S d S )Nreplace)r   r   dictgeterror_fielddecoder/   )rO   r   vals      r>   r  zDiagnostic._error_message  sj    : 	=$*d++ 4jnnU++j,,U33zz$.)<<<tr   r   c                    t                                                      }t          |t                    r0t	          |          dk    rt          | j                  |d         d<   |S )Nr   r   r   r   r   s     r>   r   zDiagnostic.__reduce__  sT    gg  ""c5!! 	8c#hh!mm+DJ77CF7O
r   r-   )r   r   rX   r.   )r9   r   )r   r   r9   r   r   )r   r   r   r   r   r   r  r  r   r  r  r  r"  r%  r(  r+  r.  r2  r5  r8  r;  r>  rA  rD  r  r   r   r   s   @r>   r   r     s       //" " " " " = = = X= J J J XJ = = = X= D D D XD C C C XC A A A XA G G G XG F F F XF C C C XC < < < X< @ @ @ X@ ? ? ? X? @ @ @ X@ B B B XB D D D XD @ @ @ X@ @ @ @ X@ D D D XD
 
 
 
         r   r   r   c                L     t                     r fdt          D             S  S )zH
    Convert a PGresult to a dictionary to make the info picklable.
    c                <    i | ]}|                     |          S r=   )rI  ).0vr   s     r>   
<dictcomp>z!_info_to_dict.<locals>.<dictcomp>  s)    @@@14##A&&@@@r   )r   r   r   s   `r>   r   r     s4    
 D @@@@@@@@r   r   r.   type[Error]c                @    t           |                                          S )zLookup an error code or `constant name`__ and return its exception class.

    Raise `!KeyError` if the code is not found.

    .. __: https://www.postgresql.org/docs/current/errcodes-appendix.html
            #ERRCODES-TABLE
    )r   upperr   s    r>   lookuprX    s     X^^%%&&r   r-   resultr   rX   c                    |                      t          j                  pd}t          |                    dd                    } ||                     |          | |          S )Nr   r-   rF  )r   rX   )rI  r   r  _class_for_staterJ  rZ   )rY  rX   staterF   s       r>   error_from_resultr]  &  s]    788?CE
5<<;;
<
<C3v''11RRRRr   TypeGuard[PGresult]c                "    t          | d          S )z3Return True if an ErrorInfo is a PGresult instance.rI  )hasattrrS  s    r>   r   r   ,  s     4'''r   c                `    	 t          |           S # t          $ r t          |           cY S w xY wrL   )rX  KeyErrorget_base_exceptionrW  s    r>   r[  r[  2  sD    ,h , , ,!(+++++,s    --c                    t                               | d d                   p(t                               | d d                   pt          S )Nr   r   )_base_exc_maprH  r   rW  s    r>   rc  rc  9  sF    (2A2,'' 	Xbqb\**	r   080A2021222324252627282B2D2F343839)3B3D3F4042445354555758FHPXc                      e Zd ZdS )NoDataNr   r   r   r=   r   r>   r  r  m          Dr   r  02000NO_DATA)r   r   c                      e Zd ZdS )%NoAdditionalDynamicResultSetsReturnedNr  r=   r   r>   r  r  q  r  r   r  02001*NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNEDc                      e Zd ZdS )SqlStatementNotYetCompleteNr  r=   r   r>   r  r  x  r  r   r  03000SQL_STATEMENT_NOT_YET_COMPLETEc                      e Zd ZdS )ConnectionExceptionNr  r=   r   r>   r  r    r  r   r  08000CONNECTION_EXCEPTIONc                      e Zd ZdS )'SqlclientUnableToEstablishSqlconnectionNr  r=   r   r>   r  r    r  r   r  08001+SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTIONc                      e Zd ZdS )ConnectionDoesNotExistNr  r=   r   r>   r  r    r  r   r  08003CONNECTION_DOES_NOT_EXISTc                      e Zd ZdS )-SqlserverRejectedEstablishmentOfSqlconnectionNr  r=   r   r>   r  r    r  r   r  080041SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTIONc                      e Zd ZdS )ConnectionFailureNr  r=   r   r>   r  r    r  r   r  08006CONNECTION_FAILUREc                      e Zd ZdS )TransactionResolutionUnknownNr  r=   r   r>   r  r    r  r   r  08007TRANSACTION_RESOLUTION_UNKNOWNc                      e Zd ZdS )ProtocolViolationNr  r=   r   r>   r  r    r  r   r  08P01PROTOCOL_VIOLATIONc                      e Zd ZdS )TriggeredActionExceptionNr  r=   r   r>   r  r    r  r   r  09000TRIGGERED_ACTION_EXCEPTIONc                      e Zd ZdS )FeatureNotSupportedNr  r=   r   r>   r  r    r  r   r  0A000FEATURE_NOT_SUPPORTEDc                      e Zd ZdS )InvalidTransactionInitiationNr  r=   r   r>   r  r    r  r   r  0B000INVALID_TRANSACTION_INITIATIONc                      e Zd ZdS )LocatorExceptionNr  r=   r   r>   r  r    r  r   r  0F000LOCATOR_EXCEPTIONc                      e Zd ZdS )InvalidLocatorSpecificationNr  r=   r   r>   r  r    r  r   r  0F001INVALID_LOCATOR_SPECIFICATIONc                      e Zd ZdS )InvalidGrantorNr  r=   r   r>   r  r    r  r   r  0L000INVALID_GRANTORc                      e Zd ZdS )InvalidGrantOperationNr  r=   r   r>   r  r    r  r   r  0LP01INVALID_GRANT_OPERATIONc                      e Zd ZdS )InvalidRoleSpecificationNr  r=   r   r>   r  r    r  r   r  0P000INVALID_ROLE_SPECIFICATIONc                      e Zd ZdS )DiagnosticsExceptionNr  r=   r   r>   r  r    r  r   r  0Z000DIAGNOSTICS_EXCEPTIONc                      e Zd ZdS ).StackedDiagnosticsAccessedWithoutActiveHandlerNr  r=   r   r>   r  r    r  r   r  0Z0023STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLERc                      e Zd ZdS )CaseNotFoundNr  r=   r   r>   r  r    r  r   r  20000CASE_NOT_FOUNDc                      e Zd ZdS )CardinalityViolationNr  r=   r   r>   r  r    r  r   r  21000CARDINALITY_VIOLATIONc                      e Zd ZdS )DataExceptionNr  r=   r   r>   r  r    r  r   r  22000DATA_EXCEPTIONc                      e Zd ZdS )StringDataRightTruncationNr  r=   r   r>   r  r    r  r   r  22001STRING_DATA_RIGHT_TRUNCATIONc                      e Zd ZdS )NullValueNoIndicatorParameterNr  r=   r   r>   r  r    r  r   r  22002!NULL_VALUE_NO_INDICATOR_PARAMETERc                      e Zd ZdS )NumericValueOutOfRangeNr  r=   r   r>   r  r    r  r   r  22003NUMERIC_VALUE_OUT_OF_RANGEc                      e Zd ZdS )NullValueNotAllowedNr  r=   r   r>   r  r    r  r   r  22004NULL_VALUE_NOT_ALLOWEDc                      e Zd ZdS )ErrorInAssignmentNr  r=   r   r>   r  r    r  r   r  22005ERROR_IN_ASSIGNMENTc                      e Zd ZdS )InvalidDatetimeFormatNr  r=   r   r>   r  r    r  r   r  22007INVALID_DATETIME_FORMATc                      e Zd ZdS )DatetimeFieldOverflowNr  r=   r   r>   r  r    r  r   r  22008DATETIME_FIELD_OVERFLOWc                      e Zd ZdS ) InvalidTimeZoneDisplacementValueNr  r=   r   r>   r  r  	  r  r   r  22009$INVALID_TIME_ZONE_DISPLACEMENT_VALUEc                      e Zd ZdS )EscapeCharacterConflictNr  r=   r   r>   r  r    r  r   r  2200BESCAPE_CHARACTER_CONFLICTc                      e Zd ZdS )InvalidUseOfEscapeCharacterNr  r=   r   r>   r	  r	    r  r   r	  2200CINVALID_USE_OF_ESCAPE_CHARACTERc                      e Zd ZdS )InvalidEscapeOctetNr  r=   r   r>   r  r    r  r   r  2200DINVALID_ESCAPE_OCTETc                      e Zd ZdS )ZeroLengthCharacterStringNr  r=   r   r>   r  r    r  r   r  2200FZERO_LENGTH_CHARACTER_STRINGc                      e Zd ZdS )MostSpecificTypeMismatchNr  r=   r   r>   r  r    r  r   r  2200GMOST_SPECIFIC_TYPE_MISMATCHc                      e Zd ZdS )SequenceGeneratorLimitExceededNr  r=   r   r>   r  r  !  r  r   r  2200H!SEQUENCE_GENERATOR_LIMIT_EXCEEDEDc                      e Zd ZdS )NotAnXmlDocumentNr  r=   r   r>   r  r  %  r  r   r  2200LNOT_AN_XML_DOCUMENTc                      e Zd ZdS )InvalidXmlDocumentNr  r=   r   r>   r!  r!  )  r  r   r!  2200MINVALID_XML_DOCUMENTc                      e Zd ZdS )InvalidXmlContentNr  r=   r   r>   r%  r%  -  r  r   r%  2200NINVALID_XML_CONTENTc                      e Zd ZdS )InvalidXmlCommentNr  r=   r   r>   r)  r)  1  r  r   r)  2200SINVALID_XML_COMMENTc                      e Zd ZdS )InvalidXmlProcessingInstructionNr  r=   r   r>   r-  r-  5  r  r   r-  2200T"INVALID_XML_PROCESSING_INSTRUCTIONc                      e Zd ZdS )InvalidIndicatorParameterValueNr  r=   r   r>   r1  r1  9  r  r   r1  22010!INVALID_INDICATOR_PARAMETER_VALUEc                      e Zd ZdS )SubstringErrorNr  r=   r   r>   r5  r5  =  r  r   r5  22011SUBSTRING_ERRORc                      e Zd ZdS )DivisionByZeroNr  r=   r   r>   r9  r9  A  r  r   r9  22012DIVISION_BY_ZEROc                      e Zd ZdS )InvalidPrecedingOrFollowingSizeNr  r=   r   r>   r=  r=  E  r  r   r=  22013#INVALID_PRECEDING_OR_FOLLOWING_SIZEc                      e Zd ZdS )InvalidArgumentForNtileFunctionNr  r=   r   r>   rA  rA  I  r  r   rA  22014#INVALID_ARGUMENT_FOR_NTILE_FUNCTIONc                      e Zd ZdS )IntervalFieldOverflowNr  r=   r   r>   rE  rE  M  r  r   rE  22015INTERVAL_FIELD_OVERFLOWc                      e Zd ZdS )"InvalidArgumentForNthValueFunctionNr  r=   r   r>   rI  rI  Q  r  r   rI  22016'INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTIONc                      e Zd ZdS )InvalidCharacterValueForCastNr  r=   r   r>   rM  rM  U  r  r   rM  22018 INVALID_CHARACTER_VALUE_FOR_CASTc                      e Zd ZdS )InvalidEscapeCharacterNr  r=   r   r>   rQ  rQ  Y  r  r   rQ  22019INVALID_ESCAPE_CHARACTERc                      e Zd ZdS )InvalidRegularExpressionNr  r=   r   r>   rU  rU  ]  r  r   rU  2201BINVALID_REGULAR_EXPRESSIONc                      e Zd ZdS )InvalidArgumentForLogarithmNr  r=   r   r>   rY  rY  a  r  r   rY  2201EINVALID_ARGUMENT_FOR_LOGARITHMc                      e Zd ZdS )InvalidArgumentForPowerFunctionNr  r=   r   r>   r]  r]  e  r  r   r]  2201F#INVALID_ARGUMENT_FOR_POWER_FUNCTIONc                      e Zd ZdS )%InvalidArgumentForWidthBucketFunctionNr  r=   r   r>   ra  ra  i  r  r   ra  2201G*INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTIONc                      e Zd ZdS )InvalidRowCountInLimitClauseNr  r=   r   r>   re  re  m  r  r   re  2201W!INVALID_ROW_COUNT_IN_LIMIT_CLAUSEc                      e Zd ZdS )#InvalidRowCountInResultOffsetClauseNr  r=   r   r>   ri  ri  q  r  r   ri  2201X)INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSEc                      e Zd ZdS )CharacterNotInRepertoireNr  r=   r   r>   rm  rm  u  r  r   rm  22021CHARACTER_NOT_IN_REPERTOIREc                      e Zd ZdS )IndicatorOverflowNr  r=   r   r>   rq  rq  y  r  r   rq  22022INDICATOR_OVERFLOWc                      e Zd ZdS )InvalidParameterValueNr  r=   r   r>   ru  ru  }  r  r   ru  22023INVALID_PARAMETER_VALUEc                      e Zd ZdS )UnterminatedCStringNr  r=   r   r>   ry  ry    r  r   ry  22024UNTERMINATED_C_STRINGc                      e Zd ZdS )InvalidEscapeSequenceNr  r=   r   r>   r}  r}    r  r   r}  22025INVALID_ESCAPE_SEQUENCEc                      e Zd ZdS )StringDataLengthMismatchNr  r=   r   r>   r  r    r  r   r  22026STRING_DATA_LENGTH_MISMATCHc                      e Zd ZdS )	TrimErrorNr  r=   r   r>   r  r    r  r   r  22027
TRIM_ERRORc                      e Zd ZdS )ArraySubscriptErrorNr  r=   r   r>   r  r    r  r   r  2202EARRAY_SUBSCRIPT_ERRORc                      e Zd ZdS )InvalidTablesampleRepeatNr  r=   r   r>   r  r    r  r   r  2202GINVALID_TABLESAMPLE_REPEATc                      e Zd ZdS )InvalidTablesampleArgumentNr  r=   r   r>   r  r    r  r   r  2202HINVALID_TABLESAMPLE_ARGUMENTc                      e Zd ZdS )DuplicateJsonObjectKeyValueNr  r=   r   r>   r  r    r  r   r  22030DUPLICATE_JSON_OBJECT_KEY_VALUEc                      e Zd ZdS ))InvalidArgumentForSqlJsonDatetimeFunctionNr  r=   r   r>   r  r    r  r   r  22031/INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTIONc                      e Zd ZdS )InvalidJsonTextNr  r=   r   r>   r  r    r  r   r  22032INVALID_JSON_TEXTc                      e Zd ZdS )InvalidSqlJsonSubscriptNr  r=   r   r>   r  r    r  r   r  22033INVALID_SQL_JSON_SUBSCRIPTc                      e Zd ZdS )MoreThanOneSqlJsonItemNr  r=   r   r>   r  r    r  r   r  22034MORE_THAN_ONE_SQL_JSON_ITEMc                      e Zd ZdS )NoSqlJsonItemNr  r=   r   r>   r  r    r  r   r  22035NO_SQL_JSON_ITEMc                      e Zd ZdS )NonNumericSqlJsonItemNr  r=   r   r>   r  r    r  r   r  22036NON_NUMERIC_SQL_JSON_ITEMc                      e Zd ZdS )NonUniqueKeysInAJsonObjectNr  r=   r   r>   r  r    r  r   r  22037 NON_UNIQUE_KEYS_IN_A_JSON_OBJECTc                      e Zd ZdS )SingletonSqlJsonItemRequiredNr  r=   r   r>   r  r    r  r   r  22038 SINGLETON_SQL_JSON_ITEM_REQUIREDc                      e Zd ZdS )SqlJsonArrayNotFoundNr  r=   r   r>   r  r    r  r   r  22039SQL_JSON_ARRAY_NOT_FOUNDc                      e Zd ZdS )SqlJsonMemberNotFoundNr  r=   r   r>   r  r    r  r   r  2203ASQL_JSON_MEMBER_NOT_FOUNDc                      e Zd ZdS )SqlJsonNumberNotFoundNr  r=   r   r>   r  r    r  r   r  2203BSQL_JSON_NUMBER_NOT_FOUNDc                      e Zd ZdS )SqlJsonObjectNotFoundNr  r=   r   r>   r  r    r  r   r  2203CSQL_JSON_OBJECT_NOT_FOUNDc                      e Zd ZdS )TooManyJsonArrayElementsNr  r=   r   r>   r  r    r  r   r  2203DTOO_MANY_JSON_ARRAY_ELEMENTSc                      e Zd ZdS )TooManyJsonObjectMembersNr  r=   r   r>   r  r    r  r   r  2203ETOO_MANY_JSON_OBJECT_MEMBERSc                      e Zd ZdS )SqlJsonScalarRequiredNr  r=   r   r>   r  r    r  r   r  2203FSQL_JSON_SCALAR_REQUIREDc                      e Zd ZdS )#SqlJsonItemCannotBeCastToTargetTypeNr  r=   r   r>   r  r    r  r   r  2203G+SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPEc                      e Zd ZdS )FloatingPointExceptionNr  r=   r   r>   r  r    r  r   r  22P01FLOATING_POINT_EXCEPTIONc                      e Zd ZdS )InvalidTextRepresentationNr  r=   r   r>   r  r    r  r   r  22P02INVALID_TEXT_REPRESENTATIONc                      e Zd ZdS )InvalidBinaryRepresentationNr  r=   r   r>   r  r    r  r   r  22P03INVALID_BINARY_REPRESENTATIONc                      e Zd ZdS )BadCopyFileFormatNr  r=   r   r>   r  r    r  r   r  22P04BAD_COPY_FILE_FORMATc                      e Zd ZdS )UntranslatableCharacterNr  r=   r   r>   r  r    r  r   r  22P05UNTRANSLATABLE_CHARACTERc                      e Zd ZdS )NonstandardUseOfEscapeCharacterNr  r=   r   r>   r  r    r  r   r  22P06#NONSTANDARD_USE_OF_ESCAPE_CHARACTERc                      e Zd ZdS )IntegrityConstraintViolationNr  r=   r   r>   r  r    r  r   r  23000INTEGRITY_CONSTRAINT_VIOLATIONc                      e Zd ZdS )RestrictViolationNr  r=   r   r>   r  r     r  r   r  23001RESTRICT_VIOLATIONc                      e Zd ZdS )NotNullViolationNr  r=   r   r>   r  r    r  r   r  23502NOT_NULL_VIOLATIONc                      e Zd ZdS )ForeignKeyViolationNr  r=   r   r>   r  r    r  r   r  23503FOREIGN_KEY_VIOLATIONc                      e Zd ZdS )UniqueViolationNr  r=   r   r>   r  r    r  r   r  23505UNIQUE_VIOLATIONc                      e Zd ZdS )CheckViolationNr  r=   r   r>   r  r    r  r   r  23514CHECK_VIOLATIONc                      e Zd ZdS )ExclusionViolationNr  r=   r   r>   r	  r	    r  r   r	  23P01EXCLUSION_VIOLATIONc                      e Zd ZdS )InvalidCursorStateNr  r=   r   r>   r  r    r  r   r  24000INVALID_CURSOR_STATEc                      e Zd ZdS )InvalidTransactionStateNr  r=   r   r>   r  r  "  r  r   r  25000INVALID_TRANSACTION_STATEc                      e Zd ZdS )ActiveSqlTransactionNr  r=   r   r>   r  r  &  r  r   r  25001ACTIVE_SQL_TRANSACTIONc                      e Zd ZdS )BranchTransactionAlreadyActiveNr  r=   r   r>   r  r  *  r  r   r  25002!BRANCH_TRANSACTION_ALREADY_ACTIVEc                      e Zd ZdS )+InappropriateAccessModeForBranchTransactionNr  r=   r   r>   r  r  .  r  r   r  250030INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTIONc                      e Zd ZdS )/InappropriateIsolationLevelForBranchTransactionNr  r=   r   r>   r!  r!  2  r  r   r!  250044INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTIONc                      e Zd ZdS )*NoActiveSqlTransactionForBranchTransactionNr  r=   r   r>   r%  r%  6  r  r   r%  250050NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTIONc                      e Zd ZdS )ReadOnlySqlTransactionNr  r=   r   r>   r)  r)  :  r  r   r)  25006READ_ONLY_SQL_TRANSACTIONc                      e Zd ZdS )(SchemaAndDataStatementMixingNotSupportedNr  r=   r   r>   r-  r-  >  r  r   r-  25007.SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTEDc                      e Zd ZdS )$HeldCursorRequiresSameIsolationLevelNr  r=   r   r>   r1  r1  B  r  r   r1  25008)HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVELc                      e Zd ZdS )NoActiveSqlTransactionNr  r=   r   r>   r5  r5  F  r  r   r5  25P01NO_ACTIVE_SQL_TRANSACTIONc                      e Zd ZdS )InFailedSqlTransactionNr  r=   r   r>   r9  r9  J  r  r   r9  25P02IN_FAILED_SQL_TRANSACTIONc                      e Zd ZdS )IdleInTransactionSessionTimeoutNr  r=   r   r>   r=  r=  N  r  r   r=  25P03#IDLE_IN_TRANSACTION_SESSION_TIMEOUTc                      e Zd ZdS )TransactionTimeoutNr  r=   r   r>   rA  rA  R  r  r   rA  25P04TRANSACTION_TIMEOUTc                      e Zd ZdS )InvalidSqlStatementNameNr  r=   r   r>   rE  rE  Y  r  r   rE  26000INVALID_SQL_STATEMENT_NAMEc                      e Zd ZdS )TriggeredDataChangeViolationNr  r=   r   r>   rI  rI  `  r  r   rI  27000TRIGGERED_DATA_CHANGE_VIOLATIONc                      e Zd ZdS )!InvalidAuthorizationSpecificationNr  r=   r   r>   rM  rM  g  r  r   rM  28000#INVALID_AUTHORIZATION_SPECIFICATIONc                      e Zd ZdS )InvalidPasswordNr  r=   r   r>   rQ  rQ  k  r  r   rQ  28P01INVALID_PASSWORDc                      e Zd ZdS )'DependentPrivilegeDescriptorsStillExistNr  r=   r   r>   rU  rU  r  r  r   rU  2B000+DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXISTc                      e Zd ZdS )DependentObjectsStillExistNr  r=   r   r>   rY  rY  v  r  r   rY  2BP01DEPENDENT_OBJECTS_STILL_EXISTc                      e Zd ZdS )InvalidTransactionTerminationNr  r=   r   r>   r]  r]  }  r  r   r]  2D000INVALID_TRANSACTION_TERMINATIONc                      e Zd ZdS )SqlRoutineExceptionNr  r=   r   r>   ra  ra    r  r   ra  2F000SQL_ROUTINE_EXCEPTIONc                      e Zd ZdS )ModifyingSqlDataNotPermittedNr  r=   r   r>   re  re    r  r   re  2F002 MODIFYING_SQL_DATA_NOT_PERMITTEDc                      e Zd ZdS )ProhibitedSqlStatementAttemptedNr  r=   r   r>   ri  ri    r  r   ri  2F003"PROHIBITED_SQL_STATEMENT_ATTEMPTEDc                      e Zd ZdS )ReadingSqlDataNotPermittedNr  r=   r   r>   rm  rm    r  r   rm  2F004READING_SQL_DATA_NOT_PERMITTEDc                      e Zd ZdS )!FunctionExecutedNoReturnStatementNr  r=   r   r>   rq  rq    r  r   rq  2F005%FUNCTION_EXECUTED_NO_RETURN_STATEMENTc                      e Zd ZdS )InvalidCursorNameNr  r=   r   r>   ru  ru    r  r   ru  34000INVALID_CURSOR_NAMEc                      e Zd ZdS )ExternalRoutineExceptionNr  r=   r   r>   ry  ry    r  r   ry  38000EXTERNAL_ROUTINE_EXCEPTIONc                      e Zd ZdS )ContainingSqlNotPermittedNr  r=   r   r>   r}  r}    r  r   r}  38001CONTAINING_SQL_NOT_PERMITTEDc                      e Zd ZdS )ModifyingSqlDataNotPermittedExtNr  r=   r   r>   r  r    r  r   r  38002c                      e Zd ZdS )"ProhibitedSqlStatementAttemptedExtNr  r=   r   r>   r  r    r  r   r  38003c                      e Zd ZdS )ReadingSqlDataNotPermittedExtNr  r=   r   r>   r  r    r  r   r  38004c                      e Zd ZdS )"ExternalRoutineInvocationExceptionNr  r=   r   r>   r  r    r  r   r  39000%EXTERNAL_ROUTINE_INVOCATION_EXCEPTIONc                      e Zd ZdS )InvalidSqlstateReturnedNr  r=   r   r>   r  r    r  r   r  39001INVALID_SQLSTATE_RETURNEDc                      e Zd ZdS )NullValueNotAllowedExtNr  r=   r   r>   r  r    r  r   r  39004c                      e Zd ZdS )TriggerProtocolViolatedNr  r=   r   r>   r  r    r  r   r  39P01TRIGGER_PROTOCOL_VIOLATEDc                      e Zd ZdS )SrfProtocolViolatedNr  r=   r   r>   r  r    r  r   r  39P02SRF_PROTOCOL_VIOLATEDc                      e Zd ZdS )EventTriggerProtocolViolatedNr  r=   r   r>   r  r    r  r   r  39P03EVENT_TRIGGER_PROTOCOL_VIOLATEDc                      e Zd ZdS )SavepointExceptionNr  r=   r   r>   r  r    r  r   r  3B000SAVEPOINT_EXCEPTIONc                      e Zd ZdS )InvalidSavepointSpecificationNr  r=   r   r>   r  r    r  r   r  3B001INVALID_SAVEPOINT_SPECIFICATIONc                      e Zd ZdS )InvalidCatalogNameNr  r=   r   r>   r  r    r  r   r  3D000INVALID_CATALOG_NAMEc                      e Zd ZdS )InvalidSchemaNameNr  r=   r   r>   r  r    r  r   r  3F000INVALID_SCHEMA_NAMEc                      e Zd ZdS )TransactionRollbackNr  r=   r   r>   r  r    r  r   r  40000TRANSACTION_ROLLBACKc                      e Zd ZdS )SerializationFailureNr  r=   r   r>   r  r    r  r   r  40001SERIALIZATION_FAILUREc                      e Zd ZdS )'TransactionIntegrityConstraintViolationNr  r=   r   r>   r  r    r  r   r  40002*TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATIONc                      e Zd ZdS )StatementCompletionUnknownNr  r=   r   r>   r  r    r  r   r  40003STATEMENT_COMPLETION_UNKNOWNc                      e Zd ZdS )DeadlockDetectedNr  r=   r   r>   r  r    r  r   r  40P01DEADLOCK_DETECTEDc                      e Zd ZdS ) SyntaxErrorOrAccessRuleViolationNr  r=   r   r>   r  r    r  r   r  42000%SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATIONc                      e Zd ZdS )InsufficientPrivilegeNr  r=   r   r>   r  r    r  r   r  42501INSUFFICIENT_PRIVILEGEc                      e Zd ZdS )SyntaxErrorNr  r=   r   r>   r  r    r  r   r  42601SYNTAX_ERRORc                      e Zd ZdS )InvalidNameNr  r=   r   r>   r  r    r  r   r  42602INVALID_NAMEc                      e Zd ZdS )InvalidColumnDefinitionNr  r=   r   r>   r  r    r  r   r  42611INVALID_COLUMN_DEFINITIONc                      e Zd ZdS )NameTooLongNr  r=   r   r>   r  r    r  r   r  42622NAME_TOO_LONGc                      e Zd ZdS )DuplicateColumnNr  r=   r   r>   r  r    r  r   r  42701DUPLICATE_COLUMNc                      e Zd ZdS )AmbiguousColumnNr  r=   r   r>   r  r     r  r   r  42702AMBIGUOUS_COLUMNc                      e Zd ZdS )UndefinedColumnNr  r=   r   r>   r  r  $  r  r   r  42703UNDEFINED_COLUMNc                      e Zd ZdS )UndefinedObjectNr  r=   r   r>   r  r  (  r  r   r  42704UNDEFINED_OBJECTc                      e Zd ZdS )DuplicateObjectNr  r=   r   r>   r  r  ,  r  r   r  42710DUPLICATE_OBJECTc                      e Zd ZdS )DuplicateAliasNr  r=   r   r>   r  r  0  r  r   r  42712DUPLICATE_ALIASc                      e Zd ZdS )DuplicateFunctionNr  r=   r   r>   r  r  4  r  r   r  42723DUPLICATE_FUNCTIONc                      e Zd ZdS )AmbiguousFunctionNr  r=   r   r>   r  r  8  r  r   r  42725AMBIGUOUS_FUNCTIONc                      e Zd ZdS )GroupingErrorNr  r=   r   r>   r  r  <  r  r   r  42803GROUPING_ERRORc                      e Zd ZdS )DatatypeMismatchNr  r=   r   r>   r  r  @  r  r   r  42804DATATYPE_MISMATCHc                      e Zd ZdS )WrongObjectTypeNr  r=   r   r>   r  r  D  r  r   r  42809WRONG_OBJECT_TYPEc                      e Zd ZdS )InvalidForeignKeyNr  r=   r   r>   r	  r	  H  r  r   r	  42830INVALID_FOREIGN_KEYc                      e Zd ZdS )CannotCoerceNr  r=   r   r>   r  r  L  r  r   r  42846CANNOT_COERCEc                      e Zd ZdS )UndefinedFunctionNr  r=   r   r>   r  r  P  r  r   r  42883UNDEFINED_FUNCTIONc                      e Zd ZdS )GeneratedAlwaysNr  r=   r   r>   r  r  T  r  r   r  428C9GENERATED_ALWAYSc                      e Zd ZdS )ReservedNameNr  r=   r   r>   r  r  X  r  r   r  42939RESERVED_NAMEc                      e Zd ZdS )UndefinedTableNr  r=   r   r>   r  r  \  r  r   r  42P01UNDEFINED_TABLEc                      e Zd ZdS )UndefinedParameterNr  r=   r   r>   r!  r!  `  r  r   r!  42P02UNDEFINED_PARAMETERc                      e Zd ZdS )DuplicateCursorNr  r=   r   r>   r%  r%  d  r  r   r%  42P03DUPLICATE_CURSORc                      e Zd ZdS )DuplicateDatabaseNr  r=   r   r>   r)  r)  h  r  r   r)  42P04DUPLICATE_DATABASEc                      e Zd ZdS )DuplicatePreparedStatementNr  r=   r   r>   r-  r-  l  r  r   r-  42P05DUPLICATE_PREPARED_STATEMENTc                      e Zd ZdS )DuplicateSchemaNr  r=   r   r>   r1  r1  p  r  r   r1  42P06DUPLICATE_SCHEMAc                      e Zd ZdS )DuplicateTableNr  r=   r   r>   r5  r5  t  r  r   r5  42P07DUPLICATE_TABLEc                      e Zd ZdS )AmbiguousParameterNr  r=   r   r>   r9  r9  x  r  r   r9  42P08AMBIGUOUS_PARAMETERc                      e Zd ZdS )AmbiguousAliasNr  r=   r   r>   r=  r=  |  r  r   r=  42P09AMBIGUOUS_ALIASc                      e Zd ZdS )InvalidColumnReferenceNr  r=   r   r>   rA  rA    r  r   rA  42P10INVALID_COLUMN_REFERENCEc                      e Zd ZdS )InvalidCursorDefinitionNr  r=   r   r>   rE  rE    r  r   rE  42P11INVALID_CURSOR_DEFINITIONc                      e Zd ZdS )InvalidDatabaseDefinitionNr  r=   r   r>   rI  rI    r  r   rI  42P12INVALID_DATABASE_DEFINITIONc                      e Zd ZdS )InvalidFunctionDefinitionNr  r=   r   r>   rM  rM    r  r   rM  42P13INVALID_FUNCTION_DEFINITIONc                      e Zd ZdS )"InvalidPreparedStatementDefinitionNr  r=   r   r>   rQ  rQ    r  r   rQ  42P14%INVALID_PREPARED_STATEMENT_DEFINITIONc                      e Zd ZdS )InvalidSchemaDefinitionNr  r=   r   r>   rU  rU    r  r   rU  42P15INVALID_SCHEMA_DEFINITIONc                      e Zd ZdS )InvalidTableDefinitionNr  r=   r   r>   rY  rY    r  r   rY  42P16INVALID_TABLE_DEFINITIONc                      e Zd ZdS )InvalidObjectDefinitionNr  r=   r   r>   r]  r]    r  r   r]  42P17INVALID_OBJECT_DEFINITIONc                      e Zd ZdS )IndeterminateDatatypeNr  r=   r   r>   ra  ra    r  r   ra  42P18INDETERMINATE_DATATYPEc                      e Zd ZdS )InvalidRecursionNr  r=   r   r>   re  re    r  r   re  42P19INVALID_RECURSIONc                      e Zd ZdS )WindowingErrorNr  r=   r   r>   ri  ri    r  r   ri  42P20WINDOWING_ERRORc                      e Zd ZdS )CollationMismatchNr  r=   r   r>   rm  rm    r  r   rm  42P21COLLATION_MISMATCHc                      e Zd ZdS )IndeterminateCollationNr  r=   r   r>   rq  rq    r  r   rq  42P22INDETERMINATE_COLLATIONc                      e Zd ZdS )WithCheckOptionViolationNr  r=   r   r>   ru  ru    r  r   ru  44000WITH_CHECK_OPTION_VIOLATIONc                      e Zd ZdS )InsufficientResourcesNr  r=   r   r>   ry  ry    r  r   ry  53000INSUFFICIENT_RESOURCESc                      e Zd ZdS )DiskFullNr  r=   r   r>   r}  r}    r  r   r}  53100	DISK_FULLc                      e Zd ZdS )OutOfMemoryNr  r=   r   r>   r  r    r  r   r  53200OUT_OF_MEMORYc                      e Zd ZdS )TooManyConnectionsNr  r=   r   r>   r  r    r  r   r  53300TOO_MANY_CONNECTIONSc                      e Zd ZdS )ConfigurationLimitExceededNr  r=   r   r>   r  r    r  r   r  53400CONFIGURATION_LIMIT_EXCEEDEDc                      e Zd ZdS )ProgramLimitExceededNr  r=   r   r>   r  r    r  r   r  54000PROGRAM_LIMIT_EXCEEDEDc                      e Zd ZdS )StatementTooComplexNr  r=   r   r>   r  r    r  r   r  54001STATEMENT_TOO_COMPLEXc                      e Zd ZdS )TooManyColumnsNr  r=   r   r>   r  r    r  r   r  54011TOO_MANY_COLUMNSc                      e Zd ZdS )TooManyArgumentsNr  r=   r   r>   r  r    r  r   r  54023TOO_MANY_ARGUMENTSc                      e Zd ZdS )ObjectNotInPrerequisiteStateNr  r=   r   r>   r  r    r  r   r  55000 OBJECT_NOT_IN_PREREQUISITE_STATEc                      e Zd ZdS )ObjectInUseNr  r=   r   r>   r  r    r  r   r  55006OBJECT_IN_USEc                      e Zd ZdS )CantChangeRuntimeParamNr  r=   r   r>   r  r    r  r   r  55P02CANT_CHANGE_RUNTIME_PARAMc                      e Zd ZdS )LockNotAvailableNr  r=   r   r>   r  r    r  r   r  55P03LOCK_NOT_AVAILABLEc                      e Zd ZdS )UnsafeNewEnumValueUsageNr  r=   r   r>   r  r    r  r   r  55P04UNSAFE_NEW_ENUM_VALUE_USAGEc                      e Zd ZdS )OperatorInterventionNr  r=   r   r>   r  r    r  r   r  57000OPERATOR_INTERVENTIONc                      e Zd ZdS )QueryCanceledNr  r=   r   r>   r  r    r  r   r  57014QUERY_CANCELEDc                      e Zd ZdS )AdminShutdownNr  r=   r   r>   r  r    r  r   r  57P01ADMIN_SHUTDOWNc                      e Zd ZdS )CrashShutdownNr  r=   r   r>   r  r    r  r   r  57P02CRASH_SHUTDOWNc                      e Zd ZdS )CannotConnectNowNr  r=   r   r>   r  r    r  r   r  57P03CANNOT_CONNECT_NOWc                      e Zd ZdS )DatabaseDroppedNr  r=   r   r>   r  r    r  r   r  57P04DATABASE_DROPPEDc                      e Zd ZdS )IdleSessionTimeoutNr  r=   r   r>   r  r    r  r   r  57P05IDLE_SESSION_TIMEOUTc                      e Zd ZdS )SystemErrorNr  r=   r   r>   r  r    r  r   r  58000SYSTEM_ERRORc                      e Zd ZdS )IoErrorNr  r=   r   r>   r  r  "  r  r   r  58030IO_ERRORc                      e Zd ZdS )UndefinedFileNr  r=   r   r>   r  r  &  r  r   r  58P01UNDEFINED_FILEc                      e Zd ZdS )DuplicateFileNr  r=   r   r>   r  r  *  r  r   r  58P02DUPLICATE_FILEc                      e Zd ZdS )SnapshotTooOldNr  r=   r   r>   r  r  1  r  r   r  72000SNAPSHOT_TOO_OLDc                      e Zd ZdS )ConfigFileErrorNr  r=   r   r>   r  r  8  r  r   r  F0000CONFIG_FILE_ERRORc                      e Zd ZdS )LockFileExistsNr  r=   r   r>   r  r  <  r  r   r  F0001LOCK_FILE_EXISTSc                      e Zd ZdS )FdwErrorNr  r=   r   r>   r  r  C  r  r   r  HV000	FDW_ERRORc                      e Zd ZdS )FdwOutOfMemoryNr  r=   r   r>   r  r  G  r  r   r  HV001FDW_OUT_OF_MEMORYc                      e Zd ZdS )FdwDynamicParameterValueNeededNr  r=   r   r>   r  r  K  r  r   r  HV002"FDW_DYNAMIC_PARAMETER_VALUE_NEEDEDc                      e Zd ZdS )FdwInvalidDataTypeNr  r=   r   r>   r  r  O  r  r   r  HV004FDW_INVALID_DATA_TYPEc                      e Zd ZdS )FdwColumnNameNotFoundNr  r=   r   r>   r  r  S  r  r   r  HV005FDW_COLUMN_NAME_NOT_FOUNDc                      e Zd ZdS )FdwInvalidDataTypeDescriptorsNr  r=   r   r>   r  r  W  r  r   r  HV006!FDW_INVALID_DATA_TYPE_DESCRIPTORSc                      e Zd ZdS )FdwInvalidColumnNameNr  r=   r   r>   r  r  [  r  r   r  HV007FDW_INVALID_COLUMN_NAMEc                      e Zd ZdS )FdwInvalidColumnNumberNr  r=   r   r>   r  r  _  r  r   r  HV008FDW_INVALID_COLUMN_NUMBERc                      e Zd ZdS )FdwInvalidUseOfNullPointerNr  r=   r   r>   r	  r	  c  r  r   r	  HV009FDW_INVALID_USE_OF_NULL_POINTERc                      e Zd ZdS )FdwInvalidStringFormatNr  r=   r   r>   r  r  g  r  r   r  HV00AFDW_INVALID_STRING_FORMATc                      e Zd ZdS )FdwInvalidHandleNr  r=   r   r>   r  r  k  r  r   r  HV00BFDW_INVALID_HANDLEc                      e Zd ZdS )FdwInvalidOptionIndexNr  r=   r   r>   r  r  o  r  r   r  HV00CFDW_INVALID_OPTION_INDEXc                      e Zd ZdS )FdwInvalidOptionNameNr  r=   r   r>   r  r  s  r  r   r  HV00DFDW_INVALID_OPTION_NAMEc                      e Zd ZdS )FdwOptionNameNotFoundNr  r=   r   r>   r  r  w  r  r   r  HV00JFDW_OPTION_NAME_NOT_FOUNDc                      e Zd ZdS )FdwReplyHandleNr  r=   r   r>   r!  r!  {  r  r   r!  HV00KFDW_REPLY_HANDLEc                      e Zd ZdS )FdwUnableToCreateExecutionNr  r=   r   r>   r%  r%    r  r   r%  HV00LFDW_UNABLE_TO_CREATE_EXECUTIONc                      e Zd ZdS )FdwUnableToCreateReplyNr  r=   r   r>   r)  r)    r  r   r)  HV00MFDW_UNABLE_TO_CREATE_REPLYc                      e Zd ZdS )FdwUnableToEstablishConnectionNr  r=   r   r>   r-  r-    r  r   r-  HV00N"FDW_UNABLE_TO_ESTABLISH_CONNECTIONc                      e Zd ZdS )FdwNoSchemasNr  r=   r   r>   r1  r1    r  r   r1  HV00PFDW_NO_SCHEMASc                      e Zd ZdS )FdwSchemaNotFoundNr  r=   r   r>   r5  r5    r  r   r5  HV00QFDW_SCHEMA_NOT_FOUNDc                      e Zd ZdS )FdwTableNotFoundNr  r=   r   r>   r9  r9    r  r   r9  HV00RFDW_TABLE_NOT_FOUNDc                      e Zd ZdS )FdwFunctionSequenceErrorNr  r=   r   r>   r=  r=    r  r   r=  HV010FDW_FUNCTION_SEQUENCE_ERRORc                      e Zd ZdS )FdwTooManyHandlesNr  r=   r   r>   rA  rA    r  r   rA  HV014FDW_TOO_MANY_HANDLESc                      e Zd ZdS )$FdwInconsistentDescriptorInformationNr  r=   r   r>   rE  rE    r  r   rE  HV021'FDW_INCONSISTENT_DESCRIPTOR_INFORMATIONc                      e Zd ZdS )FdwInvalidAttributeValueNr  r=   r   r>   rI  rI    r  r   rI  HV024FDW_INVALID_ATTRIBUTE_VALUEc                      e Zd ZdS )$FdwInvalidStringLengthOrBufferLengthNr  r=   r   r>   rM  rM    r  r   rM  HV090*FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTHc                      e Zd ZdS )#FdwInvalidDescriptorFieldIdentifierNr  r=   r   r>   rQ  rQ    r  r   rQ  HV091'FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIERc                      e Zd ZdS )PlpgsqlErrorNr  r=   r   r>   rU  rU    r  r   rU  P0000PLPGSQL_ERRORc                      e Zd ZdS )RaiseExceptionNr  r=   r   r>   rY  rY    r  r   rY  P0001RAISE_EXCEPTIONc                      e Zd ZdS )NoDataFoundNr  r=   r   r>   r]  r]    r  r   r]  P0002NO_DATA_FOUNDc                      e Zd ZdS )TooManyRowsNr  r=   r   r>   ra  ra    r  r   ra  P0003TOO_MANY_ROWSc                      e Zd ZdS )AssertFailureNr  r=   r   r>   re  re    r  r   re  P0004ASSERT_FAILUREc                      e Zd ZdS )InternalError_Nr  r=   r   r>   ri  ri    r  r   ri  XX000INTERNAL_ERRORc                      e Zd ZdS )DataCorruptedNr  r=   r   r>   rm  rm    r  r   rm  XX001DATA_CORRUPTEDc                      e Zd ZdS )IndexCorruptedNr  r=   r   r>   rq  rq    r  r   rq  XX002INDEX_CORRUPTEDN)r   r   r9   r   )r   r   r9   r   )r   r.   r9   rT  rM  )rY  r   rX   r.   r9   r   )r   r   r9   r^  (6  r   
__future__r   typingr   r   r   r   r   asyncior	   dataclassesr
   r   r   pq.abcr   r   _compatr   r   	pq._enumsr   r   r   r   pq.miscr   r   r   r   r   r   r   r   r   r   r   r   r   r<   r   r   r   r  r  r  r  r   r   rX  r]  r   r[  rc  re  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r!  r%  r)  r-  r1  r5  r9  r=  rA  rE  rI  rM  rQ  rU  rY  r]  ra  re  ri  rm  rq  ru  ry  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r!  r%  r)  r-  r1  r5  r9  r=  rA  rE  rI  rM  rQ  rU  rY  r]  ra  re  ri  rm  rq  ru  ry  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r!  r%  r)  r-  r1  r5  r9  r=  rA  rE  rI  rM  rQ  rU  rY  r]  ra  re  ri  rm  rq  ru  ry  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r!  r%  r)  r-  r1  r5  r9  r=  rA  rE  rI  rM  rQ  rU  rY  r]  ra  re  ri  rm  rq  KeyboardInterrupt_NO_TRACEBACKr=   r   r>   <module>r~     s:    ( # " " " " " C C C C C C C C C C C C C C " " " " " " 0 0 0 0 0 0 0 0 0 0 $ $ $ $ $ $ $ $ ) ) ) ) ) ) ) ) U U U U U U U U U U U U 211111111B	 B B B B$&	 & & & & | | | | | | | |~" " " "    i   < < < < <I < < <~    U   " " " " "E " " "       
 
 
 
 
} 
 
 
    ]       M       }              (       *       &   ` ` ` ` ` ` ` `F   ' ' ' 'S S S S S( ( ( (, , , ,   !
!
! 	
! 	
	!
 	)! 	.! 	-! 	-! 	
! 	
! 	
! 	-! 	-! 	
! 	
!  	
!!" 	
#!$ 









				A! ! !X	 	 	 	 	]	y	 	 	 		 	 	 	 	M	C	 	 	 		 	 	 	 		7	 	 	 		 	 	 	 	*	-	 	 	 		 	 	 	 	.>	D	 	 	 		 	 	 	 	-	2	 	 	 		 	 	 	 	4D	J	 	 	 		 	 	 	 	(	+	 	 	 		 	 	 	 	#3	7	 	 	 		 	 	 	 	(	+	 	 	 		 	 	 	 	}	3	 	 	 		 	 	 	 	+	.	 	 	 		 	 	 	 	=	7	 	 	 		 	 	 	 	}	*	 	 	 		 	 	 	 	-	6	 	 	 		 	 	 	 	]	(	 	 	 		 	 	 	 	M	0	 	 	 		 	 	 	 	}	3	 	 	 		 	 	 	 	=	.	 	 	 		 	 	 	 	]	L	 	 	 		 	 	 	 	#	'	 	 	 		 	 	 	 	+	.	 	 	 		 	 	 	 	I	'	 	 	 		 	 	 	 			5	 	 	 		 	 	 	 	I	:	 	 	 		 	 	 	 	Y	3	 	 	 		 	 	 	 	)	/	 	 	 		 	 	 	 			,	 	 	 		 	 	 	 	I	0	 	 	 		 	 	 	 	I	0	 	 	 		 	 	 	 	y	=	 	 	 		 	 	 	 	i	2	 	 	 		 	 	 	 	)	8	 	 	 		 	 	 	 		-	 	 	 		 	 	 	 			5	 	 	 		 	 	 	 	y	4	 	 	 		 	 	 	 	Y	:	 	 	 		 	 	 	 	y	,	 	 	 		 	 	 	 		-	 	 	 		 	 	 	 			,	 	 	 		 	 	 	 			,	 	 	 		 	 	 	 	i	;	 	 	 		 	 	 	 	Y	:	 	 	 		 	 	 	 	Y	(	 	 	 		 	 	 	 	Y	)	 	 	 		 	 	 	 	i	<	 	 	 		 	 	 	 	i	<	 	 	 		 	 	 	 	I	0	 	 	 		 	 	 	 		@	 	 	 		 	 	 	 	9	9	 	 	 		 	 	 	 	Y	1	 	 	 		 	 	 	 	y	3	 	 	 		 	 	 	 	)	7	 	 	 		 	 	 	 	i	<	 	 	 		 	 	 	 	I	C	 	 	 		 	 	 	 	9	:	 	 	 		 	 	 	 	)	B	 	 	 		 	 	 	 	y	4	 	 	 		 	 	 	 			+	 	 	 		 	 	 	 	I	0	 	 	 		 	 	 	 	)	.	 	 	 		 	 	 	 	I	0	 	 	 		 	 	 	 	y	4	 	 	 		 	 	 	 			|	 	 	 		 	 	 	 	)	.	 	 	 		 	 	 	 	y	3	 	 	 		 	 	 	 		5	 	 	 		 	 	 	 	)	8	 	 	 		 	 	 	 			H	 	 	 		 	 	 	 	i	*	 	 	 		 	 	 	 	i	3	 	 	 		 	 	 	 	Y	4	 	 	 		 	 	 	 	I	)	 	 	 		 	 	 	 	I	2	 	 	 		 	 	 	 		9	 	 	 		 	 	 	 	9	9	 	 	 		 	 	 	 	9	1	 	 	 		 	 	 	 	I	2	 	 	 		 	 	 	 	I	2	 	 	 		 	 	 	 	I	2	 	 	 		 	 	 	 	y	5	 	 	 		 	 	 	 	y	5	 	 	 		 	 	 	 	I	1	 	 	 		 	 	 	 	)	D	 	 	 		 	 	 	 	Y	1	 	 	 		 	 	 	 			4	 	 	 		 	 	 	 	)	6	 	 	 		 	 	 	 			-	 	 	 		 	 	 	 	i	1	 	 	 		 	 	 	 	i	<	 	 	 		 	 	 	 	>	7	 	 	 		 	 	 	 		+	 	 	 		 	 	 	 	~	+	 	 	 		 	 	 	 	.	.	 	 	 		 	 	 	 	n	)	 	 	 		 	 	 	 	^	(	 	 	 		 	 	 	 		,	 	 	 		 	 	 	 		-	 	 	 		 	 	 	 	m	2	 	 	 		 	 	 	 	=	/	 	 	 		 	 	 	 	]	:	 	 	 		 	 	 	 	-	I	 	 	 		 	 	 	 	m	M	 	 	 		 	 	 	 		I	 	 	 		 	 	 	 	]	2	 	 	 		 	 	 	 	}	G	 	 	 		 	 	 	 	=	B	 	 	 		 	 	 	 	]	2	 	 	 		 	 	 	 	]	2	 	 	 		 	 	 	 	m	<	 	 	 		 	 	 	 		,	 	 	 		 	 	 	 	.	3	 	 	 		 	 	 	 	#3	8	 	 	 		 	 	 	 	(8	<	 	 	 		 	 	 	 	&	)	 	 	 		 	 	 	 	m	D	 	 	 		 	 	 	 		6	 	 	 		 	 	 	 	M	8	 	 	 		 	 	 	 	*	.	 	 	 		 	 	 	 	#3	9	 	 	 		 	 	 	 	&6	;	 	 	 		 	 	 	 	!1	7	 	 	 		 	 	 	 	(8	>	 	 	 		 	 	 	 	(	,	 	 	 		 	 	 	 	/	3	 	 	 		 	 	 	 	 0	5	 	 	 		 	 	 	 	&6	9	 	 	 		 	 	 	 	)9	;	 	 	 		 	 	 	 	$4	7	 	 	 		 	 	 	 	)9	>	 	 	 		 	 	 	 	.	2	 	 	 		 	 	 	 	-	/	 	 	 		 	 	 	 	.	2	 	 	 		 	 	 	 	*	.	 	 	 		 	 	 	 	#3	8	 	 	 		 	 	 	 	)	,	 	 	 		 	 	 	 	$4	8	 	 	 		 	 	 	 	)	-	 	 	 		 	 	 	 	(	,	 	 	 		 	 	 	 	*	-	 	 	 		 	 	 	 	+	.	 	 	 		 	 	 	 	.>	C	 	 	 		 	 	 	 	!1	5	 	 	 		 	 	 	 	'	*	 	 	 		 	 	 	 	'7	>	 	 	 		 	 	 	 	,	/	 	 	 		 	 	 	 	"	~	 	 	 		 	 	 	 	"	~	 	 	 		 	 	 	 	.	2	 	 	 		 	 	 	 	"		 	 	 		 	 	 	 	&	)	 	 	 		 	 	 	 	&	)	 	 	 		 	 	 	 	&	)	 	 	 		 	 	 	 	&	)	 	 	 		 	 	 	 	&	)	 	 	 		 	 	 	 	%	(	 	 	 		 	 	 	 	(	+	 	 	 		 	 	 	 	(	+	 	 	 		 	 	 	 	$	'	 	 	 		 	 	 	 	'	*	 	 	 		 	 	 	 	&	*	 	 	 		 	 	 	 	(	,	 	 	 		 	 	 	 	#		 	 	 		 	 	 	 	(	+	 	 	 		 	 	 	 	&	)	 	 	 		 	 	 	 	#		 	 	 		 	 	 	 	%	(	 	 	 		 	 	 	 	)	,	 	 	 		 	 	 	 	&	)	 	 	 		 	 	 	 	(	+	 	 	 		 	 	 	 	!1	5	 	 	 		 	 	 	 	&	)	 	 	 		 	 	 	 	%	(	 	 	 		 	 	 	 	)	,	 	 	 		 	 	 	 	%	(	 	 	 		 	 	 	 	-	1	 	 	 		 	 	 	 	.	2	 	 	 		 	 	 	 	 0	4	 	 	 		 	 	 	 	 0	4	 	 	 		 	 	 	 	)9	>	 	 	 		 	 	 	 	.	2	 	 	 		 	 	 	 	-	1	 	 	 		 	 	 	 	.	2	 	 	 		 	 	 	 	,	/	 	 	 		 	 	 	 	'	*	 	 	 		 	 	 	 	%	(	 	 	 		 	 	 	 	(	+	 	 	 		 	 	 	 	-	0	 	 	 		 	 	 	 	/	4	 	 	 		 	 	 	 	,	/	 	 	 		 	 	 	 		{	 	 	 		 	 	 	 	"		 	 	 		 	 	 	 	)	-	 	 	 		 	 	 	 	!1	5	 	 	 		 	 	 	 	+	/	 	 	 		 	 	 	 	*	.	 	 	 		 	 	 	 	%	)	 	 	 		 	 	 	 	'	+	 	 	 		 	 	 	 	#3	9	 	 	 		 	 	 	 	"		 	 	 		 	 	 	 	-	2	 	 	 		 	 	 	 	'	+	 	 	 		 	 	 	 	.	4	 	 	 		 	 	 	 	+	.	 	 	 		 	 	 	 	$	'	 	 	 		 	 	 	 	$	'	 	 	 		 	 	 	 	$	'	 	 	 		 	 	 	 	'	+	 	 	 		 	 	 	 	&	)	 	 	 		 	 	 	 	)	-	 	 	 		 	 	 	 	"	~	 	 	 		 	 	 	 		z	 	 	 		 	 	 	 	$	'	 	 	 		 	 	 	 	$	'	 	 	 		 	 	 	 	]	)	 	 	 		 	 	 	 	&	*	 	 	 		 	 	 	 	%	)	 	 	 		 	 	 	 		{	 	 	 		 	 	 	 	%	*	 	 	 		 	 	 	 	%5	;	 	 	 		 	 	 	 	)	.	 	 	 		 	 	 	 	,	2	 	 	 		 	 	 	 	$4	:	 	 	 		 	 	 	 	+	0	 	 	 		 	 	 	 	-	2	 	 	 		 	 	 	 	!1	8	 	 	 		 	 	 	 	-	2	 	 	 		 	 	 	 	'	+	 	 	 		 	 	 	 	,	1	 	 	 		 	 	 	 	+	0	 	 	 		 	 	 	 	,	2	 	 	 		 	 	 	 	%	)	 	 	 		 	 	 	 	!1	7	 	 	 		 	 	 	 	-	3	 	 	 		 	 	 	 	%5	;	 	 	 		 	 	 	 	#	'	 	 	 		 	 	 	 	(	-	 	 	 		 	 	 	 	'	,	 	 	 		 	 	 	 	/	4	 	 	 		 	 	 	 	(	-	 	 	 		 	 	 	 	+;	@	 	 	 		 	 	 	 	/	4	 	 	 		 	 	 	 	+;	C	 	 	 		 	 	 	 	*:	@	 	 	 		 	 	 	 	#		 	 	 		 	 	 	 	%	(	 	 	 		 	 	 	 	"		 	 	 		 	 	 	 	"		 	 	 		 	 	 	 	$	'	 	 	 		 	 	 	 	]	'	 	 	 		 	 	 	 	M	'	 	 	 		 	 	 	 	]	(	 	 	 	 )>:r   