ó
    //¡jj  ã                   óV   • S r SSKJrJrJrJrJr  SqSqS	S jr	S r
S	S jrS	S jrS rg)
z>Implementation of the ipaddres-based network types adaptation
é    )Únew_typeÚnew_array_typeÚregister_typeÚregister_adapterÚQuotedStringNc                 ó  • SSK q [        c
  [        5       q[         H  n[        X5        M     [         R                  [         R
                  [         R                  [         R                  4 H  n[        U[        5        M     g)aó  
Register conversion support between `ipaddress` objects and `network types`__.

:param conn_or_curs: the scope where to register the type casters.
    If `!None` register them globally.

After the function is called, PostgreSQL :sql:`inet` values will be
converted into `~ipaddress.IPv4Interface` or `~ipaddress.IPv6Interface`
objects, :sql:`cidr` values into into `~ipaddress.IPv4Network` or
`~ipaddress.IPv6Network`.

.. __: https://www.postgresql.org/docs/current/static/datatype-net-types.html
r   N)
Ú	ipaddressÚ_castersÚ_make_castersr   ÚIPv4InterfaceÚIPv6InterfaceÚIPv4NetworkÚIPv6Networkr   Úadapt_ipaddress)Úconn_or_cursÚcÚts      Úl/var/www/html/health-monitoring.indevconsultancy.in/venv/lib/python3.13/site-packages/psycopg2/_ipaddress.pyÚregister_ipaddressr   %   sb   € ó ô ÑÜ “?ˆçˆÜ�aÖ&ñ ô ×%Ñ%¤y×'>Ñ'>Ü×#Ñ#¤Y×%:Ñ%:ó<ˆä˜œOÖ,ò<ó    c                  ó‚   • [        SS[        5      n [        SSU 5      n[        SS[        5      n[        SSU5      nXX#/$ )	N)ie  ÚINET)i  zINET[])iŠ  ÚCIDR)i‹  zCIDR[])r   Úcast_interfacer   Úcast_network)ÚinetÚainetÚcidrÚacidrs       r   r   r   B   sE   € Ü�F˜F¤NÓ3€DÜ˜7 H¨dÓ3€Eä�F˜F¤LÓ1€DÜ˜6 8¨TÓ2€Eà˜Ð%Ð%r   c                 óF   • U c  g [         R                  [        U 5      5      $ ©N)r	   Úip_interfaceÚstr©ÚsÚcurs     r   r   r   L   s   € Ø�yØä×!Ñ!¤# a£&Ó)Ð)r   c                 óF   • U c  g [         R                  [        U 5      5      $ r!   )r	   Ú
ip_networkr#   r$   s     r   r   r   S   s   € Ø�yØÜ×Ñ¤ A£Ó'Ð'r   c                 ó*   • [        [        U 5      5      $ r!   )r   r#   )Úobjs    r   r   r   Y   s   € Üœ˜C›Ó!Ð!r   r!   )Ú__doc__Úpsycopg2.extensionsr   r   r   r   r   r	   r
   r   r   r   r   r   © r   r   Ú<module>r.      s=   ðñ÷4Mõ Mð €	ð €ô-ò:&ô*ô(ó"r   