§
    ìXÊjÏ  ã            	       óŒ   — d dl Z dddddœZi e¥ddi¥Zded	eeef         d
efd„Zddedeeef         dz  d
eeef         fd„ZdS )é    Nú
ú	ú"ú\)ÚnÚtr   r   ú$ÚvalueÚescapesÚreturnc                 ó6   ‡— t          j        dˆfd„| ¦  «        S )aN  Expand backslash escapes in a single left-to-right pass.

    Processing in one pass (rather than chained `str.replace` calls) ensures an escaped
    backslash (`\\`) is consumed as a unit and cannot merge with the following character,
    e.g. `\\n` is a backslash followed by `n`, not a newline. Unknown escapes are kept as-is.
    z\\(.)c                 ó|   •— ‰                      |                      d¦  «        |                      d¦  «        ¦  «        S )Né   r   )ÚgetÚgroup)Úmatchr   s    €úNC:\Projects\Historical\venv\Lib\site-packages\huggingface_hub/utils/_dotenv.pyú<lambda>z_unescape.<locals>.<lambda>   s*   ø€ ¨'¯+ª+°e·k²kÀ!±n´nÀeÇkÂkÐRSÁnÄnÑ*UÔ*U€ ó    )ÚreÚsub)r
   r   s    `r   Ú	_unescaper      s$   ø€ õ Œ6�(ÐUÐUÐUÐUÐW\Ñ]Ô]Ð]r   Ú
dotenv_strÚenvironc                 ó  — i }t          j        dt           j        ¦  «        }|                      ¦   «         D �]N}|                     ¦   «         }|r|                     d¦  «        rŒ/|                     |¦  «        }|�r|                     d¦  «        }d}|                     d¦  «        r½|                     d¦  «        p|                     d¦  «        pd}|                     ¦   «         }|                     d	¦  «        r3|                     d	¦  «        rt          |dd
…         t          ¦  «        }nL|                     d¦  «        r|                     d¦  «        r
|dd
…         }n|�|                     |¦  «        }|�|||<   �ŒP|S )z˜
    Parse a DOTENV-format string and return a dictionary of key-value pairs.
    Handles quoted values, comments, export keyword, and blank lines.
    aø  
        \s*
        (?:export[^\S\n]+)?               # optional export
        ([A-Za-z_][A-Za-z0-9_]*)          # key
        (?:
            [^\S\n]*
            (=)                           # equal sign
            (?:
                [^\S\n]*
                (                         # quoted value
                    '(?:\\'|[^'])*'       # single-quoted
                    | \"(?:\\\"|[^\"])*\" # double-quoted
                )
                [^\S\n]*(?:\#[^\n\r]*)?   # inline comment (needs no preceding whitespace after a quote)
                |
                (?:[^\S\n]+(?!\#))?       # whitespace after '=' also separates an inline comment
                (                         # unquoted value (may contain '#')
                    [^\n\r]*?
                )
                (?:[^\S\n]+\#[^\n\r]*)?   # inline comment (must be preceded by whitespace)
            )
            |
            [^\S\n]*(?:\#[^\n\r]*)?       # bare key (no '='), with an optional inline comment
        )
    ú#r   Né   é   é   Ú r   éÿÿÿÿú')r   ÚcompileÚVERBOSEÚ
splitlinesÚstripÚ
startswithÚ	fullmatchr   Úendswithr   Ú_DOUBLE_QUOTE_ESCAPESr   )	r   r   ÚenvÚline_patternÚliner   ÚkeyÚvalÚraw_vals	            r   Úload_dotenvr1      s€  € ð
 €CÝ”:ð	õ2 	Œ
ñ5ô €Lð: ×%Ò%Ñ'Ô'ð ñ ˆØ�zŠz‰|Œ|ˆØð 	�t—’ sÑ+Ô+ð 	Øà×&Ò& tÑ,Ô,ˆØñ 	Ø—+’+˜a‘.”.ˆCØˆCØ�{Š{˜1‰~Œ~ð 'ØŸ+š+ a™.œ.Ð@¨E¯KªK¸©N¬NÐ@¸b�Ø—m’m‘o”o�à—>’> #Ñ&Ô&ð $¨3¯<ª<¸Ñ+<Ô+<ð $å# C¨¨"¨¤IÕ/DÑEÔE�C�CØ—^’^ CÑ(Ô(ð $¨S¯\ª\¸#Ñ->Ô->ð $à˜a ˜dœ)�CøØÐ$à—k’k #Ñ&Ô&�àˆØ��C‘ùà€Jr   )N)r   Ú_ESCAPESr*   ÚstrÚdictr   r1   © r   r   ú<module>r6      s¾   ðà 	€	€	€	ð
 ˜D s°$Ð7Ð7€Ø.˜8Ð. S¨#Ð.Ð.Ð ð^�Sð ^ 4¨¨S¨¤>ð ^°cð ^ð ^ð ^ð ^ð=ð =˜Cð =¨$¨s°C¨x¬.¸4Ñ*?ð =È4ÐPSÐUXÐPXÌ>ð =ð =ð =ð =ð =ð =r   