o
    GZh                     @   s  d dl mZ d dlmZ d dlmZmZ d dlmZm	Z	m
Z
mZmZmZmZmZ d dlmZmZmZmZmZmZ d dlmZ edZeeedd	 Zeeed
d	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zee	e	dd	 Zee	edd	 Zeeedd	 ZdS )    )S)sympify)MinMax)EmptySet	FiniteSetIntersectionInterval
ProductSetSetUnionUniversalSet)ComplexRegionNaturals	Naturals0Integers	RationalsReals)
Dispatcher
union_setsc                 C      | S N abr   r   H/var/www/auris/lib/python3.10/site-packages/sympy/sets/handlers/union.py_      r   c                 C   r   r   r   r   r   r   r   r      r   c                 C   r   r   r   r   r   r   r   r      r   c                 C   r   r   r   r   r   r   r   r      r   c                 C   r   r   r   r   r   r   r   r      r   c                 C   r   r   r   r   r   r   r   r   "   r   c                 C   s&   t | |}|| kr|S ||kr| S d S r   )r   )r   r   Z	intersectr   r   r   r   &   s   
c                 C   s`   | tjrt|}|jr.| js|jstt| j|jS | jr.|jr.tt| j|jddS d S )NT)polar)		is_subsetr   r   r   Z	from_realZis_ComplexRegionr   r   setsr   r   r   r   r   .   s   
c                 C   s   |S r   r   r   r   r   r   r   =   r   c                 C   r   r   r   r   r   r   r   r   B   r   c                 C   sx   | | r| S t|jt| jkrd S t| jdkr:| j\}}|j\}}||kr/|t|| S ||kr:t||| S d S )N   )r    lenr!   r   )r   r   Za1Za2b1b2r   r   r   r   F   s   


c                 C   s   | | r| S d S r   )r    r   r   r   r   r   U   s   
c                 C   s   |  |rZt| j|j}t| j|j}||k s#||kr%|| vr%||vr%d S t| j|j}t| j|j}| j|ks;| joB|j|kpB|j}| j|ksK| joR|j|kpR|j}t||||S d S r   )Z_is_comparabler   endr   start	left_open
right_openr	   )r   r   r&   r'   r(   r)   r   r   r   r   [   s    
c                 C   s   t jS r   )r   r   r   r   r   r   r   n   s   c                 C   s   | j ot|| jtju o| jj}| jo#t|| jtju o#| jj}|s(|rE| j o/| j|v}| jo7| j|v}t	| j| j||}||hS d S r   )
r(   r   containsr'   r   true	is_finiter)   r&   r	   )r   r   Zopen_left_in_b_and_finiteZopen_right_in_b_and_finiteZ	open_leftZ
open_rightZnew_ar   r   r   r   r   s    c                 C   s   t | j|jB  S r   )r   Z	_elementsr   r   r   r   r      s   c                    s4   t  fdd| D rt fdd| D   hS d S )Nc                 3   s    | ]
}  |d kV  qdS )TNr*   .0xr   r   r   	<genexpr>   s    z_.<locals>.<genexpr>c                    s   g | ]}  |d kr|qS )Tr-   r.   r1   r   r   
<listcomp>   s    z_.<locals>.<listcomp>)anyr   r   r   r1   r   r      s   c                 C   s   d S r   r   r   r   r   r   r      r   N)Zsympy.core.singletonr   Zsympy.core.sympifyr   Z(sympy.functions.elementary.miscellaneousr   r   Zsympy.sets.setsr   r   r   r	   r
   r   r   r   Zsympy.sets.fancysetsr   r   r   r   r   r   Zsympy.multipledispatchr   r   registerr   r   r   r   r   <module>   sV    ( 


































