o
    Jf                  
   @   sR  d dl mZ d dlZd dlZd dlZejjdddZe	e
de
deddddfZedd	Zeg d
Zeg dZeg dZeddgZeddggZeg dg dgZeeddeddggZedd	dZeg dZeg dZeeegZ ejg dg dgdZ!e"dZ#e"dZ$e"dZ%e"dZ&e"dZ'e"dZ(edd gZ)edd ggZ*eg d!g d"gZ+ejg d#g d$gdZ,eeeeeeeee(f	Z-eeee)e*e+e,e e$e&f
Z.ed*d&d'Z/e/  eej0ej0fej0ej0fgZ1W d   n	1 sw   Y  G d(d) d)Z2dS )+    )contextmanagerNFz#Not yet implemented for Shapely 2.0)strictreason            )r   r      r   r   r   )r	   r
   r   )r   r   r	   )r	   )r   r   r   r   )r   r   r	   r	   )r   r   ) @r   )皙@r   )r   r   )r   r   r   3   )4   r   )1   r   )r   r   r   r   r   r   r   r   r   )r   )r   r   r   r   r   r   )r   r   r   r   )r	   )r   
   )r   r   )r   r   r	   )r   )r   r   )r   r   )r   r   r   )holeszPOINT EMPTYzPOINT Z EMPTYzLINESTRING EMPTYzLINESTRING Z EMPTYzPOLYGON EMPTYzGEOMETRYCOLLECTION EMPTYr   )r   r   r   )r   r   r   )r   r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   r   )r   )r   r   r   )r   r   r   )r   r   r   r   )r   )r   r   r   )r   r   r   )r   r   r   r   Tc                 c   sH    | rt jdd d V  W d    d S 1 sw   Y  d S d V  d S )Nignore)invalid)nperrstate)	condition r!   `/home/deployuser/azure_apps/autowriter/venv/lib/python3.10/site-packages/shapely/tests/common.pyignore_invalidT   s   "
r#   c                   @   s@   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dS )	ArrayLikezO
    Simple numpy Array like class that implements the
    ufunc protocol.
    c                 C   s   t || _d S Nr   asarray_array)selfarrayr!   r!   r"   __init__g   s   zArrayLike.__init__c                 C   s
   t | jS r%   )lenr(   r)   r!   r!   r"   __len__j      
zArrayLike.__len__c                 C   s
   | j | S r%   )r(   )r)   keyr!   r!   r"   	__getitemm   r/   zArrayLike.__getitemc                 C   s
   | j  S r%   )r(   __iter__r-   r!   r!   r"   r2   p   r/   zArrayLike.__iter__c                 C   s   t | jS r%   r&   r-   r!   r!   r"   	__array__s   s   zArrayLike.__array__c                    s2   |dkr fdd|D }  ||i |S tS )N__call__c                    s"   g | ]}t | jr|jn|qS r!   )
isinstance	__class__r(   ).0argr-   r!   r"   
<listcomp>x   s    z-ArrayLike.__array_ufunc__.<locals>.<listcomp>)r6   NotImplemented)r)   ufuncmethodinputskwargsr!   r-   r"   __array_ufunc__v   s   
zArrayLike.__array_ufunc__N)
__name__
__module____qualname____doc__r+   r.   _ArrayLike__getitemr2   r3   r?   r!   r!   r!   r"   r$   a   s    r$   )T)3
contextlibr   numpyr   pytestshapelymarkxfailshapely20_todopointsarangeboxpoint_polygon_testdataPointpoint
LineStringline_string
LinearRinglinear_ringPolygonpolygon
MultiPointmulti_pointMultiLineStringmulti_line_stringmultipolygonsmulti_polygonGeometryCollectiongeometry_collectionpoint_zline_string_z	polygon_zgeometry_collection_zpolygon_with_holefrom_wktempty_pointempty_point_zempty_line_stringempty_line_string_zempty_polygonemptymulti_point_zmulti_line_string_zmulti_polygon_zpolygon_with_hole_z	all_typesall_types_zr#   nanline_string_nanr$   r!   r!   r!   r"   <module>   s    





 