
    <j                     r   d dl Z d dlZd dlmZmZmZmZmZmZm	Z	 d*de
dedee
   fdZ ed      Z edej                  	      Z ed
      Z ed      Z ed      Z ed      Z ed      Z edej*                  	      Z edej*                  	      Z ed      Z ed      Z ed      Z ed      Z ed      Z ed      Z G d de      Z G d de      Z G d d      Z  G d de!      Z" G d d       Z#d!ee
   de
de
fd"Z$d#e#dee
   fd$Z%d#e#de
fd%Z&d#e#de
fd&Z'd#e#defd'Z(d(ee
   dee   fd)Z)y)+    N)IOIteratorMatch
NamedTupleOptionalPatternSequencestringextra_flagsreturnc                 P    t        j                  | t         j                  |z        S N)recompileUNICODE)r
   r   s     D/opt/lfcs-signon/.venv/lib/python3.12/site-packages/dotenv/parser.py
make_regexr      s    ::fbjj;677    z(\r\n|\n|\r)z\s*)r   z
[^\S\r\n]*z(?:export[^\S\r\n]+)?z	'([^']+)'z([^=\#\s]+)z(=[^\S\r\n]*)z'((?:\\.|[^'\\])*)'z"((?:\\.|[^"\\])*)"z
([^\r\n]*)z(?:[^\S\r\n]*#[^\r\n]*)?z[^\S\r\n]*(?:\r\n|\n|\r|$)z[^\r\n]*(?:\r|\n|\r\n)?z\\[\\'\"abfnrtv]z\\[\\']c                   "    e Zd ZU eed<   eed<   y)Originalr
   lineN)__name__
__module____qualname__str__annotations__int r   r   r   r   %   s    K
Ir   r   c                   B    e Zd ZU ee   ed<   ee   ed<   eed<   eed<   y)BindingkeyvalueoriginalerrorN)r   r   r   r   r   r   r   boolr   r   r   r    r    *   s!    	#C=Kr   r    c                   J    e Zd ZdededdfdZed
d       ZddZdeddfd	Z	y)Positioncharsr   r   Nc                      || _         || _        y r   r(   r   )selfr(   r   s      r   __init__zPosition.__init__2   s    
	r   c                      | dd      S )Nr      r*   r   )clss    r   startzPosition.start6   s    ##r   c                 H    |j                   | _         |j                  | _        y r   r*   )r+   others     r   setzPosition.set:   s    [[
JJ	r   r
   c                     | xj                   t        |      z  c_         | xj                  t        t        j                  t
        |            z  c_        y r   )r(   lenr   r   findall_newline)r+   r
   s     r   advancezPosition.advance>   s2    

c&k!
		SHf566	r   )r   r'   )r2   r'   r   N)
r   r   r   r   r,   classmethodr0   r3   r   r8   r   r   r   r'   r'   1   sH    c    $ $7c 7d 7r   r'   c                       e Zd Zy)ErrorN)r   r   r   r   r   r   r;   r;   C   s    r   r;   c                   ~    e Zd Zdee   ddfdZdefdZddZde	fdZ
dedefd	Zdedefd
Zdee   dee   fdZy)Readerstreamr   Nc                     |j                         j                  d      | _        t        j	                         | _        t        j	                         | _        y )Nu   ﻿)readremoveprefixr
   r'   r0   positionmark)r+   r>   s     r   r,   zReader.__init__H   s6    kkm00: (NN$	r   c                 Z    | j                   j                  t        | j                        k  S r   )rB   r(   r5   r
   r+   s    r   has_nextzReader.has_nextM   s     }}""S%555r   c                 N    | j                   j                  | j                         y r   )rC   r3   rB   rE   s    r   set_markzReader.set_markP   s    		dmm$r   c                     t        | j                  | j                  j                  | j                  j                   | j                  j
                        S )N)r
   r   )r   r
   rC   r(   rB   r   rE   s    r   
get_markedzReader.get_markedS   s:    ;;tyy1D1DE
 	
r   countc                 v    | j                   | j                  j                  | j                  j                  |z    S r   )r
   rB   r(   )r+   rK   s     r   peekzReader.peekY   s,    {{4==..1D1Du1LMMr   c                     | j                   | j                  j                  | j                  j                  |z    }t        |      |k  rt	        d      | j                  j                  |       |S )Nzread: End of string)r
   rB   r(   r5   r;   r8   )r+   rK   results      r   r@   zReader.read\   sZ    T]]004==3F3F3NOv;-..f%r   regexc                 $   |j                  | j                  | j                  j                        }|t	        d      | j                  j                  | j                  |j                         |j                                 |j                         S )Nzread_regex: Pattern not found)	matchr
   rB   r(   r;   r8   r0   endgroups)r+   rP   rR   s      r   
