
    5i;                     L   S SK r S SKrS SKJrJrJrJrJrJrJ	r	  S*S\
S\S\\
   4S jjr\" S5      r\" S\R                  S	9r\" S
5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r " S S\5      r " S S\5      r " S S5      r " S S\ 5      r! " S S 5      r"S!\\
   S\
S\
4S" jr#S#\"S\\
   4S$ jr$S#\"S\
4S% jr%S#\"S\
4S& jr&S#\"S\4S' jr'S(\\
   S\\   4S) jr(g)+    N)IOIteratorMatch
NamedTupleOptionalPatternSequencestringextra_flagsreturnc                 R    [         R                  " U [         R                  U-  5      $ N)recompileUNICODE)r
   r   s     [/var/www/html/BTCUSD/btcusdt_trading_app/venv/lib/python3.13/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                   *    \ rS rSr% \\S'   \\S'   Srg)Original#   r
   line N)__name__
__module____qualname____firstlineno__str__annotations__int__static_attributes__r   r   r   r   r   #   s    K
Ir   r   c                   J    \ rS rSr% \\   \S'   \\   \S'   \\S'   \\S'   Sr	g)Binding(   keyvalueoriginalerrorr   N)
r   r   r   r   r   r   r   r   boolr!   r   r   r   r#   r#   (   s!    	#C=Kr   r#   c                   Z    \ rS rSrS\S\SS4S jr\SS j5       rSS jrS	\	SS4S
 jr
Srg)Position/   charsr   r   Nc                     Xl         X l        g r   r-   r   )selfr-   r   s      r   __init__Position.__init__0   s    
	r   c                     U " SSS9$ )Nr      r/   r   )clss    r   startPosition.start4   s    ##r   c                 H    UR                   U l         UR                  U l        g r   r/   )r0   others     r   setPosition.set8   s    [[
JJ	r   r
   c                     U =R                   [        U5      -  sl         U =R                  [        [        R                  " [
        U5      5      -  sl        g r   )r-   lenr   r   findall_newline)r0   r
   s     r   advancePosition.advance<   s2    

c&k!
		SHf566	r   r/   )r   r+   )r9   r+   r   N)r   r   r   r   r    r1   classmethodr6   r:   r   r@   r!   r   r   r   r+   r+   /   sH    c    $ $7c 7d 7r   r+   c                       \ rS rSrSrg)ErrorA   r   N)r   r   r   r   r!   r   r   r   rD   rD   A   s    r   rD   c                       \ rS rSrS\\   SS4S jrS\4S jrSS jr	S\
4S jrS	\S\4S
 jrS	\S\4S jrS\\   S\\   4S jrSrg)ReaderE   streamr   Nc                     UR                  5       U l        [        R                  5       U l        [        R                  5       U l        g r   )readr
   r+   r6   positionmark)r0   rI   s     r   r1   Reader.__init__F   s+    kkm (NN$	r   c                 Z    U R                   R                  [        U R                  5      :  $ r   )rL   r-   r=   r
   r0   s    r   has_nextReader.has_nextK   s     }}""S%555r   c                 N    U R                   R                  U R                  5        g r   )rM   r:   rL   rP   s    r   set_markReader.set_markN   s    		dmm$r   c                     [        U R                  U R                  R                  U R                  R                   U R                  R
                  S9$ )N)r
   r   )r   r
   rM   r-   rL   r   rP   s    r   
get_markedReader.get_markedQ   s:    ;;tyy1D1DE
 	
