o 7]hW @sxddlZddlmZddlmZmZmZmZmZm Z m Z m Z m Z ddl mZmZmZmZmZmZmZmZmZer>ddlmZeddedDeed BZeed Zeed ZeZeed Z eZ!ed Z"e"edBZ#eej$ej%dZ&e&edBZ'edd ddddddZ(ee)gefZ*e e)dfZ+e,Z-Gddde.Z/e0dde de*dee)effddZ1e0dd e)de*dee)effd!d"Z2Gd#d$d$Z3Gd%d&d&Z4Gd'd(d(Z5d)e)d*e-d+e e)de-fd,d-Z6d)e)d*e-d.e)d/ee)d0e7de-f d1d2Z8d)e)d*e-de-fd3d4Z9d)e)d*e-de-fd5d6Z:d)e)d*e-d7e3de-fd8d9Z;d)e)d*e-d7e3de-fd:d;Zd?Z>d)e)d*e-de e-e+ffd@dAZ?d)e)d*e-de e-e)ffdBdCZ@d)e)d*e-de e-e)ffdDdEZAd)e)d*e-de*de e-eBffdFdGZCd)e)d*e-de*de e-eDffdHdIZEdJdKd)e)d*e-dLe7de e-e)ffdMdNZFd)e)d*e-de e-e)ffdOdPZGd)e)d*e-dQe,de e-e)ffdRdSZHd)e)d*e-de e-e)ffdTdUZId)e)d*e-dVe7de e-e)ffdWdXZJd)e)d*e-dLe7de e-e)ffdYdZZKd)e)d*e-d[d\de e-e)ffd]d^ZLd)e)d*e-de*de e-effd_d`ZMd)e)d*e-dae)de/fdbdcZNdde,de7fdedfZOdS)gN)MappingProxyType) TYPE_CHECKINGAnyCallableDict FrozenSetIterableOptionalTextIOTuple) RE_BIN RE_DATETIMERE_HEX RE_LOCALTIME RE_NUMBERRE_OCTmatch_to_datetimematch_to_localtimematch_to_number)Patternccs|]}t|VqdSN)chr).0ir;/usr/lib/python3/dist-packages/pip/_vendor/tomli/_parser.py sr  z z z  z-_z"'  "\)z\bz\tz\nz\fz\rz\"z\\.c@seZdZdZdS)TOMLDecodeErrorz0An error raised if a document is not valid TOML.N)__name__ __module__ __qualname____doc__rrrrr&Bsr& parse_floatfpr,returncCs|}t||dS)zParse TOML from a file object.r+)readloads)r-r,srrrloadFs r2r1cCsB|dd}d}t} t||t}z||}Wn ty$Y|j j Sw|dkr.|d7}q |tvr@t||||}t||t}n:|dkrpz||d}Wn tyWd}Ynw|dkrct|||}nt|||}t||t}n |dkrzt ||d t ||}z||}Wn tyY|j j Sw|dkrt ||d |d7}q ) zParse TOML from a string.z r rT[N#zInvalid statementz5Expected newline or end of document after a statement) replaceState skip_charsTOML_WS IndexErrorKEY_INITIAL_CHARSkey_value_rulecreate_list_rulecreate_dict_rule suffixed_err skip_commentoutdict)r1r,srcposstatechar second_charrrrr0LsT    "      r0c@seZdZdddZdS)r7r.NcCst|_t|_d|_dS)Nr) NestedDictrAFlagsflagsheader_namespaceselfrrr__init__s zState.__init__r.N)r'r(r)rNrrrrr7sr7c@s~eZdZdZdZdZdddZdeddfd d Zd ed ed e ddfddZ ded e de ddfddZ ded e de fddZ dS)rIz)Flags that map to parsed keys/namespaces.rr3r.NcC i|_dSr_flagsrLrrrrNs zFlags.__init__keycCsF|j}|ddD]}||vrdS||d}q ||dddS)Nnested)rRpop)rMrScontkrrr unset_alls zFlags.unset_allhead_keyrel_keyflagcCs|j}|D]}||vrttid||<||d}q|D] }||vr.||d|n |htid||<||d}qdS)NrJrecursive_flagsrUrUrJrRsetadd)rMrZr[r\rWrXrrrset_for_relative_keyszFlags.set_for_relative_key recursivecCs|j}|dd|d}}|D]}||vr ttid||<||d}q||vr5ttid||<|||r*s     r>cCs|d7}t||t}t||\}}|j|tjr"t||d||j||jj |tj ddz|j |Wn t yGt||dw||_|||d}|dkrat||d|d|dS) N#Can not mutate immutable namespace Frrz]]zFound "z3" at the end of an array declaration. Expected "]]")r8r9rrJrgrIrhr?rYr`rirArvrqrK)rCrDrErS end_markerrrrr==s*     r=c Cst|||\}}}|dd|d}}|j|}|j|tjr*t||d||j|j|tjz|j |} Wn t yIt||dw|| vrTt||dt |t tfrj|j|} |jj| tjdd|| |<|S)NrTrrTr)parse_key_value_pairrKrJrgrIrhr?rbrirArrrqrorBrpr`) rCrDrEr,rSvaluerdreabs_key_parentnestabs_keyrrrr<Ys(      r<cCstt||\}}z||}Wn tyd}Ynw|dkr#t||d|d7}t||t}t|||\}}|||fS)N=z,Expected "=" after a key in a key/value pairr3)rr:r?r8r9 parse_value)rCrDr,rSrFrrrrrrs     rcCst||\}}|g}t||t} z||}Wn ty"d}Ynw|dkr-|t|fS|d7}t||t}t||\}}||t||t}q)NT.r3)parse_key_partr8r9r:tuplers)rCrDkey_partrSrFrrrrs"       rcCs|z||}Wn tyd}Ynw|tvr&|}t||t}||||fS|dkr/t||S|dkr8t||St||d)N'r$z(Invalid initial character for a key part)r:BARE_KEY_CHARSr8parse_literal_strparse_one_line_basic_strr?)rCrDrF start_posrrrrs      rcCs|d7}t||ddS)Nr3F multiline)parse_basic_strrCrDrrrrsrcCs|d7}g}t||}|||ddkr|d|fS t|||\}}||t||}|||d}|dkr@|d|fS|dkrJt||d|d7}t||}|||ddkrc|d|fSq)Nr3rT,zUnclosed array)rrrsr?)rCrDr,arrayvalcrrr parse_arrays&        rc CsZ|d7}t}t}t||t}|||ddkr!|d|jfS t|||\}}}|dd|d}}||tjrFt||d|z |j |dd} Wn t y\t||dw|| vrkt||d |d || |<t||t}|||d} | dkr|d|jfS| d krt||d t |tt fr|j |tjdd |d7}t||t}q")Nr3}TrTrFrmrzDuplicate inline table key "r$rzUnclosed inline tabler)rHrIr8r9rBrrgrhr?rrrqrorpr`) rCrDr, nested_dictrJrSrrdrerrrrrparse_inline_tables<      rFrrcCs|||d}|d7}|rB|dvrB|dkr8t||t}|||d}|s*|dfS|dkr4t||d|d7}t||t}|dfS|dkrLt||d S|d krVt||d Sz|t|fWStyvt|dkrpt||d t||dw) Nr>\ \ \ rr3r zUnescaped "\" in a stringz\uz\UUnterminated string)r8r9r?rparse_hex_charBASIC_STR_ESCAPE_REPLACEMENTSrqr})rCrDr escape_idrFrrrparse_basic_str_escapes0          rcCst||ddS)NTr)rrrrr parse_basic_str_escape_multilinesrhex_lencCsl||||}t||kstdd|Drt||d||7}t|d}t|s0t||d|t|fS)Ncss|]}|tjvVqdSr)string hexdigits)rrrrrrsz!parse_hex_char..zInvalid hex valuez/Escaped character is not a Unicode scalar value)r}anyr?rkis_unicode_scalar_valuer)rCrDrhex_strhex_intrrrrs    rcCs2|d7}|}t||dtdd}|d|||fS)Nr3rTr)rILLEGAL_LITERAL_STR_CHARS)rCrDrrrrrs  rliteralcCs|d7}|||ddkr|d7}|r*d}t||dtdd}|||}|d}n d}t||dd \}}|||d|krC||fS|d7}|||d|krW|||fS|d7}|||d fS) Nr3r rz'''Trr$rr)r#ILLEGAL_MULTILINE_LITERAL_STR_CHARSr)rCrDrdelimend_posresultrrrparse_multiline_strs.   rc Cs|rt}t}nt}t}d}|} z||}Wn ty#t||dw|dkrS|s6|d||||fS||d|ddkrN|d||||fS|d7}q|dkrm||||7}|||\}}||7}|}q||vr{t||d |d|d7}q) NrTrr$r3r""r%zIllegal character ")!ILLEGAL_MULTILINE_BASIC_STR_CHARSrILLEGAL_BASIC_STR_CHARSrr:r?) rCrDrry parse_escapesrrrF parsed_escaperrrr6s<   rregexrcCs,|||}|st||d||fS)NzUnexpected sequence)matchr?endgroup)rCrDrrrrr parse_regexVs  rcCsz||}Wn tyd}Ynw|dkr.||d|ddkr)t||ddSt||S|dkrJ||d|ddkrEt||d dSt||S|d kr`||d|d d kr`|d d fS|d krv||d|ddkrv|ddfSt||}|rzt|}Wn tyt||dw| |fSt ||}|r| t |fS|dkr||d|d}|dkrt ||dt \}}|t|dfS|dkrt ||dt\}} |t| dfS|dkrt ||dt\}} |t| dfSt||} | r| t| |fS|dkrt|||S|dkrt|||S|||d} | dvr2|d|| fS|||d } | dvrG|d || fSt||d)Nr$r3rrF)rrz''TtrruefalsezInvalid date or datetime0rxrorbr4{>infnan>+inf+nan-inf-nanz Invalid value)r:rrrr rrr|r?rrrrrrkrr rrrr)rCrDr,rFdatetime_match datetime_objlocaltime_matchrGroct_strbin_str number_match first_three first_fourrrrr]sn                    rmsgcCs0dtdtdtfdd}t|d|||dS)zZReturn a `TOMLDecodeError` where error message is suffixed with coordinates in source.rCrDr.cSsV|t|krdS|dd|d}|dkr|d}n ||dd|}d|d|S)Nzend of documentr rr3zline z , column )r}countrindex)rCrDlinecolumnrrr coord_reprs  z suffixed_err..coord_reprz (at ))strPosr&)rCrDrrrrrr?s r? codepointcCs0d|ko dknpd|kodkSS)Nriiir)rrrrrs0r)Prtypesrtypingrrrrrrr r r pip._vendor.tomli._rer r rrrrrrrrer frozensetranger ASCII_CTRLrrrrrr9r ascii_lettersdigitsrr;rr ParseFloatrjrkrr|r&floatr2r0r7rIrHr8rlrr@rr>r=r<rrrrrprrBrrrrrrrrrr?rrrrrs ,,  "      $$? >"      ""!  " " ""   P