+
    4O|jô  ã                  óT   € R t ^ RIHt ^ RIHt ^ RIHtHtHtH	t	H
t
  ! R R]4      tR# )z/Tools for representing JavaScript code in BSON.)Úannotations)ÚMapping)ÚAnyr   ÚOptionalÚTypeÚUnionc                  ó‚   € ] tR t^t$ Rt^tR]R&   RR R llt]R R l4       t	R	 R
 lt
R R ltRtR]R&   R R ltRtR# )ÚCodeaû  BSON's JavaScript code type.

Raises :class:`TypeError` if `code` is not an instance of
:class:`str` or `scope` is not ``None`` or an instance
of :class:`dict`.

Scope variables can be set by passing a dictionary as the `scope`
argument or by using keyword arguments. If a variable is set as a
keyword argument it will override any setting for that variable in
the `scope` dictionary.

:param code: A string containing JavaScript code to be evaluated or another
    instance of Code. In the latter case, the scope of `code` becomes this
    Code's :attr:`scope`.
:param scope: dictionary representing the scope in which
    `code` should be evaluated - a mapping from identifiers (as
    strings) to values. Defaults to ``None``. This is applied after any
    scope associated with a given `code` above.
:param kwargs: scope variables can also be passed as
    keyword arguments. These are applied after `scope` and `code`.

.. versionchanged:: 3.4
  The default value for :attr:`scope` is ``None`` instead of ``{}``.

zUnion[Mapping[str, Any], None]Ú_Code__scopeNc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )é   Úclsz
Type[Code]ÚcodezUnion[str, Code]ÚscopeúOptional[Mapping[str, Any]]Úkwargsr   Úreturnr	   © )Úformats   "ÚBC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\bson/code.pyÚ__annotate__ÚCode.__annotate__4   s:   € ÷ ñ Øðàðð +ðð ð	ð
 
ñó    c                	ó  € \        V\        4      '       g   \        R \        V4       24      h\        P	                  W4      p VP
                  Vn        Ve^   \        V\        4      '       g   \        R\        V4       24      hVP                  e   VP                  P                  V4       MW$n        V'       d2   VP                  e   VP                  P                  V4       V# W4n        V#   \         d    RTn         L°i ; i)z%code must be an instance of str, not Nz'scope must be an instance of dict, not )
Ú
isinstanceÚstrÚ	TypeErrorÚtypeÚ__new__r   r
   ÚAttributeErrorÚ_MappingÚupdate)r   r   r   r   Úselfs   &&&, r   r   ÚCode.__new__4   sÝ   € ô ˜$¤×$Ò$ÜÐCÄDÈÃJÀ<ÐPÓQÐQä�{‰{˜3Ó%ˆð	 ØŸ:™:ˆDŒLð ÒÜ˜e¤X×.Ò.ÜÐ"IÌ$ÈuË+ÈÐ WÓXÐXØ�|‰|Ò'Ø—‘×#Ñ# EÕ*à$”çØ�|‰|Ò'Ø—‘×#Ñ# FÔ+ð ˆð  &”àˆøô# ô 	 ØˆDŽLð	 ús   ÁC1 Ã1DÄDc               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   U   s   € ÷ ñ Ð2ñ r   c                ó   € V P                   # )z/Scope dictionary for this instance or ``None``.)r
   ©r"   s   &r   r   Ú
Code.scopeT   s   € ð �|‰|Ðr   c               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   Y   s   € ÷ ?ñ ?˜#ñ ?r   c                	óP   € R \         P                  V 4       RV P                  : R2# )zCode(z, Ú))r   Ú__repr__r
   r&   s   &r   r+   ÚCode.__repr__Y   s&   € Ø”s—|‘| DÓ)Ð*¨"¨T¯\©\Ñ,<¸AÐ>Ð>r   c               ó    € V ^8„  d   QhRRRR/# ©r   Úotherr   r   Úboolr   )r   s   "r   r   r   \   s   € ÷ ñ ˜Cð  Dñ r   c                	ó�   € \        V\        4      '       d0   V P                  \        V 4      3VP                  \        V4      38H  # R # )F)r   r	   r
   r   ©r"   r/   s   &&r   Ú__eq__ÚCode.__eq__\   s7   € Ü�eœT×"Ò"Ø—L‘L¤# d£)Ð,°·±ÄÀEÃ
Ð0KÑKÐKÙr   r   Ú__hash__c               ó    € V ^8„  d   QhRRRR/# r.   r   )r   s   "r   r   r   c   s   € ÷ !ñ !˜Cð ! Dñ !r   c                	ó   € W8X  * # ©Nr   r2   s   &&r   Ú__ne__ÚCode.__ne__c   s   € ØÒ Ð r   )Ú__scoper8   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú_type_markerÚ__annotations__r   Úpropertyr   r+   r3   r5   r9   Ú__static_attributes__r   r   r   r	   r	      sN   ‡ ñð4 €LØ+Ó+÷ð@ ôó ðõ?õð
 €HˆcÓ÷!ñ !r   r	   N)r@   Ú
__future__r   Úcollections.abcr   r    Útypingr   r   r   r   r   r	   r   r   r   Ú<module>rH      s$   ðñ 6Ý "å /ß 6Õ 6ôN!ˆ3ö N!r   