+
    }¯³jö
  ã                  ó(  € ^ RI Ht ^ RIHt ^ RIHt ^RIHt ]'       d   ^RIH	t	 ^RI
Ht ^RI
Ht  ! R R	]P                  4      t ! R
 R4      t ! R R]]P                  P                  4      t ! R R]]P                  P                   4      tR# )é    )Úannotations)ÚAny)ÚTYPE_CHECKING)Útypes)ÚDialect)Ú_BindProcessorType)Ú_LiteralProcessorTypec                  ó   € ] tR t^tRtRtR# )ÚJSONac  MySQL JSON type.

MySQL supports JSON as of version 5.7.
MariaDB supports JSON (as an alias for LONGTEXT) as of version 10.2.

:class:`_mysql.JSON` is used automatically whenever the base
:class:`_types.JSON` datatype is used against a MySQL or MariaDB backend.

.. seealso::

    :class:`_types.JSON` - main documentation for the generic
    cross-platform JSON datatype.

The :class:`.mysql.JSON` type supports persistence of JSON values
as well as the core index operations provided by :class:`_types.JSON`
datatype, by adapting the operations to render the ``JSON_EXTRACT``
function at the database level.

© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   ó    Ú_/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sqlalchemy/dialects/mysql/json.pyr   r      s   † ñó( 	r   r   c                  ó:   € ] tR t^,tR R ltR R ltR R ltRtR# )	Ú_FormatTypeMixinc               ó    € V ^8„  d   QhRRRR/# ©é   Úvaluer   ÚreturnÚstrr   )Úformats   "r   Ú__annotate__Ú_FormatTypeMixin.__annotate__-   s   € ÷ $ñ $ 3ð $¨3ñ $r   c                	ó   € \        4       h©N)ÚNotImplementedError)Úselfr   s   &&r   Ú_format_valueÚ_FormatTypeMixin._format_value-   s   € Ü!Ó#Ð#r   c               ó    € V ^8„  d   QhRRRR/# )r   Údialectr   r   z_BindProcessorType[Any]r   )r   s   "r   r   r   0   s   € ÷ 	ñ 	 gð 	Ð2Iñ 	r   c                	ó@   a a€ S P                  V4      oR  V V3R llpV# )c               ó    € V ^8„  d   QhRRRR/# )r   r   r   r   r   )r   s   "r   r   Ú5_FormatTypeMixin.bind_processor.<locals>.__annotate__3   ó   € ÷ 	ñ 	˜3ð 	 3ñ 	r   c                óJ   <€ SP                  V 4      p S'       d	   S! V 4      p V # r!   ©r$   ©r   r#   Ú
super_procs   &€€r   ÚprocessÚ0_FormatTypeMixin.bind_processor.<locals>.process3   ó%   ø€ Ø×&Ñ& uÓ-ˆEßÙ" 5Ó)�ØˆLr   )Ústring_bind_processor©r#   r'   r0   r/   s   f& @r   Úbind_processorÚ_FormatTypeMixin.bind_processor0   s$   ù€ Ø×/Ñ/°Ó8ˆ
÷	ñ 	ð ˆr   c               ó    € V ^8„  d   QhRRRR/# )r   r'   r   r   z_LiteralProcessorType[Any]r   )r   s   "r   r   r   ;   s   € ÷ ñ Øðà	#ñr   c                	ó@   a a€ S P                  V4      oR  V V3R llpV# )c               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   Ú8_FormatTypeMixin.literal_processor.<locals>.__annotate__@   r+   r   c                óJ   <€ SP                  V 4      p S'       d	   S! V 4      p V # r!   r-   r.   s   &€€r   r0   Ú3_FormatTypeMixin.literal_processor.<locals>.process@   r2   r   )Ústring_literal_processorr4   s   f& @r   Úliteral_processorÚ"_FormatTypeMixin.literal_processor;   s&   ù€ ð ×2Ñ2°7Ó;ˆ
÷	ñ 	ð ˆr   r   N)r   r   r   r   r$   r5   r>   r   r   r   r   r   r   ,   s   † õ$õ	÷ñ r   r   c                  ó"   € ] tR t^ItR R ltRtR# )ÚJSONIndexTypec               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   ÚJSONIndexType.__annotate__J   s   € ÷ ñ  3ð ¨3ñ r   c                	óZ   € \        V\        4      '       d   R V,          pV# RV,          pV# )z$[%s]z$."%s")Ú
isinstanceÚint)r#   r   Úformatted_values   && r   r$   ÚJSONIndexType._format_valueJ   s2   € Ü�eœS×!Ò!Ø%¨�oˆOð Ðð '¨Õ.ˆOØÐr   r   N©r   r   r   r   r$   r   r   r   r   rA   rA   I   s   † ÷ñ r   rA   c                  ó"   € ] tR t^RtR R ltRtR# )ÚJSONPathTypec               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   ÚJSONPathType.__annotate__S   s   € ÷ 
ñ 
 3ð 
¨3ñ 
r   c           
     	ó¨   € R RP                  V Uu. uF+  p\        V\        4      '       d
   RV,          MRV,          NK-  	  up4      ,          # u upi )z$%sÚ z[%s]z."%s")ÚjoinrE   rF   )r#   r   Úelems   && r   r$   ÚJSONPathType._format_valueS   sV   € ØØ�G‰Gñ !&óá %˜ô &0°´c×%:Ò%:�F˜T–MÀÈ$ÅÒNÙ %ñóõ
ð 	
ùòs   ‘1A
r   NrI   r   r   r   rK   rK   R   s   † ÷
ñ 
r   rK   N)Ú
__future__r   Útypingr   r   rO   r   ÚsqltypesÚengine.interfacesr   Úsql.type_apir   r	   r   r   rA   rK   r   r   r   Ú<module>rX      sk   ðõ #å Ý  å !çÝ,Ý2Ý5ô	ˆ8�=‰=ô 	÷0ñ ô:Ð$ h§m¡m×&AÑ&Aô ô	
Ð# X§]¡]×%?Ñ%?ö 	
r   