Ë
    7^(hË  ã                   óh   — d dl mZ d dlmZmZ ddlmZ ddlmZm	Z	m
Z
mZmZmZ  G d„ de«      Zd„ Zy	)
é    )ÚExpr)Úcall_highest_priorityÚ
_sympifyité   )ÚImageSet)Úset_addÚset_subÚset_mulÚset_divÚset_powÚset_functionc                   ó@  — e Zd ZdZdZd„ Z ed„ «      Zd„ Z e	de
«       ed«      d„ «       «       Z e	de
«       ed	«      d
„ «       «       Z e	de
«       ed«      d„ «       «       Z e	de
«       ed«      d„ «       «       Z e	de
«       ed«      d„ «       «       Z e	de
«       ed«      d„ «       «       Z e	de
«       ed«      d„ «       «       Z e	de
«       ed«      d„ «       «       Z e	de
«       ed«      d„ «       «       Z e	de
«       ed«      d„ «       «       Zd„ Zy)ÚSetExprab  An expression that can take on values of a set.

    Examples
    ========

    >>> from sympy import Interval, FiniteSet
    >>> from sympy.sets.setexpr import SetExpr

    >>> a = SetExpr(Interval(0, 5))
    >>> b = SetExpr(FiniteSet(1, 10))
    >>> (a + b).set
    Union(Interval(1, 6), Interval(10, 15))
    >>> (2*a + b).set
    Interval(1, 20)
    g      &@c                 ó.   — t        j                  | |«      S ©N)r   Ú__new__)ÚclsÚsetargs     úP/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/sets/setexpr.pyr   zSetExpr.__new__   s   € Ü�|‰|˜C Ó(Ð(ó    c                 ó    — | j                   d   S )Nr   )Úargs)Úselfs    r   ú<lambda>zSetExpr.<lambda>   s   €  §	¡	¨!¡€ r   c                 óV   — dj                  |j                  | j                  «      «      S )NzSetExpr\left({}\right))ÚformatÚ_printÚset)r   Úprinters     r   Ú_latexzSetExpr._latex   s    € Ø(×/Ñ/°·±¸t¿x¹xÓ0HÓIÐIr   ÚotherÚ__radd__c                 ó$   — t        t        | |«      S r   ©Ú_setexpr_apply_operationr   ©r   r!   s     r   Ú__add__zSetExpr.__add__!   ó   € ô (¬°°uÓ=Ð=r   r'   c                 ó$   — t        t        || «      S r   r$   r&   s     r   r"   zSetExpr.__radd__&   ó   € ô (¬°¸Ó=Ð=r   Ú__rmul__c                 ó$   — t        t        | |«      S r   ©r%   r
   r&   s     r   Ú__mul__zSetExpr.__mul__+   r(   r   r.   c                 ó$   — t        t        || «      S r   r-   r&   s     r   r+   zSetExpr.__rmul__0   r*   r   Ú__rsub__c                 ó$   — t        t        | |«      S r   ©r%   r	   r&   s     r   Ú__sub__zSetExpr.__sub__5   r(   r   r3   c                 ó$   — t        t        || «      S r   r2   r&   s     r   r0   zSetExpr.__rsub__:   r*   r   Ú__rpow__c                 ó$   — t        t        | |«      S r   ©r%   r   r&   s     r   Ú__pow__zSetExpr.__pow__?   r(   r   r8   c                 ó$   — t        t        || «      S r   r7   r&   s     r   r5   zSetExpr.__rpow__D   r*   r   Ú__rtruediv__c                 ó$   — t        t        | |«      S r   ©r%   r   r&   s     r   Ú__truediv__zSetExpr.__truediv__I   r(   r   r=   c                 ó$   — t        t        || «      S r   r<   r&   s     r   r:   zSetExpr.__rtruediv__N   r*   r   c                 ó†   — t        || j                  «      }|€t        t        || j                  «      «      S t        |«      S r   )r   r   r   r   )r   ÚfuncÚress      r   Ú
_eval_funczSetExpr._eval_funcS   s7   € ä˜4 §¡Ó*ˆØˆ;Üœ8 D¨$¯(©(Ó3Ó4Ð4Ü�s‹|Ðr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú_op_priorityr   Úpropertyr   r    r   ÚNotImplementedr   r'   r"   r.   r+   r3   r0   r8   r5   r=   r:   rB   © r   r   r   r      s»  „ ñð €Lò)ñ Ñ,Ó
-€CòJñ �˜Ó(Ù˜:Ó&ñ>ó 'ó )ð>ñ �˜Ó(Ù˜9Ó%ñ>ó &ó )ð>ñ �˜Ó(Ù˜:Ó&ñ>ó 'ó )ð>ñ �˜Ó(Ù˜9Ó%ñ>ó &ó )ð>ñ �˜Ó(Ù˜:Ó&ñ>ó 'ó )ð>ñ �˜Ó(Ù˜9Ó%ñ>ó &ó )ð>ñ �˜Ó(Ù˜:Ó&ñ>ó 'ó )ð>ñ �˜Ó(Ù˜9Ó%ñ>ó &ó )ð>ñ �˜Ó(Ù˜>Ó*ñ>ó +ó )ð>ñ �˜Ó(Ù˜=Ó)ñ>ó *ó )ð>ór   r   c                 óš   — t        |t        «      r|j                  }t        |t        «      r|j                  } | ||«      }t        |«      S r   )Ú
isinstancer   r   )ÚopÚxÚyÚouts       r   r%   r%   [   s=   € Ü�!”WÔØ�E‰EˆÜ�!”WÔØ�E‰EˆÙ
ˆQ�‹(€CÜ�3‹<Ðr   N)Ú
sympy.corer   Úsympy.core.decoratorsr   r   Ú	fancysetsr   Úsetsr   r	   r
   r   r   r   r   r%   rJ   r   r   ú<module>rU      s(   ðÝ ß CÝ ß K× KôQˆdô Qóhr   