
    Ch                         S r SSKrSSKrSSKJr  S\S\4S jrSSS	S
SSSSSSSSSSS.r\R                  5        V Vs1 s H  u  pUS:X  d  M  U iM     snn r	S\4S jr
S\4S jrgs  snn f )zAVendored, cut down version of pyogrio/util.py for use with fiona.    N)urlparsepathreturnc                 p   U R                  S5      (       a  U $ [        R                  S:X  aK  [        R                  " SU 5      (       a/  U R                  S5      S   R                  S5      (       d  U $ SU  3n [        U 5      u  pnU(       d  U(       d  U R                  S5      (       a  [        XU5      $ U $ )z:Ensure path is a local path or a GDAL-compatible vsi path.z/vsiwin32z^[a-zA-Z]\:!r   .zipzzip://)	
startswithsysplatformrematchsplitendswith
_parse_uri_construct_vsi_path)r   archiveschemes      dC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\geopandas/io/util.pyvsi_pathr      s     v ||w288ND#A#Azz#q!**622K v&t,D6DMM&11"4&99K    fileziptargzipcurls3gsazadlshdfswebhdfs)r   r   r   r   httphttpsftpr   r   r   r    adlr!   r"   c                    [        U SS9nUR                  (       a5  [        S UR                  R                  S5       5       5      (       d  U SS4$ UR                  n UR                  =(       d    SnUR
                  (       a  U SUR
                  -   -  n UR                  (       a   UR                  (       a  UR                  U -   n U R                  S5      nU(       a  UR                  5       OSn U(       a  UR                  5       OSnXU4$ )zParse a URI.

Returns a tuples of (path, archive, scheme)

path : str
    Parsed path. Includes the hostname and query string in the case
    of a URI.
archive : str
    Parsed archive path.
scheme : str
    URI scheme such as "https" or "zip+s3".
F)allow_fragmentsc              3   2   #    U  H  o[         ;   v   M     g 7f)NSCHEMES.0ps     r   	<genexpr>_parse_uri.<locals>.<genexpr>F   s     N6MW6Ms   + ?r   )r   r   allr   r   querynetlocpop)r   partsr   r   s       r   r   r   6   s     T51E ||CNell6H6H6MNNNR| ::D\\RF{{ekk!!||||d"JJsOE599;RD"eiikG6""r   c                    SnSnUR                  S5      nSU;  a>  UR                  S5      (       d  U R                  S5      (       a  UR                  SS5        U(       a-  SR                  S U 5       5      nUS   [        ;   a  US    S	3nU(       a2  U(       a!  S
R                  X4XR                  S5      5      $ SU SU U  3$ U $ )z)Convert a parsed path to a GDAL VSI path.r2   r1   r   r	   r   /c              3   Z   #    U  H!  o(       d  M  US :w  d  M  S[         U    3v   M#     g7f)r   vsiNr*   r,   s     r   r/   &_construct_vsi_path.<locals>.<genexpr>c   s)     Sg,qF{,C
|,gs   
+++z://z/{}/{}{}/{})r   r   insertjoinCURLSCHEMESformatlstrip)r   r   r   prefixsuffixschemess         r   r   r   Y   s    FFll3GG!1!1&!9!9T]]6=R=Rq% SgSS2;+%}C(F ''SAQRRvhaxv..Kr   )__doc__r   r   urllib.parser   strr   r+   itemsrA   r   r   )kvs   00r   <module>rM      s    G 	 
 !3 3 2 


& %]]_<_TQVq_< #S  #F# M =s   A'A'