Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php eval(base64_decode('CiBuYW1lc3BhY2UgQXBwXEh0dHBcQ29udHJvbGxlcnNcQWNjb3VudHM7IHVzZSBB..

Decoded Output download


 namespace App\Http\Controllers\Accounts; use App\Http\Controllers\BaseController; use App\Http\Controllers\Controller; use App\Models\Accounts\FinancialYear; use Carbon\Carbon; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Validator; use Illuminate\Validation\ValidationException; class FinancialYearController extends BaseController { public function index() { return view("accounts.finance.list_fys"); } public function fyListApi() { $financial_years = FinancialYear::where("club_id", auth()->user()->club_id)->select("id", "title", "start_date", "end_date", "temp_lock", "p_lock", "created_by")->orderBy("id", "desc")->get(); foreach ($financial_years as $fy) { if (!$fy->p_lock) { $fy->edit_url = route("accounts.editFY", array("fyid" => $fy->id)); } else { $fy->edit_url = null; } } return response($financial_years); } public function create(Request $request) { $current_year = date("Y"); $start_date = Carbon::parse($current_year . "-07-01"); $end_date = Carbon::createFromFormat("m-d", "06-30"); $end_date->modify("next year"); $doc_date = today(); return view("accounts.finance.create_fy", array("start_date" => $start_date, "end_date" => $end_date, "doc_date" => $doc_date)); } public function store(Request $request) { $data = $request->validate(array("title" => "required|max:100|unique:financial_years,title", "start_date" => "required|date", "end_date" => "required|date", "temp_lock" => "required|date")); $start_date = $request->start_date; $end_date = $request->end_date; $temp_lock = $request->temp_lock; try { $start_date_arr = explode("-", $start_date); $start_date_month = $start_date_arr[1]; $start_date_day = $start_date_arr[2]; if ($start_date_month != "07") { throw new \Exception("Start month can only be July"); } if ($start_date_day != "01") { throw new \Exception("Start date can only be 1st of July"); } } catch (\Exception $e) { $this->logError($e, $request->user()->id, __METHOD__, __LINE__); $validator = Validator::make(array(), array()); $validator->errors()->add("start_date", $e->getMessage()); throw new ValidationException($validator); } $expected_end_date = Carbon::parse($start_date)->addYear()->subDay(); try { $end_date_arr = explode("-", $end_date); $end_date_month = $end_date_arr[1]; $end_date_day = $end_date_arr[2]; if ($expected_end_date->toDateString() != $end_date) { throw new \Exception("End date should be " . $expected_end_date->format("d-M-Y")); } if ($end_date_month != "06") { throw new \Exception("End month can only be June"); } if ($end_date_day != "30") { throw new \Exception("End date can only be 30th of Jun"); } if ($end_date < $start_date) { throw new \Exception("End date is less than date"); } } catch (\Exception $e) { $this->logError($e, $request->user()->id, __METHOD__, __LINE__); $validator = Validator::make(array(), array()); $validator->errors()->add("end_date", $e->getMessage()); throw new ValidationException($validator); } try { if ($temp_lock < $end_date) { throw new \Exception("Temporary lock date should be greater than or equal to end date"); } if ($end_date_day != "30") { throw new \Exception("End date can only be 30th of Jun"); } } catch (\Exception $e) { $this->logError($e, $request->user()->id, __METHOD__, __LINE__); $validator = Validator::make(array(), array()); $validator->errors()->add("temp_lock", $e->getMessage()); throw new ValidationException($validator); } $user = auth()->user(); $fy_exists = FinancialYear::where("club_id", $user->club_id)->where("start_date", $start_date)->where("end_date", $end_date)->first(); if ($fy_exists) { $sweetAlert["type"] = "info"; $sweetAlert["expression"] = "FY Exists!!!"; $sweetAlert["message"] = "Financial year already exists with the given dates<br />Titled " . $fy_exists->title; return redirect()->back()->withInput()->with("sweetAlert", $sweetAlert); } DB::beginTransaction(); try { $next_fy_id = FinancialYear::max("id") + 1; $data["id"] = $next_fy_id; $title = strtoupper($request->title); $data["title"] = $title; $data["doc_date"] = today()->toDateString(); $data["created_by"] = $user->id; $data["club_id"] = $user->club_id; FinancialYear::create($data); DB::commit(); $sweetAlert["type"] = "success"; $sweetAlert["expression"] = "FY Created"; $sweetAlert["message"] = "<strong>{$title}</strong> Financial Year Created Successfully"; return redirect(route("accounts.listFY"))->with("sweetAlert", $sweetAlert); } catch (\Exception $e) { DB::rollBack(); logger($e); $sweetAlert["type"] = "error"; $sweetAlert["expression"] = "ERROR!!!"; $sweetAlert["message"] = $e->getMessage(); return redirect()->back()->withInput()->with("sweetAlert", $sweetAlert); } } public function edit(Request $request, $fyid) { $user = auth()->user(); $financial_year = FinancialYear::where("club_id", $user->club_id)->where("id", $fyid)->with("creator:id,name,username")->first(); if (!$financial_year) { $sweetAlert["type"] = "info"; $sweetAlert["expression"] = "Not Found!!!"; $sweetAlert["message"] = "Financial year record mot found"; return redirect(route("accounts.listFY"))->with("sweetAlert", $sweetAlert); } return view("accounts.finance.edit_fy", array("fy" => $financial_year)); } public function update(Request $request, $fyid) { $user = auth()->user(); $financial_year = FinancialYear::where("club_id", $user->club_id)->where("id", $fyid)->first(); if (!$financial_year) { $sweetAlert["type"] = "info"; $sweetAlert["expression"] = "Not Found!!!"; $sweetAlert["message"] = "Financial year record mot found"; return redirect(route("accounts.listFY"))->with("sweetAlert", $sweetAlert); } else { if ($financial_year->p_lock) { $sweetAlert["type"] = "info"; $sweetAlert["expression"] = "Locked!!!"; $sweetAlert["message"] = "Financial year is Permanently locked<br/>It cannot be modified<br />Please contact IT Support for Help"; return redirect(route("accounts.listFY"))->with("sweetAlert", $sweetAlert); } } $data = $request->validate(array("title" => array("required", "max:100", \Illuminate\Validation\Rule::unique("financial_years", "title")->ignore($fyid)), "start_date" => "required|date", "end_date" => "required|date", "temp_lock" => "required|date")); $start_date = $request->start_date; $end_date = $request->end_date; $temp_lock = $request->temp_lock; try { $start_date_arr = explode("-", $start_date); $start_date_month = $start_date_arr[1]; $start_date_day = $start_date_arr[2]; if ($start_date_month != "07") { throw new \Exception("Start month can only be July"); } if ($start_date_day != "01") { throw new \Exception("Start date can only be 1st of July"); } } catch (\Exception $e) { $this->logError($e, $request->user()->id, __METHOD__, __LINE__); $validator = Validator::make(array(), array()); $validator->errors()->add("start_date", $e->getMessage()); throw new ValidationException($validator); } try { $end_date_arr = explode("-", $end_date); $end_date_month = $end_date_arr[1]; $end_date_day = $end_date_arr[2]; $expected_end_date = Carbon::parse($start_date)->addYear()->subDay(); if ($expected_end_date->toDateString() != $end_date) { throw new \Exception("End date should be " . $expected_end_date->format("d-M-Y")); } if ($end_date_month != "06") { throw new \Exception("End month can only be June"); } if ($end_date_day != "30") { throw new \Exception("End date can only be 30th of Jun"); } if ($end_date < $start_date) { throw new \Exception("End date is less than date"); } } catch (\Exception $e) { $this->logError($e, $request->user()->id, __METHOD__, __LINE__); $validator = Validator::make(array(), array()); $validator->errors()->add("end_date", $e->getMessage()); throw new ValidationException($validator); } try { if ($temp_lock < $end_date) { throw new \Exception("Temporary lock date should be greater than or equal to end date"); } } catch (\Exception $e) { $this->logError($e, $request->user()->id, __METHOD__, __LINE__); $validator = Validator::make(array(), array()); $validator->errors()->add("temp_lock", $e->getMessage()); throw new ValidationException($validator); } DB::beginTransaction(); try { $next_fy_id = FinancialYear::max("id") + 1; $data["id"] = $next_fy_id; $title = strtoupper($request->title); $data["title"] = $title; $data["doc_date"] = today()->toDateString(); $data["created_by"] = $user->id; $data["club_id"] = $user->club_id; $financial_year->update(array("title" => strtoupper($data["title"]), "start_date" => $data["start_date"], "end_date" => $data["end_date"], "temp_lock" => $data["temp_lock"], "p_lock" => isset($request->p_lock) ? now() : null, "updated_by" => $user->id)); DB::commit(); $sweetAlert["type"] = "success"; $sweetAlert["expression"] = "Updated"; $sweetAlert["message"] = "Record <strong>{$title}</strong> Updated Successfully"; return redirect(route("accounts.listFY"))->with("sweetAlert", $sweetAlert); } catch (\Exception $e) { DB::rollBack(); logger($e); $sweetAlert["type"] = "error"; $sweetAlert["expression"] = "ERROR!!!"; $sweetAlert["message"] = $e->getMessage(); return redirect()->back()->withInput()->with("sweetAlert", $sweetAlert); } } } 

Did this file decode correctly?

Original Code

<?php eval(base64_decode('CiBuYW1lc3BhY2UgQXBwXEh0dHBcQ29udHJvbGxlcnNcQWNjb3VudHM7IHVzZSBBcHBcSHR0cFxDb250cm9sbGVyc1xCYXNlQ29udHJvbGxlcjsgdXNlIEFwcFxIdHRwXENvbnRyb2xsZXJzXENvbnRyb2xsZXI7IHVzZSBBcHBcTW9kZWxzXEFjY291bnRzXEZpbmFuY2lhbFllYXI7IHVzZSBDYXJib25cQ2FyYm9uOyB1c2UgSWxsdW1pbmF0ZVxIdHRwXFJlcXVlc3Q7IHVzZSBJbGx1bWluYXRlXFN1cHBvcnRcRmFjYWRlc1xEQjsgdXNlIElsbHVtaW5hdGVcU3VwcG9ydFxGYWNhZGVzXFZhbGlkYXRvcjsgdXNlIElsbHVtaW5hdGVcVmFsaWRhdGlvblxWYWxpZGF0aW9uRXhjZXB0aW9uOyBjbGFzcyBGaW5hbmNpYWxZZWFyQ29udHJvbGxlciBleHRlbmRzIEJhc2VDb250cm9sbGVyIHsgcHVibGljIGZ1bmN0aW9uIGluZGV4KCkgeyByZXR1cm4gdmlldygiXHg2MVx4NjNceDYzXHg2Zlx4NzVcMTU2XHg3NFx4NzNcNTZceDY2XDE1MVwxNTZcMTQxXHg2ZVwxNDNcMTQ1XHgyZVwxNTRceDY5XDE2M1x4NzRcMTM3XHg2Nlx4NzlcMTYzIik7IH0gcHVibGljIGZ1bmN0aW9uIGZ5TGlzdEFwaSgpIHsgJGZpbmFuY2lhbF95ZWFycyA9IEZpbmFuY2lhbFllYXI6OndoZXJlKCJcMTQzXDE1NFx4NzVcMTQyXDEzN1x4NjlcMTQ0IiwgYXV0aCgpLT51c2VyKCktPmNsdWJfaWQpLT5zZWxlY3QoIlx4NjlcMTQ0IiwgIlwxNjRcMTUxXDE2NFx4NmNcMTQ1IiwgIlwxNjNceDc0XDE0MVx4NzJcMTY0XHg1ZlwxNDRceDYxXDE2NFx4NjUiLCAiXDE0NVx4NmVcMTQ0XHg1Zlx4NjRcMTQxXDE2NFx4NjUiLCAiXDE2NFx4NjVcMTU1XHg3MFwxMzdcMTU0XHg2Zlx4NjNcMTUzIiwgIlx4NzBcMTM3XDE1NFx4NmZcMTQzXDE1MyIsICJceDYzXHg3Mlx4NjVcMTQxXDE2NFx4NjVcMTQ0XDEzN1x4NjJcMTcxIiktPm9yZGVyQnkoIlwxNTFcMTQ0IiwgIlx4NjRcMTQ1XHg3M1wxNDMiKS0+Z2V0KCk7IGZvcmVhY2ggKCRmaW5hbmNpYWxfeWVhcnMgYXMgJGZ5KSB7IGlmICghJGZ5LT5wX2xvY2spIHsgJGZ5LT5lZGl0X3VybCA9IHJvdXRlKCJceDYxXDE0M1wxNDNcMTU3XHg3NVwxNTZceDc0XDE2M1w1Nlx4NjVceDY0XDE1MVwxNjRceDQ2XDEzMSIsIGFycmF5KCJcMTQ2XHg3OVx4NjlceDY0IiA9PiAkZnktPmlkKSk7IH0gZWxzZSB7ICRmeS0+ZWRpdF91cmwgPSBudWxsOyB9IH0gcmV0dXJuIHJlc3BvbnNlKCRmaW5hbmNpYWxfeWVhcnMpOyB9IHB1YmxpYyBmdW5jdGlvbiBjcmVhdGUoUmVxdWVzdCAkcmVxdWVzdCkgeyAkY3VycmVudF95ZWFyID0gZGF0ZSgiXDEzMSIpOyAkc3RhcnRfZGF0ZSA9IENhcmJvbjo6cGFyc2UoJGN1cnJlbnRfeWVhciAuICJcNTVcNjBcNjdceDJkXDYwXHgzMSIpOyAkZW5kX2RhdGUgPSBDYXJib246OmNyZWF0ZUZyb21Gb3JtYXQoIlx4NmRcNTVcMTQ0IiwgIlx4MzBceDM2XHgyZFw2M1x4MzAiKTsgJGVuZF9kYXRlLT5tb2RpZnkoIlwxNTZceDY1XHg3OFwxNjRceDIwXDE3MVx4NjVcMTQxXHg3MiIpOyAkZG9jX2RhdGUgPSB0b2RheSgpOyByZXR1cm4gdmlldygiXHg2MVx4NjNceDYzXDE1N1x4NzVcMTU2XDE2NFx4NzNcNTZcMTQ2XHg2OVx4NmVcMTQxXDE1NlwxNDNcMTQ1XDU2XDE0M1x4NzJceDY1XDE0MVwxNjRcMTQ1XDEzN1x4NjZcMTcxIiwgYXJyYXkoIlx4NzNceDc0XHg2MVwxNjJcMTY0XDEzN1x4NjRcMTQxXHg3NFwxNDUiID0+ICRzdGFydF9kYXRlLCAiXDE0NVwxNTZceDY0XHg1Zlx4NjRceDYxXHg3NFx4NjUiID0+ICRlbmRfZGF0ZSwgIlx4NjRceDZmXHg2M1wxMzdceDY0XHg2MVwxNjRcMTQ1IiA9PiAkZG9jX2RhdGUpKTsgfSBwdWJsaWMgZnVuY3Rpb24gc3RvcmUoUmVxdWVzdCAkcmVxdWVzdCkgeyAkZGF0YSA9ICRyZXF1ZXN0LT52YWxpZGF0ZShhcnJheSgiXHg3NFx4NjlceDc0XHg2Y1wxNDUiID0+ICJceDcyXDE0NVx4NzFceDc1XDE1MVx4NzJcMTQ1XDE0NFx4N2NcMTU1XDE0MVwxNzBcNzJcNjFceDMwXDYwXHg3Y1wxNjVceDZlXHg2OVx4NzFceDc1XDE0NVx4M2FcMTQ2XHg2OVx4NmVceDYxXHg2ZVwxNDNcMTUxXDE0MVwxNTRcMTM3XDE3MVx4NjVceDYxXHg3Mlx4NzNcNTRcMTY0XDE1MVx4NzRceDZjXHg2NSIsICJcMTYzXDE2NFx4NjFcMTYyXDE2NFwxMzdceDY0XHg2MVx4NzRcMTQ1IiA9PiAiXHg3MlwxNDVcMTYxXDE2NVwxNTFcMTYyXDE0NVx4NjRceDdjXDE0NFx4NjFcMTY0XDE0NSIsICJceDY1XDE1Nlx4NjRceDVmXDE0NFx4NjFceDc0XHg2NSIgPT4gIlwxNjJcMTQ1XDE2MVx4NzVcMTUxXDE2MlwxNDVcMTQ0XDE3NFwxNDRcMTQxXDE2NFwxNDUiLCAiXDE2NFwxNDVceDZkXDE2MFx4NWZceDZjXHg2ZlwxNDNceDZiIiA9PiAiXDE2Mlx4NjVceDcxXHg3NVx4NjlceDcyXHg2NVx4NjRcMTc0XDE0NFx4NjFceDc0XDE0NSIpKTsgJHN0YXJ0X2RhdGUgPSAkcmVxdWVzdC0+c3RhcnRfZGF0ZTsgJGVuZF9kYXRlID0gJHJlcXVlc3QtPmVuZF9kYXRlOyAkdGVtcF9sb2NrID0gJHJlcXVlc3QtPnRlbXBfbG9jazsgdHJ5IHsgJHN0YXJ0X2RhdGVfYXJyID0gZXhwbG9kZSgiXHgyZCIsICRzdGFydF9kYXRlKTsgJHN0YXJ0X2RhdGVfbW9udGggPSAkc3RhcnRfZGF0ZV9hcnJbMV07ICRzdGFydF9kYXRlX2RheSA9ICRzdGFydF9kYXRlX2FyclsyXTsgaWYgKCRzdGFydF9kYXRlX21vbnRoICE9ICJcNjBceDM3IikgeyB0aHJvdyBuZXcgXEV4Y2VwdGlvbigiXDEyM1wxNjRceDYxXDE2MlwxNjRcNDBcMTU1XDE1N1wxNTZcMTY0XDE1MFw0MFwxNDNcMTQxXDE1Nlw0MFwxNTdcMTU2XDE1NFwxNzFcNDBceDYyXHg2NVx4MjBceDRhXDE2NVx4NmNceDc5Iik7IH0gaWYgKCRzdGFydF9kYXRlX2RheSAhPSAiXHgzMFw2MSIpIHsgdGhyb3cgbmV3IFxFeGNlcHRpb24oIlwxMjNceDc0XDE0MVx4NzJcMTY0XDQwXDE0NFwxNDFcMTY0XDE0NVw0MFx4NjNceDYxXDE1Nlx4MjBceDZmXHg2ZVx4NmNceDc5XHgyMFwxNDJcMTQ1XHgyMFw2MVwxNjNcMTY0XHgyMFwxNTdceDY2XHgyMFwxMTJceDc1XHg2Y1wxNzEiKTsgfSB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7ICR0aGlzLT5sb2dFcnJvcigkZSwgJHJlcXVlc3QtPnVzZXIoKS0+aWQsIF9fTUVUSE9EX18sIF9fTElORV9fKTsgJHZhbGlkYXRvciA9IFZhbGlkYXRvcjo6bWFrZShhcnJheSgpLCBhcnJheSgpKTsgJHZhbGlkYXRvci0+ZXJyb3JzKCktPmFkZCgiXHg3M1x4NzRceDYxXDE2MlwxNjRcMTM3XDE0NFx4NjFcMTY0XDE0NSIsICRlLT5nZXRNZXNzYWdlKCkpOyB0aHJvdyBuZXcgVmFsaWRhdGlvbkV4Y2VwdGlvbigkdmFsaWRhdG9yKTsgfSAkZXhwZWN0ZWRfZW5kX2RhdGUgPSBDYXJib246OnBhcnNlKCRzdGFydF9kYXRlKS0+YWRkWWVhcigpLT5zdWJEYXkoKTsgdHJ5IHsgJGVuZF9kYXRlX2FyciA9IGV4cGxvZGUoIlw1NSIsICRlbmRfZGF0ZSk7ICRlbmRfZGF0ZV9tb250aCA9ICRlbmRfZGF0ZV9hcnJbMV07ICRlbmRfZGF0ZV9kYXkgPSAkZW5kX2RhdGVfYXJyWzJdOyBpZiAoJGV4cGVjdGVkX2VuZF9kYXRlLT50b0RhdGVTdHJpbmcoKSAhPSAkZW5kX2RhdGUpIHsgdGhyb3cgbmV3IFxFeGNlcHRpb24oIlwxMDVceDZlXDE0NFx4MjBceDY0XHg2MVwxNjRcMTQ1XHgyMFwxNjNcMTUwXDE1N1x4NzVcMTU0XHg2NFx4MjBceDYyXHg2NVx4MjAiIC4gJGV4cGVjdGVkX2VuZF9kYXRlLT5mb3JtYXQoIlx4NjRceDJkXHg0ZFx4MmRceDU5IikpOyB9IGlmICgkZW5kX2RhdGVfbW9udGggIT0gIlw2MFx4MzYiKSB7IHRocm93IG5ldyBcRXhjZXB0aW9uKCJceDQ1XDE1NlwxNDRceDIwXHg2ZFwxNTdcMTU2XDE2NFwxNTBcNDBcMTQzXHg2MVwxNTZceDIwXDE1N1x4NmVcMTU0XDE3MVx4MjBceDYyXHg2NVw0MFwxMTJcMTY1XHg2ZVwxNDUiKTsgfSBpZiAoJGVuZF9kYXRlX2RheSAhPSAiXDYzXHgzMCIpIHsgdGhyb3cgbmV3IFxFeGNlcHRpb24oIlx4NDVceDZlXHg2NFx4MjBceDY0XHg2MVx4NzRceDY1XHgyMFwxNDNcMTQxXHg2ZVw0MFwxNTdcMTU2XDE1NFwxNzFceDIwXHg2Mlx4NjVceDIwXDYzXHgzMFwxNjRceDY4XDQwXHg2ZlwxNDZceDIwXHg0YVwxNjVcMTU2Iik7IH0gaWYgKCRlbmRfZGF0ZSA8ICRzdGFydF9kYXRlKSB7IHRocm93IG5ldyBcRXhjZXB0aW9uKCJcMTA1XHg2ZVwxNDRcNDBceDY0XHg2MVwxNjRcMTQ1XDQwXHg2OVwxNjNcNDBcMTU0XHg2NVwxNjNceDczXHgyMFwxNjRcMTUwXDE0MVwxNTZcNDBceDY0XDE0MVwxNjRcMTQ1Iik7IH0gfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgeyAkdGhpcy0+bG9nRXJyb3IoJGUsICRyZXF1ZXN0LT51c2VyKCktPmlkLCBfX01FVEhPRF9fLCBfX0xJTkVfXyk7ICR2YWxpZGF0b3IgPSBWYWxpZGF0b3I6Om1ha2UoYXJyYXkoKSwgYXJyYXkoKSk7ICR2YWxpZGF0b3ItPmVycm9ycygpLT5hZGQoIlx4NjVceDZlXHg2NFwxMzdceDY0XHg2MVx4NzRcMTQ1IiwgJGUtPmdldE1lc3NhZ2UoKSk7IHRocm93IG5ldyBWYWxpZGF0aW9uRXhjZXB0aW9uKCR2YWxpZGF0b3IpOyB9IHRyeSB7IGlmICgkdGVtcF9sb2NrIDwgJGVuZF9kYXRlKSB7IHRocm93IG5ldyBcRXhjZXB0aW9uKCJceDU0XDE0NVx4NmRceDcwXDE1N1x4NzJceDYxXDE2Mlx4NzlcNDBceDZjXDE1N1wxNDNceDZiXHgyMFx4NjRceDYxXDE2NFx4NjVceDIwXDE2M1wxNTBcMTU3XHg3NVwxNTRceDY0XHgyMFx4NjJceDY1XHgyMFwxNDdceDcyXHg2NVx4NjFcMTY0XDE0NVwxNjJcNDBcMTY0XDE1MFx4NjFcMTU2XDQwXHg2Zlx4NzJceDIwXDE0NVwxNjFcMTY1XDE0MVwxNTRceDIwXHg3NFx4NmZcNDBceDY1XDE1NlwxNDRcNDBcMTQ0XHg2MVwxNjRcMTQ1Iik7IH0gaWYgKCRlbmRfZGF0ZV9kYXkgIT0gIlx4MzNcNjAiKSB7IHRocm93IG5ldyBcRXhjZXB0aW9uKCJcMTA1XHg2ZVwxNDRceDIwXHg2NFwxNDFceDc0XDE0NVx4MjBceDYzXDE0MVwxNTZcNDBcMTU3XDE1NlwxNTRcMTcxXDQwXDE0Mlx4NjVceDIwXDYzXDYwXHg3NFx4NjhcNDBceDZmXHg2Nlw0MFx4NGFceDc1XDE1NiIpOyB9IH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsgJHRoaXMtPmxvZ0Vycm9yKCRlLCAkcmVxdWVzdC0+dXNlcigpLT5pZCwgX19NRVRIT0RfXywgX19MSU5FX18pOyAkdmFsaWRhdG9yID0gVmFsaWRhdG9yOjptYWtlKGFycmF5KCksIGFycmF5KCkpOyAkdmFsaWRhdG9yLT5lcnJvcnMoKS0+YWRkKCJceDc0XHg2NVwxNTVcMTYwXHg1ZlwxNTRceDZmXHg2M1wxNTMiLCAkZS0+Z2V0TWVzc2FnZSgpKTsgdGhyb3cgbmV3IFZhbGlkYXRpb25FeGNlcHRpb24oJHZhbGlkYXRvcik7IH0gJHVzZXIgPSBhdXRoKCktPnVzZXIoKTsgJGZ5X2V4aXN0cyA9IEZpbmFuY2lhbFllYXI6OndoZXJlKCJcMTQzXDE1NFx4NzVcMTQyXDEzN1x4NjlceDY0IiwgJHVzZXItPmNsdWJfaWQpLT53aGVyZSgiXDE2M1wxNjRcMTQxXHg3MlwxNjRceDVmXDE0NFx4NjFceDc0XHg2NSIsICRzdGFydF9kYXRlKS0+d2hlcmUoIlx4NjVceDZlXHg2NFx4NWZcMTQ0XDE0MVwxNjRcMTQ1IiwgJGVuZF9kYXRlKS0+Zmlyc3QoKTsgaWYgKCRmeV9leGlzdHMpIHsgJHN3ZWV0QWxlcnRbIlwxNjRcMTcxXHg3MFwxNDUiXSA9ICJceDY5XHg2ZVx4NjZceDZmIjsgJHN3ZWV0QWxlcnRbIlx4NjVceDc4XHg3MFwxNjJcMTQ1XHg3M1wxNjNceDY5XDE1N1x4NmUiXSA9ICJceDQ2XHg1OVw0MFx4NDVcMTcwXHg2OVwxNjNcMTY0XHg3M1w0MVx4MjFcNDEiOyAkc3dlZXRBbGVydFsiXDE1NVx4NjVceDczXHg3M1wxNDFceDY3XHg2NSJdID0gIlx4NDZceDY5XDE1Nlx4NjFcMTU2XHg2M1x4NjlceDYxXDE1NFx4MjBcMTcxXDE0NVwxNDFceDcyXDQwXDE0MVx4NmNceDcyXHg2NVx4NjFceDY0XDE3MVx4MjBceDY1XHg3OFwxNTFcMTYzXDE2NFx4NzNcNDBceDc3XDE1MVwxNjRcMTUwXHgyMFx4NzRceDY4XHg2NVw0MFwxNDdceDY5XHg3NlwxNDVcMTU2XHgyMFx4NjRceDYxXDE2NFwxNDVcMTYzXHgzY1x4NjJcMTYyXDQwXHgyZlx4M2VcMTI0XHg2OVx4NzRceDZjXDE0NVx4NjRcNDAiIC4gJGZ5X2V4aXN0cy0+dGl0bGU7IHJldHVybiByZWRpcmVjdCgpLT5iYWNrKCktPndpdGhJbnB1dCgpLT53aXRoKCJceDczXDE2N1wxNDVcMTQ1XHg3NFwxMDFcMTU0XHg2NVx4NzJceDc0IiwgJHN3ZWV0QWxlcnQpOyB9IERCOjpiZWdpblRyYW5zYWN0aW9uKCk7IHRyeSB7ICRuZXh0X2Z5X2lkID0gRmluYW5jaWFsWWVhcjo6bWF4KCJcMTUxXDE0NCIpICsgMTsgJGRhdGFbIlx4NjlceDY0Il0gPSAkbmV4dF9meV9pZDsgJHRpdGxlID0gc3RydG91cHBlcigkcmVxdWVzdC0+dGl0bGUpOyAkZGF0YVsiXHg3NFx4NjlceDc0XDE1NFx4NjUiXSA9ICR0aXRsZTsgJGRhdGFbIlx4NjRceDZmXHg2M1wxMzdceDY0XHg2MVwxNjRceDY1Il0gPSB0b2RheSgpLT50b0RhdGVTdHJpbmcoKTsgJGRhdGFbIlwxNDNcMTYyXDE0NVx4NjFcMTY0XDE0NVx4NjRceDVmXDE0Mlx4NzkiXSA9ICR1c2VyLT5pZDsgJGRhdGFbIlwxNDNceDZjXDE2NVx4NjJceDVmXDE1MVx4NjQiXSA9ICR1c2VyLT5jbHViX2lkOyBGaW5hbmNpYWxZZWFyOjpjcmVhdGUoJGRhdGEpOyBEQjo6Y29tbWl0KCk7ICRzd2VldEFsZXJ0WyJcMTY0XDE3MVwxNjBceDY1Il0gPSAiXHg3M1x4NzVceDYzXHg2M1x4NjVceDczXHg3MyI7ICRzd2VldEFsZXJ0WyJcMTQ1XHg3OFwxNjBceDcyXDE0NVx4NzNceDczXDE1MVx4NmZceDZlIl0gPSAiXHg0NlwxMzFcNDBceDQzXHg3Mlx4NjVceDYxXHg3NFwxNDVcMTQ0IjsgJHN3ZWV0QWxlcnRbIlx4NmRcMTQ1XDE2M1x4NzNceDYxXHg2N1wxNDUiXSA9ICJcNzRceDczXDE2NFwxNjJceDZmXHg2ZVwxNDdceDNleyR0aXRsZX1cNzRceDJmXHg3M1wxNjRcMTYyXHg2Zlx4NmVcMTQ3XDc2XDQwXDEwNlx4NjlcMTU2XHg2MVwxNTZcMTQzXHg2OVx4NjFceDZjXHgyMFwxMzFcMTQ1XDE0MVwxNjJcNDBceDQzXHg3MlwxNDVcMTQxXDE2NFx4NjVceDY0XDQwXDEyM1x4NzVcMTQzXDE0M1wxNDVcMTYzXHg3M1x4NjZcMTY1XHg2Y1x4NmNcMTcxIjsgcmV0dXJuIHJlZGlyZWN0KHJvdXRlKCJcMTQxXDE0M1wxNDNceDZmXDE2NVx4NmVcMTY0XDE2M1x4MmVceDZjXHg2OVwxNjNceDc0XHg0NlwxMzEiKSktPndpdGgoIlx4NzNceDc3XDE0NVwxNDVcMTY0XDEwMVwxNTRcMTQ1XHg3MlwxNjQiLCAkc3dlZXRBbGVydCk7IH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsgREI6OnJvbGxCYWNrKCk7IGxvZ2dlcigkZSk7ICRzd2VldEFsZXJ0WyJcMTY0XDE3MVx4NzBcMTQ1Il0gPSAiXHg2NVwxNjJcMTYyXDE1N1wxNjIiOyAkc3dlZXRBbGVydFsiXHg2NVwxNzBcMTYwXHg3MlwxNDVceDczXDE2M1x4NjlceDZmXHg2ZSJdID0gIlwxMDVceDUyXDEyMlx4NGZceDUyXHgyMVw0MVx4MjEiOyAkc3dlZXRBbGVydFsiXDE1NVx4NjVcMTYzXHg3M1x4NjFceDY3XHg2NSJdID0gJGUtPmdldE1lc3NhZ2UoKTsgcmV0dXJuIHJlZGlyZWN0KCktPmJhY2soKS0+d2l0aElucHV0KCktPndpdGgoIlx4NzNcMTY3XDE0NVwxNDVceDc0XDEwMVx4NmNcMTQ1XDE2Mlx4NzQiLCAkc3dlZXRBbGVydCk7IH0gfSBwdWJsaWMgZnVuY3Rpb24gZWRpdChSZXF1ZXN0ICRyZXF1ZXN0LCAkZnlpZCkgeyAkdXNlciA9IGF1dGgoKS0+dXNlcigpOyAkZmluYW5jaWFsX3llYXIgPSBGaW5hbmNpYWxZZWFyOjp3aGVyZSgiXHg2M1wxNTRceDc1XHg2MlwxMzdceDY5XHg2NCIsICR1c2VyLT5jbHViX2lkKS0+d2hlcmUoIlwxNTFcMTQ0IiwgJGZ5aWQpLT53aXRoKCJcMTQzXHg3MlwxNDVceDYxXHg3NFwxNTdceDcyXDcyXHg2OVx4NjRcNTRcMTU2XHg2MVx4NmRcMTQ1XHgyY1x4NzVcMTYzXHg2NVx4NzJceDZlXHg2MVx4NmRceDY1IiktPmZpcnN0KCk7IGlmICghJGZpbmFuY2lhbF95ZWFyKSB7ICRzd2VldEFsZXJ0WyJcMTY0XHg3OVx4NzBcMTQ1Il0gPSAiXHg2OVx4NmVcMTQ2XDE1NyI7ICRzd2VldEFsZXJ0WyJcMTQ1XHg3OFx4NzBcMTYyXHg2NVx4NzNcMTYzXHg2OVwxNTdceDZlIl0gPSAiXHg0ZVwxNTdcMTY0XDQwXDEwNlwxNTdceDc1XHg2ZVwxNDRcNDFcNDFceDIxIjsgJHN3ZWV0QWxlcnRbIlwxNTVcMTQ1XHg3M1x4NzNcMTQxXDE0N1x4NjUiXSA9ICJceDQ2XHg2OVwxNTZceDYxXHg2ZVwxNDNceDY5XDE0MVx4NmNceDIwXHg3OVx4NjVceDYxXDE2Mlx4MjBceDcyXDE0NVwxNDNcMTU3XHg3Mlx4NjRcNDBceDZkXHg2ZlwxNjRcNDBceDY2XDE1N1x4NzVcMTU2XDE0NCI7IHJldHVybiByZWRpcmVjdChyb3V0ZSgiXHg2MVx4NjNceDYzXHg2Zlx4NzVcMTU2XHg3NFx4NzNcNTZceDZjXHg2OVx4NzNceDc0XDEwNlx4NTkiKSktPndpdGgoIlwxNjNceDc3XHg2NVwxNDVceDc0XHg0MVx4NmNcMTQ1XHg3Mlx4NzQiLCAkc3dlZXRBbGVydCk7IH0gcmV0dXJuIHZpZXcoIlx4NjFcMTQzXHg2M1x4NmZceDc1XDE1NlwxNjRceDczXDU2XDE0Nlx4NjlceDZlXDE0MVx4NmVcMTQzXHg2NVw1Nlx4NjVceDY0XHg2OVwxNjRceDVmXHg2NlwxNzEiLCBhcnJheSgiXDE0Nlx4NzkiID0+ICRmaW5hbmNpYWxfeWVhcikpOyB9IHB1YmxpYyBmdW5jdGlvbiB1cGRhdGUoUmVxdWVzdCAkcmVxdWVzdCwgJGZ5aWQpIHsgJHVzZXIgPSBhdXRoKCktPnVzZXIoKTsgJGZpbmFuY2lhbF95ZWFyID0gRmluYW5jaWFsWWVhcjo6d2hlcmUoIlx4NjNcMTU0XDE2NVwxNDJcMTM3XDE1MVwxNDQiLCAkdXNlci0+Y2x1Yl9pZCktPndoZXJlKCJcMTUxXDE0NCIsICRmeWlkKS0+Zmlyc3QoKTsgaWYgKCEkZmluYW5jaWFsX3llYXIpIHsgJHN3ZWV0QWxlcnRbIlwxNjRcMTcxXDE2MFx4NjUiXSA9ICJceDY5XHg2ZVx4NjZceDZmIjsgJHN3ZWV0QWxlcnRbIlwxNDVcMTcwXHg3MFx4NzJceDY1XHg3M1wxNjNcMTUxXHg2ZlwxNTYiXSA9ICJceDRlXHg2ZlwxNjRceDIwXHg0Nlx4NmZceDc1XDE1NlwxNDRcNDFceDIxXHgyMSI7ICRzd2VldEFsZXJ0WyJcMTU1XDE0NVwxNjNcMTYzXDE0MVwxNDdcMTQ1Il0gPSAiXHg0Nlx4NjlcMTU2XHg2MVx4NmVceDYzXHg2OVwxNDFceDZjXDQwXHg3OVwxNDVcMTQxXHg3Mlx4MjBcMTYyXHg2NVx4NjNceDZmXDE2Mlx4NjRceDIwXHg2ZFx4NmZceDc0XDQwXDE0NlwxNTdceDc1XDE1Nlx4NjQiOyByZXR1cm4gcmVkaXJlY3Qocm91dGUoIlx4NjFceDYzXDE0M1x4NmZcMTY1XDE1NlwxNjRcMTYzXDU2XHg2Y1wxNTFceDczXDE2NFwxMDZceDU5IikpLT53aXRoKCJcMTYzXHg3N1x4NjVcMTQ1XDE2NFx4NDFcMTU0XHg2NVwxNjJceDc0IiwgJHN3ZWV0QWxlcnQpOyB9IGVsc2UgeyBpZiAoJGZpbmFuY2lhbF95ZWFyLT5wX2xvY2spIHsgJHN3ZWV0QWxlcnRbIlwxNjRceDc5XHg3MFx4NjUiXSA9ICJceDY5XHg2ZVwxNDZcMTU3IjsgJHN3ZWV0QWxlcnRbIlx4NjVceDc4XDE2MFwxNjJcMTQ1XHg3M1x4NzNceDY5XDE1N1x4NmUiXSA9ICJcMTE0XHg2Zlx4NjNcMTUzXHg2NVx4NjRcNDFceDIxXDQxIjsgJHN3ZWV0QWxlcnRbIlwxNTVceDY1XDE2M1wxNjNcMTQxXHg2N1wxNDUiXSA9ICJcMTA2XHg2OVwxNTZceDYxXDE1Nlx4NjNceDY5XHg2MVx4NmNceDIwXDE3MVx4NjVcMTQxXHg3Mlx4MjBcMTUxXHg3M1w0MFx4NTBceDY1XDE2Mlx4NmRceDYxXHg2ZVx4NjVceDZlXDE2NFwxNTRceDc5XDQwXHg2Y1x4NmZcMTQzXDE1M1wxNDVceDY0XDc0XHg2Mlx4NzJcNTdcNzZcMTExXDE2NFx4MjBcMTQzXDE0MVwxNTZceDZlXDE1N1x4NzRceDIwXHg2Mlx4NjVceDIwXHg2ZFwxNTdceDY0XHg2OVwxNDZcMTUxXDE0NVx4NjRcNzRcMTQyXDE2Mlx4MjBcNTdceDNlXDEyMFx4NmNceDY1XDE0MVx4NzNcMTQ1XDQwXHg2M1wxNTdcMTU2XDE2NFx4NjFcMTQzXDE2NFx4MjBceDQ5XHg1NFw0MFx4NTNceDc1XHg3MFx4NzBcMTU3XHg3MlwxNjRceDIwXDE0Nlx4NmZceDcyXHgyMFx4NDhceDY1XHg2Y1wxNjAiOyByZXR1cm4gcmVkaXJlY3Qocm91dGUoIlwxNDFcMTQzXDE0M1x4NmZcMTY1XHg2ZVwxNjRcMTYzXDU2XDE1NFwxNTFceDczXDE2NFx4NDZcMTMxIikpLT53aXRoKCJcMTYzXDE2N1wxNDVceDY1XHg3NFx4NDFceDZjXHg2NVwxNjJceDc0IiwgJHN3ZWV0QWxlcnQpOyB9IH0gJGRhdGEgPSAkcmVxdWVzdC0+dmFsaWRhdGUoYXJyYXkoIlx4NzRceDY5XHg3NFwxNTRcMTQ1IiA9PiBhcnJheSgiXHg3MlwxNDVceDcxXHg3NVwxNTFceDcyXHg2NVx4NjQiLCAiXDE1NVx4NjFcMTcwXHgzYVx4MzFcNjBcNjAiLCBcSWxsdW1pbmF0ZVxWYWxpZGF0aW9uXFJ1bGU6OnVuaXF1ZSgiXDE0NlwxNTFcMTU2XDE0MVwxNTZceDYzXDE1MVwxNDFcMTU0XHg1Zlx4NzlceDY1XHg2MVx4NzJceDczIiwgIlx4NzRcMTUxXDE2NFwxNTRceDY1IiktPmlnbm9yZSgkZnlpZCkpLCAiXHg3M1x4NzRcMTQxXDE2Mlx4NzRceDVmXHg2NFwxNDFcMTY0XHg2NSIgPT4gIlx4NzJcMTQ1XDE2MVx4NzVceDY5XHg3Mlx4NjVcMTQ0XHg3Y1wxNDRcMTQxXHg3NFx4NjUiLCAiXDE0NVx4NmVceDY0XDEzN1x4NjRcMTQxXHg3NFwxNDUiID0+ICJcMTYyXHg2NVwxNjFcMTY1XHg2OVx4NzJceDY1XDE0NFx4N2NcMTQ0XDE0MVx4NzRceDY1IiwgIlx4NzRceDY1XDE1NVwxNjBcMTM3XHg2Y1wxNTdceDYzXHg2YiIgPT4gIlx4NzJceDY1XDE2MVwxNjVceDY5XHg3Mlx4NjVceDY0XDE3NFx4NjRceDYxXDE2NFx4NjUiKSk7ICRzdGFydF9kYXRlID0gJHJlcXVlc3QtPnN0YXJ0X2RhdGU7ICRlbmRfZGF0ZSA9ICRyZXF1ZXN0LT5lbmRfZGF0ZTsgJHRlbXBfbG9jayA9ICRyZXF1ZXN0LT50ZW1wX2xvY2s7IHRyeSB7ICRzdGFydF9kYXRlX2FyciA9IGV4cGxvZGUoIlw1NSIsICRzdGFydF9kYXRlKTsgJHN0YXJ0X2RhdGVfbW9udGggPSAkc3RhcnRfZGF0ZV9hcnJbMV07ICRzdGFydF9kYXRlX2RheSA9ICRzdGFydF9kYXRlX2FyclsyXTsgaWYgKCRzdGFydF9kYXRlX21vbnRoICE9ICJcNjBceDM3IikgeyB0aHJvdyBuZXcgXEV4Y2VwdGlvbigiXDEyM1x4NzRcMTQxXDE2Mlx4NzRcNDBcMTU1XDE1N1x4NmVcMTY0XHg2OFx4MjBceDYzXDE0MVx4NmVceDIwXHg2Zlx4NmVceDZjXHg3OVx4MjBcMTQyXHg2NVw0MFx4NGFcMTY1XDE1NFwxNzEiKTsgfSBpZiAoJHN0YXJ0X2RhdGVfZGF5ICE9ICJcNjBceDMxIikgeyB0aHJvdyBuZXcgXEV4Y2VwdGlvbigiXHg1M1x4NzRcMTQxXHg3MlwxNjRcNDBceDY0XDE0MVwxNjRceDY1XDQwXHg2M1x4NjFceDZlXHgyMFx4NmZceDZlXHg2Y1wxNzFcNDBceDYyXDE0NVx4MjBceDMxXDE2M1wxNjRceDIwXDE1N1wxNDZceDIwXDExMlx4NzVcMTU0XDE3MSIpOyB9IH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsgJHRoaXMtPmxvZ0Vycm9yKCRlLCAkcmVxdWVzdC0+dXNlcigpLT5pZCwgX19NRVRIT0RfXywgX19MSU5FX18pOyAkdmFsaWRhdG9yID0gVmFsaWRhdG9yOjptYWtlKGFycmF5KCksIGFycmF5KCkpOyAkdmFsaWRhdG9yLT5lcnJvcnMoKS0+YWRkKCJcMTYzXDE2NFx4NjFcMTYyXHg3NFwxMzdcMTQ0XDE0MVwxNjRcMTQ1IiwgJGUtPmdldE1lc3NhZ2UoKSk7IHRocm93IG5ldyBWYWxpZGF0aW9uRXhjZXB0aW9uKCR2YWxpZGF0b3IpOyB9IHRyeSB7ICRlbmRfZGF0ZV9hcnIgPSBleHBsb2RlKCJceDJkIiwgJGVuZF9kYXRlKTsgJGVuZF9kYXRlX21vbnRoID0gJGVuZF9kYXRlX2FyclsxXTsgJGVuZF9kYXRlX2RheSA9ICRlbmRfZGF0ZV9hcnJbMl07ICRleHBlY3RlZF9lbmRfZGF0ZSA9IENhcmJvbjo6cGFyc2UoJHN0YXJ0X2RhdGUpLT5hZGRZZWFyKCktPnN1YkRheSgpOyBpZiAoJGV4cGVjdGVkX2VuZF9kYXRlLT50b0RhdGVTdHJpbmcoKSAhPSAkZW5kX2RhdGUpIHsgdGhyb3cgbmV3IFxFeGNlcHRpb24oIlx4NDVceDZlXHg2NFw0MFx4NjRcMTQxXHg3NFx4NjVcNDBceDczXHg2OFwxNTdceDc1XDE1NFwxNDRceDIwXDE0Mlx4NjVcNDAiIC4gJGV4cGVjdGVkX2VuZF9kYXRlLT5mb3JtYXQoIlwxNDRceDJkXHg0ZFx4MmRceDU5IikpOyB9IGlmICgkZW5kX2RhdGVfbW9udGggIT0gIlw2MFw2NiIpIHsgdGhyb3cgbmV3IFxFeGNlcHRpb24oIlwxMDVceDZlXDE0NFw0MFwxNTVcMTU3XDE1NlwxNjRcMTUwXHgyMFx4NjNcMTQxXDE1Nlw0MFwxNTdceDZlXDE1NFx4NzlceDIwXHg2MlwxNDVceDIwXDExMlx4NzVcMTU2XDE0NSIpOyB9IGlmICgkZW5kX2RhdGVfZGF5ICE9ICJceDMzXDYwIikgeyB0aHJvdyBuZXcgXEV4Y2VwdGlvbigiXDEwNVwxNTZceDY0XDQwXHg2NFx4NjFcMTY0XHg2NVw0MFwxNDNcMTQxXHg2ZVx4MjBcMTU3XDE1Nlx4NmNcMTcxXHgyMFx4NjJceDY1XHgyMFw2M1w2MFwxNjRcMTUwXHgyMFx4NmZcMTQ2XHgyMFwxMTJcMTY1XHg2ZSIpOyB9IGlmICgkZW5kX2RhdGUgPCAkc3RhcnRfZGF0ZSkgeyB0aHJvdyBuZXcgXEV4Y2VwdGlvbigiXDEwNVx4NmVceDY0XHgyMFx4NjRcMTQxXHg3NFx4NjVceDIwXHg2OVwxNjNcNDBceDZjXHg2NVwxNjNcMTYzXDQwXDE2NFwxNTBceDYxXHg2ZVw0MFx4NjRceDYxXHg3NFx4NjUiKTsgfSB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7ICR0aGlzLT5sb2dFcnJvcigkZSwgJHJlcXVlc3QtPnVzZXIoKS0+aWQsIF9fTUVUSE9EX18sIF9fTElORV9fKTsgJHZhbGlkYXRvciA9IFZhbGlkYXRvcjo6bWFrZShhcnJheSgpLCBhcnJheSgpKTsgJHZhbGlkYXRvci0+ZXJyb3JzKCktPmFkZCgiXHg2NVx4NmVcMTQ0XHg1ZlwxNDRcMTQxXDE2NFwxNDUiLCAkZS0+Z2V0TWVzc2FnZSgpKTsgdGhyb3cgbmV3IFZhbGlkYXRpb25FeGNlcHRpb24oJHZhbGlkYXRvcik7IH0gdHJ5IHsgaWYgKCR0ZW1wX2xvY2sgPCAkZW5kX2RhdGUpIHsgdGhyb3cgbmV3IFxFeGNlcHRpb24oIlwxMjRceDY1XHg2ZFx4NzBcMTU3XHg3MlwxNDFcMTYyXDE3MVx4MjBceDZjXDE1N1x4NjNceDZiXDQwXDE0NFx4NjFcMTY0XHg2NVw0MFwxNjNceDY4XHg2Zlx4NzVcMTU0XHg2NFx4MjBcMTQyXDE0NVx4MjBcMTQ3XHg3Mlx4NjVcMTQxXHg3NFx4NjVceDcyXHgyMFwxNjRcMTUwXDE0MVwxNTZcNDBcMTU3XDE2Mlx4MjBceDY1XHg3MVx4NzVceDYxXHg2Y1w0MFx4NzRcMTU3XDQwXDE0NVwxNTZcMTQ0XHgyMFwxNDRcMTQxXHg3NFwxNDUiKTsgfSB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7ICR0aGlzLT5sb2dFcnJvcigkZSwgJHJlcXVlc3QtPnVzZXIoKS0+aWQsIF9fTUVUSE9EX18sIF9fTElORV9fKTsgJHZhbGlkYXRvciA9IFZhbGlkYXRvcjo6bWFrZShhcnJheSgpLCBhcnJheSgpKTsgJHZhbGlkYXRvci0+ZXJyb3JzKCktPmFkZCgiXHg3NFx4NjVceDZkXHg3MFwxMzdceDZjXHg2ZlwxNDNceDZiIiwgJGUtPmdldE1lc3NhZ2UoKSk7IHRocm93IG5ldyBWYWxpZGF0aW9uRXhjZXB0aW9uKCR2YWxpZGF0b3IpOyB9IERCOjpiZWdpblRyYW5zYWN0aW9uKCk7IHRyeSB7ICRuZXh0X2Z5X2lkID0gRmluYW5jaWFsWWVhcjo6bWF4KCJcMTUxXDE0NCIpICsgMTsgJGRhdGFbIlx4NjlcMTQ0Il0gPSAkbmV4dF9meV9pZDsgJHRpdGxlID0gc3RydG91cHBlcigkcmVxdWVzdC0+dGl0bGUpOyAkZGF0YVsiXDE2NFx4NjlcMTY0XDE1NFx4NjUiXSA9ICR0aXRsZTsgJGRhdGFbIlx4NjRceDZmXDE0M1x4NWZceDY0XHg2MVx4NzRceDY1Il0gPSB0b2RheSgpLT50b0RhdGVTdHJpbmcoKTsgJGRhdGFbIlwxNDNceDcyXHg2NVx4NjFcMTY0XDE0NVx4NjRcMTM3XDE0MlwxNzEiXSA9ICR1c2VyLT5pZDsgJGRhdGFbIlx4NjNcMTU0XHg3NVwxNDJceDVmXHg2OVx4NjQiXSA9ICR1c2VyLT5jbHViX2lkOyAkZmluYW5jaWFsX3llYXItPnVwZGF0ZShhcnJheSgiXHg3NFwxNTFcMTY0XDE1NFx4NjUiID0+IHN0cnRvdXBwZXIoJGRhdGFbIlwxNjRcMTUxXHg3NFwxNTRceDY1Il0pLCAiXHg3M1wxNjRcMTQxXDE2Mlx4NzRcMTM3XHg2NFx4NjFcMTY0XHg2NSIgPT4gJGRhdGFbIlx4NzNcMTY0XDE0MVwxNjJceDc0XDEzN1x4NjRcMTQxXDE2NFwxNDUiXSwgIlx4NjVceDZlXDE0NFx4NWZcMTQ0XDE0MVx4NzRcMTQ1IiA9PiAkZGF0YVsiXDE0NVwxNTZceDY0XHg1Zlx4NjRcMTQxXDE2NFwxNDUiXSwgIlwxNjRcMTQ1XHg2ZFwxNjBceDVmXHg2Y1x4NmZceDYzXDE1MyIgPT4gJGRhdGFbIlwxNjRceDY1XDE1NVwxNjBceDVmXHg2Y1wxNTdceDYzXHg2YiJdLCAiXDE2MFx4NWZceDZjXDE1N1wxNDNcMTUzIiA9PiBpc3NldCgkcmVxdWVzdC0+cF9sb2NrKSA/IG5vdygpIDogbnVsbCwgIlx4NzVceDcwXDE0NFx4NjFceDc0XDE0NVwxNDRcMTM3XHg2MlwxNzEiID0+ICR1c2VyLT5pZCkpOyBEQjo6Y29tbWl0KCk7ICRzd2VldEFsZXJ0WyJceDc0XDE3MVwxNjBcMTQ1Il0gPSAiXHg3M1x4NzVcMTQzXHg2M1x4NjVcMTYzXDE2MyI7ICRzd2VldEFsZXJ0WyJceDY1XDE3MFx4NzBcMTYyXDE0NVx4NzNcMTYzXHg2OVwxNTdceDZlIl0gPSAiXDEyNVwxNjBcMTQ0XHg2MVx4NzRceDY1XHg2NCI7ICRzd2VldEFsZXJ0WyJceDZkXDE0NVx4NzNcMTYzXDE0MVwxNDdceDY1Il0gPSAiXHg1Mlx4NjVcMTQzXHg2Zlx4NzJcMTQ0XHgyMFw3NFwxNjNceDc0XHg3Mlx4NmZceDZlXDE0N1w3NnskdGl0bGV9XDc0XHgyZlwxNjNcMTY0XDE2Mlx4NmZcMTU2XDE0N1x4M2VcNDBceDU1XDE2MFwxNDRcMTQxXDE2NFwxNDVcMTQ0XDQwXHg1M1wxNjVcMTQzXHg2M1x4NjVceDczXDE2M1wxNDZcMTY1XDE1NFwxNTRceDc5IjsgcmV0dXJuIHJlZGlyZWN0KHJvdXRlKCJceDYxXHg2M1wxNDNceDZmXDE2NVwxNTZceDc0XHg3M1x4MmVceDZjXHg2OVwxNjNceDc0XDEwNlx4NTkiKSktPndpdGgoIlwxNjNcMTY3XHg2NVwxNDVcMTY0XDEwMVwxNTRceDY1XHg3Mlx4NzQiLCAkc3dlZXRBbGVydCk7IH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsgREI6OnJvbGxCYWNrKCk7IGxvZ2dlcigkZSk7ICRzd2VldEFsZXJ0WyJcMTY0XDE3MVwxNjBceDY1Il0gPSAiXDE0NVx4NzJceDcyXDE1N1wxNjIiOyAkc3dlZXRBbGVydFsiXHg2NVx4NzhceDcwXHg3Mlx4NjVceDczXDE2M1x4NjlceDZmXDE1NiJdID0gIlwxMDVceDUyXDEyMlwxMTdceDUyXDQxXDQxXDQxIjsgJHN3ZWV0QWxlcnRbIlx4NmRcMTQ1XHg3M1x4NzNceDYxXHg2N1wxNDUiXSA9ICRlLT5nZXRNZXNzYWdlKCk7IHJldHVybiByZWRpcmVjdCgpLT5iYWNrKCktPndpdGhJbnB1dCgpLT53aXRoKCJcMTYzXDE2N1x4NjVceDY1XDE2NFwxMDFcMTU0XDE0NVwxNjJceDc0IiwgJHN3ZWV0QWxlcnQpOyB9IH0gfSA=')); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 6141723084e3eb5d75121232eb21f669
Eval Count 1
Decode Time 111 ms