§
    ; i¡  ã                  óB   — d Z ddlmZ ddlZddlmZ dd	„Zdd
„Zdd„ZdS )z Utilities for working with URLs.é    )ÚannotationsN)ÚparseÚpartÚstrÚreturnÚNonec                ót   — t          j        d| ¦  «        s"t          d                     | ¦  «        ¦  «        ‚d S )Nz[a-zA-Z0-9_-]*z,"{}" is outside the restricted character set)ÚreÚ	fullmatchÚ
ValueErrorÚformat)r   s    úˆ/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/google/generativeai/notebook/sheets_sanitize_url.pyÚ_validate_url_partr      sA   € ÝŒ<Ð(¨$Ñ/Ô/ð VÝÐG×NÒNÈtÑTÔTÑUÔUÐUðVð Vó    c                ó¤   — t          j        | ¦  «                             ¦   «         D ](\  }}t          |¦  «         |D ]}t          |¦  «         ŒŒ)d S )N)r   Úparse_qsÚitemsr   )r   ÚkeyÚvaluesÚvalues       r   Ú_validate_url_query_or_fragmentr      sh   € Ý”~ dÑ+Ô+×1Ò1Ñ3Ô3ð &ð &‰ˆˆVÝ˜3ÑÔÐØð 	&ð 	&ˆEÝ˜uÑ%Ô%Ð%Ð%ð	&ð&ð &r   Úurlc                ó^  — t          j        | ¦  «        }|j        dk    r't          d                     |j        ¦  «        ¦  «        ‚|j        dvr't          d                     |j        ¦  «        ¦  «        ‚	 |j                             d¦  «        D ]}t          |¦  «         Œn:# t          $ r-}t          d                     |j        ¦  «        ¦  «        |‚d}~ww xY w|j	        r't          d                     |j	        ¦  «        ¦  «        ‚	 t          |j        ¦  «         n:# t          $ r-}t          d	                     |j        ¦  «        ¦  «        |‚d}~ww xY w	 t          |j        ¦  «         n:# t          $ r-}t          d
                     |j        ¦  «        ¦  «        |‚d}~ww xY w| S )aØ  Sanitize a Sheets URL.

    Run some saftey checks to check whether `url` is a Sheets URL. This is not a
    general-purpose URL sanitizer. Rather, it makes use of the fact that we know
    the URL has to be for Sheets so we can make a few assumptions about (e.g. the
    domain).

    Args:
      url: The url to sanitize.

    Returns:
      The sanitized url.

    Raises:
      ValueError: If `url` does not match the expected restrictions for a Sheets
      URL.
    Úhttpsz/Scheme for Sheets url must be "https", got "{}")zdocs.google.comzsheets.googleapis.comz9Domain for Sheets url must be "docs.google.com", got "{}"ú/z%Invalid path for Sheets url, got "{}"Nz(Params component must be empty, got "{}"z&Invalid query for Sheets url, got "{}"z)Invalid fragment for Sheets url, got "{}")r   ÚurlparseÚschemer   r   ÚnetlocÚpathÚsplitr   Úparamsr   ÚqueryÚfragment)r   Úparse_resultr#   Úexcs       r   Úsanitize_sheets_urlr&   "   s÷  € õ$ ”> #Ñ&Ô&€LØÔ˜gÒ%Ð%ÝØ=×DÒDÀ\ÔEXÑYÔYñ
ô 
ð 	
ð ÔÐ"NÐNÐNÝØG×NÒNÈ|ÔObÑcÔcñ
ô 
ð 	
ð
eØ$Ô)×/Ò/°Ñ4Ô4ð 	)ð 	)ˆHÝ˜xÑ(Ô(Ð(Ð(ð	)øåð eð eð eÝÐ@×GÒGÈÔHYÑZÔZÑ[Ô[ÐadÐdøøøøðeøøøð Ôð aÝÐC×JÒJÈ<ÔK^Ñ_Ô_Ñ`Ô`Ð`ðÝ'¨Ô(:Ñ;Ô;Ð;Ð;øÝð ð ð ÝØ4×;Ò;¸LÔ<NÑOÔOñ
ô 
àð	øøøøðøøøðÝ'¨Ô(=Ñ>Ô>Ð>Ð>øÝð ð ð ÝØ7×>Ò>¸|Ô?TÑUÔUñ
ô 
àð	øøøøðøøøð
 €JsH   Á8,B% Â%
CÂ/(CÃCÄD# Ä#
EÄ-(EÅEÅE3 Å3
F*Å=(F%Æ%F*)r   r   r   r   )r   r   r   r   )	Ú__doc__Ú
__future__r   r
   Úurllibr   r   r   r&   © r   r   ú<module>r+      s„   ðð 'Ð &Ø "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø Ð Ð Ð Ð Ð ðVð Vð Vð Vð
&ð &ð &ð &ð7ð 7ð 7ð 7ð 7ð 7r   