K i ddlZddlmZddlmZddlmZejdZGddZ dZ d Z d Z d Z d Zd ZeZee e e e eedZej$eedezZddddddddddediZdZy)N)BOM_UTF8)Tuple)groupzutf-8cFeZdZddZedeeeffdZdZdZ dZ y) PrefixPartNcR|J||_||_||_||_||_yN)parenttypevaluespacing start_pos)selfleaftypr r rs Y/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/parso/python/prefix.py__init__zPrefixPart.__init__ s1$$$    *3returnc<|jjds|jjdr|jddzdfS|jtk(r |jS|jd|jdt |jzfS)N  r)r endswithr unicode_bomlenrs rend_poszPrefixPart.end_poss~ ::  t $ (;(;D(A>>!$q(!+ + :: $>> !~~a $.."3c$**o"EEErc|jdt|jz }t|jd|j|jd|fS)Nrr rr)rrr rr )rcolumns rcreate_spacing_partzPrefixPart.create_spacing_partsK"S%66 KKDLL~~a(&1  rc|jjd|jdt|jd|j dS)N(z, )) __class____name__r reprr rrs r__repr__zPrefixPart.__repr__#s3 NN # # II   NN   rc^|j}||j|vr|S|j}|yr )r r )r node_typesnodes rsearch_ancestorzPrefixPart.search_ancestor+s8{{yyJ& ;;Dr)N) r' __module__ __qualname__rpropertyrintrr"r)r-rrrr s<4FsCxFF  rrz #[^\n\r\f]*z \\\r?\n|\\\rz\r?\n|\rz\f$z[ \t]*T)capture#comment\ backslash formfeedrnewlinerbomc #@K|\}}d}dx}}d}|t|jk7rtj|j|}|j d}|j d}|snt |d} t || |||||zt|z t|zf| dk(rd}|jd}|jd s|jd r|dz }| }|t|jk7r|rd}t |d ||||zfyw) Nrr.Frr r=Trrr ) rprefix_regexmatchr_typesrr2endr) rrliner!startr r r=rBtype_s r split_prefixrHMs)LD& EEG C 3t{{# # T[[%0++a. A uQx  %Ve^c#h6WEF   E>C !  >>$ 5>>$#7 AIDVF# 3t{{# #&   i%( s DDD)recodecsrtypingrparso.python.tokenizerdecoderr_comment _backslash_newline _form_feed _only_spacing_spacing_bomrAcompilerCrHr3rrrVs 'hoog& ''T        j(J t   E(D1F: ;+*))  r