ó
    jñ:iP4  ã                   ó4  • S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKJ	r	  S SK
Jr  S SKJrJrJrJrJrJrJrJr  SSKJrJr  SSKJr  \\S4   r\R8                  " \5      rS	\4S
 jr S\\   S	\\   4S jr! " S S5      r" S*S\S\S\\   S	\\   4S jjr#\S\S\\   S	\\\\   \\   4      4S j5       r$   S+S\S\S\S\S\S\\   S	\\\   \\4   4S jjr%  S,S\S\S\S\\   S	\\\   \4   4
S jjr&S\\\\\   4      S\S	\\\\   4   4S jr'S\S	\\   4S jr(   S-S \S!\S"\S	\4S# jjr)      S.S\\   S$\\\      S%\S\S&\S\\   S	\4S' jjr*     S/S\\   S$\\\      S%\S&\S\\   S	\\\\   4   4S( jjr+S\S	\4S) jr,g)0é    N)ÚOrderedDict)Úcontextmanager)ÚIOÚDictÚIterableÚIteratorÚMappingÚOptionalÚTupleÚUnioné   )ÚBindingÚparse_stream)Úparse_variableszos.PathLike[str]Úreturnc                  óx   • S[         R                  ;  a  g[         R                  S   R                  5       n U S;   $ )z0
Determine if dotenv loading has been disabled.
ÚPYTHON_DOTENV_DISABLEDF>   Ú1ÚtÚyÚyesÚtrue)ÚosÚenvironÚcasefold)Úvalues    ÚN/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/dotenv/main.pyÚ_load_dotenv_disabledr      s7   € ð  ¤r§z¡zÓ1ØÜ�J‰JÐ/Ñ0×9Ñ9Ó;€EØÐ2Ñ2Ð2ó    Úmappingsc              #   óœ   #   • U  HB  nUR                   (       a*  [        R                  SUR                  R                  5        Uv •  MD     g 7f)Nz;python-dotenv could not parse statement starting at line %s)ÚerrorÚloggerÚwarningÚoriginalÚline)r    Úmappings     r   Úwith_warn_for_invalid_linesr(   #   s;   é € ÛˆØ�=�=Ü�N‰NØMØ× Ñ ×%Ñ%ôð Œò ùs   ‚A
Ac                   óì   • \ rS rSr     SS\\   S\\\      S\S\\   S\S\S	S4S
 jjr	\
