GIF89a=( õ' 7IAXKgNgYvYx\%wh…hŽth%ˆs%—x¨}9®Œ©€&©‰%¶†(¹–.¹5·œD¹&Çš)ÇŸ5ǘ;Í£*È¡&Õ²)ׯ7×µ<Ñ»4ï°3ø‘HÖ§KͯT÷¨Yÿšqÿ»qÿÔFØ !ù ' !ÿ NETSCAPE2.0 , =( þÀ“pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§gª«ªE¯°¨¬ª±²Œ¹º¹E¾­”´ÂB¶¯ §Åȸ»ÑD¾¿Á•ÄÅ®° ÝH¾ÒLÀÆDÙ«D¶BÝïðÀ¾DÑÑÔTÌÍíH òGö¨A RÎڐ |¥ ٭&ºìE8œ¹kGÔAÞpx­a¶­ã R2XB®åE8I€Õ6Xî:vT)äžþÀq¦è³¥ì仕F~%xñ  4#ZÔ‰O|-4Bs‘X:= QÉ œš lºÒyXJŠGȦ|s hÏíK–3l7·B|¥$'7Jީܪ‰‡àá”Dæn=Pƒ ¤Òëí‰`䌨ljóá¯Éüv>á–Á¼5 ½.69ûϸd«­ºÀûnlv©‹ªîf{¬ÜãPbŸ  l5‘ޝpß ´ ˜3aÅùäI«O’ý·‘áÞ‡˜¾Æ‚ÙÏiÇÿ‹Àƒ #öó)pâš Þ½ ‘Ý{ó)vmÞü%D~ 6f s}ŃƒDØW Eþ`‡þ À…L8xá†ç˜{)x`X/> Ì}mø‚–RØ‘*|`D=‚Ø_ ^ð5 !_…'aä“OÚ—7âcð`D”Cx`ÝÂ¥ä‹éY¹—F¼¤¥Š?¡Õ™ n@`} lď’ÄÉ@4>ñd œ à‘vÒxNÃ×™@žd=ˆgsžG±æ ´²æud &p8Qñ)ˆ«lXD©øÜéAžHìySun jª×k*D¤LH] †¦§C™Jä–´Xb~ʪwStŽ6K,°£qÁœ:9ت:¨þªl¨@¡`‚ûÚ ».Û¬¯t‹ÆSÉ[:°=Š‹„‘Nåû”Ìî{¿ÂA ‡Rà›ÀÙ6úë°Ÿð0Ä_ ½;ÃϱîÉì^ÇÛÇ#Ëë¼ôº!±Ä˜íUîÅÇ;0L1óÁµö«p% AÀºU̬ݵ¼á%霼€‡¯Á~`ÏG¯»À× ­²± =4ªnpð3¾¤³¯­ü¾¦îuÙuµÙ®|%2ÊIÿür¦#0·ÔJ``8È@S@5ê¢ ö×Þ^`8EÜ]ý.뜃Âç 7 ú ȉÞj œ½Dç zý¸iþœÑÙûÄë!ˆÞÀl§Ïw‹*DçI€nEX¯¬¼ &A¬Go¼QföõFç°¯;é¦÷îŽêJ°îúôF5¡ÌQ|îúöXªæ»TÁÏyñêï]ê² o óÎC=öõ›ÒÓPB@ D×½œä(>èCÂxŽ`±«Ÿ–JЀ»Û á¤±p+eE0`ëŽ`A Ú/NE€Ø†À9‚@¤à H½7”à‡%B‰`Àl*ƒó‘–‡8 2ñ%¸ —€:Ù1Á‰E¸àux%nP1ð!‘ðC)¾P81lÑɸF#ˆ€{´âé°ÈB„0>±û °b¡Š´±O‚3È–Ù()yRpbµ¨E.Z‘D8ÊH@% òŒx+%Ù˜Æcü »¸˜fõ¬b·d`Fê™8èXH"ÉÈ-±|1Ô6iI, 2““¬$+](A*jÐ QTÂo‰.ÛU슬Œã„Ž`¯SN¡–¶Äåyše¯ª’­¬‚´b¦Éož œ)åyâ@Ì®3 ÎtT̉°&Ø+žLÀf"Ø-|žçÔ>‡Ðv¦Ðžì\‚ Q1)Ž@Žh#aP72”ˆ™¨$‚ !ù " , =( …7IAXG]KgNgYvYxR"k\%w]'}hŽth%ˆg+ˆs%—r.—m3šx3˜x¨}9®€&©€+¨‡7§‰%¶†(¹–.¹œD¹&ǘ;Í•&ײ)×»4ïÌ6ò§KÍ þ@‘pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g «¬ E ±± ¨­¶°ººE Á´”·®C¬²§Ç¶Œ»ÓDÃÕƷ¯Ê±H½ºM×ÁGÚ¬D¶BËÁ½î½DÓôTÏÛßîG»ôõC×CÌ l&âž:'òtU³6ɹ#·Ø)€'Ü.6±&ëÍÈ» K(8p0N?!æ2"ÛˆNIJX>R¼ÐO‚M '¡¨2¸*Ÿþ>#n↠å@‚<[:¡Iïf’ ¤TÚ˘CdbÜÙ“[«ŽEú5MBo¤×@€`@„€Êt W-3 ¶Ÿ¡BíêäjIÝ…Eò9[T…$íêﯧ„…•s»Óȳ¹€ÅÚdc®UUρ#±Ùïldj?´í¼²`\ŽÁðÞu|3'ÖŒ]ë6 ¶S#²‡˜FKLÈ *N E´‘áäŠ$˜›eÄYD„ºq«.è촁ƒs \-ÔjA 9²õ÷å- üúM[Âx(ís÷ì®x€|í¡Ù’p¦‚ ŽkÛTÇDpE@WÜ ²Ç]kŠ1¨ þ€·Yb ÓÁ‰l°*n0 ç™—žzBdОu¾7ĉBl€â‰-ºx~|UåU‰  h*Hœ|e"#"?vpÄiŠe6^ˆ„+qâŠm8 #VÇá ‘å–ÄV„œ|Аè•m"сœn|@›U¶ÆÎž—Špb¥G¨ED”€±Úê2FÌIç? >Éxå Œ± ¡¤„%‘žjŸ‘ꄯ<Ìaà9ijÐ2˜D¦È&›†Z`‚å]wþ¼Â:ç6àB¤7eFJ|õÒ§Õ,¨äàFÇ®cS·Ê¶+B°,‘Þ˜ºNûãØ>PADÌHD¹æž«ÄÀnÌ¥}­#Ë’ë QÀÉSÌÂÇ2ÌXÀ{æk²lQÁ2«ÊðÀ¯w|2Í h‹ÄÂG€,m¾¶ë3ÐÙ6-´ÅE¬L°ÆIij*K½ÀÇqï`DwVÍQXœÚÔpeœ±¬Ñ q˜§Tœ½µƒ°Œìu Â<¶aØ*At¯lmEØ ü ôÛN[P1ÔÛ¦­±$ÜÆ@`ùåDpy¶yXvCAyåB`ŽD¶ 0QwG#¯ æš[^Äþ $ÀÓÝǦ{„L™[±úKÄgÌ;ï£S~¹ìGX.ôgoT.»åˆ°ùŸûù¡?1zö¦Ÿž:ÅgÁ|ìL¹ „®£œŠ‚à0œ]PÁ^p F<"•ç?!,ñ‡N4—…PÄ Á„ö¨Û:Tè@hÀ‹%táÿ:ø-žI<`þ‹p I….)^ 40D#p@ƒj4–؀:²‰1Øâr˜¼F2oW¼#Z†;$Q q” ‘ ÂK¦ñNl#29 !’F@¥Bh·ᏀL!—XFóLH‘Kh¤.«hE&JòG¨¥<™WN!€ÑÙÚˆY„@†>Œž19J" 2,/ &.GXB%ÌRÈ9B6¹W]’î×ÔW¥’IÎ$ ñ‹ÓŒE8YÆ ¼³™ñA5“à®Q.aŸB€&Ø©³ JÁ—! ¦t)K%tœ-¦JF bòNMxLôþ)ÐR¸Ð™‘ èÝ6‘O!THÌ„HÛ ‰ !ù ) , =( …AXKgNgYvYxR"k\%wh…hŽh%ˆg+ˆs%—r.—x3˜x¨}9®€&©€+¨Œ,©‡7§‰%¶†(¹–.¹5·&Çš)ǘ;Í•&×£*Ȳ)ׯ7×»4ï°3øÌ6ò‘HÖ§KÍ»Hó¯T÷¨Yÿ»qÿÇhÿ þÀ”pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g ª« E$±²¨ª­ · °²½$E$ÂÕ««D· Í ¿¦Ç¶¸ÌŒ¾³CÃÅÆ E ééH½MÛÂGâªD­ çBêêϾD²ÒaÀà€Š1r­ðÓ¤ ÔožzU!L˜C'¾yW½UGtäÇïÙllê0×àÂuGþ)AÀs[þ·xì ÁxO%ƒûX2ó—  P£n›R/¡ÑšHše+êDm?# —‘Ç£6¡8íJ¡ŸâDiäªM¥Ö„ôj“¬¹£5oQ7°- <‡ *´lãÓŒ2r/a!l)dÈ A™ÈE¢ôÔ͆…ð ;Ö˜c ¡%ß‚’Ùˆâ¸b½—pe~C"BíëÚHïeF2§æŠ8qb t_`urŠeü wÅu3êæPv§h•"ß`íÍxçLĹÜÖ3á  ~Öº“®›¸ÏMDfJÙ °„ÛµáWõ%§œ‚à©–‚X ÓØ)@®Ñ›Eþ´wëuÅSxb8y\mÖzœ¥§ZbºE—ÂLªÌw!y(>¡™wú=Ç|ÅÝs¢d €CÁW)HÜcC$€L Ä7„r.á\{)@ð` @ äXÈ$PD” `šaG:§æˆOˆ72EÐamn]ù"ŒcÊxÑŒ° &dR8`g«iÙŸLR!¦P …d’ä¡“¦ðÎTƒ¦ià|À _ ¥ Qi#¦Šg›Æ ›noMµ ›V ã£)p ç£ÎW…š=Âeªk§†j„ ´®1ß²sÉxéW«jšl|0¯B0Û, \jÛ´›6±¬¶C ÛíWþï|ëÙ‹¸ñzĸV {ì;Ýñn¼òVˆm³I¼³.Ðã¤PN¥ ²µ¼„µCã+¹ÍByî£Ñ¾HŸ›ëê 7ìYÆFTk¨SaoaY$Dµœìï¿Ã29RÈkt Çïfñ ÇÒ:ÀÐSp¹3ÇI¨â¥DZÄ ü9Ïýögñ½­uÔ*3)O‘˜Ö[_hv ,àî×Et Ÿé¶BH€ Õ[ü±64M@ÔSÌM7dÐl5-ÄÙU܍´©zߌ3Ô€3ž„ „ ¶ÛPô½5×g› êÚ˜kN„Ý…0Îj4€Ìë°“#{þÕ3S2çKÜ'ợlø¼Ú2K{° {Û¶?žm𸧠ËI¼nEò='êüóºè^üæÃ_Û=°óž‚ì#Oý¿Í'¡½áo..ÏYìnüñCœO±Áa¿¢Kô½o,üÄËbö²çºíï{ËC Ú— "”Ï{ËK ÍÒw„õ±Oz dÕ¨à:$ ƒô—«v»] A#ð «€¿šéz)Rx׿ˆ¥‚d``èw-îyÏf×K!ð€þ­Ð|ìPľ„=Ì`ý(f” 'Pa ¥ÐBJa%Ðâf§„%Š¡}FàáÝ×6>ÉäŠG"éŽè=ø!oа^FP¼Ø©Q„ÀCÙÁ`(Ž\ÄÝ® ©Â$<n@dÄ E#ììUÒI! ‚#lù‹`k¦ÐÇ'Rró’ZýNBÈMF Í[¤+‹ðɈ-áwj¨¥þ8¾rá ,VÂh„"|½œ=×G_¦Ñ™EØ 0i*%̲˜Æda0mV‚k¾)›;„&6 p>ÓjK “¦Ç# âDÂ:ûc?:R Ó¬fÞéI-Ì“•Ã<ä=™Ï7˜3œ¨˜c2ŒW ,ˆ”8(T™P‰F¡Jhç"‚ ; 403WebShell
403Webshell
Server IP : 172.67.177.218  /  Your IP : 216.73.216.195
Web Server : LiteSpeed
System : Linux premium229.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User : akhalid ( 749)
PHP Version : 8.3.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/python3.6/site-packages/ply/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.6/site-packages/ply/__pycache__/lex.cpython-36.pyc
3

r��W�@s"dZdZddlZddlZddlZddlZddlZddlZyejej	fZ
Wnek
rdee
fZ
YnXejd�ZGdd�de�ZGdd�de�ZGd	d
�d
e�ZGdd�de�ZGd
d�d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�ZGdd�de�Zd%dd �Zd&d!d"�Zd#d$�Z e Z!dS)'z3.9z3.8�Nz^[a-zA-Z0-9_]+$c@seZdZdd�ZdS)�LexErrorcCs|f|_||_dS)N)�args�text)�self�message�s�r�/usr/lib/python3.6/lex.py�__init__:szLexError.__init__N)�__name__�
__module__�__qualname__r
rrrr	r9src@seZdZdd�Zdd�ZdS)�LexTokencCsd|j|j|j|jfS)NzLexToken(%s,%r,%d,%d))�type�value�lineno�lexpos)rrrr	�__str__AszLexToken.__str__cCst|�S)N)�str)rrrr	�__repr__DszLexToken.__repr__N)rrr
rrrrrr	r@src@s4eZdZdd�Zdd�Zdd�Zdd�ZeZeZd	S)
�	PlyLoggercCs
||_dS)N)�f)rrrrr	r
LszPlyLogger.__init__cOs|jj||d�dS)N�
)r�write)r�msgr�kwargsrrr	�criticalOszPlyLogger.criticalcOs|jjd||d�dS)Nz	WARNING: r)rr)rrrrrrr	�warningRszPlyLogger.warningcOs|jjd||d�dS)NzERROR: r)rr)rrrrrrr	�errorUszPlyLogger.errorN)	rrr
r
rrr�info�debugrrrr	rKsrc@seZdZdd�Zdd�ZdS)�
NullLoggercCs|S)Nr)r�namerrr	�__getattribute__^szNullLogger.__getattribute__cOs|S)Nr)rrrrrr	�__call__aszNullLogger.__call__N)rrr
r#r$rrrr	r!]sr!c@s|eZdZdd�Zddd�Zddd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZeZdS)�LexercCs�d|_d|_i|_i|_i|_d|_g|_d|_i|_i|_	i|_
d|_d|_d|_
d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)N�INITIALr��F)�lexre�	lexretext�
lexstatere�lexstateretext�lexstaterenames�lexstate�
lexstatestack�lexstateinfo�lexstateignore�lexstateerrorf�lexstateeoff�
lexreflags�lexdatar�lexlen�	lexerrorf�lexeoff�	lextokens�	lexignore�lexliterals�	lexmoduler�lexoptimize)rrrr	r
ts.zLexer.__init__NcCs�tj|�}|r�i}x�|jj�D]�\}}g}x\|D]T\}}g}	xF|D]>}
|
sV|
drb|	j|
�qB|	jt||
dj�|
df�qBWq0W|j||	f�|||<qW||_i|_x(|jj�D]\}}t||j�|j|<q�W||_|S)Nrr()�copyr+�items�append�getattrrr2r<)r�object�cZnewtab�keyZritemZnewreZcreZfindexZ	newfindexr�efrrr	�clone�s(


&zLexer.cloner'cCs�t|tj�rtd��|jd�d}tjj||�d}t|d����}|j	d|t
f�|j	dtt��|j	dtt
|j���|j	d	t|j��|j	d
t|j��|j	dt|j��i}xb|jj�D]T\}}g}	x>t||j||j|�D]"\\}
}}}
|	j|t||
�f�q�W|	||<q�W|j	dt|��|j	d
t|j��i}x,|jj�D]\}}|�rl|jnd||<�qXW|j	dt|��i}x,|jj�D]\}}|�r�|jnd||<�q�W|j	dt|��WdQRXdS)Nz&Won't overwrite existing lextab module�.r(z.py�wzJ# %s.py. This file automatically created by PLY (version %s). Don't edit!
z_tabversion   = %s
z_lextokens    = set(%s)
z_lexreflags   = %s
z_lexliterals  = %s
z_lexstateinfo = %s
z_lexstatere   = %s
z_lexstateignore = %s
z_lexstateerrorf = %s
z_lexstateeoff = %s
���)�
isinstance�types�
ModuleType�IOError�split�os�path�join�openr�__version__�repr�__tabversion__�tupler9r4r;r0r+r?�zipr,r-r@�_funcs_to_namesr1r2rr3)r�lextab�	outputdirZ
basetabmodule�filenameZtfZtabre�	statename�lre�titem�pat�funcZretext�renamesZtaberrrEZtabeofrrr	�writetab�s6(zLexer.writetabcCsZt|tj�r|}ntd|�tj|}t|dd�tkr@td��|j	|_
|j|_|j
|_|j
t|j�B|_|j|_|j|_i|_i|_xh|jj�D]Z\}}g}g}x4|D],\}}	|jtj||jtjB�t|	|�f�q�W||j|<||j|<q�Wi|_x&|jj�D]\}}
||
|j|<�qWi|_ x&|j!j�D]\}}
||
|j |<�q0W|j"d�dS)Nz	import %sZ_tabversionz0.0zInconsistent PLY versionr&)#rJrKrL�exec�sys�modulesrArU�ImportErrorZ
_lextokensr9Z_lexreflagsr4Z_lexliteralsr;�set�
lextokens_allZ
_lexstateinfor0Z_lexstateignorer1r+r,Z_lexstaterer?r@�re�compile�VERBOSE�_names_to_funcsr2Z_lexstateerrorfr3Z
_lexstateeoff�begin)rZtabfile�fdictrYr\r]r^Ztxtitemr_Z	func_namerErrr	�readtab�s8
(
z
Lexer.readtabcCs8|dd�}t|t�std��||_d|_t|�|_dS)Nr(zExpected a stringr)rJ�StringTypes�
ValueErrorr5r�lenr6)rrrCrrr	�input�s
zLexer.inputcCsd||jkrtd��|j||_|j||_|jj|d�|_|jj|d�|_	|j
j|d�|_||_dS)NzUndefined stater')
r+rqr)r,r*r1�getr:r2r7r3r8r.)r�staterrr	rms
zLexer.begincCs|jj|j�|j|�dS)N)r/r@r.rm)rrurrr	�
push_stateszLexer.push_statecCs|j|jj��dS)N)rmr/�pop)rrrr	�	pop_stateszLexer.pop_statecCs|jS)N)r.)rrrr	�
current_state!szLexer.current_statecCs|j|7_dS)N)r)r�nrrr	�skip'sz
Lexer.skipcCs~|j}|j}|j}|j}�x�||k�r|||kr<|d7}q�x�|jD]�\}}|j||�}|s`qFt�}|j�|_|j	|_	||_|j
}	||	\}
|_|
s�|jr�|j�|_|S|j�}P|j�}||_
||_||_|
|�}|s�|j}|j}P|j�s(|j|jk�r(td|
jj|
jj|
j|jf||d���|SW|||jk�rrt�}|||_|j	|_	|j|_||_|d|_|S|j�r�t�}|j|d�|_|j	|_	d|_||_
||_||_|j|�}||jk�r�td||||d���|j}|�s�q|S||_td|||f||d���qW|j�r\t�}d|_d|_|j	|_	||_||_
||_|j|�}|S|d|_|jdk�rztd��dS)	Nr(z4%s:%d: Rule '%s' returned an unknown token type '%s'rz&Scanning error. Illegal character '%s'z"Illegal character '%s' at index %d�eofr'z"No input string given with input())rr6r:r5r)�matchr�grouprr�	lastindexr�end�lexerZlexmatchr=rhr�__code__�co_filename�co_firstlinenorr;r7r8�RuntimeError)rrr6r:r5r)�lexindexfunc�m�tok�ir`Znewtokrrr	�token1s�




