HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //proc/1233/cwd/lib/python3/dist-packages/dotenv/__pycache__/parser.cpython-310.pyc
o

��a��@s�ddlZddlZddlmZmZmZmZmZmZm	Z	m
Z
d4dededeefdd�Z
e
d�Ze
d	ejd
�Ze
d�Ze
d�Ze
d
�Ze
d�Ze
d�Ze
d�Ze
d�Ze
d�Ze
d�Ze
d�Ze
d�Ze
d�Ze
d�Zeddefdefg�Zeddeefdeefdefdefg�Z Gdd �d �Z!Gd!d"�d"e"�Z#Gd#d$�d$�Z$d%eededefd&d'�Z%d(e$deefd)d*�Z&d(e$defd+d,�Z'd(e$defd-d.�Z(d(e$de fd/d0�Z)d1eedee fd2d3�Z*dS)5�N)�IO�Iterator�Match�
NamedTuple�Optional�Pattern�Sequence�Tuple�string�extra_flags�returncCst�|tj|B�S�N)�re�compile�UNICODE)r
r�r�//usr/lib/python3/dist-packages/dotenv/parser.py�
make_regex�rz(\r\n|\n|\r)z\s*)rz
[^\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\\[\\']�Original�line�Binding�key�value�original�errorc@sLeZdZdededdfdd�Zeddd��Zdd
d�Zdeddfd
d�Z	dS)�Position�charsrrNcCs||_||_dSr
�rr)�selfrrrrr�__init__0s
zPosition.__init__cCs|ddd�S)Nr�rr)�clsrrr�start4szPosition.start�othercCs|j|_|j|_dSr
r)rr$rrr�set8szPosition.setr
cCs0|jt|�7_|jtt�t|��7_dSr
)r�lenrr�findall�_newline)rr
rrr�advance<szPosition.advance)rr)r$rrN)
�__name__�
__module__�__qualname__�intr �classmethodr#r%�strr)rrrrr/s
rc@seZdZdS)�ErrorN)r*r+r,rrrrr0Asr0c@s�eZdZdeeddfdd�Zdefdd�Zddd	�Zde	fd
d�Z
dedefd
d�Zdedefdd�Z
deedeefdd�ZdS)�Reader�streamrNcCs"|��|_t��|_t��|_dSr
)�readr
rr#�position�mark)rr2rrrr Fs

zReader.__init__cCs|jjt|j�kSr
)r4rr&r
�rrrr�has_nextKrzReader.has_nextcCs|j�|j�dSr
)r5r%r4r6rrr�set_markNrzReader.set_markcCs"t|j|jj|jj�|jjd�S)N)r
r)rr
r5rr4rr6rrr�
get_markedQs�zReader.get_marked�countcCs|j|jj|jj|�Sr
)r
r4r)rr:rrr�peekWszReader.peekcCs>|j|jj|jj|�}t|�|krtd��|j�|�|S)Nzread: End of string)r
r4rr&r0r))rr:�resultrrrr3Zs
zReader.read�regexcCsH|�|j|jj�}|durtd��|j�|j|��|����|��S)Nzread_regex: Pattern not found)	�matchr
r4rr0r)r#�end�groups)rr=r>rrr�
read_regexas
zReader.read_regex)rN)r*r+r,rr/r �boolr7r8rr9r-r;r3rrrArrrrr1Es
r1r=cCs"dttdtfdd�}|�||�S)Nr>rcSst�|�d�d�S)Nrzunicode-escape)�codecs�decode�group)r>rrr�decode_matchjrz$decode_escapes.<locals>.decode_match)rr/�sub)r=r
rFrrr�decode_escapesisrH�readercCs>|�d�}|dkrdS|dkr|�t�\}|S|�t�\}|S)Nr!�#�')r;rA�_single_quoted_key�
_unquoted_key)rI�charrrrr�	parse_keyps
�rOcCs|�t�\}t�dd|���S)Nz\s+#.*�)rA�_unquoted_valuerrG�rstrip)rI�partrrr�parse_unquoted_value{srTcCsZ|�d�}|dkr|�t�\}tt|�S|dkr#|�t�\}tt|�S|dvr)dSt|�S)Nr!rK�")rP�
�
rP)r;rA�_single_quoted_valuerH�_single_quote_escapes�_double_quoted_value�_double_quote_escapesrT)rIrNrrrr�parse_value�s


r\c	Cs�|��zJ|�t�|��stdd|��dd�WS|�t�t|�}|�t�|�	d�dkr8|�t
�t|�}nd}|�t�|�t
�t|||��dd�WStyf|�t�tdd|��dd�YSw)NF)rrrrr!�=T)r8rA�_multiline_whitespacer7rr9�_exportrO�_whitespacer;�_equal_signr\�_comment�_end_of_liner0�
_rest_of_line)rIrrrrr�
parse_binding�sD
�





�

��rer2ccs,�t|�}|��rt|�V|��s	dSdSr
)r1r7re)r2rIrrr�parse_stream�s
�
�rf)r)+rCr�typingrrrrrrrr	r/r-rr(�	MULTILINEr^r`r_rLrMrarXrZrQrbrcrdr[rYrrBrr�	Exceptionr0r1rHrOrTr\rerfrrrr�<module>sT(��

��$%