S	\\\      4S j5       rS	\\\\   4   4S jrS	\\\\\   4      4S jrS	\4S jrS\S	\\   4S jrSrg)ÚDotEnvé-   NÚdotenv_pathÚstreamÚverboseÚencodingÚinterpolateÚoverrider   c                 óZ   • Xl         X l        S U l        X0l        X@l        XPl        X`l        g ©N)r,   r-   Ú_dictr.   r/   r0   r1   )Úselfr,   r-   r.   r/   r0   r1   s          r   Ú__init__ÚDotEnv.__init__.   s+   € ð /:ÔØ)/ŒØ9=ˆŒ
Ø$ŒØ'/ŒØ!,ÔØ&�r   c              #   ó¸  #   • U R                   (       aF  [        U R                   5      (       a,  [        U R                   U R                  S9 nUv •  S S S 5        g U R                  b  U R                  v •  g U R
                  (       a)  [        R                  SU R                   =(       d    S5        [        R                  " S5      v •  g ! , (       d  f       g = f7f)N©r/   z3python-dotenv could not find configuration file %s.ú.envÚ )
r,   Ú_is_file_or_fifoÚopenr/   r-   r.   r#   ÚinfoÚioÚStringIO)r5   r-   s     r   Ú_get_streamÚDotEnv._get_stream?   s”   é € à××Ô 0°×1AÑ1A× BÑ BÜ�d×&Ñ&°·±Ò?À6Ø’÷ @Ð?à�[‰[Ñ$Ø—+‘+Óà�|�|Ü—‘ØIØ×$Ñ$×.¨ôô —+’+˜b“/Ó!÷ @Õ?üs   ‚A
CÁC	ÁA8CÃ	
CÃCc                 ó  • U R                   (       a  U R                   $ U R                  5       nU R                  (       a-  [        [	        XR
                  S95      U l         U R                   $ [        U5      U l         U R                   $ )zReturn dotenv as dict)r1   )r4   Úparser0   r   Úresolve_variablesr1   )r5   Ú
raw_valuess     r   ÚdictÚDotEnv.dictN   sc   € à�:�:Ø—:‘:Ðà—Z‘Z“\ˆ
à××Ü$Ü! *·}±}ÑEóˆDŒJð �z‰zÐô % ZÓ0ˆDŒJà�z‰zÐr   c              #   óè   #   • U R                  5        n[        [        U5      5       H,  nUR                  c  M  UR                  UR                  4v •  M.     S S S 5        g ! , (       d  f       g = f7fr3   )rA   r(   r   Úkeyr   )r5   r-   r'   s      r   rD   ÚDotEnv.parse^   sP   é € Ø×ÑÔ 6Ü6´|ÀFÓ7KÖL�Ø—;‘;Ó*Ø!Ÿ+™+ w§}¡}Ð4Ô4ñ M÷  ×Öüs!   ‚A2“#A!ºA!Á	A2Á!
A/Á+A2c                 óü   • U R                  5       (       d  gU R                  5       R                  5        HD  u  pU[        R                  ;   a  U R                  (       d  M,  Uc  M1  U[        R                  U'   MF     g)z9
Load the current dotenv as system environment variable.
FT)rG   Úitemsr   r   r1   )r5   ÚkÚvs      r   Úset_as_environment_variablesÚ#DotEnv.set_as_environment_variablesd   sX   € ð �y‰y�{‰{Øà—I‘I“K×%Ñ%Ö'‰DˆAØ”B—J‘J‹ t§}§}ÙØ‹}Ø !”—
‘
˜1“ñ	 (ð r   rJ   c                 ó˜   • U R                  5       nX;   a  X!   $ U R                  (       a   [        R                  SXR                  5        g)r;   zKey %s not found in %s.N)rG   r.   r#   r$   r,   )r5   rJ   Údatas      r   ÚgetÚ
DotEnv.gets   s9   € à�y‰y‹{ˆà‹;Ø‘9Ðà�<�<Ü�N‰NÐ4°c×;KÑ;KÔLàr   )r4   r,   r/   r0   r1   r-   r.   )NFNTT)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r
   ÚStrPathr   ÚstrÚboolr6   r   r   rA   r   rG   r   rD   rP   rT   Ú__static_attributes__© r   r   r*   r*   -   sî   † ð %)ØØ"&Ø Øñ'à˜gÑ&ð'ð ˜˜C™Ñ!ð'ð ð	'ð
 ˜3‘-ð'ð ð'ð ð'ð 
õ'ð" ð"˜X b¨¡gÑ.ó "ó ð"ð�d˜3 ¨¡Ð-Ñ.ô ð 5�x  c¨8°C©=Ð&8Ñ 9Ñ:ô 5ð¨dô ð
�sð 
˜x¨™}÷ 
r   r*   r,   Ú
key_to_getr/   c                 ó6   • [        U SUS9R                  U5      $ )zs
Get the value of a given key from the given .env.

Returns `None` if the key isn't found or doesn't have a value.
T)r.   r/   )r*   rT   )r,   r_   r/   s      r   Úget_keyra   €   s   € ô �+ t°hÑ?×CÑCÀJÓOÐOr   Úpathc              #   óÊ  #   • [         R                  " U 5      R                  5         [        R                  " SUSS9 nS n [        XS9 nXB4v •  S S S 5        S S S 5        Wc"  [        R                  " WR                  U 5        g [        R                  " WR                  5        US e! , (       d  f       N^= f! [         a  nUn S nANrS nAff = f! , (       d  f       N€= f7f)NÚwF)Úmoder/   Údeleter9   )ÚpathlibÚPathÚtouchÚtempfileÚNamedTemporaryFiler=   ÚBaseExceptionÚshutilÚmoveÚnamer   Úunlink)rb   r/   Údestr"   ÚsourceÚerrs         r   Úrewritert   �   s¯   é € ô
 ‡L‚L�Ó×ÑÔä	×	$Ò	$¨#¸ÈÒ	OÐSWØˆð	Ü�dÒ.°&Ø�nÒ$÷ /÷ 
Pð �}Ü�Š�D—I‘I˜tÕ$ä
�	Š	�$—)‘)ÔØ˜Ð÷ /Õ.ûäó 	Ø�Eûð	ú÷ 
PÕ	Oüse   ‚;C#½CÁ	B9Á
B(ÁB9ÁAC#Â(
B6	Â2B9Â5CÂ6B9Â9
CÃC
ÃCÃ
CÃCÃ
C ÃC#Ú
key_to_setÚvalue_to_setÚ
quote_modeÚexportc                 óä  • US;  a  [        SU 35      eUS:H  =(       d!    US:H  =(       a    UR                  5       (       + nU(       a"  SR                  UR                  SS5      5      nOUnU(       a
  SU S	U S
3nOU S	U S
3n[	        XS9 u  pšSnSn[        [        U	5      5       Hw  nUR                  U:X  a  U
R                  U5        SnM(  U
R                  UR                  R                  5        UR                  R                  R                  S
5      (       + nMy     U(       d)  U(       a  U
R                  S
5        U
R                  U5        SSS5        SX4$ ! , (       d  f       N= f)z£
Adds or Updates a key/value to the given .env

If the .env path given doesn't exist, fails instead of risking creating
an orphan .env somewhere in the filesystem
)ÚalwaysÚautoÚneverzUnknown quote_mode: rz   r{   z'{}'Ú'z\'zexport Ú=Ú
r9   FTN)Ú
ValueErrorÚisalnumÚformatÚreplacert   r(   r   rJ   Úwriter%   ÚstringÚendswith)r,   ru   rv   rw   rx   r/   ÚquoteÚ	value_outÚline_outrr   rq   ÚreplacedÚmissing_newliner'   s                 r   Úset_keyrŒ   £   sS  € ð Ð4Ó4ÜÐ/°
¨|Ð<Ó=Ð=à˜(Ñ"÷ Ø�fÑ×; \×%9Ñ%9Ó%;Ô!;ð 
ö Ø—M‘M ,×"6Ñ"6°s¸EÓ"BÓC‰	à ˆ	ÞØ˜Z˜L¨¨)¨°BÐ7‰à �\  9 +¨RÐ0ˆä	�Ò	0±N°VØˆØˆÜ2´<ÀÓ3GÖHˆGØ�{‰{˜jÓ(Ø—
‘
˜8Ô$Ø’à—
‘
˜7×+Ñ+×2Ñ2Ô3Ø&-×&6Ñ&6×&=Ñ&=×&FÑ&FÀtÓ&LÔ"L’ñ Iö ÞØ—
‘
˜4Ô Ø�J‰J�xÔ ÷ 
1ð �Ð)Ð)÷ 
1Õ	0ús   ÂCE!Å!
E/Úkey_to_unsetc                 ó¼  • [         R                  R                  U 5      (       d  [        R	                  SU 5        SU4$ Sn[        XS9 u  pV[        [        U5      5       H<  nUR                  U:X  a  SnM  UR                  UR                  R                  5        M>     SSS5        U(       d  [        R	                  SX5        SU4$ XA4$ ! , (       d  f       N2= f)z’
Removes a given key from the given `.env` file.

If the .env path given doesn't exist, fails.
If the given key doesn't exist in the .env, fails.
z(Can't delete from %s - it doesn't exist.NFr9   Tz/Key %s not removed from %s - key doesn't exist.)r   rb   Úexistsr#   r$   rt   r(   r   rJ   r„   r%   r…   )r,   r�   rw   r/   Úremovedrr   rq   r'   s           r   Ú	unset_keyr‘   Ó   sº   € ô �7‰7�>‰>˜+×&Ñ&Ü�‰ÐAÀ;ÔOØ�\Ð!Ð!à€GÜ	�Ò	0±N°VÜ2´<ÀÓ3GÖHˆGØ�{‰{˜lÓ*Ø’à—
‘
˜7×+Ñ+×2Ñ2Ö3ñ	 I÷ 
1ö Ü�‰Ø=¸|ô	
ð �\Ð!Ð!àÐ Ð ÷ 
1Õ	0ús   Á
ACÃ
CÚvaluesr1   c                 óV  ^• 0 nU  HŸ  u  p4Uc  S nO�[        U5      n0 mU(       a1  TR                  [        R                  5        TR                  U5        O0TR                  U5        TR                  [        R                  5        SR	                  U4S jU 5       5      nXRU'   M¡     U$ )Nr;   c              3   óD   >#   • U  H  oR                  T5      v •  M     g 7fr3   )Úresolve)Ú.0ÚatomÚenvs     €r   Ú	<genexpr>Ú$resolve_variables.<locals>.<genexpr>  s   øé € ÐAº5°4Ÿ\™\¨#×.Ð.º5ùs   ƒ )r   Úupdater   r   Újoin)r’   r1   Ú
new_valuesro   r   ÚresultÚatomsr˜   s          @r   rE   rE   ô   sŽ   ø€ ð ,.€Jã‰ˆØ‰=Ø‰Fä# EÓ*ˆEØ,.ˆCÞØ—
‘
œ2Ÿ:™:Ô&Ø—
‘
˜:Õ&à—
‘
˜:Ô&Ø—
‘
œ2Ÿ:™:Ô&Ø—W‘WÔA¹5ÓAÓAˆFà!�4Óñ ð  Ðr   c              #   ó  #   • [         R                  R                  U 5      (       d  [        S5      e[         R                  R	                  U 5      (       a  [         R                  R                  U 5      n Sn[         R                  R                  U 5      nX:w  ac  Uv •  [         R                  R                  [         R                  R                  U[         R                  R                  5      5      nX#p!X:w  a  Mb  gg7f)zD
Yield directories starting from the given directory up to the root
zStarting path not foundN)	r   rb   r�   ÚIOErrorÚisfileÚdirnameÚabspathrœ   Úpardir)rb   Úlast_dirÚcurrent_dirÚ
parent_dirs       r   Ú_walk_to_rootr©     s¤   é € ô �7‰7�>‰>˜$×ÑÜÐ/Ó0Ð0ä	‡w�w‡~�~�d×ÑÜ�w‰w�‰˜tÓ$ˆà€HÜ—'‘'—/‘/ $Ó'€KØ
Ó
!ØÒÜ—W‘W—_‘_¤R§W¡W§\¡\°+¼r¿w¹w¿~¹~Ó%NÓOˆ
Ø +�+ð ×
!ùs   ‚C9C?Ã=C?ÚfilenameÚraise_error_if_not_foundÚusecwdc                 ó¶  • S nS nU(       d.  U" 5       (       d"  U" 5       (       d  [        [        SS5      (       a  [        R                  " 5       nGO0[        R                  " 5       n[
        nUR                  R                  U:X  d8  [        R                  R                  UR                  R                  5      (       dq  UR                  c   eUR                  nUR                  R                  U:X  a  M7  [        R                  R                  UR                  R                  5      (       d  Mq  UR                  R                  n[        R                  R                  [        R                  R                  U5      5      n[        U5       H6  n	[        R                  R                  X�5      n
[        U
5      (       d  M4  U
s  $    U(       a  [!        S5      eg)z{
Search in increasingly higher folders for the given file

Returns path to the file if found, or an empty string otherwise
c                  ó¶   • [        [        S5      (       d  [        [        S5      (       a  g [        SSSS/S9n [        U S5      (       + $ ! [         a     gf = f)	z<Decide whether this is running in a REPL or IPython notebookÚps1Úps2TÚ__main__NÚ__file__)ÚfromlistF)ÚhasattrÚsysÚ
__import__ÚModuleNotFoundError)Úmains    r   Ú_is_interactiveÚ$find_dotenv.<locals>._is_interactive*  s[   € ä”3˜×Ñ¤'¬#¨u×"5Ñ"5Øð	Ü˜j¨$°À
¸|ÑLˆDô ˜4 Ó,Ô,Ð,øô #ó 	Ùð	ús   ­A Á
AÁAc                  ó0   • [         R                  " 5       S L$ r3   )rµ   Úgettracer^   r   r   Ú_is_debuggerÚ!find_dotenv.<locals>._is_debugger4  s   € Ü�|Š|‹~ TÐ)Ð)r   ÚfrozenFzFile not foundr;   )Úgetattrrµ   r   ÚgetcwdÚ	_getframer²   Úf_codeÚco_filenamerb   r�   Úf_backr£   r¤   r©   rœ   r<   r¡   )rª   r«   r¬   r¹   r½   rb   ÚframeÚcurrent_fileÚframe_filenamer£   Ú
check_paths              r   Úfind_dotenvrÊ     sC  € ò-ò*ö ‘×"Ñ"¡l§n¡n¼ÄÀXÈu×8UÑ8Uä�yŠy‹{Šô —’“ˆÜˆà�l‰l×&Ñ&¨,Ó6¼b¿g¹g¿n¹nØ�L‰L×$Ñ$÷?
ñ ?
ð —<‘<Ñ+Ð+Ð+Ø—L‘LˆEð	 �l‰l×&Ñ&¨,Õ6¼b¿g¹g¿n¹nØ�L‰L×$Ñ$÷?
ó ?
ð
 Ÿ™×1Ñ1ˆÜ�w‰w�‰œrŸw™wŸ™¨~Ó>Ó?ˆä  Ö&ˆÜ—W‘W—\‘\ 'Ó4ˆ
Ü˜J×'Ó'ØÒñ 'ö
  ÜÐ&Ó'Ð'àr   r-   r.   r0   c           	      ó¨   • [        5       (       a  [        R                  S5        gU c  Uc
  [        5       n [	        U UUUUUS9nUR                  5       $ )aÄ  Parse a .env file and then load all the variables found as environment variables.

Parameters:
    dotenv_path: Absolute or relative path to .env file.
    stream: Text stream (such as `io.StringIO`) with .env content, used if
        `dotenv_path` is `None`.
    verbose: Whether to output a warning the .env file is missing.
    override: Whether to override the system environment variables with the variables
        from the `.env` file.
    encoding: Encoding to be used to read the file.
Returns:
    Bool: True if at least one environment variable is set else False

If both `dotenv_path` and `stream` are `None`, `find_dotenv()` is used to find the
.env file with it's default parameters. If you need to change the default parameters
of `find_dotenv()`, you can explicitly call `find_dotenv()` and pass the result
to this function as `dotenv_path`.

If the environment variable `PYTHON_DOTENV_DISABLED` is set to a truthy value,
.env loading is disabled.
zSpython-dotenv: .env loading disabled by PYTHON_DOTENV_DISABLED environment variableF©r,   r-   r.   r0   r1   r/   )r   r#   ÚdebugrÊ   r*   rP   )r,   r-   r.   r1   r0   r/   Údotenvs          r   Úload_dotenvrÏ   R  s_   € ô: ×ÑÜ�‰Øaô	
ð àÑ˜v™~Ü!“mˆäØØØØØØñ€Fð ×.Ñ.Ó0Ð0r   c           	      óZ   • U c  Uc
  [        5       n [        U UUUSUS9R                  5       $ )aa  
Parse a .env file and return its content as a dict.

The returned dict will have `None` values for keys without values in the .env file.
For example, `foo=bar` results in `{"foo": "bar"}` whereas `foo` alone results in
`{"foo": None}`

Parameters:
    dotenv_path: Absolute or relative path to the .env file.
    stream: `StringIO` object with .env content, used if `dotenv_path` is `None`.
    verbose: Whether to output a warning if the .env file is missing.
    encoding: Encoding to be used to read the file.

If both `dotenv_path` and `stream` are `None`, `find_dotenv()` is used to find the
.env file.
TrÌ   )rÊ   r*   rG   )r,   r-   r.   r0   r/   s        r   Údotenv_valuesrÑ   ƒ  s=   € ð. Ñ˜v™~Ü!“mˆäØØØØØØñ÷ �dƒfðr   c                 óæ   • [         R                  R                  U 5      (       a  g [         R                  " U 5      n[        R                  " UR                  5      $ ! [        [
        4 a     gf = f)zF
Return True if `path` exists and is either a regular file or a FIFO.
TF)r   rb   r¢   ÚstatÚFileNotFoundErrorÚOSErrorÚS_ISFIFOÚst_mode)rb   Ústs     r   r<   r<   §  sZ   € ô 
‡w�w‡~�~�d×ÑØðÜ�WŠW�T‹]ˆô �=Š=˜Ÿ™Ó$Ð$øô œwÐ'ó Ùðús   §A ÁA0Á/A0)úutf-8)rz   FrÙ   )rz   rÙ   )r:   FF)NNFFTrÙ   )NNFTrÙ   )-r?   Úloggingr   rg   rm   rÓ   rµ   rj   Úcollectionsr   Ú
contextlibr   Útypingr   r   r   r   r	   r
   r   r   Úparserr   r   Ú	variablesr   r[   rZ   Ú	getLoggerrV   r#   r\   r   r(   r*   ra   rt   rŒ   r‘   rE   r©   rÊ   rÏ   rÑ   r<   r^   r   r   Ú<module>rá      s?  ðÛ 	Û Û 	Û Û Û Û 
Û Ý #Ý %ß P× PÓ Pç )Ý &ð �Ð'Ð'Ñ
(€à	×	Ò	˜8Ó	$€ð3˜tô 3ð¨(°7Ñ*;ð ÀÈÑ@Qô ÷Pñ Pðl &ñ
PØð
Pàð
Pð �s‰mð
Pð ˆc�]õ	
Pð ðØ
ðà�s‰mðð ˆe�B�s‘G˜R ™WÐ$Ñ%Ñ&óó ðð2 ØØ%ñ-*Øð-*àð-*ð ð-*ð ð	-*ð
 ð-*ð �s‰mð-*ð ˆ8�D‰>˜3 Ð#Ñ$õ-*ðf Ø%ñ	!Øð!àð!ð ð!ð �s‰mð	!ð
 ˆ8�D‰>˜3ÐÑõ!ðBØ�U˜3 ¨¡Ð-Ñ.Ñ/ðàðð ˆS�(˜3‘-ÐÑ ôð28˜ð 8 ¨¡ô 8ð& Ø%*Øñ0Øð0à"ð0ð ð0ð 	õ	0ðh &*Ø $ØØØØ%ñ.1Ø˜'Ñ"ð.1à�R˜‘WÑð.1ð ð.1ð ð	.1ð
 ð.1ð �s‰mð.1ð 
õ.1ðd &*Ø $ØØØ%ñ!Ø˜'Ñ"ð!à�R˜‘WÑð!ð ð!ð ð	!ð
 �s‰mð!ð 
ˆ#ˆx˜‰}Ð
Ñõ!ðH%˜7ð % tõ %r   