K iddlZddlZddlmZddlZddlZddlmZejdkre Z ne Z e Z e ZeZdZdZdZ eZej0dZGd d eZej0d ZGd d eZdZe dfdZ!ej0dZ"e dfdZ#dZ$dZ%gdZ&gdZ'e e(e&e'Z)dZ*GddeZ+GddeZ,Gdde,Z-y#e$reZYwxYw)N)linesep)TomlTz)c`dtjkrddl}t||jryy)N)rrTF)sys version_infopathlib isinstancePurePath)pr s R/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/toml/decoder.py_detect_pathlib_pathrs) !!! a)) * cFt|ttfryt|S)NT)r bytes basestringr)r s r_ispathrs!eZ()  ""rcdtjkrddl}|j|St |r t |S|S)N)rr)rr osfspathrstr)r rs r_getpathr s7 !!!yy|A1v Hrz1([0-9]{2}):([0-9]{2}):([0-9]{2})(\.([0-9]{3,6}))?ceZdZdZdZy)TomlDecodeErrorzBase toml Exception / Error.c|jdd|dz}||jdd|z }dj||||}tj ||||_||_||_||_||_ y)N rz{} (line {} column {} char {})) countrfindformat ValueError__init__msgdocposlinenocolno)selfr%r&r'r(r)emsgs rr$zTomlDecodeError.__init__5sy4C(1,ciia--/66sFE3OD$'  rN)__name__ __module__ __qualname____doc__r$rrrr2s & rrz([0-9])(_([0-9]))*c$eZdZdZdZdZdZy) CommentValuec@||_|rdnd}||z|_||_y)Nr )valcomment_dict)r*r5r6 beginliner7 separators rr$zCommentValue.__init__Fs%%D3  7*  rc |j|SNr5)r*keys r __getitem__zCommentValue.__getitem__Lsxx}rc"||j|<yr;r<)r*r=values r __setitem__zCommentValue.__setitem__Os rc||j}t|j|jr|jdzt |zSt ||jzS)Nr)r5r r7r6unicode)r*dump_value_funcretstrs rdumpzCommentValue.dumpRsM * dhh +<<$&8 86?T\\1 1rN)r,r-r.r$r>rArFr0rrr2r2Es 2rr2c|j}|sy|ddk(ry|ddk(ryd|vsd|vryt|dk(ry|dd k(r|dd vry|dd k(s|dd k(r$|dd}t|dkDr|dd k(r |dd k7ryd|vryy)NFr_z_.z._rT0).obx+-rK__)striplen)ns r_strictly_valid_numrUZs  A ts{u| qyDAI 1v{ts{qt#77ts{adck abE q6A:!A$#+!A$#+ qy rct|rEtjt|d5}t |j ||cdddSt |trddlm }ddl m }|Dcgc]}|j|s|c}sd}|tz }|dz }t|| t|}|j!}|D]8} |j| r|j#t%| ||1|d :|S t |j ||S#1swYyxYwcc}w#t&$r t)d wxYw) acParses named file or files as toml and returns a dictionary Args: f: Path to the file to open, array of files to read into single dict or a file descriptor _dict: (optional) Specifies the class of the returned toml dictionary decoder: The decoder to use Returns: Parsed toml file represented as a dictionary Raises: TypeError -- When f is invalid type TomlDecodeError: Error while decoding toml IOError / FileNotFoundError -- When an array with no valid (existing) (Python 2 / Python 3) file paths is passed zutf-8)encodingNr)path)warnz.Load expects a list to contain filenames only.zAThe list needs to contain the path of at least one existing file.z>Non-existent filename in list with at least one valid filenamez5You can only load a file descriptor, filename or list)rioopenrloadsreadr listrrXwarningsrYexistsrFNFError TomlDecoderget_empty_tableupdateloadAttributeError TypeError) fr7decoderffileoprYrX error_msgdls rrereqs=&qz WWXa[7 3 7uug6 7 7 At !!!"6biio6HI  I + ,I9% % ?!%(G  # # % !Ayy|a01 !  !  $5'2 2/ 7 7 7& $#$ $ $s#D"1D.D.D3"D+3Ez^[A-Za-z0-9_-]+$cg}| t|}|j}|}t|ts t dt|t s|j d}|}t|}d}d} d} d} d} d} d}d}d}d}d}d}t|D]e\}}|d k(r||dzd k(rd ||<|r=||z }|d k(r td ||| r;|| k(r5d}d}||k\r$|||z d k(r| }|dz }||k\r |||z d k(r|sd}d} d} t|dk(rR|jrd}|dk(rd}|js |dk(s|dk(r|rz||dz dk(ro|dk(s|dk(red} |} |dk(r[|jr#|r||dz}|js|dk7rd}|dk(r#d}||dz}|js|dk7rd}+|dk(rd}|ddj}d}d}ntd|zdz|||dk(r?| dk7r:d} |||z dk(r|dz }|dk(rn |||z dk(r|dk(r| } | } n| } | rd} nd} |dk(ro| dk7rjd}d}d} |||z dk(r|dz }|dk(rd}n |||z dk(r|dk(s|dk(r!|r|||z d k(r| }|dz }|||z d k(r|s |r| } | } n| } | rd} nd} |dk(rD| sB|s@| s>|}d} ||d k7r|||z }d ||<|dz }||d k7r|s|j|||| |dk(r/| s-|s+| s)| r"t||dzkDr||dzdk(rd} nd}n|dz }|dk(r| s|rd}n| r||dz dk(rd} n|dz}|d k(rp| s| r[| s td||||dz dk(s ||dz dk(r@||dz ||dz k(r/||dz ||<||dz ||dz k(rd ||dz <n |rd ||<nd} |dz }(| s,||d k7s6||dk7s@d} |rF| rJ||dk(r td||d}||z }h|rtd|t|| rtd |t|dj!|}|j#d }d}d} d}d}t|D]9\}} |dkDr|t||dz dzz }|j%||| r|sd | vr| j'} | dk(r|r|rW|r|r| | z } n| | z } d}d}!| ddk(r | ddk(}!n3t| dkDr%| d| dk(xr| d!| dk(xr | d"| dk(}!|!r |j)| \}"}#|"||<d}d} n>t| dz }|dkDr| |d k(r| }|dz}|dkDr | |d k(r|r| dd} n| d z } | ddk(rd} t| dk(r td#||| ddk(r d} | dd} d$}%n| dd} d}%d}|j/| }&d}'|&D]!}(|'s|%|(vrn||(j1|%z }|' }'#| j#|%|} t| |dzks| dj'dk7r td%|||%j!| ddj#d})d}|t|)kr|)|j'|)|<t|)|dkDr|)|ddk(s |)|ddk(r|)|}*|dz}|*d|*dk(rt|*dk(ri|dz }|t|)dzkDrtd&|*zd'zd(z||dj!|)||j'}*|*d|*dk(sZt|*dk(ri|*dd|)|<g|)|dz|n.t2j5|)|std&|)|zd)z|||dz }|t|)kr|}t7t|)D]}|)|}+|+dk(r td*|| ||+|t|)dz k(rh|+|vr |j9|+| rQtd+||| r#||+j;|jntd,|+zd-zt-|z||||+}| s |d}| dd.k(r,| dd/k7r td0|| |j?| |||d| vs |jA| |||},|,4|,\}} }<|S#t$rYwxYw#t$rY(wxYw#t$rYwxYw#t*$r}$tt-|$||d}$~$wwxYw#t$rG|d}|+|vr:|j||+<|t|)dz k(r| r|jg||+<Yt<$r`|t|)dz k7r|j;|+|j||+<|t|)dz k(r| r|jg||+<Y~wxYw#t<$rY'wxYw#t*$r}$tt-|$||d}$~$wwxYw#t*$r}$tt-|$||d}$~$wwxYw)1aDParses string as toml Args: s: String to be parsed _dict: (optional) Specifies the class of the returned toml dictionary Returns: Parsed toml file represented as a dictionary Raises: TypeError: When a non-string is passed TomlDecodeError: Error while decoding toml Nz!Expecting something like a stringutf8rFTr rr4z2Key name found without value. Reached end of line.\rKrHrP"'=rIz&Found invalid character in key name: 'z'. Try quoting the key name.r#[]zUnbalanced quotes zFound empty keyname. z2Key name found without value. Reached end of file.z/Unterminated string found. Reached end of file.z,Opening key group bracket on line by itself.z]]z"Key group not on a line by itself.zInvalid group name 'z ' Something z went wrong.z'. Try quoting it.z(Can't have a keygroup with an empty namez-An implicitly defined table can't be an arrayzWhat? z already exists?{}z,Line breaks are not allowed in inlineobjects)!rbrcr rrgrCdecoder^ enumeraterisspaceisalnumrstrip IndexErrorpreserve_commentrSjoinsplitembed_commentsrR load_valuer#r_get_split_on_quotesr _groupname_rematch_rangeremoveappendKeyErrorload_inline_object load_line)-sr7riimplicitgroupsretval currentleveloriginalslopenarr openstring openstrchar multilinestr arrayoftablesr8keygroup dottedkeykeynamer=prev_keyline_noiitem oddbackslashknextitem tripquotejr6multikeymultibackslashr'idxlineclosedr@vtypeerrsplitstr quotesplitsquoted quotesplitgroupsgroupstrgrouprets- rr\r\sm Ne$  $ $ &FL a $;<< a ! HHV H aBGJKLMIHIG CHGR=W4 4?GLL;&#(LAq&RAY$%6+7'7 Qq&RAY$%6("#%* &( A<<>GS[ $I\\^ts{dckBq1uI$4s{dck!%J"&KA<<> #%a!e9'//1h#o&'G3; $I!!a%yH#++-(c/"#s{s8??,! %&N&*'+-K'L&.33 3;;#-A Qi3&FAAvQi3& Av#// ) !+^ !  3;;#- LAI Qi3&FAAv$(  Qi3& 6a1fQU)t++7'7 QQU)t+  '3#3L!-J%/J!  3; 8 -AG etmqtOGBqEFAetm (((GYO 3; 8 -r7QU?r!a%yC'7$(M#H1  3;z a!e9#$)M1  4<\#)*=xKKAY#%AEc)91q5 RAY.q1uIBqE!a%yBq1uI-$'1q5 1 qLG 2a5C  $ $ "NFA#%bSTQr(l1o56r(l1o56r(l1o5C#*#5#5l#CLE5*/ X&!  %)"faD!8)7%7NFA"faD!8"#/#4L D(L  7c>!M4yA~%'0193@@Aw#~ $ ABxABxA!66tA%6!9Q<3+>+1!9Q<3+>%ayHAA ( x| ;x=A-Qs6{Q."12H2:3;=K3L2?3@AI3#PP$'88F1QK#8#>#>#@!) x| ;x=A-!)2F1I&(F1q5O(..vay9-.D.4Qi/8:N/O.6==Q+c&k/,"LCK(' q B;)+12:CAAJ 'CK!O+ N2*11%8,&57P6>'E!E+(/66w7N7N7P9#2(U2B2D3E25l2C3D3;C#AA ,E2  '3B'7 K' P!W^Bx3%'0193@@ ?**4x+9;D[ ?''lH(689<6,eR=f Mo  2  *  `"C)#c(HcBBCl!N#/#3LL0.5.E.E.G U+F a/M3:3J3J3L2ML/JCK!O+&--e4*1*A*A*CL'CK!O+ /6/F/F/H.I U+ J$ ?%c#h#>> ?  ?%c#h#>> ?s8!b#b+$*b+3"b; c -A>c34f-f=8g$ b('b(+ b87b8; c c  c0c++c03A f*A$f*)f*- f:9f:= g!gg!$ h-hhc @d}d} t|dkDr|ddk(r|djdk(r|dd}d}nI|dd}d|vr|jd}|d|}||d}n$d|vr|jd}|d|}||d}nd}|}| t|}t t |d d t|z zz}nt|dd}d|d dvry t|d k(r=t jt |dd t |d dt |dd }|St j t |dd t |d dt |dd t |ddt |ddt |dd||} |S#t $rd}YwxYw#t $rYywxYw)NrrKrIZrOrP rrr )rSupperindexrintr#datetimedate)r5 microsecondtz subsecondvaltzvalsubsecondvalandtz splitpointrms r _load_datersK B s8b=2w#~r7==?c)#&r":LE(+BC%//%6%<% 11%6%<% $'8 $B!#l"3#%!c,.?*?#@#BC CH% #ab'  s8r> CG c#a(mC"I A H !!CG c#a(mC"IC2JC2JSBZ+rCA H!   s,B?FA FA$F F F FFcZd}t|dz }|dkDr||dk(r| }|dz}|dkDr ||dk(r|D]}|r>d}t|dz }|dkDr||dk(r| }|dz}|dkDr ||dk(r||z }||z }Cd}d}d}|dk(rd }dj||||zj}|jd rt d |z|dd k(r%|djd rt d |zdz|t t |dz }|t|t|dz }|S)NFrrIrsrqrr\Ur0123456789abcdefzInvalid escape sequence: rm01234567z). Only scalar unicode points are allowed.r)rSrlowerrRr#unichrrrC)vhexbytesprefixskiprhxhxbhxblens r_load_unicode_escapesr7s D A A b&QqTT\x Q b&QqTT\$ DB! Ab&RUd]xQb&RUd] KA GA   U?Fggb1v:&'--/ 99' (83>? ? q6S=SV\\*583>HIJ J VCRL !! WRC ] ##-$. Hr)rJrMrhrTrtru) rrrr{ruc4d}d}|t|kr|red}||tvr|d|dz t||z||dzdz}n8||dk(r|d|dz ||dz}n!||dk(s||dk(r|dz }n tdu||dk(rd }|dz }|t|kr|S) z%Unescape characters in a TOML string.rFNrrsuUReserved escape sequence usedT)rS_escapes_escape_to_escapedcharsr#)rr backslashs r _unescaperas AI c!f* Itxfq1uI 7! ==!a%& I1fq1uI!"%1! Q !@AA  qTT\I Q c!f* HrceZdZdZy)InlineTableDictz,Sentinel subclass of dict for inline tables.Nr,r-r.r/r0rrrrws6rrcfeZdZefdZdZdZ ddZdZdZ dZ ddZ d Z d Z d Zd Zd Zy)rbc||_yr;r7)r*r7s rr$zTomlDecoder.__init__}s  rc"|jSr;r)r*s rrczTomlDecoder.get_empty_tableszz|rcDGdd|jt}|S)NceZdZdZy)BTomlDecoder.get_empty_inline_table..DynamicInlineTableDictzConcrete sentinel subclass for inline tables. It is a subclass of _dict which is passed in dynamically at load time It is also a subclass of InlineTableDict Nrr0rrDynamicInlineTableDictrs rr)r7r)r*rs rget_empty_inline_tablez"TomlDecoder.get_empty_inline_tables TZZ &''rc|ddjd}g}t|dk(r#|djs|jt|dkDr|jd} |jdd\}} | j} | d| dk(r| ddvs+| ddvs$| d vs | dd k(r| dd k(s| dd k(r| dd k(r|j |n(t|dkDr|dz|dz|d<n t dt|dkDr|D]} |j | |||} | yy#t$r t dwxYw)NrrI,rrwz Invalid inline table encountered)rurvz -0123456789)truefalseryrzr~rz&Invalid inline table value encountered)rrSrRpopr#rr) r*rrrrcandidate_groupsrcandidate_grouprHr@rstatuss rrzTomlDecoder.load_inline_objects":++C0  A %.>q.A.G.G.I  ""#a'.2215O E*00a85KKMEqU2Y&58z+A!H -..1X_rc)91X_rc)9 o.%&*'6'<'7':(; #!!IJJ#"#a'$ E^^E<$24F!   E !CDD Es (D33Ec|jd}d}g}t|dkDrd|dvr|djd}|dd}t|dzdk(rat|rV|dxxd|dzz cc<|dd}d|dvr|dd|djdz}t|dzdk(r t|rV||z }|D]-}|r|j|||jdz }| }/|S)NruFrrvrrtrI)rrSr)r*rdoublequotesplitsrrsinglequotesplitsdoublequotesplits rrz TomlDecoder._get_split_on_quotess@ JJsO  !A %#1B11E*E 1! 4 : :3 ?  1!" 5 '(1,1c:K6L!"%/@/C)CC%$5ab$9!+B//):3B)?):2)>)D)DS)I*J% '(1,1c:K6L , ,K 1 $ ""#34/55c:: #  $ rcd}|j|}d}|D]!}|sd|vrn||jdz }| }#|jd|} t| d} tj | dr| dj dd| d<t| dr~| dddk7rs| ddd k7rh| ddd k7r]| ddd k7rR| ddd k7rG| ddd k7r<| djdk7r&| djdk7r t| d dj| ddj| djg} d| dvrd | dvsd | dvrg|j| d}d}g} |D]I}|r| j|n0| |jdD cgc]} | jc} z } | }Kn| djd} | ddk(r| dd} | ddk(r| ddD]$} | dk(r | |vr|j|| <|| }&| dj| d<n;| ddd k(s | ddd k(r%| dd| ddk(rt!| ddd| d<|j#| d\}}|dkDrH|dkDr*| d||zdk(r| }|dz}|dkDr| d||zdk(r|r | ddd}n| ddz}| d}n|j%| d| \}} || dtd#t$rYnwxYwt| dtj | dr"|dz }| d} |jd|} | | dk(r td| rt| d} t| dsq| dddk7s~| ddd k7s| ddd k7s| ddd k7s| ddd k7s| ddd k7s| djdk7s| djdk7rcc} w#t&$r tdt($r|r||fcYS|| d<YywxYw)NrFrwrIrHrqrr4r{rvruryr~rrzInvalid date or numberrKrsrzDuplicate keys!)rr rrU_number_with_underscoresrreplacerSrRfloatr#rTIME_RErrrcr_load_line_multiline_strrrgr)r*rrrrrrrrpairstrictly_validprev_vallevelslevelrkoffsetrr@rs rrzTomlDecoder.load_lines //5 % JcZ/ !!#& &AZF  zz#q!,T"X6 # ) )$r( 3Bx''R0DH$r(mb!!3R t8K!%b!!3R s8J!%b!!3R s8J!%b!1V!;!%b!1W!< d2hcr#))+T"X^^-=> $q'>d1g~Q"77Q@ "-(J j1#-#3#3C#8#:U5;;=#::!'ZF (as+*"*" 3B; ,*.*>*>*@L'+E2  3 Rj&&(DG1gajC471:#4aQ *Q" .DG2247; 7 r6b&T!WQ[1T9%3!3Qb&T!WQ[1T9#Aws| #Aw~ AwH??47NCLE5 . a !./ /m  $r(#/}}T"X& FABxH::c1%D48# !9::!4T"X!>)$r(mb!!3R t8K!%b!!3R s8J!%b!!3R s8J!%b!1V!;!%b!1W!<6#:@ 0./ / .~==(- T!W%  .s0 L'P .P L  L #P>3P>=P>cd}t|dkrd|fS|ddk(r|jddk7r|j|r|ddjjd}t|dkDrP|dddk7rE|ddd k7r:|dd |d dz|dzgz}t|dkDr|dddk7r |ddd k7r:|d}t|t|z }|}|ddk7r |dd k7rd|fS|d|dk7s |d |dk7rd|fSt|d kDr%|d|dk(r|d |dk(r|d |dk(rd|fSt|dz |fS)NrrrIryrzrrrurvr|rtrr})rSrR_load_array_isstrarrayr)r*r poffsetnewps rr z$TomlDecoder._load_line_multiline_strs q6A:w;  Q43;AGGIbMS0 77:QR5;;=&&s+Dd)a-DHQK3$648A;#;MCRyDHsNT"X$=#>>d)a-DHQK3$648A;#;M8D!fs4y(GA Q43;1Q43;w;  Q41Q4<1Q41Q4<w;  q6A:!B%1Q4-AbEQqTMaeqtmw; 1vz7""rcH|s td|dk(ry|jdk(r td|dk(ry|jdk(r td|ddk(s |dd k(rg|d}|d dj|}d }d}t|d kDr|dd k(r|d d k(r|d d}d}d }|D]P}|d k(r |r|d z }d}d } d} || } | dk(r| } | d z} || } | dk(r| r8|r td|r|d kDrd}Od}R|dk(r|jdd d} d } | D]8} | d k(r| } | dt vr| ddk7r| ddk7r | s td| s7d } :dD]+}||vs|j|}t |d|d d|}-t|}t|d kDr&|d |k(rt|dks |d |d k(r|d d}|d ddfS|ddk(r|j|dfS|ddk(r&|j}|j|||dfStj|rmtj|j\}}}}}tjt!|t!|t!||r t!|nd}|dfSt#|}||dfS|s tdd }d }|dd!k(rd}|d d}n |dd"k(r|d d}|j%d#d }|j}d$|vs d%|vrOd&|vsd'|vrGd$|vr#|jd$d d d k(r td(|dd)vr td*t'|}d+}n%t|dk(r|d,k(s|d-k(r t'|}d+}|d k(r t!|d}|rd|z |fS||fS#t$rYwxYw).NzEmpty value is invalidr)Tboolz#Only all lowercase booleans allowedr)FrrrurvrFrqrtTrIrsz1Found tokens after a closed string. Invalid TOML.rrr)z\urrr|rryarrayr~ inline_objecttimerz !$Q-K&#V,,! "?@@ECts{abE1abE #r"AWWYFaxCqLcQh#(!8Q 2b 8$&122Q4|+$&-..!HV!v&E/!H~1IAu~%u: Y&sN N! N!ct|dk(ry|d|dk7ryd}d}t||zdkDr'||dk(r | }|dz}n | St||zdkDr'| S)NrTrIFr|rsr)rS)r*rrrs rbounded_stringzTomlDecoder.bounded_strings| q6Q; R5AaD=  !fqj1ntt| )M Q} !fqj1n }rcV|ddj}|dk7r|ddk(s|ddk(ryy) NrrIrqrrurvTF)rR)r*as rrz"TomlDecoder._load_array_isstrarrays4 aGMMO 7! qts{rcd}g}|j}d|ddvs)d|ddjddjk7r|j|}|ddjjds|ddjd}ng}d}d}||dk(rdnd}d } |t |ddkr||d k(s||d k(r-| r(|dz } | dkDr|| d k(r| } | dz} | dkDr || d k(r| } | s ||dk(r|dz }| s||d k7r|dz }m||d k(r|dkDr |dz}|dz }|dz }|j ||||dz}|t |ddkr'||dk7r|dz }|t |ddkr ||dk7r|dz}|t |ddkr|}d} |r| t |dz kr|| j} |j | r;t | dkDr| d| dcxk(r| dk(rnn| d| dk7r| d| dk7r|| dz|| dzz|| <|| j} | t |dz kr|d| dz|| dzdz}n|d| dz}|j | sdt | dkDr.| d| dcxk(r| dk(rnn| d| dk7r | d| dk7r| dz } | t |dz krnt|dd} g}d}d}tt | D]R}| |dk(r|dz }| |dk(r|dz}| |dk(s(|r+|j dj| |||dz}T|j dj| |dtt |D]]}||j||<||dk7s"|j||\}}|r||k7r td|}|j |_|S)NryrrIrqrr~rrtFrurvrsrr|r}rzzNot a homogeneous array) rRrr startswithrSrr/r^rrrr#)r*r1atyperstrarraynew_astart_group_indexend_group_indexopen_bracket_countin_strbackslash_indexrMabalrrrnvalntypes rr zTomlDecoder.load_arrays GGI a"g q2w}}S'9!'<'B'B'D!D2215HQr7==?--c2aGMM#&$%!"#*+,=*>#*EQ1"%AabE 2)S0Ao4F#4M!.=.AO#2R#7#$_#5#=-3 /1 4$3R#7#$_#5#=&,!a&8C&?*a/*?!3s!:'1, ?+s27IA7M*a/*'1, $q(OLL#4_!EF )8!(;%,s1QR5z9./36)Q.)-s1QR5z9./36&7!&;O?&AabE 2@A#a&1*n1B#2226GaKqERU3be3rFbeOrFbeO tczAa!eH4!qTZZ\s1vz> !&1q5 Aa!efI 5A !&1q5 A $2226GaKqERU3be3rFbeOrFbeOFA#a&1*na"gBAGACG_ a5C<qLGUc\qLGUc\'HHRWWR!W-.AA  HHRWWRV_ %A $AQ4::rZs6  d FG FJ F#   H "**I J j  &2::&:;262*..$b ./ `F , ^ F /: s8];< ,7f7T &T n 55OHsC C*)C*