r   countc                 v    U R                   U R                  R                  U R                  R                  U-    $ r   )r
   rL   r-   )r0   rY   s     r   peekReader.peekW   s,    {{4==..1D1Du1LMMr   c                     U R                   U R                  R                  U R                  R                  U-    n[        U5      U:  a  [	        S5      eU R                  R                  U5        U$ )Nzread: End of string)r
   rL   r-   r=   rD   r@   )r0   rY   results      r   rK   Reader.readZ   sZ    T]]004==3F3F3NOv;-..f%r   regexc                 &   UR                  U R                  U R                  R                  5      nUc  [	        S5      eU R                  R                  U R                  UR                  5       UR                  5        5        UR                  5       $ )Nzread_regex: Pattern not found)	matchr
   rL   r-   rD   r@   r6   endgroups)r0   r`   rb   s      r   
read_regexReader.read_regexa   sf    DKK)<)<==788dkk%++-%))+FG||~r   )rM   rL   r
   )r   N)r   r   r   r   r   r   r1   r)   rQ   rT   r   rW   r    r[   rK   r   r	   re   r!   r   r   r   rG   rG   E   sz    %r#w %4 %
6$ 6%
H 
N# N# N# #  # r   rG   r`   c                 T    S[         [           S[        4S jnU R                  X!5      $ )Nrb   r   c                 N    [         R                  " U R                  S5      S5      $ )Nr   zunicode-escape)codecsdecodegroup)rb   s    r   decode_match$decode_escapes.<locals>.decode_matchj   s    }}U[[^-=>>r   )r   r   sub)r`   r
   rl   s      r   decode_escapesro   i   s*    ?E#J ?3 ? 99\**r   readerc                     U R                  S5      nUS:X  a  g US:X  a  U R                  [        5      u  nU$ U R                  [        5      u  nU$ )Nr4   #')r[   re   _single_quoted_key_unquoted_key)rp   charr%   s      r   	parse_keyrw   p   sS    ;;q>Ds{	""#56 J ""=1Jr   c                 |    U R                  [        5      u  n[        R                  " SSU5      R	                  5       $ )Nz\s+#.* )re   _unquoted_valuer   rn   rstrip)rp   parts     r   parse_unquoted_valuer}   {   s0    0GT66)R&--//r   c                     U R                  S5      nUS:X  a'  U R                  [        5      u  n[        [        U5      $ US:X  a'  U R                  [
        5      u  n[        [        U5      $ US;   a  g[        U 5      $ )Nr4   rs   ")ry   
ry   )r[   re   _single_quoted_valuero   _single_quote_escapes_double_quoted_value_double_quote_escapesr}   )rp   rv   r&   s      r   parse_valuer      sv    ;;q>Ds{$$%9:3U;;	$$%9:3U;;	!	!#F++r   c                    U R                  5          U R                  [        5        U R                  5       (       d  [	        S S U R                  5       SS9$ U R                  [        5        [        U 5      nU R                  [        5        U R                  S5      S:X  a!  U R                  [        5        [        U 5      nOS nU R                  [        5        U R                  [        5        [	        UUU R                  5       SS9$ ! [         a2    U R                  [        5        [	        S S U R                  5       SS9s $ f = f)NF)r%   r&   r'   r(   r4   =T)rT   re   _multiline_whitespacerQ   r#   rW   _exportrw   _whitespacer[   _equal_signr   _comment_end_of_linerD   _rest_of_line)rp   r%   r&   s      r   parse_bindingr      s#   
OO 
/0  **,	  	'"+&;;q>S k*#.v#6EE(#,'&&(	
 	
  
-(&&(	
 	

s   AD B0D 9EErI   c              #      #    [        U 5      nUR                  5       (       a%  [        U5      v   UR                  5       (       a  M$  g g 7fr   )rG   rQ   r   )rI   rp   s     r   parse_streamr      s5     F^F
//

F## //

s   AA	A	)r   ))ri   r   typingr   r   r   r   r   r   r	   r   r    r   r?   	MULTILINEr   r   r   rt   ru   r   r   r   rz   r   r   r   r   r   r   r#   r+   	ExceptionrD   rG   ro   rw   r}   r   r   r   r   r   r   <module>r      s    	  8s 8 8WS\ 8 o&"6r||D '
-
.- >*)*!"67 !"67 ]+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   