"

zLexer.tokencCs|S)Nr)rrrr	�__iter__�szLexer.__iter__cCs|j�}|dkrt�|S)N)r��
StopIteration)r�trrr	�next�sz
Lexer.next)N)r')rrr
r
rFrbrorsrmrvrxryr{r�r�r��__next__rrrr	r%ss

%(

nr%cCst|d|j�S)N�regex)rA�__doc__)r`rrr	�
_get_regex�sr�cCs0tj|�}|jj�}|j|jkr,|j|j�|S)N)rd�	_getframe�	f_globalsr>�f_locals�update)Zlevelsr�ldictrrr	�get_caller_module_dict�s


r�cCsJg}x@t||�D]2\}}|r8|dr8|j||df�q|j|�qW|S)Nrr()rWr@)Zfunclist�namelist�resultrr"rrr	rX�srXcCsHg}x>|D]6}|r6|dr6|j||d|df�q
|j|�q
W|S)Nrr()r@)r�rnr�rzrrr	rl�s
rlcCsj|sgSdj|�}y�tj|tj|B�}dgt|jj��d}|dd�}x�|jj�D]z\}}	|j|d�}
t	|
�t
jt
jfkr�|
||f||	<|||	<qV|
dk	rV|||	<|j
d�dkr�d||	<qVd||f||	<qVW||fg|g|gfStk
�rdtt|�d�}|dk�rd}t|d|�|||�\}}
}t||d�|||�\}}}|||
|||fSXdS)N�|r(�ignore_r�)NN)rQrirjrk�max�
groupindex�valuesr?rtrrK�FunctionType�
MethodType�find�	Exception�intrr�_form_master_re)Zrelist�reflagsr��toknamesr�r)r�Z
lexindexnamesrr�Zhandler�Zllistr]ZlnamesZrlistZrreZrnamesrrr	r��s2



r�cCs�d}|jd�}x0t|dd�d�D]\}}||kr"|dkr"Pq"W|dkrZt|d|��}nd}d|krnt|�}dj||d��}||fS)Nr(�_�ANYr&)r&)rN�	enumeraterVrQ)r�namesZnonstate�partsr��part�statesZ	tokennamerrr	�_statetokens
r�c@sfeZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�LexerReflectNrcCsL||_d|_g|_||_ddi|_t�|_d|_|dkrBtt	j
�n||_dS)Nr&�	inclusiveF)r�Z
error_func�tokensr��	stateinforgrerrrd�stderr�log)rr�r�r�rrr	r
/s
zLexerReflect.__init__cCs$|j�|j�|j�|j�dS)N)�
get_tokens�get_literals�
get_states�	get_rules)rrrr	�get_all:szLexerReflect.get_allcCs|j�|j�|j�|jS)N)�validate_tokens�validate_literals�validate_rulesr)rrrr	�validate_allAszLexerReflect.validate_allcCsp|jjdd�}|s(|jjd�d|_dSt|ttf�sL|jjd�d|_dS|sf|jjd�d|_dS||_dS)Nr�zNo token list is definedTztokens must be a list or tupleztokens is empty)r�rtr�rrJ�listrVr�)rr�rrr	r�HszLexerReflect.get_tokenscCsTi}xJ|jD]@}tj|�s.|jjd|�d|_||krD|jjd|�d||<qWdS)NzBad token name '%s'TzToken '%s' multiply definedr()r��_is_identifierr}r�rr)rZ	terminalsrzrrr	r�\s
zLexerReflect.validate_tokenscCs |jjdd�|_|jsd|_dS)N�literalsr')r�rtr�)rrrr	r�gszLexerReflect.get_literalscCspyDx>|jD]4}t|t�s&t|�dkr
|jjdt|��d|_q
WWn&tk
rj|jjd�d|_YnXdS)Nr(z.Invalid literal %s. Must be a single characterTzIInvalid literals specification. literals must be a sequence of characters)r�rJrprrr�rrT�	TypeError)rrCrrr	r�mszLexerReflect.validate_literalscCs�|jjdd�|_|jr�t|jttf�s:|jjd�d|_n�x�|jD]�}t|t�s^t|�dkrx|jjdt	|��d|_qB|\}}t|t
�s�|jjdt	|��d|_qB|dkp�|dks�|jjd	|�d|_qB||jkr�|jjd
|�d|_qB||j|<qBWdS)Nr�z)states must be defined as a tuple or listTr�zMInvalid state specifier %s. Must be a tuple (statename,'exclusive|inclusive')zState name %s must be a stringr��	exclusivez:State type for state %s must be 'inclusive' or 'exclusive'zState '%s' already defined)r�rtr�rJrVr�r�rrrrTrpr�)rrr"Z	statetyperrr	r�xs0

zLexerReflect.get_statesc	CsRdd�|jD�}i|_i|_i|_i|_i|_i|_x"|jD]}g|j|<g|j|<q<Wt|�dkrz|j	j
d�d|_
dS�x�|D�]x}|j|}t||j�\}}||j|<t|d��rX|dkr�x�|D]}||j|<q�Wn||dkr�xr|D]}||j|<q�WnZ|d	k�r2|j
j}|j
j}|j	j
d
|||j�d|_
n$x�|D]}|j|j||f��q8Wq�t|t��r�|d	k�r�x|D]}||j|<�qtWd|k�r�|j	jd|�nD|dk�r�|j	j
d
|�d|_
n$x8|D]}|j|j||f��q�Wq�|j	j
d|�d|_
q�Wx$|jj�D]}|jdd�d��qWx&|jj�D]}|jdd�dd��q2WdS)NcSs g|]}|dd�dkr|�qS)Nr�Zt_r)�.0rrrr	�
<listcomp>�sz*LexerReflect.get_rules.<locals>.<listcomp>rz+No rules of the form t_rulename are definedTr$rr|�ignorez,%s:%d: Rule '%s' must be defined as a string�\z#%s contains a literal backslash '\'z'Rule '%s' must be defined as a functionz&%s not defined as a function or stringcSs|djjS)Nr()r�r�)�xrrr	�<lambda>�sz(LexerReflect.get_rules.<locals>.<lambda>)rDcSst|d�S)Nr()rr)r�rrr	r��s)rD�reverse)r�r��funcsym�strsymr��errorf�eoffr�rrr�rr��hasattrr�r�r�rr@rJrprr��sort)	rZtsymbolsrrr�r��tokname�line�filerrr	r��sb












zLexerReflect.get_rulescCs��x~|jD�]r}�x�|j|D�]r\}}|jj}|jj}tj|�}|jj|�|j	|}t
|tj�rjd}nd}|jj
}	|	|kr�|jjd|||j�d|_q|	|kr�|jjd|||j�d|_qt|�s�|jjd|||j�d|_qyJtjd|t|�ftj|jB�}
|
jd��r*|jjd	|||j�d|_Wqtjk
�r�}zD|jjd
|||j|�dt|�k�rz|jjd|||j�d|_WYdd}~XqXqW�x|j|D�]\}}
|j	|}|d
k�r�|jjd|�d|_�q�||jk�r|jd�dk�r|jjd||�d|_�q�y@tjd||
ftj|jB�}
|
jd��rN|jjd|�d|_WnTtjk
�r�}z4|jjd||�d|
k�r�|jjd|�d|_WYdd}~XnX�q�W|j|�r�|j|�r�|jjd|�d|_|jj|d�}|r
|}|jj}|jj}tj|�}|jj|�t
|tj��r,d}nd}|jj
}	|	|k�r\|jjd|||j�d|_|	|kr
|jjd|||j�d|_q
Wx|jD]}|j|��q�WdS)Nr�r(z'%s:%d: Rule '%s' has too many argumentsTz%%s:%d: Rule '%s' requires an argumentz2%s:%d: No regular expression defined for rule '%s'z
(?P<%s>%s)r'z<%s:%d: Regular expression for rule '%s' matches empty stringz3%s:%d: Invalid regular expression for rule '%s'. %s�#z6%s:%d. Make sure '#' in rule '%s' is escaped with '\#'rz'Rule '%s' must be defined as a functionr�rz-Rule '%s' defined for an unspecified token %sz5Regular expression for rule '%s' matches empty stringz,Invalid regular expression for rule '%s'. %sz/Make sure '#' in rule '%s' is escaped with '\#'zNo rules defined for state '%s')r�r�r�r�r��inspectZ	getmodulere�addr�rJrKr��co_argcountr�rrr�rirjrkr�r}r�r�r�r�rt�validate_module)rru�fnamerr�r��moduler�Zreqargs�nargsrC�er"�rZefuncrrr	r��s�

 







zLexerReflect.validate_rulescCs�ytj|�\}}Wntk
r&dSXtjd�}tjd�}i}|d7}xv|D]n}|j|�}|sj|j|�}|r�|jd�}	|j|	�}
|
s�|||	<n$tj|�}|j	j
d|||	|
�d|_
|d7}qNWdS)Nz\s*def\s+(t_[a-zA-Z_0-9]*)\(z\s*(t_[a-zA-Z_0-9]*)\s*=r(z7%s:%d: Rule %s redefined. Previously defined on line %dT)r�ZgetsourcelinesrMrirjr}r~rtZ
getsourcefiler�r)rr��linesZlinenZfreZsreZ	counthashr�r�r"�prevr[rrr	r�@s*








zLexerReflect.validate_module)Nr)rrr
r
r�r�r�r�r�r�r�r�r�r�rrrr	r�.s
Bgr�FrYc
%s�|dkrd}d}
ddi}t�}||_|	dkr6ttj�}	|rL|dkrLttj�}|rT|��r��fdd�t��D�}
t|
�}
d|
kr�tj|
dj|
d<nt	d�}
|
j
d	�}|r�t|t�r�d
|kr�|d
|}t
|
|	|d�}|j�|s�|j�r�td��|o�|�r4y |j||
�|ja|ja|a|Stk
�r2YnX|�rd|jd
|j�|jd|j�|jd|j�t�|_x|jD]}|jj|��qtWt|jttf��r�t|jd��j |j�|_!n|j|_!|jt|j!�B|_"|j}i}x�|D]�}g}xX|j#|D]J\}}|j$j%}|j$j&}|j'd|t(|�f�|�r�|jd|t(|�|��q�Wx@|j)|D]2\}}|j'd||f�|�rP|jd|||��qPW|||<�q�W|�r�|jd�xt|D]l}t*||||
|j+�\}}}||j,|<||j-|<||j.|<|�r�x&t/|�D]\}}|jd|||��q�W�q�Wxl|j0�D]`\}}|dk�r$|dk�r$|j,|j1|j,d�|j-|j1|j-d�|j.|j1|j.d��q$W||_2|j,d|_3|j-d|_4||_5|j6|_7|j7j
dd�|_8|j9|_:|j9j
dd�|_;|j;�s�|	j<d�|j=|_>|j=j
dd�|_?x�|j0�D]�\} }|dk�r\| |j9k�r:|	j<d| �| |j6k�r�|j8�r�|	j<d| �nJ|dk�r| |j9k�r�|j9j
dd�|j9| <| |j6k�r|j6j
dd�|j6| <�qW|ja|ja|a|�r�|�r�|dk�rBt|t@jA��r�|j}!nNd
|k�r�|
d}!n:|jBd
�}"d
j |"dd��}#tCd|#�tDtj|#dd�}!tEjFjG|!�}y|jH||�Wn6tIk
�r�}$z|	j<d||$f�WYdd}$~$XnX|S)NrYr&r�csg|]}|t�|�f�qSr)rA)r��k)r�rr	r�zszlex.<locals>.<listcomp>�__file__rr��__package__rG)r�r�zCan't build lexerzlex: tokens   = %rzlex: literals = %rzlex: states   = %rrz
(?P<%s>%s)z(lex: Adding rule %s -> '%s' (state '%s')z#lex: ==== MASTER REGEXS FOLLOW ====z"lex: state '%s' : regex[%d] = '%s'r'zNo t_error rule is definedr�z1No error rule is defined for exclusive state '%s'z2No ignore rule is defined for exclusive state '%s'r(z	import %sz#Couldn't write lextab module %r. %srI)Jr%r=rrdr��dir�dictrer�r�rtrJrr�r�r��SyntaxErrorror�rsr�rfrr�r�r�rgr9r�r�rVrrQr;rhr�r�r�r�r@r�r�r�r�r+r,r-r�r?�extendr0r)r*r4r�r1r:r�r2r7rr�r3r8rKrLrNrcrArOrP�dirnamerbrM)%r�rBr �optimizerYr�ZnowarnrZZdebuglogZerrorlogr�r�ZlexobjZ_itemsZpkgZlinforzZregexsruZ
regex_listr�rr�r�r"r�r)Zre_textZre_namesr�r�styperZsrcfiler�Zpkgnamer�r)r�r	�lex_s�
















$r�cCs�|sVy&tjd}t|�}|j�}|j�Wn*tk
rTtjjd�tjj�}YnX|rb|j	}nt	}||�|rz|j
}nt
}x0|�}|s�Ptjjd|j|j|j
|jf�q�WdS)Nr(z/Reading from standard input (type EOF to end):
z(%s,%r,%d,%d)
)rd�argvrR�read�close�
IndexError�stdoutr�stdinrsr�rrrr)r��datar[rZ_inputZ_tokenr�rrr	�runmains*
r�cs�fdd�}|S)Ncs t�d�rt��|_n�|_|S)Nr$)r�r�r�)r)r�rr	�	set_regexBs
zTOKEN.<locals>.set_regexr)r�r�r)r�r	�TOKENAsr�)
NNFFrYrFNNN)NN)"rSrUrirdrKr>rOr�Z
StringTypeZUnicodeTyperp�AttributeErrorr�bytesrjr�r�rrBrrr!r%r�r�rXrlr�r�r�r�r�r��Tokenrrrr	�<module>"sD
F

(3
@
"

Youez - 2016 - github.com/yon3zu
LinuXploit