grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026U iÛfGhã@sdZddlZddlZddlTeehZeee hZ e e hZ eehZeeehBZdZdd„eDƒZejfdd„Zd d „Zd d „Zd,d d„ZejdZde>dZdZeefdd„Z dd„Z!dd„Z"dd„Z#dd„Z$dd„Z%dd„Z&d d!„Z'd"d#„Z(d$d%„Z)d&d'„Z*d(d)„Z+d-d*d+„Z,dS).zInternal support module for sreéN)Ú*))éii1)ési)éµi¼)iEi¹i¾)i�iÓ)i°iã)i²iÐ)iµiõ)i¸iÑ)iºið)iÀiÖ)iÁiñ)iÂiÃ)iÆiÕ)iai›)iûiûcs.i|]&}|D]‰ˆt‡fdd„|Dƒƒ“q qS)c3s|]}ˆ|kr|VqdS©N©)Ú.0Új©Úirú0/opt/alt/python38/lib64/python3.8/sre_compile.pyÚ >sz.)Útuple)rÚtrr r Ú >s ÿrcCs ||@r||M}||B|@Srr)ÚflagsÚ add_flagsÚ del_flagsÚ TYPE_FLAGSrrr Ú_combine_flagsAs rcCsä|j}t}t}t}t}t}d} d} d} |t@r\|t@s\|t@rPt j } t j } t } n t j } t j} |D�]|\} } | |k�rr|t@sŽ|| ƒ|| ƒnâ|t@r¬|t| ƒ|| ƒnÄ| | ƒsÆ|| ƒ|| ƒnª| | ƒ}| sè|t| ƒ||ƒnˆ|| k�r|t| ƒ||ƒnh|tƒ||ƒ}|dƒ| tk�r2|tƒ|f| |D]}|tƒ||ƒ�q@|tƒ||ƒ|||<q`| tk�rt| | | | ƒ\}}|t@�r¬|t@�r¬|tƒn(|�s¼|tƒn| �sÌ|tƒn|tƒ||ƒ}|dƒt|||ƒ||ƒ|||<q`| tk�r*|t@�r |tƒn|tƒq`| |k�r6|t@�rLt d| fƒ‚t!| dƒ�rÈ| t"k�rn|t#ƒn|t$ƒ||ƒ}|dƒ|| dƒ|| dƒt%|| d|ƒ|t&ƒ||ƒ|||<nl|t'ƒ||ƒ}|dƒ|| dƒ|| dƒt%|| d|ƒ||ƒ|||<| t"k�r,|t(ƒn|t)ƒq`| t*k�r¢| \}}}}|�rj|t+ƒ||ddƒt%||t,|||ƒƒ|�rÞ|t+ƒ||dddƒq`| |k�r¶|| ƒq`| |k�rD|| ƒ||ƒ}|dƒ| ddk�rð|dƒn*| d -¡\}}||k�rt dƒ‚||ƒt%|| d|ƒ|t&ƒ||ƒ|||<q`| t.k�rŒ|| ƒ||ƒ}|dƒt%|| |ƒ|t&ƒ||ƒ|||<q`| t/k�rì|| ƒ|t0@�r´t1 2| | ¡} |t@�rÌt3 2| | ¡} n|t@�rât4 2| | ¡} || ƒq`| t5k�r†|| ƒg}|j}| dD]N} ||ƒ}|dƒt%|| |ƒ|t6ƒ|||ƒƒ|dƒ||ƒ|||<�q|tƒ|D]}||ƒ|||<�qlq`| t7k�rÈ|| ƒ|t@�r¬t8| } n|t@�r¾t9| } || ƒq`| t:k�r |t@�sæ|| ƒn,|t@�rú|t;ƒn| �s |t<ƒn|t=ƒ|| dƒq`| t>k�rÐ|| ƒ|| ddƒ||ƒ}|dƒt%|| d|ƒ| d�rº|t6ƒ||ƒ}|dƒ||ƒ|d||<t%|| d|ƒ||ƒ|||<n||ƒ|d||<q`t d| fƒ‚q`dS)Nrz*internal: unsupported template operator %rééz(look-behind requires fixed-width patternz%internal: unsupported operand type %r)?ÚappendÚlenÚ_LITERAL_CODESÚ_REPEATING_CODESÚ_SUCCESS_CODESÚ _ASSERT_CODESÚSRE_FLAG_IGNORECASEÚSRE_FLAG_LOCALEÚSRE_FLAG_UNICODEÚ_sreÚunicode_iscasedÚunicode_tolowerÚ_ignorecase_fixesÚ ascii_iscasedÚ ascii_tolowerÚOP_LOCALE_IGNOREÚ OP_IGNOREÚOP_UNICODE_IGNOREÚ IN_UNI_IGNOREÚ NOT_LITERALÚNEGATEÚLITERALÚFAILUREÚINÚ_optimize_charsetÚ IN_LOC_IGNOREÚ IN_IGNOREÚ_compile_charsetÚANYÚSRE_FLAG_DOTALLÚANY_ALLÚSRE_FLAG_TEMPLATEÚerrorÚ_simpleÚ MAX_REPEATÚ REPEAT_ONEÚMIN_REPEAT_ONEÚ_compileÚSUCCESSÚREPEATÚ MAX_UNTILÚ MIN_UNTILÚ SUBPATTERNÚMARKrÚgetwidthÚCALLÚATÚSRE_FLAG_MULTILINEÚ AT_MULTILINEÚgetÚ AT_LOCALEÚ AT_UNICODEÚBRANCHÚJUMPÚCATEGORYÚ CH_LOCALEÚ CH_UNICODEÚGROUPREFÚGROUPREF_LOC_IGNOREÚGROUPREF_IGNOREÚGROUPREF_UNI_IGNOREÚGROUPREF_EXISTS)ÚcodeÚpatternrÚemitÚ_lenÚ LITERAL_CODESÚREPEATING_CODESÚ SUCCESS_CODESÚ ASSERT_CODESÚiscasedÚtolowerÚfixesÚopÚavÚloÚskipÚkÚcharsetÚhascasedÚgrouprrÚpÚhiÚtailÚ tailappendÚskipyesÚskipnorrr r=GsV                                                                 r=cCsâ|j}|D]Ê\}}||ƒ|tkr$q |tkr6||ƒq |tksF|tkr`||dƒ||dƒq |tkrt| |¡q |tkrˆ| |¡q |tkrÆ|t @r¦|t |ƒqÔ|t @r¼|t |ƒqÔ||ƒq t d|fƒ‚q |tƒdS)Nrrz%internal: unsupported set operator %r)rr,r-ÚRANGEÚRANGE_UNI_IGNOREÚCHARSETÚextendÚ BIGCHARSETrNrrOr rPr8r.)rfrrVrXrarbrrr r3ùs,      r3c Cs˜g}g}tdƒ}d}|D�]–\}} �z,|tkr€|rv|| ƒ} d|| <|rd| |krd|| D] } d|| <qV|s~|| ƒr~d}nd|| <nÎ|tk�r&t| d| ddƒ} |�r|rât|| ƒD]*} d|| <| |kr´|| D] } d|| <qÐq´nt|| ƒD] } d|| <qì|�s$tt|| ƒƒ}n| D]} d|| <�qn(|tk�r@| || f¡n| || f¡WnZtk �rªt |ƒdk�r€|dd7}Yq"|�r˜d}|tk�r˜t }| || f¡YnXqq"qg}d}|  d|¡}|dk�rÔ�q(t |ƒdk�rêd}�q(|  d|¡}|dk�r| |t |ƒf¡�q(| ||f¡�qº|dk �r¦|D]>\}}||dk�r\| t|f¡n| t||dff¡�q6||7}|�s–t |ƒt |ƒk�rž||fS||fSt |ƒdk�rÚt |ƒ}| t |f¡||7}||fSt|ƒ}i}tdƒ}d}tƒ}tdd dƒD]V} || | d…}||k�r4|||| d<n$||| d<||<|d7}||7}�qt |ƒ}|gt|ƒ|dd…<| t|f¡||7}||fS) NéFrTróiÿri)Ú bytearrayr-roÚrangeÚmapÚanyr,rÚ IndexErrorrrpÚfindÚ _mk_bitmaprqÚbytesÚ_bytes_to_codesrs)rfr^Úfixupr`ÚoutrkÚcharmaprgrarbrcreÚrr ÚrunsÚqriÚdataÚcompsÚmappingÚblockÚchunkrrr r0s°                   r0érs0111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111cs8| t¡ddd…‰‡‡‡fdd„ttˆƒdˆ ƒDƒS)Néÿÿÿÿcs"g|]}ˆˆ|ˆ|…dƒ‘qS)rr)rr ©Ú _CODEBITSÚ_intÚsrr Ú �sÿz_mk_bitmap..r)Ú translateÚ _BITS_TRANSrwr)Úbitsr�rŽrrŒr r|›sÿr|cCst|ƒ d¡}| ¡S)NÚI)Ú memoryviewÚcastÚtolist)ÚbÚarrr r~ sr~cCsDt|ƒdkrdS|d\}}|tkr<|ddko:t|dƒS|tkS)NrFrr‹)rrBr9Ú _UNIT_CODES)rirarbrrr r9§s   r9cCsndgt|ƒ}tdt|ƒƒD]L}||d}||||kr\|dkrNd||<q||d}q,|d||<q|S)aj Generate an overlap table for the following prefix. An overlap table is a table of the same size as the prefix which informs about the potential self-overlap for each index in the prefix: - if overlap[i] == 0, prefix[i:] can't overlap prefix[0:...] - if overlap[i] == k with 0 < k <= i, prefix[i-k+1:i+1] overlaps with prefix[0:k] rr)rrw)ÚprefixÚtabler Úidxrrr Ú_generate_overlap_table°s  ržcCs$|t@s dS|t@rtjStjSdSr)rr r!r"r%)rrrr Ú _get_iscasedÅs rŸcCsæg}|j}d}t|ƒ}|jD]´\}}|tkrF|r<||ƒr<qÜ||ƒq|tkrÌ|\}} } } t|| | ƒ} | t@rz| t@rzqÜt| | ƒ\} }}|dkr¸|dk r¤t |ƒ}n|dk r¸t |ƒ|}|  | ¡|sÐqÜqqÜq||dfS||dfS)NTF) rrŸr…r-rBrrrÚ_get_literal_prefixrrr)rWrr›Ú prefixappendÚ prefix_skipr^rarbrhrrriÚflags1Úprefix1Ú prefix_skip1Úgot_allrrr r Ís4        r c Csd|js dS|jd\}}|tk r"qP|\}}}}t|||ƒ}|t@r|t@rdSqt|ƒ}|tkrz|rp||ƒrpdS||fgS|tkrÜg}|j} |dD]B} | s¢dS| d\}}|tkrÐ|rÂ||ƒsÐ| ||fƒq”dSq”|S|t k�r`|}|�r\|D]f\}}|tk�r||ƒ�rZdSqô|t krô|ddk�r4dSt t |t |d|ddƒƒƒrôdSqô|SdS)Nrriÿÿ)r…rBrrrrŸr-rLrr/roryrxrw) rWrrarbrhrrr^rfÚ charsetappendrirrr Ú_get_charset_prefixìsN           r¨c Csr| ¡\}}|tkrt}|dkr8| tdd||g¡dSg}d}g}|t@rT|t@srt||ƒ\}}}|srt||ƒ}|j} | tƒt |ƒ} | dƒd} |r²t } |dkr¾|r¾| t B} n |r¾| t B} | | ƒ|tkrØ| |ƒn| tƒ|dt…}| t |tƒƒ|�r@| t |ƒƒ|dk�rt |ƒ}| |ƒ| |¡| t|ƒ¡n|�r^t|ƒ\}} t|||ƒt |ƒ| || <dS)Nré)rDÚMAXCODErrÚINFOrrr r¨rrÚSRE_INFO_PREFIXÚSRE_INFO_LITERALÚSRE_INFO_CHARSETÚminržr0r3) rVrWrrcrjr›r¢rfr¦rXrdÚmaskrgrrr Ú _compile_infosR           r±cCst|ttfƒSr)Ú isinstanceÚstrr})Úobjrrr ÚisstringSsrµcCs8|jj|B}g}t|||ƒt||j|ƒ| t¡|Sr)Ústaterr±r=r…rr>)rirrVrrr Ú_codeVs    r·cCsdd dd„|Dƒ¡S)Nú[%s]ú, css$|]}dtjdd|fVqdS)z%#0*xrN)r!ÚCODESIZE©rÚxrrr r fsz_hex_code..)Újoin©rVrrr Ú _hex_codeesr¿csNddl‰tƒ‰d‰tttˆƒdƒƒ‰‡‡‡‡‡‡fdd„‰ˆdtˆƒƒdS)Nrrc s®ddœ‡‡‡‡fdd„ }‡‡fdd„}ˆd7‰ˆ}||k�r¢|‰ˆ|}|d7}t|}|tttttttfkrx||ƒq2|tt t t t t ttfkr¸ˆ|}|d7}||d|t|ƒfƒq2|tkrðˆ|}|d7}tt|ƒ}|||dd…ƒq2|tk�r*ˆ|}|d7}tt|ƒ}|||d d…ƒq2|ttttfk�rrˆ|}|||||d�ˆ|d||ƒ||7}q2|ttfk�r¼ˆ||d …\}} |d 7}||d || t|ƒt| ƒfƒq2|tk�rò||tˆ||d t…ƒƒ|d t7}q2|tk�ržˆ|}|d7}t d  !‡fdd„ˆ||d t"j#…Dƒ¡ƒ} |||| ƒ|d t"j#7}ˆd7‰t$|ƒD].} |tˆ||d t…ƒƒ|d t7}�qdˆd8‰q2|t%t&t't(t)fk�rΈ|}|d7}|||ƒq2|t*k�rüˆ|}|||||d�|d7}q2|t+k�r|ˆ|}|||||d�|�rrˆ|d||ƒ||7}|‰ˆ|}|�rf|d|||d�n|tƒ�q |d7}q2|t,t-t.fk�râˆ||d…\}} } | t/k�r°d} |||| | ||d�ˆ|d||ƒ||7}q2|t0k�rˆ||d …\}}||||||d�|d 7}q2|t1t2fk�rpˆ||d …\}}||||||d�ˆ|d ||ƒ||7}q2|t3k�r˜ˆ||d…\}}} } | t/k�r d} |||t4|ƒ| | ||d�|d‰|t5@�r^ˆ|d|d…\}}|d|ƒ|d‰ˆˆˆ|…}|ddd !dd„|Dƒ¡dd !t6t|ƒ¡ƒˆ|7‰|dˆˆˆ|…ƒˆ|7‰|t7@�rŽˆd7‰|dƒˆˆ||ƒˆd8‰||7}q2t8|ƒ‚q2ˆd8‰dS)N)ÚtocsX|dk r"ˆ |¡|d|ff7}tdˆˆˆˆkr6dndfdˆdd�t|ŽdS)Nz(to %d)z%*d%s ú:Ú.z r©Úend)ÚaddÚprint)rÀÚargs)ÚlabelsÚlevelÚ offset_widthÚstartrr Úprint_ps  ÿz!dis..dis_..print_cs"tdˆdˆd�t|ŽdS)Nú rrÃ)rÆ)rÇ)rÉrÊrr Úprint_2xsz"dis..dis_..print_2rz %#02x (%r)éé rz%#02x %#02x (%r-%r)rtóc3s|]}| tjˆj¡VqdSr)Úto_bytesr!rºÚ byteorderr»)Úsysrr r ©sÿz$dis..dis_..ÚbranchÚ MAXREPEATr©éz prefix_skipz prefixr¸r¹css|]}d|VqdS)z%#02xNrr»rrr r äsz(%r)Úz overlapÚin)9ÚOPCODESr>r.r4r6r@rAr,r-r+ÚLITERAL_IGNOREÚNOT_LITERAL_IGNOREÚLITERAL_UNI_IGNOREÚNOT_LITERAL_UNI_IGNOREÚLITERAL_LOC_IGNOREÚNOT_LITERAL_LOC_IGNOREÚchrrFr³ÚATCODESrNÚCHCODESr/r2r*r1rorprqr¿r�rsÚlistr½r!rºrwrCrQrSrTrRrMrLr?r;r<rÖrUÚASSERTÚ ASSERT_NOTr«Úbinr¬rxr®Ú ValueError)rËrÄrÌrÎr raÚargrdrcrjr‡r r¯ÚmaxrÚ prefix_lenr¢r›©rVÚdis_rÈrÉrÊrÔ)rËr ríosú  ÿ ý       ÿ     ÿ               þ   zdis..dis_)rÔÚsetrr³r¾rrìr Údishsrïc Cs–t|ƒr|}t ||¡}nd}t||ƒ}|t@r>tƒt|ƒ|jj}dg|jj }|  ¡D]\}}|||<q\t   |||jj B||jj d|t|ƒ¡S)Nr)rµÚ sre_parseÚparser·ÚSRE_FLAG_DEBUGrÆrïr¶Ú groupdictÚgroupsÚitemsr!Úcompilerr)rirrWrVÚ groupindexÚ indexgrouprer rrr rö÷s(    ýrö)NNN)r)-Ú__doc__r!rðÚ sre_constantsr-r+rr?Ú MIN_REPEATr:rr>r.rrårærr4r/ršÚ _equivalencesr$rrr=r3r0rºr�rªr’Úintr|r~r9ržrŸr r¨r±rµr·r¿rïrörrrr Ú sH  $ÿÿ 3    ,;