read_regexzReader.read_regexc   sf    DKK)<)<==788dkk%++-%))+FG||~r   )r   N)r   r   r   r   r   r,   r%   rF   rH   r   rJ   r   rM   r@   r   r	   rU   r   r   r   r=   r=   G   sz    %r#w %4 %
6$ 6%
H 
N# N# N# #  # r   r=   rP   c                 T    dt         t           dt        fd}| j                  ||      S )NrR   r   c                 L    t        j                  | j                  d      d      S )Nr   zunicode-escape)codecsdecodegroup)rR   s    r   decode_matchz$decode_escapes.<locals>.decode_matchl   s    }}U[[^-=>>r   )r   r   sub)rP   r
   r[   s      r   decode_escapesr]   k   s,    ?E#J ?3 ? 99\6**r   readerc                     | j                  d      }|dk(  ry |dk(  r| j                  t              \  }|S | j                  t              \  }|S )Nr.   #')rM   rU   _single_quoted_key_unquoted_key)r^   charr!   s      r   	parse_keyre   r   sS    ;;q>Ds{	""#56 J ""=1Jr   c                 z    | j                  t              \  }t        j                  dd|      j	                         S )Nz\s+#.* )rU   _unquoted_valuer   r\   rstrip)r^   parts     r   parse_unquoted_valuerk   }   s0    0GT66)R&--//r   c                     | j                  d      }|dk(  r'| j                  t              \  }t        t        |      S |dk(  r'| j                  t
              \  }t        t        |      S |dv ryt        |       S )Nr.   ra   ")rg   
rg   )rM   rU   _single_quoted_valuer]   _single_quote_escapes_double_quoted_value_double_quote_escapesrk   )r^   rd   r"   s      r   parse_valuert      sv    ;;q>Ds{$$%9:3U;;	$$%9:3U;;	!	!#F++r   c                    | j                          	 | j                  t               | j                         st	        d d | j                         d      S | j                  t               t        |       }| j                  t               | j                  d      dk(  r!| j                  t               t        |       }nd }| j                  t               | j                  t               t	        ||| j                         d      S # t        $ r5 | j                  t               t	        d d | j                         d      cY S w xY w)NF)r!   r"   r#   r$   r.   =T)rH   rU   _multiline_whitespacerF   r    rJ   _exportre   _whitespacerM   _equal_signrt   _comment_end_of_liner;   _rest_of_line)r^   r!   r"   s      r   parse_bindingr~      s    
OO 
/0 **,	  	'"+&;;q>S k*#.v#6EE(#,'&&(	
 	
  
-(&&(	
 	

s   AD B2D ;EEr>   c              #      K   t        |       }|j                         rt        |       |j                         ry y wr   )r=   rF   r~   )r>   r^   s     r   parse_streamr      s0     F^F
//
F## //
s   9>>)r   )*rX   r   typingr   r   r   r   r   r   r	   r   r   r   r7   	MULTILINErw   ry   rx   rb   rc   rz   DOTALLrp   rr   rh   r{   r|   r}   rs   rq   r   r    r'   	Exceptionr;   r=   r]   re   rk   rt   r~   r   r   r   r   <module>r      s    	  8s 8 8WS\ 8 o&"6r||D '
-
.- >*)* ""8biiP !"8biiP ]+127856"#67 ":. z 
j 7 7$	I 	! !H+'#, + + +f # 0 0C 0
, ,3 ,"
& "
W "
J$C $Xg%6 $r   