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

Signing you up...

Thank you for signing up!

PHP Decode

eval(gzinflate(base64_decode('tP0HWJNLtzAMX3Q4cNF70RACSSBA6AiE3qUXaUMJECAIAUKoooYOCgiICIpK..

Decoded Output download

error_reporting(6135);$Tc=!preg_match('~^(unsafe_raw)?$~',ini_get("filter.default"));if($Tc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$Ei=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($Ei)$$X=$Ei;}}if(function_exists("mb_internal_encoding"))mb_internal_encoding("8bit");function
connection(){global$g;return$g;}function
adminer(){global$b;return$b;}function
version(){global$ia;return$ia;}function
idf_unescape($v){$le=substr($v,-1);return
str_replace($le.$le,$le,substr($v,1,-1));}function
escape_string($X){return
substr(q($X),1,-1);}function
number($X){return
preg_replace('~[^0-9]+~','',$X);}function
number_type(){return'((?<!o)int(?!er)|numeric|real|float|double|decimal|money)';}function
remove_slashes($ng,$Tc=false){if(get_magic_quotes_gpc()){while(list($z,$X)=each($ng)){foreach($X
as$be=>$W){unset($ng[$z][$be]);if(is_array($W)){$ng[$z][stripslashes($be)]=$W;$ng[]=&$ng[$z][stripslashes($be)];}else$ng[$z][stripslashes($be)]=($Tc?$W:stripslashes($W));}}}}function
bracket_escape($v,$Na=false){static$qi=array(':'=>':1',']'=>':2','['=>':3','"'=>':4');return
strtr($v,($Na?array_flip($qi):$qi));}function
min_version($Vi,$_e="",$h=null){global$g;if(!$h)$h=$g;$ih=$h->server_info;if($_e&&preg_match('~([\d.]+)-MariaDB~',$ih,$B)){$ih=$B[1];$Vi=$_e;}return(version_compare($ih,$Vi)>=0);}function
charset($g){return(min_version("5.5.3",0,$g)?"utf8mb4":"utf8");}function
script($th,$pi="\n"){return"<script".nonce().">$th</script>$pi";}function
script_src($Ji){return"<script src='".h($Ji)."'".nonce()."></script>\n";}function
nonce(){return' nonce="'.get_nonce().'"';}function
target_blank(){return' target="_blank" rel="noreferrer noopener"';}function
h($P){return
str_replace("\0","&#0;",htmlspecialchars($P,ENT_QUOTES,'utf-8'));}function
nl_br($P){return
str_replace("\n","<br>",$P);}function
checkbox($C,$Y,$eb,$ie="",$pf="",$jb="",$je=""){$I="<input type='checkbox' name='$C' value='".h($Y)."'".($eb?" checked":"").($je?" aria-labelledby='$je'":"").">".($pf?script("qsl('input').onclick = function () { $pf };",""):"");return($ie!=""||$jb?"<label".($jb?" class='$jb'":"").">$I".h($ie)."</label>":$I);}function
optionlist($vf,$ch=null,$Ni=false){$I="";foreach($vf
as$be=>$W){$wf=array($be=>$W);if(is_array($W)){$I.='<optgroup label="'.h($be).'">';$wf=$W;}foreach($wf
as$z=>$X)$I.='<option'.($Ni||is_string($z)?' value="'.h($z).'"':'').(($Ni||is_string($z)?(string)$z:$X)===$ch?' selected':'').'>'.h($X);if(is_array($W))$I.='</optgroup>';}return$I;}function
html_select($C,$vf,$Y="",$of=true,$je=""){if($of)return"<select name='".h($C)."'".($je?" aria-labelledby='$je'":"").">".optionlist($vf,$Y)."</select>".(is_string($of)?script("qsl('select').onchange = function () { $of };",""):"");$I="";foreach($vf
as$z=>$X)$I.="<label><input type='radio' name='".h($C)."' value='".h($z)."'".($z==$Y?" checked":"").">".h($X)."</label>";return$I;}function
select_input($Ja,$vf,$Y="",$of="",$Zf=""){$Uh=($vf?"select":"input");return"<$Uh$Ja".($vf?"><option value=''>$Zf".optionlist($vf,$Y,true)."</select>":" size='10' value='".h($Y)."' placeholder='$Zf'>").($of?script("qsl('$Uh').onchange = $of;",""):"");}function
confirm($Je="",$dh="qsl('input')"){return
script("$dh.onclick = function () { return confirm('".($Je?js_escape($Je):'Are you sure?')."'); };","");}function
print_fieldset($u,$qe,$Yi=false){echo"<fieldset><legend>","<a href='#fieldset-$u'>$qe</a>",script("qsl('a').onclick = partial(toggle, 'fieldset-$u');",""),"</legend>","<div id='fieldset-$u'".($Yi?"":" class='hidden'").">\n";}function
bold($Va,$jb=""){return($Va?" class='active $jb'":($jb?" class='$jb'":""));}function
odd($I=' class="odd"'){static$t=0;if(!$I)$t=-1;return($t++%2?$I:'');}function
js_escape($P){return
addcslashes($P,"\r\n'\\/");}function
json_row($z,$X=null){static$Uc=true;if($Uc)echo"{";if($z!=""){echo($Uc?"":",")."\n\t\"".addcslashes($z,"\r\n\t\"\\/").'": '.($X!==null?'"'.addcslashes($X,"\r\n\"\\/").'"':'null');$Uc=false;}else{echo"\n}\n";$Uc=true;}}function
ini_bool($Od){$X=ini_get($Od);return(preg_match('~^(on|true|yes)$~i',$X)||(int)$X);}function
sid(){static$I;if($I===null)$I=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));return$I;}function
set_password($Ui,$N,$V,$F){$_SESSION["pwds"][$Ui][$N][$V]=($_COOKIE["adminer_key"]&&is_string($F)?array(encrypt_string($F,$_COOKIE["adminer_key"])):$F);}function
get_password(){$I=get_session("pwds");if(is_array($I))$I=($_COOKIE["adminer_key"]?decrypt_string($I[0],$_COOKIE["adminer_key"]):false);return$I;}function
q($P){global$g;return$g->quote($P);}function
get_vals($G,$e=0){global$g;$I=array();$H=$g->query($G);if(is_object($H)){while($J=$H->fetch_row())$I[]=$J[$e];}return$I;}function
get_key_vals($G,$h=null,$lh=true){global$g;if(!is_object($h))$h=$g;$I=array();$H=$h->query($G);if(is_object($H)){while($J=$H->fetch_row()){if($lh)$I[$J[0]]=$J[1];else$I[]=$J[0];}}return$I;}function
get_rows($G,$h=null,$o="<p class='error'>"){global$g;$vb=(is_object($h)?$h:$g);$I=array();$H=$vb->query($G);if(is_object($H)){while($J=$H->fetch_assoc())$I[]=$J;}elseif(!$H&&!is_object($h)&&$o&&defined("PAGE_HEADER"))echo$o.error()."\n";return$I;}function
unique_array($J,$x){foreach($x
as$w){if(preg_match("~PRIMARY|UNIQUE~",$w["type"])){$I=array();foreach($w["columns"]as$z){if(!isset($J[$z]))continue
2;$I[$z]=$J[$z];}return$I;}}}function
escape_key($z){if(preg_match('(^([\w(]+)('.str_replace("_",".*",preg_quote(idf_escape("_"))).')([ \w)]+)$)',$z,$B))return$B[1].idf_escape(idf_unescape($B[2])).$B[3];return
idf_escape($z);}function
where($Z,$q=array()){global$g,$y;$I=array();foreach((array)$Z["where"]as$z=>$X){$z=bracket_escape($z,1);$e=escape_key($z);$I[]=$e.($y=="sql"&&preg_match('~^[0-9]*\.[0-9]*$~',$X)?" LIKE ".q(addcslashes($X,"%_\\")):($y=="mssql"?" LIKE ".q(preg_replace('~[_%[]~','[\0]',$X)):" = ".unconvert_field($q[$z],q($X))));if($y=="sql"&&preg_match('~char|text~',$q[$z]["type"])&&preg_match("~[^ -@]~",$X))$I[]="$e = ".q($X)." COLLATE ".charset($g)."_bin";}foreach((array)$Z["null"]as$z)$I[]=escape_key($z)." IS NULL";return
implode(" AND ",$I);}function
where_check($X,$q=array()){parse_str($X,$cb);remove_slashes(array(&$cb));return
where($cb,$q);}function
where_link($t,$e,$Y,$rf="="){return"&where%5B$t%5D%5Bcol%5D=".urlencode($e)."&where%5B$t%5D%5Bop%5D=".urlencode(($Y!==null?$rf:"IS NULL"))."&where%5B$t%5D%5Bval%5D=".urlencode($Y);}function
convert_fields($f,$q,$L=array()){$I="";foreach($f
as$z=>$X){if($L&&!in_array(idf_escape($z),$L))continue;$Ga=convert_field($q[$z]);if($Ga)$I.=", $Ga AS ".idf_escape($z);}return$I;}function
cookie($C,$Y,$te=2592000){global$ba;return
header("Set-Cookie: $C=".urlencode($Y).($te?"; expires=".gmdate("D, d M Y H:i:s",time()+$te)." GMT":"")."; path=".preg_replace('~\?.*~','',$_SERVER["REQUEST_URI"]).($ba?"; secure":"")."; HttpOnly; SameSite=lax",false);}function
restart_session(){if(!ini_bool("session.use_cookies"))session_start();}function
stop_session($Zc=false){if(!ini_bool("session.use_cookies")||($Zc&&@ini_set("session.use_cookies",false)!==false))session_write_close();}function&get_session($z){return$_SESSION[$z][DRIVER][SERVER][$_GET["username"]];}function
set_session($z,$X){$_SESSION[$z][DRIVER][SERVER][$_GET["username"]]=$X;}function
auth_url($Ui,$N,$V,$m=null){global$cc;preg_match('~([^?]*)\??(.*)~',remove_from_uri(implode("|",array_keys($cc))."|username|".($m!==null?"db|":"").session_name()),$B);return"$B[1]?".(sid()?SID."&":"").($Ui!="server"||$N!=""?urlencode($Ui)."=".urlencode($N)."&":"")."username=".urlencode($V).($m!=""?"&db=".urlencode($m):"").($B[2]?"&$B[2]":"");}function
is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
redirect($ve,$Je=null){if($Je!==null){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',($ve!==null?$ve:$_SERVER["REQUEST_URI"]))][]=$Je;}if($ve!==null){if($ve=="")$ve=".";header("Location: $ve");exit;}}function
query_redirect($G,$ve,$Je,$zg=true,$Ac=true,$Lc=false,$ci=""){global$g,$o,$b;if($Ac){$Ah=microtime(true);$Lc=!$g->query($G);$ci=format_time($Ah);}$wh="";if($G)$wh=$b->messageQuery($G,$ci,$Lc);if($Lc){$o=error().$wh.script("messagesPrint();");return
false;}if($zg)redirect($ve,$Je.$wh);return
true;}function
queries($G){global$g;static$sg=array();static$Ah;if(!$Ah)$Ah=microtime(true);if($G===null)return
array(implode("\n",$sg),format_time($Ah));$sg[]=(preg_match('~;$~',$G)?"DELIMITER ;;\n$G;\nDELIMITER ":$G).";";return$g->query($G);}function
apply_queries($G,$S,$xc='table'){foreach($S
as$Q){if(!queries("$G ".$xc($Q)))return
false;}return
true;}function
queries_redirect($ve,$Je,$zg){list($sg,$ci)=queries(null);return
query_redirect($sg,$ve,$Je,$zg,false,!$zg,$ci);}function
format_time($Ah){return
sprintf('%.3f s',max(0,microtime(true)-$Ah));}function
remove_from_uri($Kf=""){return
substr(preg_replace("~(?<=[?&])($Kf".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1);}function
pagination($E,$Hb){return" ".($E==$Hb?$E+1:'<a href="'.h(remove_from_uri("page").($E?"&page=$E".($_GET["next"]?"&next=".urlencode($_GET["next"]):""):"")).'">'.($E+1)."</a>");}function
get_file($z,$Pb=false){$Rc=$_FILES[$z];if(!$Rc)return
null;foreach($Rc
as$z=>$X)$Rc[$z]=(array)$X;$I='';foreach($Rc["error"]as$z=>$o){if($o)return$o;$C=$Rc["name"][$z];$ki=$Rc["tmp_name"][$z];$yb=file_get_contents($Pb&&preg_match('~\.gz$~',$C)?"compress.zlib://$ki":$ki);if($Pb){$Ah=substr($yb,0,3);if(function_exists("iconv")&&preg_match("~^\xFE\xFF|^\xFF\xFE~",$Ah,$Eg))$yb=iconv("utf-16","utf-8",$yb);elseif($Ah=="\xEF\xBB\xBF")$yb=substr($yb,3);$I.=$yb."\n\n";}else$I.=$yb;}return$I;}function
upload_error($o){$Ge=($o==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($o?'Unable to upload a file.'.($Ge?" ".sprintf('Maximum allowed file size is %sB.',$Ge):""):'File does not exist.');}function
repeat_pattern($Xf,$re){return
str_repeat("$Xf{0,65535}",$re/65535)."$Xf{0,".($re%65535)."}";}function
is_utf8($X){return(preg_match('~~u',$X)&&!preg_match('~[\0-\x8\xB\xC\xE-\x1F]~',$X));}function
shorten_utf8($P,$re=80,$Ih=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{10FFFF}]",$re).")($)?)u",$P,$B))preg_match("(^(".repeat_pattern("[\t\r\n -~]",$re).")($)?)",$P,$B);return
h($B[1]).$Ih.(isset($B[2])?"":"<i></i>");}function
format_number($X){return
strtr(number_format($X,0,".",','),preg_split('~~u','0123456789',-1,PREG_SPLIT_NO_EMPTY));}function
friendly_url($X){return
preg_replace('~[^a-z0-9_]~i','-',$X);}function
hidden_fields($ng,$Dd=array()){$I=false;while(list($z,$X)=each($ng)){if(!in_array($z,$Dd)){if(is_array($X)){foreach($X
as$be=>$W)$ng[$z."[$be]"]=$W;}else{$I=true;echo'<input type="hidden" name="'.h($z).'" value="'.h($X).'">';}}}return$I;}function
hidden_fields_get(){echo(sid()?'<input type="hidden" name="'.session_name().'" value="'.h(session_id()).'">':''),(SERVER!==null?'<input type="hidden" name="'.DRIVER.'" value="'.h(SERVER).'">':""),'<input type="hidden" name="username" value="'.h($_GET["username"]).'">';}function
table_status1($Q,$Mc=false){$I=table_status($Q,$Mc);return($I?$I:array("Name"=>$Q));}function
column_foreign_keys($Q){global$b;$I=array();foreach($b->foreignKeys($Q)as$r){foreach($r["source"]as$X)$I[$X][]=$r;}return$I;}function
enum_input($T,$Ja,$p,$Y,$rc=null){global$b;preg_match_all("~'((?:[^']|'')*)'~",$p["length"],$Be);$I=($rc!==null?"<label><input type='$T'$Ja value='$rc'".((is_array($Y)?in_array($rc,$Y):$Y===0)?" checked":"")."><i>".'empty'."</i></label>":"");foreach($Be[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$eb=(is_int($Y)?$Y==$t+1:(is_array($Y)?in_array($t+1,$Y):$Y===$X));$I.=" <label><input type='$T'$Ja value='".($t+1)."'".($eb?' checked':'').'>'.h($b->editVal($X,$p)).'</label>';}return$I;}function
input($p,$Y,$s){global$U,$b,$y;$C=h(bracket_escape($p["field"]));echo"<td class='function'>";if(is_array($Y)&&!$s){$Ea=array($Y);if(version_compare(PHP_VERSION,5.4)>=0)$Ea[]=JSON_PRETTY_PRINT;$Y=call_user_func_array('json_encode',$Ea);$s="json";}$Ig=($y=="mssql"&&$p["auto_increment"]);if($Ig&&!$_POST["save"])$s=null;$id=(isset($_GET["select"])||$Ig?array("orig"=>'original'):array())+$b->editFunctions($p);$Ja=" name='fields[$C]'";if($p["type"]=="enum")echo
h($id[""])."<td>".$b->editInput($_GET["edit"],$p,$Ja,$Y);else{$sd=(in_array($s,$id)||isset($id[$s]));echo(count($id)>1?"<select name='function[$C]'>".optionlist($id,$s===null||$sd?$s:"")."</select>".on_help("getTarget(event).value.replace(/^SQL\$/, '')",1).script("qsl('select').onchange = functionChange;",""):h(reset($id))).'<td>';$Qd=$b->editInput($_GET["edit"],$p,$Ja,$Y);if($Qd!="")echo$Qd;elseif(preg_match('~bool~',$p["type"]))echo"<input type='hidden'$Ja value='0'>"."<input type='checkbox'".(preg_match('~^(1|t|true|y|yes|on)$~i',$Y)?" checked='checked'":"")."$Ja value='1'>";elseif($p["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$p["length"],$Be);foreach($Be[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$eb=(is_int($Y)?($Y>>$t)&1:in_array($X,explode(",",$Y),true));echo" <label><input type='checkbox' name='fields[$C][$t]' value='".(1<<$t)."'".($eb?' checked':'').">".h($b->editVal($X,$p)).'</label>';}}elseif(preg_match('~blob|bytea|raw|file~',$p["type"])&&ini_bool("file_uploads"))echo"<input type='file' name='fields-$C'>";elseif(($ai=preg_match('~text|lob~',$p["type"]))||preg_match("~\n~",$Y)){if($ai&&$y!="sqlite")$Ja.=" cols='50' rows='12'";else{$K=min(12,substr_count($Y,"\n")+1);$Ja.=" cols='30' rows='$K'".($K==1?" style='height: 1.2em;'":"");}echo"<textarea$Ja>".h($Y).'</textarea>';}elseif($s=="json"||preg_match('~^jsonb?$~',$p["type"]))echo"<textarea$Ja cols='50' rows='12' class='jush-js'>".h($Y).'</textarea>';else{$Ie=(!preg_match('~int~',$p["type"])&&preg_match('~^(\d+)(,(\d+))?$~',$p["length"],$B)?((preg_match("~binary~",$p["type"])?2:1)*$B[1]+($B[3]?1:0)+($B[2]&&!$p["unsigned"]?1:0)):($U[$p["type"]]?$U[$p["type"]]+($p["unsigned"]?0:1):0));if($y=='sql'&&min_version(5.6)&&preg_match('~time~',$p["type"]))$Ie+=7;echo"<input".((!$sd||$s==="")&&preg_match('~(?<!o)int(?!er)~',$p["type"])&&!preg_match('~\[\]~',$p["full_type"])?" type='number'":"")." value='".h($Y)."'".($Ie?" data-maxlength='$Ie'":"").(preg_match('~char|binary~',$p["type"])&&$Ie>20?" size='40'":"")."$Ja>";}echo$b->editHint($_GET["edit"],$p,$Y);$Uc=0;foreach($id
as$z=>$X){if($z===""||!$X)break;$Uc++;}if($Uc)echo
script("mixin(qsl('td'), {onchange: partial(skipOriginal, $Uc), oninput: function () { this.onchange(); }});");}}function
process_input($p){global$b,$n;$v=bracket_escape($p["field"]);$s=$_POST["function"][$v];$Y=$_POST["fields"][$v];if($p["type"]=="enum"){if($Y==-1)return
false;if($Y=="")return"NULL";return+$Y;}if($p["auto_increment"]&&$Y=="")return
null;if($s=="orig")return(preg_match('~^CURRENT_TIMESTAMP~i',$p["on_update"])?idf_escape($p["field"]):false);if($s=="NULL")return"NULL";if($p["type"]=="set")return
array_sum((array)$Y);if($s=="json"){$s="";$Y=json_decode($Y,true);if(!is_array($Y))return
false;return$Y;}if(preg_match('~blob|bytea|raw|file~',$p["type"])&&ini_bool("file_uploads")){$Rc=get_file("fields-$v");if(!is_string($Rc))return
false;return$n->quoteBinary($Rc);}return$b->processInput($p,$Y,$s);}function
fields_from_edit(){global$n;$I=array();foreach((array)$_POST["field_keys"]as$z=>$X){if($X!=""){$X=bracket_escape($X);$_POST["function"][$X]=$_POST["field_funs"][$z];$_POST["fields"][$X]=$_POST["field_vals"][$z];}}foreach((array)$_POST["fields"]as$z=>$X){$C=bracket_escape($z,1);$I[$C]=array("field"=>$C,"privileges"=>array("insert"=>1,"update"=>1),"null"=>1,"auto_increment"=>($z==$n->primary),);}return$I;}function
search_tables(){global$b,$g;$_GET["where"][0]["val"]=$_POST["query"];$fh="<ul>\n";foreach(table_status('',true)as$Q=>$R){$C=$b->tableName($R);if(isset($R["Engine"])&&$C!=""&&(!$_POST["tables"]||in_array($Q,$_POST["tables"]))){$H=$g->query("SELECT".limit("1 FROM ".table($Q)," WHERE ".implode(" AND ",$b->selectSearchProcess(fields($Q),array())),1));if(!$H||$H->fetch_row()){$jg="<a href='".h(ME."select=".urlencode($Q)."&where[0][op]=".urlencode($_GET["where"][0]["op"])."&where[0][val]=".urlencode($_GET["where"][0]["val"]))."'>$C</a>";echo"$fh<li>".($H?$jg:"<p class='error'>$jg: ".error())."\n";$fh="";}}}echo($fh?"<p class='message'>".'No tables.':"</ul>")."\n";}function
dump_headers($Ad,$Se=false){global$b;$I=$b->dumpHeaders($Ad,$Se);$Hf=$_POST["output"];if($Hf!="text")header("Content-Disposition: attachment; filename=".$b->dumpFilename($Ad).".$I".($Hf!="file"&&!preg_match('~[^0-9a-z]~',$Hf)?".$Hf":""));session_write_close();ob_flush();flush();return$I;}function
dump_csv($J){foreach($J
as$z=>$X){if(preg_match("~[\"\n,;\t]~",$X)||$X==="")$J[$z]='"'.str_replace('"','""',$X).'"';}echo
implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$J)."\r\n";}function
apply_sql_function($s,$e){return($s?($s=="unixepoch"?"DATETIME($e, '$s')":($s=="count distinct"?"COUNT(DISTINCT ":strtoupper("$s("))."$e)"):$e);}function
get_temp_dir(){$I=ini_get("upload_tmp_dir");if(!$I){if(function_exists('sys_get_temp_dir'))$I=sys_get_temp_dir();else{$Sc=@tempnam("","");if(!$Sc)return
false;$I=dirname($Sc);unlink($Sc);}}return$I;}function
file_open_lock($Sc){$gd=@fopen($Sc,"r+");if(!$gd){$gd=@fopen($Sc,"w");if(!$gd)return;chmod($Sc,0660);}flock($gd,LOCK_EX);return$gd;}function
file_write_unlock($gd,$Jb){rewind($gd);fwrite($gd,$Jb);ftruncate($gd,strlen($Jb));flock($gd,LOCK_UN);fclose($gd);}function
password_file($i){$Sc=get_temp_dir()."/adminer.key";$I=@file_get_contents($Sc);if($I||!$i)return$I;$gd=@fopen($Sc,"w");if($gd){chmod($Sc,0660);$I=rand_string();fwrite($gd,$I);fclose($gd);}return$I;}function
rand_string(){return
md5(uniqid(mt_rand(),true));}function
select_value($X,$A,$p,$bi){global$b;if(is_array($X)){$I="";foreach($X
as$be=>$W)$I.="<tr>".($X!=array_values($X)?"<th>".h($be):"")."<td>".select_value($W,$A,$p,$bi);return"<table cellspacing='0'>$I</table>";}if(!$A)$A=$b->selectLink($X,$p);if($A===null){if(is_mail($X))$A="mailto:$X";if(is_url($X))$A=$X;}$I=$b->editVal($X,$p);if($I!==null){if(!is_utf8($I))$I="\0";elseif($bi!=""&&is_shortable($p))$I=shorten_utf8($I,max(0,+$bi));else$I=h($I);}return$b->selectVal($I,$A,$p,$X);}function
is_mail($oc){$Ha='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$bc='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$Xf="$Ha+(\\.$Ha+)*@($bc?\\.)+$bc";return
is_string($oc)&&preg_match("(^$Xf(,\\s*$Xf)*\$)i",$oc);}function
is_url($P){$bc='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return
preg_match("~^(https?)://($bc?\\.)+$bc(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$P);}function
is_shortable($p){return
preg_match('~char|text|json|lob|geometry|point|linestring|polygon|string|bytea~',$p["type"]);}function
count_rows($Q,$Z,$Wd,$ld){global$y;$G=" FROM ".table($Q).($Z?" WHERE ".implode(" AND ",$Z):"");return($Wd&&($y=="sql"||count($ld)==1)?"SELECT COUNT(DISTINCT ".implode(", ",$ld).")$G":"SELECT COUNT(*)".($Wd?" FROM (SELECT 1$G GROUP BY ".implode(", ",$ld).") x":$G));}function
slow_query($G){global$b,$mi,$n;$m=$b->database();$di=$b->queryTimeout();$qh=$n->slowQuery($G,$di);if(!$qh&&support("kill")&&is_object($h=connect())&&($m==""||$h->select_db($m))){$ge=$h->result(connection_id());echo'<script',nonce(),'>
var timeout = setTimeout(function () {
	ajax(\'',js_escape(ME),'script=kill\', function () {
	}, \'kill=',$ge,'&token=',$mi,'\');
}, ',1000*$di,');
</script>
';}else$h=null;ob_flush();flush();$I=@get_key_vals(($qh?$qh:$G),$h,false);if($h){echo
script("clearTimeout(timeout);");ob_flush();flush();}return$I;}function
get_token(){$vg=rand(1,1e6);return($vg^$_SESSION["token"]).":$vg";}function
verify_token(){list($mi,$vg)=explode(":",$_POST["token"]);return($vg^$_SESSION["token"])==$mi;}function
lzw_decompress($Ra){$Xb=256;$Sa=8;$lb=array();$Kg=0;$Lg=0;for($t=0;$t<strlen($Ra);$t++){$Kg=($Kg<<8)+ord($Ra[$t]);$Lg+=8;if($Lg>=$Sa){$Lg-=$Sa;$lb[]=$Kg>>$Lg;$Kg&=(1<<$Lg)-1;$Xb++;if($Xb>>$Sa)$Sa++;}}$Wb=range("\0","\xFF");$I="";foreach($lb
as$t=>$kb){$nc=$Wb[$kb];if(!isset($nc))$nc=$jj.$jj[0];$I.=$nc;if($t)$Wb[]=$jj.$nc[0];$jj=$nc;}return$I;}function
on_help($rb,$nh=0){return
script("mixin(qsl('select, input'), {onmouseover: function (event) { helpMouseover.call(this, event, $rb, $nh) }, onmouseout: helpMouseout});","");}function
edit_form($a,$q,$J,$Hi){global$b,$y,$mi,$o;$Nh=$b->tableName(table_status1($a,true));page_header(($Hi?'Edit':'Insert'),$o,array("select"=>array($a,$Nh)),$Nh);if($J===false)echo"<p class='error'>".'No rows.'."\n";echo'<form action="" method="post" enctype="multipart/form-data" id="form">
';if(!$q)echo"<p class='error'>".'You have no privileges to update this table.'."\n";else{echo"<table cellspacing='0' class='layout'>".script("qsl('table').onkeydown = editingKeydown;");foreach($q
as$C=>$p){echo"<tr><th>".$b->fieldName($p);$Qb=$_GET["set"][bracket_escape($C)];if($Qb===null){$Qb=$p["default"];if($p["type"]=="bit"&&preg_match("~^b'([01]*)'\$~",$Qb,$Eg))$Qb=$Eg[1];}$Y=($J!==null?($J[$C]!=""&&$y=="sql"&&preg_match("~enum|set~",$p["type"])?(is_array($J[$C])?array_sum($J[$C]):+$J[$C]):$J[$C]):(!$Hi&&$p["auto_increment"]?"":(isset($_GET["select"])?false:$Qb)));if(!$_POST["save"]&&is_string($Y))$Y=$b->editVal($Y,$p);$s=($_POST["save"]?(string)$_POST["function"][$C]:($Hi&&preg_match('~^CURRENT_TIMESTAMP~i',$p["on_update"])?"now":($Y===false?null:($Y!==null?'':'NULL'))));if(preg_match("~time~",$p["type"])&&preg_match('~^CURRENT_TIMESTAMP~i',$Y)){$Y="";$s="now";}input($p,$Y,$s);echo"\n";}if(!support("table"))echo"<tr>"."<th><input name='field_keys[]'>".script("qsl('input').oninput = fieldChange;")."<td class='function'>".html_select("field_funs[]",$b->editFunctions(array("null"=>isset($_GET["select"]))))."<td><input name='field_vals[]'>"."\n";echo"</table>\n";}echo"<p>\n";if($q){echo"<input type='submit' value='".'Save'."'>\n";if(!isset($_GET["select"])){echo"<input type='submit' name='insert' value='".($Hi?'Save and continue edit':'Save and insert next')."' title='Ctrl+Shift+Enter'>\n",($Hi?script("qsl('input').onclick = function () { return !ajaxForm(this.form, '".'Saving'."', this); };"):"");}}echo($Hi?"<input type='submit' name='delete' value='".'Delete'."'>".confirm()."\n":($_POST||!$q?"":script("focus(qsa('td', qs('#form'))[1].firstChild);")));if(isset($_GET["select"]))hidden_fields(array("check"=>(array)$_POST["check"],"clone"=>$_POST["clone"],"all"=>$_POST["all"]));echo'<input type="hidden" name="referer" value="',h(isset($_POST["referer"])?$_POST["referer"]:$_SERVER["HTTP_REFERER"]),'">
<input type="hidden" name="save" value="1">
<input type="hidden" name="token" value="',$mi,'">
</form>
';}if(isset($_GET["file"])){if($_SERVER["HTTP_IF_MODIFIED_SINCE"]){header("HTTP/1.1 304 Not Modified");exit;}header("Expires: ".gmdate("D, d M Y H:i:s",time()+365*24*60*60)." GMT");header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");header("Cache-Control: immutable");if($_GET["file"]=="favicon.ico"){header("Content-Type: image/x-icon");echo
lzw_decompress("\0\0\0` \0\0\n @\0C\"\0`EQ?tvM'Jdd\\b0\0\"fs5AXPaJ08#RTz`#.cX?-\0Im?.M\0(/(%\0");}elseif($_GET["file"]=="default.css"){header("Content-Type: text/css; charset=utf-8");echo
lzw_decompress("\n1l7B14vb0fsn2Bn:#(b.\rDc)a7Eli1s-4f	i7Fvt2!r0t~U'3MWB'cP:6T\rcAzr_WK\r-VNFS%~c&\\^ru4'7kQh'g\rFB\ryT7SSP1=cI:dm>S8LJt.M	`'C889 Q2#86mjh<9/:J)\0d>!\0Zvno(k7s>!R\"*nS\0@P\"(#[@gozn9k8n1I*=n0c(;!*c>E7DLJ1`8(3M\"39?Ee=~7;CE\rd!)a*5ajo\0#`38\0]e2	mke]AZsStZZ!)BRG+#Jv2(c4<#sB06YL\r=[73<:bxJ=	m_ fltIH3x*6`t6%ULe<\0AQ<P<:#u/:T\\>-xJQH\njL+jz7`\nk'NvX>C-T4*L%Cj>7`;yqr3#} :#n\r^=CAs&8K&*0tS=[:\\]E/O>^]<gZVq x\\\"J\\##Dx65x\rHl br76j|*FAquvyOWeMD.F:R\$-T!DS`8D~A`(emT@O1@X\nLpPmyf)	GSEIxC(s(a?\$`tEn, \$aU>,\$ZkDm,G\0\\i% ngb	y`W _CT\niH%dai7At,JX4n0o9g\nzmM%`'I-7:p3pQrEDb2]PF>e3j\nt!?4ftK;\r!ou?Ph0uIC}'~2vQ8)7DI=y&eas*hjlA(\"\\m^iM)^	|~l#!Yf81RS!62PCl&xd!|9`_OY=G[E-eLCvT )@j-5pSg.G=ZE\$\0KjU\$G'IP~ ;hNG%*RjX[XPf^|T!*N\rU^q1V!Uz,I|77r,7B;+Ap^~W!3PI8]vJfq|,9Wf`\0qAwEFTQG\$0#%By7ri{eQd B4;ks(0=1r)_<;Sr &Y,h,iibA GLz2p(0L	SE	<}_#\\fdaK3Y|V+l@0`;Lhj'Y+QZ-iyvI50O|P]F\02D9n/Q&I^=lqfI= ]xqGRFe7)9*:Bb>az-2.b{4#UL7-v/;5uH&#j`G8 7pYC~:@EUJ;v7v]J'q1Eli/{k<Mpo},d_upu=tn	~Lx{k\rj~P+0uowyu\$\ndmZd8i`=g<*+3j<[\0/PBr``#x+B?#^;Ob\r4\n0\n0\\0>P@2ljO(_<W\[email protected]\nJLDh6B	r\r6n0 Fp-\r\r\0q#q`#E(q}	 4@f|\0``f*``QRvy\r-B y7&@`_I1@`)lx)Qq)1sQeyqw1A 2 *q wg>CBA*~pPO`	C\$2M%RW%RO&2S\rk~/jP\$@_)rw&ORq%*rm)'O'1'R(5(Ir:im,lQ0\0D'%r-=r'2K/X@`:,#*+RY3~E23'-Q*\r`113s;&cq104.A232@7*2f`-Q!E&6%7b6%1y9[7Qu9s7\r;4;!s!c\\e;1<Sq=s52,jS)]mp&Q'<@10\":hRi.J.BQ&\n0	5;jD9-\r\"S1@esEqe&T.*Li3:EH G(rEIJi!4YyJKKt;T.)o)|P;.\nl*j|OlB.h. A\r.882t#oANbN?!OBO,d*");}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");echo
lzw_decompress("f:gCI\n83)781x:\nOg#)r7\n\"`|2gSiH)NS\r\"0@)`(\$s6O!V/=' T4=iS6IOerx9*n3\rvC`2G%Y1fl1\ny*pC\r\$nT3=\\r9O\"	l<\r\\I,s\nAeh+M!q0f`(N{c+wYp33+Ijknqzi#^r3[o;(6#\":cz>C2vCX<Pc*5\n/P97|Fc0!!!\nZ%#CH!r8\$,R2^0@2(88P/\\\$La\\;cHHX\nt8A<sZ*;I3@2<!A8G<j-K({*\ra1N4Tc\"\\!=1^M9O:;j\rXL#H7#T/-p;B \n2!t]ap\0RCvMI,\r\0Hv?kT4u;&+&\rXbu4i882B/4N8AA)522s85pWC@:teh\"#8_cp^I]OH:zd3g(k\\62i7]\rxOnp<pQUn|@#G38bA6267%#\\8\r2c\rk.(	-J; L WnM9Zs]zy^[4-U\0ta62^.`.Cj[% Q\0`dM8\$O0`4\n\0a\rA<@\r!:BA9?h>~6h=-A7X\\\rQ<q'!X2T !D\r,K\"%HqR\rC =<c\n#<5M Eyo\"cJKL2&eRWATw;J\\`)5BqhT3R	'\r+\":.ZM'|et:3%L#f!he+N	_CXG1i-z\$oK@O@T=&0\$	DADSJx9FmlpGT6Rf@a\rsRFgih]f.7+<nhh* SH	P] :a\"2&R)BPH/f {r|0^hCA0@M2B@zUOCpp\\L%yodp37EA\\KXni.Z sGm^tIYJG1RDc6tMih99gqRLMj-TQ6iG_!.hvcN^0w@n|VA3[]	s7GP@ :1b w(i:z\\;APU T^]9`UX+UQ+b*s[xkF*_w.6~bmKsIMK}eHd*mdlQeH2La=sPaM\"ap:<GB\r2Ytx&L}}ANGzaD4t4QvSS\r;U~pB{,Ot;JZC,&Y:Y\"#t:\nh8rnh>>Z`&apY+xUA<?PxWW	i.\r`\$,V]ZrH5f\\-KvZA({3ol.J.\\t2;2\0>c+|*;-0n[t@=cQ\n.zwC&@F'cBS7_*rs?j3@!.@7s]LG@_q&ut\nLET}gGwo(*A-3mktS(dA~x\nk:D+ gh14 \n.dAlYjjJPN+b DjDPLQ`Of@}(6^nB4`e\n	trp!lV'}b*r%|\nr\r#@w-T.Vv8\nmF/p`Y0P\r8Y\r	Q%E/@]\0{@Q\0bR M\r'|%0SDrf/b:%3Hx\0l\0	W%\n8\r\0}D1d#x.jEoHrlb%t4p%4kz2\r`W@%\rJ1X1D6!*{4<Ek.m4\r\n^i !n!2\$(fk>N5\$2T,L  Z@*`^PP%5%tHWonE#f<2@K:o-2\\Wi+f&g&nL'e|nK2rp*.n*+tBg* Q1+)1h^`Q#n*hvB\0\\F\nWr f\$=4\$G4edb:J^!0_%26.FEQdts\"B(`\rcRVX:R*2E*s\$+:bXltb-S>-d=\$S\$27j\"[\"][6SE_>q.\$@z`;43CS*[{DOCJjP:' QE`%r7G+hW4E*#TuFj\neD^sr.Rkz@@D`CV!C\0)3<Q4@3SPZB5FL~G5:5\$X}fI3S8\0Xtd<\nbtN Q;\rHP\0&\n\$V\r:\0]V5gVD`N1:SS4Q4N5u5`x	<5_FH}7)SV#|< \\-z2\0#WJU6kv#\rUi_^UVJ|Y.\0u,_UQD#ZJuXt_&JO,Du`N\r5`}ZQM^mPG[abNre\n%4o_(^q@Y6t;I\nGSM3^SAYHhB5fN?NjWUJYke\"\\B10 en*<O`SL\n.g5Zj\0R\$hn[\\r,4cPpq@Rrw>wCKt}5_uvh`/\$J)R2Du73d\r;wHI_\"4r+&0>_-eqeDVnfh\"ZZW6\\Lke&~i\$Mri*\0.Q,8\r\$KY ioe%t2\0J~/I/.en~x!8|fh-H&/o.K ^jt>('L\rHsK1e\0\$&3\0in3 o69j1(b.vC8:wi\"^wQzo~/`Y2DV/k87ZH]2k2rh=T]O&\0M\0[88&LVmvjF\\	&sQ \\\"b	\rBsIw	YN 7C/*\n\nH[*ATEVP.UZ(tz/}\n2yS,#3i~W@yCC\nKT1\"@|zC\$_CZjzHBLV,KOP@X;DWZWa\0CG8R 	\nPA&,pfV|@Nb\$[IZ@Zd\\\"|+tzo\$\0[yEbhU1,r\$o8DFV&5h}N&efY:^zVPu	WZ\"r:hwh#1OKhq`v|:wDj(W?;|Z%%r@[B&#:)Y6&	@	I! 2MO;W)CFZp!a*FbI#9S/SA`zL*8+N-M-kdLiJJnb>,VSP8>w\"E.Rz`u_E\\3Ps]goVS\n	*\r7)mPWUfik\r('W`Bd/h*AlM_\nOT5&A2`\\RE\"__.7M6d;<?)(;}K[Z?yI 1pbu\0{\risQQY2\r0\0X\"@quMbuJ6NG^wF/t#Pp!7!^VM!(8=\0@80NSQ_TqSz\"&h\0R.\0hZfxF9Q(b=D&xs=Xbu@owd5P1P>kHD6/q37TK~54	t#M\rctxgTX\r2\$<0y}*Cbi^L7	box71 bXS`O0)\"/= lQp-!{a9bAg2,1zfkjh/o(.4\rTz&nw7 X!@,<	`\"@:7CX\\	 \$1H\n=O5&v*(	tH#\n_X/8k~+tO&<v_Yh.MeHxpIa0M\nh`r'Bhn8q!	eu]^TWd9{H,8La,!\0;B##`)	aEe/MP	la`	s<(D\n9{06;A85!	Z[T hVU@n`Vph(Rb4VRp\$D3O\$aQ0xbH`L8ioC#6x)XH!`B%wo\nxhHr cmJHLUe1l`(\$\"hJrvTP1uHA\0H2@(U\"Q@qg]l\"%*\0Wj[ e4PN5\$H\rIP'@:\0\"#t^D0>(h 'F,sZJAn#hX.qYob2?jBI0a(`ZCrHSQ\\W	XZ|E@TqDD:_yB~xP--e_u|2(G,-rRKxdhHA|w|P!}T<,1vg*z^_pi {G	LaJJCT%N1I:V@Z%*|@NNxLLzd \$8b#!2=cQD@\0Jdzp\$A|ya4)s%!BIQ]dG6&E\$H\$Rj\0Gi\$9Y@06X1&L&2	E^a8j#DEu\$uT*R#&P2eK'E%YWJ	O`^l+`	R1u&FZ[)]JZE`FN.\r= \0O~M,FATbhz0`-bl\nZ'*In\$[,8Dn`I0uhfAEy<!xdA1aUt\$'p\"jP6XR)ETR\[email protected]\\\\(\rkg`j}\$`aJsLR3TX}8%H@Z\0^U |6ART/E@\0LPR0\0-dI+,Wv6N4\"mNU9P6>r /	tRvAp4R3LX\0S1LO0<|S(+J9`1bsS^8	e3X9Qw*W2MZaGK0Y\rfiH(/[\"YW7ZdJ\"\07DLE.xCvOQ,_B{3dz0uILZc\"J%Rag^%z5=S)WZxQZ@&;u.@&F(:F{S!M8%B#iC*S\$@oC9TgsTX\0B)PD'CucJpiB`D'\0HY*,XfTlziPp!H#:HuP2\0BHrIC	Jr2	 o\neHJuJS\0Vr =!*Lv+YT\0002:(hV#MeyV@[^C9/\0{NDf?\$iJ*qM&VhB^vcSQ1<\nv2t18QA~S*QzuS-	/bjDl)T|<+6<<0L%h,Z.WId1HdN`3.'KP>U?I&P![>YgaD\$ )0IA2-:gk iFzj\\\"\"~jWXPuRJY:nC|(E9dLH)`X'>\0eknb=*fBl&|SbB,0ayTr=jnzL@GE'\nHP@<@gq~@p>\$*@\"G>0^\"tK	IuczXze\"D:4~#&:\01'Ng-@t))CD(JNWHuui	Zz,kRTeUvrvbnq;>\n\0r6CnaTq\0NeI.z}Ua&Ll#m;!\"~@]\n\0vw:h]W6[.D~\$!{Y`bpZQ1\rhp,L``K@\0b->\0gXMSx\\vw2f8@\n.x&,	J~*.q	iaN=pr;7E\\.XFq[@r\rSm/&renFda-:2mm+xD_8'5D/P/MKXy\n)\nI?v	U!(w-\$o(J*lPiQ6E\n-TV ->k;k@cjo8V5/#J<4	=(LT H8tR_&CB/.*1aHZ8;%_\0^-xkwWW.i\n\nHhgX^L&l@N\nP>JD(65R`SX]l.s6PhP5%`*.!?X24XB\r;4)6m4SSY&j;~*9D]\\\0i\0EwrNzQI=p{g[A,=P7\0?i)\$H?@e]d5 zJ`^Hnq>K(R}\\#un@H6FgV[I+0 \0-\nphEsAA-|IaD=>}|<)R/U?P	BT3B7\0?d5\0YL	r=@ cBbrhBH\$ /NME`4K{LJD&:	aKo%G-q}|h	ep`],I]Bg4xz\\b\"Hn	iliuw#+|KYv\"`C\\32\\\\\\C1m#/G=:	4KH\\*ct#v-Zdo52g(z28?)LynQRmMn]h&\$a\nr3]gu\"6*@1G\\K\\,pwr6T\\8b~	bFH^@|k_MJB4%mn(:H#nhgT6A.kb``bwf.G][@[HP0:6 ]\\Md\r2Yrd,udI}X\\qA=J.di7UnmfDYHR<9X'LuVB~lMsJa(\\v8q:.) JRg<QD\0\rHsSGVg9},HZ}4hGaF\$[nzl60LTg4vgz9_\\5'78c{E#6K6nswbjj8C8F@G0BCIS]a@.`Qj\"\0=k)`rv|Gf;p-M*f%BrBRa:4P5VS6>_yQ.'&\rM-~BSxGNBD%XqnxS:c\"'k0Z[^%\\w,_w7H+:y=	.S;b;\r?i>U> lS|5*k%@\n%7wNWbbvp\$BRA%jY:el}`G\$hwE\n	(\"P\nTl]B|1:?)]>gj?H;F-Z6QdxgKsQ)jnWBs^G>/Wl\$^}\0v5AE\rJy{0P4-3#zaTy^\nQ9.M}&j/29/\0\\>Rzf1	!)r|\rIw]T,e w[O]HsA(@16bcYp\0U6yp=];G(xSH1wb\0{?`eY,?NY5Zo\$\$h'8LfF:k1)@_ Pvp\$o:fezuTZ@8b\\4J1#S/w#X_Aw8K:OQx=J4E;zlJ!.7RTWNe\$_CjRQyRa|2x0>1jDLMR7\\lRc\riwR,;sQA!)|Bpo\$]Sx:wPEO%b_C\0-8Fyjrr\\{_Z.D/L8Z @Ip\0(\$g(sw2C`AD/7t3djux(_\$\"KI99#nTs`9B]/vVs!-3\$OS0^\\m9\n8iw}c{F-]m[3\$^98L6V\n&.h2]E{V2BAhX?8:DS5kZ\rY@e\\%7?`( @:pvuq~Gfh`Wq^(-/oqjkH&e\0`a|}X^dHDu!G\\,q4^xxFo4<5&6tPA|k\r9A&JU&!	[[hhn0}vw,a{>\0*\0O2%,y+b:aSLX@n5>xC~\$0\\.J,W4F_c<ai}yOo7>r\"vas\"-yQYB`-\0tsUS(~\n+DQt!\0(YTCXz@yQQ|EZ)8PS_Jt*;E5b~AfQ+3@>3Qxj7)}'=\\1]Hsl@]+S{O\"boib\0?r\"vjeGCE~LT&/~V./~vx|?Po>]?y{2;2k*|^+jZ G~__|)02_@Mm4}\0BFx	:_>=J-@W|_CUC\"~\nu.X\\RzX\\(MD|r#/QU_JwB	OI=nx0l+jc-J1&X[tao*	])|Q5@T d08l/* @V|!otfiLp'b(7&2.a<s/hxH=Vg)	\$h\0\$4mNPmAH%hmc\"\n#cN\r= 5a	@T14\"*\"YG&\nLn\rqIo:a\r\rMfD\0\0h\r^?B\$8#aT`bPPA8jEn/m\"!c3ae_\0jvEEt61s\0N~\"@NO0\"(0G%`9?BOaxdCX\0=T\r*aX!C A<{r*");}elseif($_GET["file"]=="jush.js"){header("Content-Type: text/javascript; charset=utf-8");echo
lzw_decompress("v0F==FS	_6Mr:ECIo:CXc\rJ(:=Ea28x?'iSANNxsNBVl0S	Ul(D|P>EyHch-3Eb bpEp9.~\n?Kbiw|`d.x8EN!23\rYy6GFmY8o7\n\r0\0Dbc!Q7d8~N)E`Ns`S)O/<x9o3n2!r:;+9C\n<`b\\?`4\r#`<BeB#N \r.D`j4par>8\$c1cc{n7ANRLi\r1!(j+62X8+.\r!xh'6S\0RO\n1(W07q:NE:68n+5_(s\r/m6P@EQ9\nV-\".:J8weq|X]Y XezW 7Z1hQfuj4Z{p\\AUJ<k@@}&L7UwuYh2@u P7Ah3XEZ]l@Mplv) HWy>Y-Y/hC[*F#~!`\r#0PCf\\^%B<\\f&/OL\\jFjZ1\\:>NXaFAfh{\"s\n64?8^p\"\\e(PNq[gr&}PhW*r_sPh\nom#.\0@pdW \$QTl0 HdH))PHgUBe\rt:\0)\"t,[(DO\nR8!lAV4hSq<@}gK]]=90'wA<a~WD|A2XU2y=p)\0P	sn3rf\0FvGI@%+_I`\r.NKI[SJaUfSzM%\"Q|9Bcaq\08#<a:z1Uf>Zle5#U@iUGn%s;gxLpP?BQ\\bQ=7:Q\r:t:y( \nd)\nX;CaA\rPGH!@9\n\nAl~HV\nsbBr3\rP%\r}b/\$5PC\"wB_UgAt^QUjBvh4)+)<j^<L4U*Bg*n-	9O\$zyM3\\9.oE(i7	t-&\nj!\ryyD1g]yR7\"~)TZ0E9MYZtXe!f@{yl	8;R{8e+UL'F18PE5-	_!7[2J;HR8p@0,psK0\r4\$sJ4DZI'\$cLRMpY&iz3GzJ%P-[/xT{pzCv:V'\\KJaM&\"eo^Q+h^iT1ORl,5[\$)jLU`S`Z^|r=nTU	1Hykt+\0vD\r	<jGt*3%kYT*|\"ClhE(\r8r{0D_.6;rBjO'>\$`^69#4Xmh8:c0;/;\\'(t'+^]Nv#,vOi><SA\\\\!3*tl`u\0p'7P9bs{v{7\"{ra(^Eg/U9g/`\nL\n)(Aa\" 	&P@O\n0(M&FJ'! 0<H*|*OZm*n/b/.o\0dn)i:RP2m\0/vOXF\"000bgj\$n0}	@=M0nP/pot.g\0)o\n0\rFbio}\n	NQ'xFaJL\r\r0'd	oep4Dq(~ \rEprQVFHlKjN&j!H`_bh\r1n!z\\\r`V_k\"\\'V\0`ACV`\r%\rk@NB !\n\0Z6\$d,%%laH\n#S\$!\$@2I\$r{!J2HZM\\hb,'||cj~gr`\$+A1E <L\$Y%-FDdL\n@bVf;2_(L<%@,\"dNer\0`Z4'ld9-#`j6vNf@&B\$(Z&278I P\rk\\2`\rdLb@E2`P( B'0&{:dB1^*\r\0c<K|5sZ`O35=@5C>@W*	=\0N<g6s67Sm7u?	{<&L.3~D\rx),rin/O\0o{0k]3>m1\0I@9T34+@eGFMC\rE3Etm!#1D @H(n <g,V`R]@3Cr7s~GIi@\0v5\rV'P\r\$<b%(DdPWbfO x\0} lb&vj4LS5&dsF M4\".HM01uL\"/J`{xYu*\"U.I53Q3QJg5s&juGQMTmGBtl-c*\rZ7*hs/RUVBNiLk.trYi-S3\\TOM^G>ZQj\"iMsSS\$Ib	fu:SB|iY8	v#D4`.^HM_uUz`ZJ	e@Cea\"mb6JRT?XMZpQvjjV{C\r7T 5{P]\r?QAA2V)Ji-N99fl Jm;u@<FejI<+CW@Zl1<2iF7`KG~L&+NYtWHw	ls'gq+Lzbiz.zW zdW(y)vE4,\0\"d\$B{!)1U5bp#}m=@w	P\0\r`O|	YJEOu_\n`F`}M.#1f*  zuc xf8kZRs2-Z2+(sUcDX!u&-vP\0'LX Lo	>\r@P\rxFE%=5N?7Nw`hX98 qzd%6t/Ll,KaN~,'M\rf9w!xx[G8;xA-I&5\$D\$%x]&o-39Lzy6;uzZ 8_x\0D?X7yOY.#38eQ=*Gwm Y]YOYF)z#\$e)/z?z;^FZg`^e#?eM3u0>\"?@Xv\"*\r6v~OV~&^g'f6:-Z~O6;zx;&!+{9Md \r,9W:\r@+]-[g[s[iiqyx+|7{7|w}EWWk|Jxmq xwyj#e( {yM@Y(g-J(@;y#SYp@%so9;+	;ZN kVu[x|qON?	`u6||X|Ox!:Y]c\rh9n8'\rS.1USX+z]?C\r\\\$`)U||x'<e|LMy(lO]{FD}yu,XL\\x;UWtv\\OxWJ9R5WiMi[Kf(\0d\rM7;6KI\rxv\rV3.R|^2^0\$Q[D>1'^X~t1\"6L+AeI~@pM>m<SK-HT76SMfg=GPP\r>2Sb\$C[()%Q#G`uGwp\rkKezhjzi(rOT=7~4\"ef~dVZU-b'VJZ7)T8.<RM\$'by\n5_wU`eiJbguS?`+ Mg7`\0_-_?F\0X[J8&~D#{P4\"\0@\0F ?*^w:u3xK^wy[(#/zr_g?\0?1wMR&M?StT]G:I)B v1<t6:W{x:=:!!\0xq&0}z\"]ozjw6JP[\\ }`S\0qHM/7BP]FT8S5/I\r\n O0aQ\n>2j;=dA=pVL)X\n`e\$TQJlJyI	:BbPZnU;>_\n	`uMmLwB\0\\b8M[z&1\0	\rT+\\3Plb4-)%Wd#\nrMX\"(Ei11(b`@fSjDbf}rDR1bAIy\"WvgCIJ8z\"P\\i\\m~ZRv1ZB5Ii@x-uM\njKUh\$oJ!L\"#p7\0 P\0D\$	GK4e\$\nG?3EAJF4Ip\0F4<f@ %q<kw	LOp\0x(	G>@9\0TGB7-G:<Q#1&tz0*J='J>8q	OXFQ,\"9p*66A',yIFRT\"HR!j#kyFezG\0paJ`Ci@T|\nIxK\"*Tk\$caAh!\"E\0OdSx\0T	\0!F\nU|#S&		IvL\"\$hEAN\$%%/\nP1{) <L-R16<@O*\0J@q#@0\$t|]`A]PCp\\p\07@9bmroC+]Jrf\r)d^hI\\. g>8'HfrJ[ro.v##yR+y^F\0]!++_,\0<@M-2WR,ce2*@\0P ca0\\PO`I_2Qs\$w=:z\0)`h\nJ@@\0 6qT4J%N-m.%*cnN6\"\rfApMI7\0M>lO4S	7c\"\06psy.	RKPAo1FtIb*<@7p,0N:Nm,xO%!vgz(MI	~yh\0U:OZyA8<2us~lEO00]'>:;/w'~3G~c.	vT\0ct';P\$\$-se|!@dObwc'@`P\"x0O5/|U{:bR\"0k`BD\nkPc4^ p6S`\$f;7?lsgD'4Xja	AE%	86b:qr\r]C8cF\n'f_9%(*~iS@(85T[J4Il=Q\$dh@D	-!_]Hk6:\\M-\rFJ>\n.qeG5QZ' 0zP#rt<QT3D\\pOE%)77Wt[@\$F)5qG0-Wv`*)Rr=9qE*K\$g	A!PjBT:K!H R0?6yA)B@:Q8B+J5U]`:*%Ip9`KcQQ.BLtbyJET7AmKu:Sji 5.q%LiFTriKz55T%UUIY\"\nSmxChNZUZ( B\$YVu@|	\$\0\0oZw2x2k\$*I6InI,QU4\n).QaI]Lh\"f>:Z>L`n7VLZueXBBZ`;J]S8f \n#\$jM(aG+A!xL/\0)	C\nW@4 RZ=8`8~hP \r	D-FyX+fQSj+X|[email protected]:a`d\0&YY0S-%;/TBSP%f@F(*q +[Z:QY\0JUY/pkz,jWeJFVBI\rpFN*3k0D{`qBqeDcVEnFGE>j0ga|Sh7u\$;a7&R[WX(q#Pc8!HVXjZQ,DUaQX0GblBt9-oZLpx6&Mys\"RIWU`c}l<|~w\"vI%r+R\n\\][6&aj(TC' '%de,\nFCe9CN-6UeCXV+R+3BJT2]\0Pat29(i#a1\"S:oF)kf\0,[email protected]}KmZXnZ{G-ZQ}6_\n@7` C\0]_ }GWW: fCYk+b2S,	9\0+WZ!e2k.Oc(v8DeG`L,d\"CB-(pp=!k}(Bkr_R08a%L	\0b@\"r,0TrV>Q\"rP&3bP-xuW~\"*Nh%7KY^ACp\0..`c+GJHEl@|I#AcD|+<[c2+*WS<rg}>i!`f8(cQ=f\n2ch4+q8\naRB|Rm\\qgX0X`nFO pHCjdfEuDVbJ:\\!m?,TIaaT.L],J??FMct!aRFG!Arr-pX\rC^7&R\0f*A\nHyY=l<A_	+tA\0B<Ay(fy1cO;p`4M*f 5fvy {?:y^cu'8\0?g 8B&p9O\"zrs0B!u3f{\0:\n@\0p6v.;b:J>-BhkR`-awxEjr8\0\\\\Uhm (mH3Sq\0NVhHy	5Me\\g\nIP:Sj<x&L;nfcq\$f&li0%yt/gUd\0e:hZ	^@1m#Nw@OzG\$m66}X'Ii\\QY4k-.:yzH]xG3M\0@z76-DO34\0t\"\"vC\"JfRku3M~5V j/3@gG}DBNq=]\$I3x=_jXfk(C]^jMFCzV=]&\rA<	6`jk7:g4YZqftu|hZ6i0?{-7_:tck`Y&IlP`: j{h=f	[byoBRSB6^@'41UDq}N(X6j}c{@8,	PFCB\$mvP\"LCS]ElUfwh{o()\0@*a1G (D4-cP8N|RVMn8G`e}!}p@_nCt9\0]us~r#Cnp;%>wunw.[hT{	JiJ6O=EImV'@&{;op;^6@2lNMr_` ( y677/pe>|	=]oc&xNmoGN	pxy\\3'I`rG]7\\749]^p{<Zq4u|Qpi\$@ox_<9pBU\"\0005 iCp\ni@[4j6bP\0&F2~U&}	Da<zxk=r3(l_FeF41K	\\ld	1H\rp!%bGXf'\0	'6ps_\$?0\0~p(H\n1W:9`:hBgBkptEBI@<%` yd\\Y@DP?|+!W.:Lev,>qA:bY@8d>r/)B4(`|:t!?<@/SP\0>\\ |3:Vuwx(4ZjD^L'C['j[E u{KZ[s6S1z%1cB4B\n3M`0;3.&?!YAI,)lW['ITj>FSBPcauNH	LS0Y`\"il\rB/%PNG0JX\n?a!3@MF&,\"lb:KJ\r`k_bA1I,;B,:Y%J#v'{	wx:\ni}ceN`!w\0BRU#S!<`&v<&qO+sfL9QBb_+*Su>%08@l?L1po.C&Bqhz\0`1_9\"!\$~~-.*3r?ds\0>z\n\001~J|Sk7g\0KdaPg%wDzm)j`kQ^1+>/wbGwOk_'-CJ7&E\0L\r>!q7o`9O`+!}P~ENcQ)##Jz_u{K%\0=OXC>\n|w?FaUb	NYh/)G2K|y/\0Z{PYG;?Z}T!0=mNf\"%4a\"!\0}[bU}m2/t%#.seBp&}[7<aK8P\0g?,\0r,>W/[qk~C4G:XGr\0L%VFLUcHybP'#	\0`99~_0q5K-E0bt`lmb; ,='S.bSCcAR,X@'8Z0&Xnc<<3\0(+*3@&\r+@h, \$O\0t+>b\r><]#%;Ns*c0-@L >Yp#-f0a,>`P:9oovR)e\0\\\nr{X:A*.D7#,N\rEhQK2z>P@	T<=:XGJ<GAf&A^p`{0`:);U !e\0cp\r:(@%2	S\$Y3hC:O#L/k,Koo7BD0{jj&X2{}Rxv9A0;0-5/< N8E	+Pd;*n&8/jX\r>	PW>KOV/U\n<\0\nIk@[#?%.\0001\0k`1T lp< .>5\0	O>k@Bn<\"i%>z3P!\r\"\r >adU?3Pj3>;>t62[M\r>\0PBOe*Rny; 8\0o0i32@?x[Law\nsAx\r[a6clc=X0z/>+W[o2)e2HQPDYzG4#YDp)	Hp&4*@/:	T	aH5h.A>`;.Ya	t/ =3BnhD?(\n!Bs\0D&DJ)\0jQyhDh(K/!>h,=tJ+S,\"MN1[;+#<IZP)LJDP1\$Q>dOv#/mh8881N:Z0ZT BCq3%@\0\"XD	3\0!\\8#hvibT!dV\\2S\nA+pxiD((<*+ETBSCT eA\"|uv8T\0002@8D^oo|NJ8[3JzWL\0\08:y,6&@ Eh;!f.B;:[Z3nAqP4,Xc8^`l.ShO+%P#\n?IBeO\\]6#(!c)N?EB##D DdoPA\0:n`  Q>!\r6\0V%cbHF)m&\0B2I5#]D>3<\n:ML9C0\0(H\nM\"GR\n@`[\ni*\0)u)Hp\0N	\"N:9q.\r!J{,'4BlqXc4N15Wm3\nF`'x&>z>N\$4?(\n>	P!CqpqGLqqGyH.^\0z\$AT9FsD{acc_Gz) }QhHB<y!L!\\'H(-\"in]\\!`MH,g*Kf*\0>662hJ7{nq8H#cH#\r:78ZZrD`rG\0l\nIi\0<\0Lg~E\$P\$@PT03HGHlQ%*\"N?%	\nCrWC\$p%uR`%R\$<`Ifx\$/\$\$O(\0\0RY*/	\rC9&hh=I'\$RRI'\\a=Eu'wI'TK9%d!j&v\\=<,E`Y\\*b0>r,dpd0DD `,T 1% P/\rb(JT0``Jt((dh+ <+H%i#` 'B>tJZ\\`<J+hR8hR,J]gI0\n%J*YJwD&DRK\"1Q AJKC,mV-KI*r\0L\"Kb(J:qKrd-)#[A@.[4.1J.u#Jg\0<&K+	M?/d%'/2Y>\$l\0+}-t*R\$K.JH2\rB(P6\"nf\0# %\$[\nnoLJe'<1KyY1s0&zLf#/%y-3-KL0[,,0(.D@2L+.|2(L*S:\03G3lal@L3z4%L3!033=L4|+\"47,\$SPM\\?JY+(a=K4C<=\$,UJ]5hW&tI%5\\M38g5HN?W1H^Y.N3M4`i/P7dM>d/LR=K60>I\0[\0\r2Z@1279FG+\r)hQtL}8\$BeC#r*H-H/6\$RC9!7k/P0Xr53D<TqKnH<F:1SLr%(u)Xr1nJIS\$\$.9I3 Ll9CN#\$/s9@6tN9N:7:DM)<#M}+2NO&JNy*[;O\"mM<c8K,N=07sJE=TO<J=D:C<=KL3LT3S,.q-s7>?7O;`OA9\$O;`9nIAxpE=O<52O?d`NiO>3P	?OmSM=(dA9\0#@9D&?i9\n/AASPo?kuN5~46=*@(N\0\\dGp#>0\$24z )`W+\080z\"T0:\0\ne \$rM=r\nNPCmt80 #J=&3\0*B6\"#>	(Q\n81C\rt2EC\n`(x?j8N\0[QN>'\0x	c\n3Ch`&\08\0\nO`/A`#XcD tR\n>dBDLDt4jpGAoQoG8,-sK#);E5TQG4Ao\0>tMD8yRG@'PC	<PC\"K\0x~\0ei9v))Gb6H\r48@M:FtQ!H{R} URpO\0It8[D4FD#+D'M>RgIQJU)EmTZE'iEqFzA>)TQ3H#TLqIjNT&ChX\nTK\00005JH\0FE@'FphS5F\"oe%aoS E) DUQFmMe(tn U1~>\$(hGy`\0	G35Sp(PG\$#	N\nV\$]P=\"R?Lzt1L\$\0G~,KN=GMNS)O]:S}81RGe@C\0OPSN1T!P@SSG`\n:Pj7R @3\n DL	\0Q5CPSMPv4?h	hTD0>&ITxO?@UR8@%KNKRyEE# @%LQQ?N5\0R\0TFRS!oTEC(\0?3iSS@UQeM	K\n4PCeS\0NCPO!\"RTSNU5OU>UiIPU#UnKPUYT*CU/\0+):ReA\$\0xWD3`U5IHUY:P	e\0MJiQ>@TC{u?^v\0WR]U}C1-5+U?\rW<?5JU-SXL \\t?sMbVtT>MU+	Ec9Nm\rRC8SX'RXjCI#G|!QGhtQ )<Y*RmX0MOQYhduZ(Ao#NlyNVZ9IMVZuOTTESe\nXSQER[MFVO=/>gTVoUTZN*T\\*S-pSVqM(Q=\\-UUUVCZ\nuV\$?M@UWJ\r\rU\\'UW]WW8N'#h=oCF(:9YuV-U9]C:U\\\nqW(TT?5P\$ R3C}`>\0E]#R	#R)W:`#G)4R;ViD%8)^Q#h	HX	\$Nx#i xXR'9`m\\\nEQ`bu@NdT#YYGV]j5#?Lxt/##OPQ6^ M\\R5tp*XV\"WD	oRALm\rdGN	6p\$PE5Tx\n+C[V8UDu}F\$.Q-;4NX\n.Xb\0b)#NG4KZS^M8d\"C>dHe\nY8. FDW1cZ6QKH@*\0^\\QF4U3Y|=E?-47YPmhYw_\rVeMe(0F\r!PUIu7QC?0gu\rqY-Q=g\0\0M#US5Ztae^\$>ArV_\r;tHWZ@HhzD\0S2J HIO'eg6[R<? /KM\n>HZ!iTX6iC !g G }Q64>w!C}VB>UQj8cUT'<>HC]V7jj3v`023x@Uk\n:Si5#Y-wM?cMQGQb`\0@\0M)ZrKXWllTMD\r4QsS40sQmYhdC`{VgE\nXk',4^6#<4NXnM):OM_6d[\"KUn?lx\0&\0R56T~>?Jn Z/i6glUF}.JLCTbM4cLTjSD}JtZ:Ld:Ez>V\$2>[p6R9uW.?1RHuR?58DupcZ?r Eaf}5wYWwT[Sp7'_aEk\"[/i#\$;mfWOF\r%\$ju-t#<!\n:KEA]\nUQKE#X5[>`/DVEp)I%qnx):le[e\\eV[j7 -+GWEwtWkE~uQ/m#W`yuDA'\rOD )ZM^u-|v8]ghLW\06X=YdQ79r <DB`c9`D=wxI%,j[O ``|.	AO	@@ 0h2\\M{e9^>@7\0W\$,@w^fm,\0yD,^X.72f;6\n^zCmzn^&LFF,[eaXy9h!:z9cQ9b !Gw_Wg9S+tpt\nm+_	\\k5]4_h9 N]%|7];|X9|G[\0}UMCI:qOVa\0\rR6\0@HP+rSWp7I~p/H^E-%&.+J;:!N	~/W!BL+\$q=+`/e\\xpElpSJS6_(b\\O&\\59\09nD{\$Kv2	d]vC?tf|W:p&Ln{;GR9T.yI8\rl 	Tn3T.93ZsG:	0z.]Q?gT%x.n<-8B,BrgQ`2:{gsgZ <w{bU9	`5`4\0BxMp8qnah@-(>S|038h\0CzLQ@\n?`A>2,N&xl8sah1|BDxB#VV`Wa'@	X_?\n  _. Pr2bUarI~S\0\"2>b;vPh{[7a`\0jo~v|fv4[\${P\rvBKGbpO52\0jL)mVejBB.'R{CV'` %\$O\0`4 N>;4/*\\5!`X*%N3SAM,1\\ca @B/0`v2`hDJO\$@p!9!\n17pB,>8F4f:733T8=+~n\\e<brF CN:c:l<\r\\3>6ONn!;@tw^FL;,^a\ra\"':vJe4;_d\r4\r:S2[cXPl\$iwd#Bb`:~ <\02RP\rJ8Dt@E\0\r67Y\"\r3.+z3;_vLwJ94IJa,A;s?N\nR!Oms_-zwz7zMo\0a48PfY?ieBS1\0jDTeKUYS?66R	c6Ry[c5]BR_eA)&[XYRW6VYaeUfYewUbwE;z^W9\0<e9Sda	_-L8QTH[!<p\0Py5|#P	9v2|fao,j8\$A@kabcf4!4cr,;b=;\0cdXbxaRx0Ah+wxN[BpwT8T%Ml2}s.kY0\$/fU=sgKM ?`4c.!&gf/f1=V AE<#f\n)Np`.\"\"AqX:a8fVsGr:VcgVlg=`WygUeT=x 0 M@%bwfO*0|t%PpgK?p@J<B#`192g!3~nlfVh.aC?-168>Aa\ry0iJ}z:\r)S@h@YmCEgcy<h@@zh<W`:zO\rWV08f7(Gy`St#f#C(9d8T:0 q79phAg6.7Frb jA5a1hZCh:%gUD90~vTi;VvSw\r?fniYa39,\nr,/,@.:Y>&F)}biOi:dAnc=L9Oh{ 8hY.\r1QU	CheO+2oNzp(]hZ|OczD;T\0j\08#>=bZ8Fj;Tw)N`B{z\rc|dTGi/!i0'`Z:CH(8`V\0WzgG-[	iN\rqno	fEJapb}6=o,tY+EC\[email protected][zqX6:FG#\$@&abhE:`S11g12uhY_:Bdc*\0FYF:n=H*ZMhk/z]h@1\0ZK^+,vfs>O|s\05XFnAr]|Ii4 C h@c6smOgXV26g?~Yscl \\R\0cA+1\n(^368cz:=z( ;sF@`;,>yT&dL%-CHL8\rbMj]4Ym9ZBP}<X+g^M + B_FdXlw~\r\":qA1X3Eh4ZZ&1~!Nfo\nMeXIG@V*X;Y5{V\nTz\rF3}mp1[>tew@Vz#2	i{9pgh+[elUAi1!omm*K}!{mef`mCz=n:}g TmLu1F}=8ZOmFFMfOO/Voqjn!+ZI.9!nG\\3a~O+::K@\n@Hph\\BdmfvCP\" .nW&nHY+\rzi>MfqQc[H+o*1'#EwD_X)>s-~\rT=- ym{hjM)^'@V+i;FD[b!B	:MPoCvAE?CIiY#pP\$kJq.07xlsC|bo2X>M\rl&:2~cQod-URoYnM;n#\0PfPo(Cv<[of;[Y.oUppU.B!'\0<T:1<nFIV0RO8w,aF[YO/\0oxQ?:`h@:/Mmx:c1v;^@@\n{;B8 g\\*gyC)E^Oh	Au>@DY`o<>pq,Y1Q/qg\0+\0D? k:\$6~I=@!vzO+9iag?0Gnq]{,FO <_>f+,	&yO:UL\nI:2-;_|%!f\$Xr\"Kni\$8#gt-r@L@S<rN\nD/rLdQke\n=4)BZ-|HbHk*	Q!'G Ybt!(n,POfq+XY\"b F6r f\"!N^rB_(\"K_-<*Q/,)H\0r\"z2(t.F>#3268shI1Sn20-42As(4\0#rK'G'7&\n>xJGO8,08\0W9I?:3n\r-w:;3!;ZRM+>0/=R'148m%}9;=nQ=hhLGkW\r	%4sJ3s4@U%\$N;?4N2|Z3h\035^xi2d\r|Mbh|#v` \0\$\r2h#?I\n+o-?6`.\$KY%J?cRN#K:KEL>:@jPn_t&slm';6HU5#Q7UWYU bNW_;TC[<>WCU6X#`MI:t	u#`fu\$tX`f<;bgh97S58#^-\0R*'(qZXQFUvW GWTW~^WJ=_bmbV\\l/MTmTOXu=_ITvvua\rL_qR/]]msu=H=ug o\\UgM	XVU%h53U\\=QMvgmuehbMGCeO5O5Yi=e	GTURvOa*ivWXJ5<bu]<\$u3v#'euR5mvD5.vW=U_(\\V_<Sn)1M%QhZTf5E'WvUmiU]aWUdRv-YUZuUVUiRV[ZMU\\=v{XwQhuHvgqw!oqtU{TGq{#^G_ubQi9Qb>NUdk5hPmu[\0_[Y-r(CrMeJ!h?QrX3 x#x<{u5~-uYyQ\r-\0uuupU)P\r<uS0w-i!Bd]EvlmQ6kJwEDURev:XcNW}`-tH#ebu	~B7 ?	OPCWSEV>U7mz=1+mI,>X7].*	^N./\")	s|l}!5npjh}mEzHaO0d=A|wuvGx#bcSo-tOm`C^M@hn\$k``HD^PE[]rRm=.>Ayi \"	o-,.\nq+fXd*K' %a9pKLM!,zX#VuH%!63Jryq_u	W|@3b17|~wA7	9cS&{%VxkZOwUr?N |C# /9ftEwCa^\0O<W{Y=engyf0h@S\0:C^VgpE9:853@j_[+x^[email protected]^IpU9S\$\r4\0O)L[p?.PECSI1nm{?PWA;D;SaKf%?X+B>9GjczA:an0bJ{o!3!'K}\\3W5xL;2na;X]ox{5jXvqEE{4{	\n>aL'{\n>JY\rOt-O49F;GIF1oOa{w0;loJTb\rw2J=D#n:yS^,.?(I\$3s4MaCRGIn<zyXN?.=D\r\n\ro\nCl%YG}#V%(3r};Gn[{_<m4[	Iq?0cVnmsnM\"Nj1w?@\$1>^\\{n\\7ic1hoo?j<GxlSr}|\"}/?stI&^1et,*'F=/Fk,95rVo9/F_~*^{I_^nN~AdUwqYT2G?&:y%XJCd	W~G!J}B-;h*RE~.~SAqDVx='E(^~o7~M[Q(ynP>[WX{qa.&N3]HY[&8?3#Be6@[G\r+}_7|N4~(z~%?[1S]xkKxO^ArZ+*WkwD(R:\0'm!O\nu.[ P!}m 1pu,TL 	0}&P\n=D=\rA/o@2t6DK\0q7lB(;[kr\r;#l\r<}zb+O[WrX`Z Pm'FnSp-\0005`dP;n\05fPEJw .?;N,;-[7ei-d<[~6k:&.7]\0/59 @eT:3ds55f\0PHB8JLS\0vI\07Dma3e?B\$.Ef@nbGbq3|PaX7Tg>.p5AH3S,@#&w3m[I^J1?gT#S=__	Vq/C|D g> 6\r7}qJGB^\\g&%[2Ix6\03]3{@RUMv<1szuP5F:i|`qV| \nk}'|gd!8 <,P7m||IA]BB F0X	D`WqmOL	.(p\"!\0AV7kM\$N0\\\"f\0uq,5A6p\njY7[pK4;l5n@\\fl	MP3CHbcEpP4eooe{\r-2.P50uG}\0<\r!~\n7Fd>a%c6M|dO_?JC0>&7kM4`%flB~wxZGP20=*p@Be|2\r?q8(yr0>>E?w|r]%Av@+XAgsCAXmN4\0\r8JJD:=	S4F;	\\&P!6%\$ixi4c0B;62=1PCmdpc+5\$/rCR`MQ6(\\2A\\lGl\0BqPrB_6Ll!BQIGXRbs]BHr`X\$p8	nbR,L\"E%\0aYBsD,!pN9RbG4MtjUy\0%\$.iL!x(.)6T(Ia%K]mt&G7ITMB\rza])va%41Tj(!\\\\W\\t\$0%\0aK\$TF(YC@HHnDdWphZ'ZC,/\$JFBuQ:A:-a#=jblUg;{RUEWnUaVNjuG*y%@*Yx_z])v\"RLVIv=`'U) S\r~R\ni)5SD49~b;)3,9M3HsJkT(uJ][\$ufob\n.,Y9j1'!1\$JgU0ZuahcH,YtKb55/dYAU[W>_V\r*j-T zYdcm:[Ut-{l	i+a).[_:5hWm%JI[Th>;XdSdV;\r!NK&AJu4Bdg.Vpmb)V!U\0G`\\q7QbVL:Z.N*U]ZlzR D1Ir:\0<1~;#JbMy+/\"j<3#:P.}eD\"qyJGsopX\rd\rxJ%O:%yy,%{3<XzEz(\0 D_.2+gbcxpg|9CP48U	Q/AqQ(4 7e\$Dv:VbN4[iv2\rX1AJ(<PlF\0\\z)W(4 p`\rda6Oma}q`6P'h3|f jAz+DUWD5%#x3{L\r-]:jdP	jfq:Z\"sad)G3	+rNK1Qx=>\"-:FI*@yT\\UY~3Df,s8HV't9v(:B9\\Z(&E8W\$X\0\n9WBb66j9 ?,| ag1\nPs\0@%#K\r\0\00?,\0hh\08\0l\0-Zjb\0p\0-f`ql0\0i-\\ps7e\"-ZlbE,\0]P Eb\0/,Z\r\0000[f-@\rE/Z8~\".^Qw\0/t_E\00d]b|\0\\E\0af0tZnJ\0l\00L^Qj@J^q#F(1/[1I.^8\0[q[l\" \00,d\rc{cE\0o0]\0\rc%8wZ-\\{G/\\bp@1\0a1s!//]8~c\"2cm\"9q/\\^fQ~c_-\$i\"\0003fXqx#\09Z.i@F3tZH \rcKb\0j/Dj1IhavOZ4Z#YE\0i.hHsX/F<.jb\0mV/d\\bE3T^(cKFR]Xq6]hc6E66hn\0005sn/dn`\r\"F-D`N2Ybx#\\V3x1xFx\06bq!8|^ub-rq:%0pp#\06fd0qH\$@q-^B4\"\081/lnxG3:0tjh~@3vHbG(e4gq21-nX\"F<Q1\\j1E4m[nz7yh1#/3\\xqKG6o1{FJ6lXqu9r(1Gc\0f:rX#\0i<\\}bF\0s7y2#uFe\">4i\n<{J;]1#0J;4^D4i(H#Ex/n1/j6,l1t/\0005%0]xGG5!0rq2NFPo\"4_1d%e 3s8G5 6[HcHjY;[b! y@\\q#WHN;cQ:-%.kXG1DfcWFl!0c E;lq\"F7\\\\Oq.T|\"?Ef9TyYSG1A\$f9R\n\"x>BH\0:\$e1F?=3Tu)\nqb~<TcH.m~CwH#/I]~3^#>Y4^QjcK1\"8|6c\"B\"b4%G\0e\"/t1r1e!v2y<8\\o#t\rz@}Hby 1\\deGZ3~r)1Bl~H:dF-?k8qc(FK5|myc1<*@j1>IZQj2\$0hQVFT	\$Al~q\$>\\p\rq\$/u%!Jq \$tEGN-Tq)\"H=X2-H8\\nRW\$H\"C\\_\0d\$f\".Du	'QzE&0toqjR@du##LLk*q\$*Gi@TilE5r\\dI\"/Z0j\$Tz5Ld3o.Tq!1{9ZQbFwJ94n{(-82hu;\$-DkrsH#Y7\"/E	\$j^-]7[\"N\$W/]\$+1Ga/&IDn@\$!\$-k!Q)(N/\$tOKzPtX[\0Gw(*K\$v1c'GIxd\nA8\\rXaIiNI%\$_6fQ#I5#F#E\"3\$IcHvR|QcE:RehEfK`8r.#Es0LRF!\nC\$`\$H?nPe!@F'/%N,hrF\$3t!1<CQ%JZf.6C.[Bx\0NRn`Y\n%+NIMs:YdefB[nYmRYCXjU+Vk,\0Pb@exVyT7u[J\nDeRmx&l\0)}J,\0IZ\$k!YbRe/Qk5.e5W`\0)Yv\"V\0\n%`YnaxQ!,`\"	_.tm\$\"Jv%M9j	*Kp;\\R 3(^:}|>a-'U%w*#>@eJ;Pw/+5E\rjnd^[cuz\\1mi\"xp;P)#!A;	4a{`aV{KU80''o2yc9]K@^lBOr,du8?%gBYn+%ce\0Yr@f(]\nbiznSS2GdBPj@(!-ve*c\04J,U	dej'TH]G!)uZB5W0\nRW\\Q j^r%l3,Yyf3&Q:2mR)T(KR0@YY:e3\r%T%XST.J\\0hD!:uU\"o+7\"f'R\0J2S2#nm I\"X[} Jc9p0Q(U\0xDEW.L=<B0+)ZS V;\\I{5IA,dWu5Ew\n\$%2i_\$+O,XJg&JG%\\Jb.^LTFl]k#f@LGTH\"q1SjV(ZVz,G.1FgN;1V5E5`\0Ct=F\nK\0%D]Q\$\r\03J\\,<T4*.YKDQLS%,g<u0U*x(NYv!y	w4fdrGM \$^;)<P]D%%;jI0au^Jp[)v3RhRE\nL_#5|m3P*\\Y51X	iN\$\"ah*KUV8u%&r5og;rMl[gUqh|eO2f MlW2APv~eDe3UlE62iUbUViI!\$i&Z:xm!.Ofw!k6b\"IJ]]:T6Vr}]U	ys7fM3Y:T_Mw%3n\nz*3h	`UL,5vf42_QhuD\no)M97forWB~iTeyQTN\ndpr#M;4pt(;5	|',AV7UA&RP\"y)[n-3V,?s6p3fA9k|Sf*@5g2}UHFl%pIebeMSO\r[i3fLVruNA:%ry3Q_W.^Sl@&5Yl1}Vxg^SnQ!:5ZiZC:3qg%D{U3tZ`u%w:ZQ:QW f9Jpl)3xvK7b#X+J(hP*!SLh*'\npBgN8Bu8niIsUSI;vvUsR7Nu8H|8q+'`x9R	MaR8x)'!;UYsNIg:KTy3gYkn'LO(3w44lJw9\\hf(_~}9N\0b\"YTh,@D\$I;eUn,O	Xg-+>ti'Gl%\08VBU1ye\0KT4mV2)\r]I/\rFXaG*>ERZ-)I\$:a\0Fybagw(_@v}iS^25D	UROJH\\isfKNqiSgO\nF~|*@gR_Q<9s3i+.Cw|y6aOY9\n-([_}S]cS=YU-><\n<sOQ4F^}\0007uk(//5{L9\0&[<s\0&#@h3V}H*w+]'D&@]);TGe3\\nd\$:uN4ykt-dR!7e4(P!-94_PMGbw6OSF)yh0+qT|+u+A?	T3.q41Te\n:P{T\nh?TAS*+u>\\ZYwEJ%sLdy+\rC'Al,y3`	_*P ThKDV~5	0+,-?]3K`^I42(]w.r]\nYB	}R g}:HJWP\"V\\<? >=:\n0\\+SfUU,WCOn.e9|RI'[/2QBn:I\ng9\r,R6Q\$X+>`\n)/_8Qi=v?5v\0 \nLGDmw\\Fd}s\"Yv|J*9h@XEU*(oQ]\$B,KTvAptC\nC,/<EW-VP=W*%K-Q`9	(59m)X@2T@\nSbdEa+DX|U		F 2%5\njmW+xKV3#CTek&,ljbd7)\"\n+PbI@3jUEs)DfPZ3A\nwTh4Z<udqu(bKGnT]zf%#3IfS&}@D@++Ah\nU|B;UmUEN!x21\0GmvH~HT)WYN\"k5vT#=<\n}#R3YHRI;Rl1luB%TQJ*'E0idw,z:\$;?j))\$32J}&[\$;DnE+0aZ{C (:O@hD\0`PTouF\rQvo\$S+#7IzrpkDWFs9Q 1g#\0\\L\$3gXyy -3h!nX]+	c\0\0b\0\r-{\0Q(Q\$s0m([RuV>+J[6J\0\\,K3.]a_\0RJ `^ClRIK\n\$nKj\n~/mn].`ij#Kf:`\067Kzc\0/K/dFE\0aLdZ`JS24@/(L0`_L]4ZhSDM4:cSRME4iSGEMj4zdSFKL%4e%\$lKM21iMV.iLz/M,`_imSgMjg59.9j_S.9_S.7r)%[2m8uTS3M:]3qnKN1|^kt\"HgKj-;zci\r<_-i\"U.iRkOF=:\\\$ZMLE5x_\"=<\0tS9O1~iO>~q)F=6:~JP:=T)PJ8@w*O5]>tT\n!\"6Y	)H/P3	/P~	!\"Cj eNJ*%41QCZQjTBQ.\rE)\0004\$2SM+<jtj0,9Q}F\0\$sTaK]Ecj*'KMMGxRT1#QG5:zL4u6z\"j\"TKuNGg\$jFSQ2H\"MT%RHz\$,wRe.\$rz)-QJ@=R&/I1*]T7QD&qN_(qc[TwQRJ\0nT.956cSzH7R}Sr8N\"bTQ5MN#ES-H7\"T_S}G?*ySP*5#T:]PC*T:-K85CR--MH 'THHTR,GT-SJM*UTmMHM>gSD5MRHwU\"K8RU*-U*nTIR,tZYIUF51W)vk_KpJ5ZjR4r\n^jICK}U_O=NR*F-R%Wc\\aV>EYjdUWX5*UyZ1k7VR\\H5h*UUM[kv3V}[(5WziBO1TV;[pRGu;T@0>\0/IW`]\08P]1m*yUzmW|[]JUZ*5\\jZ`Z5~EW4Z5hQ^cXZS1oVU&T5}cU^Xdm*kUuSfG=[jsXKc\niRHi#uWtXcUrUZNEX4udEeV^KnV8sXf/hJ-J]zO<Eh\$\0K<bw>N\")]b	+z.cS.iF	QNQV*O[XnxP	koN}<aOIhT;rVD6Q;z]j~':[Iv7^jw[:u Ds#\\w<n|*hmKv;Y3]^#ZjgyjY,%;3.W\"\$3>gVTZjhYjkD*!h&Xzi+GV\"Z:+NoGZjji]kO_mjIt#[j\rnnZ_,g:9[L2W=T0f\0PU6\ns%7isY?u3nb5X|G~l&kMyS)]r?}u'n0W-bk?vQ7}p\nZ*9)5ZW-ZB:W\0WZfpGp:FpUSN/\\%s9S{ 8Zas+N^9M{P5 QJy;zYV 3:DI+19M;V\rQ{+FCLN\\)\$iN'\0P]X^s1f&\"'<OL\0\"@%6UA1i(z\rbZ+IQO3\r=*)!`h,mGPCAA(Z%t,h/ikXEJ6ID\"\naU- \nvy_k	aB<VD/Pa)9L(Z8vvk	oZXk|&.C`1]7&+HCBcXB7xX|10a6ubpJL(mbl8I*R@tk0xX; al]4st0c'l`8M8D4w`p?@706g~K\r Pbh\"&\nqPD\$(0QP<Q!Xx5R`w/22# `1/\r:B7V7ZgMYH3 b	ZJGwgl^-R-!l7L<1 QC/h)W6C	*d6]VK!m05G\$R4=Cw&[YPd')VK,5e\rK+1X)be)uF2A#E&g~eyfp5lYl5\nm}`(M Pl9Yf]Vl-4>`/fPEi\0kv\0fhS0&l#fu5	i%:Fd9G<	{}s[7\03ft:+.p>@!Pas6q,1bZK-ar`?RxXV#z; DH16D`Y`RP>-!\$~`>h01&\0hIwlZ\$\\\r8~,\no_B2Da1=v<kFp``kBF6 hT T	@?drJH@1Gdnw%JG0bTf]m(kqg\\3vk'^dAX~WVs*dM@?}6\\m9<ih^s}-[Ksqb-OORm8\$yw##@\0 5F7X\n|J/-SW!f 0,wD4RUTZX=`W\$@(XGa>*Y\n\n![mj0,muW@ FX=(b<!\n\"83'(R\n>@Wr!LHk\rE\nW\r'FH\$m={LY&_\0#[9\0\"@8iK0lp\ng'qbFycl@9(#JU{io.{4VVnFxz Q\$kSa~0s@%y@5HN@x#	 /\\?<hIT:3\n%");}else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0!M*)o) qe#L\0;";break;case"cross.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0##\naFo~y._wa1JGL6]\0\0;";break;case"up.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0 MQN\n}a8ya\0\0;";break;case"down.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0 M*)[W\\L&\0\0;";break;case"arrow.gif":echo"GIF89a\0\n\0\0\0!\0\0\0,\0\0\0\0\0\n\0\0i\0\0;";break;}}exit;}if($_GET["script"]=="version"){$gd=file_open_lock(get_temp_dir()."/adminer.version");if($gd)file_write_unlock($gd,serialize(array("signature"=>$_POST["signature"],"version"=>$_POST["version"])));exit;}global$b,$g,$n,$cc,$kc,$uc,$o,$id,$od,$ba,$Pd,$y,$ca,$ke,$nf,$Yf,$Fh,$td,$mi,$si,$U,$Gi,$ia;if(!$_SERVER["REQUEST_URI"])$_SERVER["REQUEST_URI"]=$_SERVER["ORIG_PATH_INFO"];if(!strpos($_SERVER["REQUEST_URI"],'?')&&$_SERVER["QUERY_STRING"]!="")$_SERVER["REQUEST_URI"].="?$_SERVER[QUERY_STRING]";if($_SERVER["HTTP_X_FORWARDED_PREFIX"])$_SERVER["REQUEST_URI"]=$_SERVER["HTTP_X_FORWARDED_PREFIX"].$_SERVER["REQUEST_URI"];$ba=($_SERVER["HTTPS"]&&strcasecmp($_SERVER["HTTPS"],"off"))||ini_bool("session.cookie_secure");@ini_set("session.use_trans_sid",false);if(!defined("SID")){session_cache_limiter("");session_name("adminer_sid");$Lf=array(0,preg_replace('~\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$Lf[]=true;call_user_func_array('session_set_cookie_params',$Lf);session_start();}remove_slashes(array(&$_GET,&$_POST,&$_COOKIE),$Tc);if(get_magic_quotes_runtime())set_magic_quotes_runtime(false);@set_time_limit(0);@ini_set("zend.ze1_compatibility_mode",false);@ini_set("precision",15);function
get_lang(){return'en';}function
lang($ri,$ef=null){if(is_array($ri)){$bg=($ef==1?0:1);$ri=$ri[$bg];}$ri=str_replace("%d","%s",$ri);$ef=format_number($ef);return
sprintf($ri,$ef);}if(extension_loaded('pdo')){class
Min_PDO
extends
PDO{var$_result,$server_info,$affected_rows,$errno,$error;function
__construct(){global$b;$bg=array_search("SQL",$b->operators);if($bg!==false)unset($b->operators[$bg]);}function
dsn($hc,$V,$F,$vf=array()){try{parent::__construct($hc,$V,$F,$vf);}catch(Exception$zc){auth_error(h($zc->getMessage()));}$this->setAttribute(13,array('Min_PDOStatement'));$this->server_info=@$this->getAttribute(4);}function
query($G,$Ai=false){$H=parent::query($G);$this->error="";if(!$H){list(,$this->errno,$this->error)=$this->errorInfo();if(!$this->error)$this->error='Unknown error.';return
false;}$this->store_result($H);return$H;}function
multi_query($G){return$this->_result=$this->query($G);}function
store_result($H=null){if(!$H){$H=$this->_result;if(!$H)return
false;}if($H->columnCount()){$H->num_rows=$H->rowCount();return$H;}$this->affected_rows=$H->rowCount();return
true;}function
next_result(){if(!$this->_result)return
false;$this->_result->_offset=0;return@$this->_result->nextRowset();}function
result($G,$p=0){$H=$this->query($G);if(!$H)return
false;$J=$H->fetch();return$J[$p];}}class
Min_PDOStatement
extends
PDOStatement{var$_offset=0,$num_rows;function
fetch_assoc(){return$this->fetch(2);}function
fetch_row(){return$this->fetch(3);}function
fetch_field(){$J=(object)$this->getColumnMeta($this->_offset++);$J->orgtable=$J->table;$J->orgname=$J->name;$J->charsetnr=(in_array("blob",(array)$J->flags)?63:0);return$J;}}}$cc=array();class
Min_SQL{var$_conn;function
__construct($g){$this->_conn=$g;}function
select($Q,$L,$Z,$ld,$xf=array(),$_=1,$E=0,$jg=false){global$b,$y;$Wd=(count($ld)<count($L));$G=$b->selectQueryBuild($L,$Z,$ld,$xf,$_,$E);if(!$G)$G="SELECT".limit(($_GET["page"]!="last"&&$_!=""&&$ld&&$Wd&&$y=="sql"?"SQL_CALC_FOUND_ROWS ":"").implode(", ",$L)."\nFROM ".table($Q),($Z?"\nWHERE ".implode(" AND ",$Z):"").($ld&&$Wd?"\nGROUP BY ".implode(", ",$ld):"").($xf?"\nORDER BY ".implode(", ",$xf):""),($_!=""?+$_:null),($E?$_*$E:0),"\n");$Ah=microtime(true);$I=$this->_conn->query($G);if($jg)echo$b->selectQuery($G,$Ah,!$I);return$I;}function
delete($Q,$tg,$_=0){$G="FROM ".table($Q);return
queries("DELETE".($_?limit1($Q,$G,$tg):" $G$tg"));}function
update($Q,$O,$tg,$_=0,$M="\n"){$Si=array();foreach($O
as$z=>$X)$Si[]="$z = $X";$G=table($Q)." SET$M".implode(",$M",$Si);return
queries("UPDATE".($_?limit1($Q,$G,$tg,$M):" $G$tg"));}function
insert($Q,$O){return
queries("INSERT INTO ".table($Q).($O?" (".implode(", ",array_keys($O)).")\nVALUES (".implode(", ",$O).")":" DEFAULT VALUES"));}function
insertUpdate($Q,$K,$hg){return
false;}function
begin(){return
queries("BEGIN");}function
commit(){return
queries("COMMIT");}function
rollback(){return
queries("ROLLBACK");}function
slowQuery($G,$di){}function
convertSearch($v,$X,$p){return$v;}function
value($X,$p){return(method_exists($this->_conn,'value')?$this->_conn->value($X,$p):(is_resource($X)?stream_get_contents($X):$X));}function
quoteBinary($Vg){return
q($Vg);}function
warnings(){return'';}function
tableHelp($C){}}$cc["sqlite"]="SQLite 3";$cc["sqlite2"]="SQLite 2";if(isset($_GET["sqlite"])||isset($_GET["sqlite2"])){$eg=array((isset($_GET["sqlite"])?"SQLite3":"SQLite"),"PDO_SQLite");define("DRIVER",(isset($_GET["sqlite"])?"sqlite":"sqlite2"));if(class_exists(isset($_GET["sqlite"])?"SQLite3":"SQLiteDatabase")){if(isset($_GET["sqlite"])){class
Min_SQLite{var$extension="SQLite3",$server_info,$affected_rows,$errno,$error,$_link;function
__construct($Sc){$this->_link=new
SQLite3($Sc);$Vi=$this->_link->version();$this->server_info=$Vi["versionString"];}function
query($G){$H=@$this->_link->query($G);$this->error="";if(!$H){$this->errno=$this->_link->lastErrorCode();$this->error=$this->_link->lastErrorMsg();return
false;}elseif($H->numColumns())return
new
Min_Result($H);$this->affected_rows=$this->_link->changes();return
true;}function
quote($P){return(is_utf8($P)?"'".$this->_link->escapeString($P)."'":"x'".reset(unpack('H*',$P))."'");}function
store_result(){return$this->_result;}function
result($G,$p=0){$H=$this->query($G);if(!is_object($H))return
false;$J=$H->_result->fetchArray();return$J[$p];}}class
Min_Result{var$_result,$_offset=0,$num_rows;function
__construct($H){$this->_result=$H;}function
fetch_assoc(){return$this->_result->fetchArray(SQLITE3_ASSOC);}function
fetch_row(){return$this->_result->fetchArray(SQLITE3_NUM);}function
fetch_field(){$e=$this->_offset++;$T=$this->_result->columnType($e);return(object)array("name"=>$this->_result->columnName($e),"type"=>$T,"charsetnr"=>($T==SQLITE3_BLOB?63:0),);}function
__desctruct(){return$this->_result->finalize();}}}else{class
Min_SQLite{var$extension="SQLite",$server_info,$affected_rows,$error,$_link;function
__construct($Sc){$this->server_info=sqlite_libversion();$this->_link=new
SQLiteDatabase($Sc);}function
query($G,$Ai=false){$Pe=($Ai?"unbufferedQuery":"query");$H=@$this->_link->$Pe($G,SQLITE_BOTH,$o);$this->error="";if(!$H){$this->error=$o;return
false;}elseif($H===true){$this->affected_rows=$this->changes();return
true;}return
new
Min_Result($H);}function
quote($P){return"'".sqlite_escape_string($P)."'";}function
store_result(){return$this->_result;}function
result($G,$p=0){$H=$this->query($G);if(!is_object($H))return
false;$J=$H->_result->fetch();return$J[$p];}}class
Min_Result{var$_result,$_offset=0,$num_rows;function
__construct($H){$this->_result=$H;if(method_exists($H,'numRows'))$this->num_rows=$H->numRows();}function
fetch_assoc(){$J=$this->_result->fetch(SQLITE_ASSOC);if(!$J)return
false;$I=array();foreach($J
as$z=>$X)$I[($z[0]=='"'?idf_unescape($z):$z)]=$X;return$I;}function
fetch_row(){return$this->_result->fetch(SQLITE_NUM);}function
fetch_field(){$C=$this->_result->fieldName($this->_offset++);$Xf='(\[.*]|"(?:[^"]|"")*"|(.+))';if(preg_match("~^($Xf\\.)?$Xf\$~",$C,$B)){$Q=($B[3]!=""?$B[3]:idf_unescape($B[2]));$C=($B[5]!=""?$B[5]:idf_unescape($B[4]));}return(object)array("name"=>$C,"orgname"=>$C,"orgtable"=>$Q,);}}}}elseif(extension_loaded("pdo_sqlite")){class
Min_SQLite
extends
Min_PDO{var$extension="PDO_SQLite";function
__construct($Sc){$this->dsn(DRIVER.":$Sc","","");}}}if(class_exists("Min_SQLite")){class
Min_DB
extends
Min_SQLite{function
__construct(){parent::__construct(":memory:");$this->query("PRAGMA foreign_keys = 1");}function
select_db($Sc){if(is_readable($Sc)&&$this->query("ATTACH ".$this->quote(preg_match("~(^[/\\\\]|:)~",$Sc)?$Sc:dirname($_SERVER["SCRIPT_FILENAME"])."/$Sc")." AS a")){parent::__construct($Sc);$this->query("PRAGMA foreign_keys = 1");return
true;}return
false;}function
multi_query($G){return$this->_result=$this->query($G);}function
next_result(){return
false;}}}class
Min_Driver
extends
Min_SQL{function
insertUpdate($Q,$K,$hg){$Si=array();foreach($K
as$O)$Si[]="(".implode(", ",$O).")";return
queries("REPLACE INTO ".table($Q)." (".implode(", ",array_keys(reset($K))).") VALUES\n".implode(",\n",$Si));}function
tableHelp($C){if($C=="sqlite_sequence")return"fileformat2.html#seqtab";if($C=="sqlite_master")return"fileformat2.html#$C";}}function
idf_escape($v){return'"'.str_replace('"','""',$v).'"';}function
table($v){return
idf_escape($v);}function
connect(){global$b;list(,,$F)=$b->credentials();if($F!="")return'Database does not support password.';return
new
Min_DB;}function
get_databases(){return
array();}function
limit($G,$Z,$_,$D=0,$M=" "){return" $G$Z".($_!==null?$M."LIMIT $_".($D?" OFFSET $D":""):"");}function
limit1($Q,$G,$Z,$M="\n"){global$g;return(preg_match('~^INTO~',$G)||$g->result("SELECT sqlite_compileoption_used('ENABLE_UPDATE_DELETE_LIMIT')")?limit($G,$Z,1,0,$M):" $G WHERE rowid = (SELECT rowid FROM ".table($Q).$Z.$M."LIMIT 1)");}function
db_collation($m,$ob){global$g;return$g->result("PRAGMA encoding");}function
engines(){return
array();}function
logged_user(){return
get_current_user();}function
tables_list(){return
get_key_vals("SELECT name, type FROM sqlite_master WHERE type IN ('table', 'view') ORDER BY (name = 'sqlite_sequence'), name");}function
count_tables($l){return
array();}function
table_status($C=""){global$g;$I=array();foreach(get_rows("SELECT name AS Name, type AS Engine, 'rowid' AS Oid, '' AS Auto_increment FROM sqlite_master WHERE type IN ('table', 'view') ".($C!=""?"AND name = ".q($C):"ORDER BY name"))as$J){$J["Rows"]=$g->result("SELECT COUNT(*) FROM ".idf_escape($J["Name"]));$I[$J["Name"]]=$J;}foreach(get_rows("SELECT * FROM sqlite_sequence",null,"")as$J)$I[$J["name"]]["Auto_increment"]=$J["seq"];return($C!=""?$I[$C]:$I);}function
is_view($R){return$R["Engine"]=="view";}function
fk_support($R){global$g;return!$g->result("SELECT sqlite_compileoption_used('OMIT_FOREIGN_KEY')");}function
fields($Q){global$g;$I=array();$hg="";foreach(get_rows("PRAGMA table_info(".table($Q).")")as$J){$C=$J["name"];$T=strtolower($J["type"]);$Qb=$J["dflt_value"];$I[$C]=array("field"=>$C,"type"=>(preg_match('~int~i',$T)?"integer":(preg_match('~char|clob|text~i',$T)?"text":(preg_match('~blob~i',$T)?"blob":(preg_match('~real|floa|doub~i',$T)?"real":"numeric")))),"full_type"=>$T,"default"=>(preg_match("~'(.*)'~",$Qb,$B)?str_replace("''","'",$B[1]):($Qb=="NULL"?null:$Qb)),"null"=>!$J["notnull"],"privileges"=>array("select"=>1,"insert"=>1,"update"=>1),"primary"=>$J["pk"],);if($J["pk"]){if($hg!="")$I[$hg]["auto_increment"]=false;elseif(preg_match('~^integer$~i',$T))$I[$C]["auto_increment"]=true;$hg=$C;}}$wh=$g->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ".q($Q));preg_match_all('~(("[^"]*+")+|[a-z0-9_]+)\s+text\s+COLLATE\s+(\'[^\']+\'|\S+)~i',$wh,$Be,PREG_SET_ORDER);foreach($Be
as$B){$C=str_replace('""','"',preg_replace('~^"|"$~','',$B[1]));if($I[$C])$I[$C]["collation"]=trim($B[3],"'");}return$I;}function
indexes($Q,$h=null){global$g;if(!is_object($h))$h=$g;$I=array();$wh=$h->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ".q($Q));if(preg_match('~\bPRIMARY\s+KEY\s*\((([^)"]+|"[^"]*"|`[^`]*`)++)~i',$wh,$B)){$I[""]=array("type"=>"PRIMARY","columns"=>array(),"lengths"=>array(),"descs"=>array());preg_match_all('~((("[^"]*+")+|(?:`[^`]*+`)+)|(\S+))(\s+(ASC|DESC))?(,\s*|$)~i',$B[1],$Be,PREG_SET_ORDER);foreach($Be
as$B){$I[""]["columns"][]=idf_unescape($B[2]).$B[4];$I[""]["descs"][]=(preg_match('~DESC~i',$B[5])?'1':null);}}if(!$I){foreach(fields($Q)as$C=>$p){if($p["primary"])$I[""]=array("type"=>"PRIMARY","columns"=>array($C),"lengths"=>array(),"descs"=>array(null));}}$zh=get_key_vals("SELECT name, sql FROM sqlite_master WHERE type = 'index' AND tbl_name = ".q($Q),$h);foreach(get_rows("PRAGMA index_list(".table($Q).")",$h)as$J){$C=$J["name"];$w=array("type"=>($J["unique"]?"UNIQUE":"INDEX"));$w["lengths"]=array();$w["descs"]=array();foreach(get_rows("PRAGMA index_info(".idf_escape($C).")",$h)as$Ug){$w["columns"][]=$Ug["name"];$w["descs"][]=null;}if(preg_match('~^CREATE( UNIQUE)? INDEX '.preg_quote(idf_escape($C).' ON '.idf_escape($Q),'~').' \((.*)\)$~i',$zh[$C],$Eg)){preg_match_all('/("[^"]*+")+( DESC)?/',$Eg[2],$Be);foreach($Be[2]as$z=>$X){if($X)$w["descs"][$z]='1';}}if(!$I[""]||$w["type"]!="UNIQUE"||$w["columns"]!=$I[""]["columns"]||$w["descs"]!=$I[""]["descs"]||!preg_match("~^sqlite_~",$C))$I[$C]=$w;}return$I;}function
foreign_keys($Q){$I=array();foreach(get_rows("PRAGMA foreign_key_list(".table($Q).")")as$J){$r=&$I[$J["id"]];if(!$r)$r=$J;$r["source"][]=$J["from"];$r["target"][]=$J["to"];}return$I;}function
view($C){global$g;return
array("select"=>preg_replace('~^(?:[^`"[]+|`[^`]*`|"[^"]*")* AS\s+~iU','',$g->result("SELECT sql FROM sqlite_master WHERE name = ".q($C))));}function
collations(){return(isset($_GET["create"])?get_vals("PRAGMA collation_list",1):array());}function
information_schema($m){return
false;}function
error(){global$g;return
h($g->error);}function
check_sqlite_name($C){global$g;$Ic="db|sdb|sqlite";if(!preg_match("~^[^\\0]*\\.($Ic)\$~",$C)){$g->error=sprintf('Please use one of the extensions %s.',str_replace("|",", ",$Ic));return
false;}return
true;}function
create_database($m,$d){global$g;if(file_exists($m)){$g->error='File exists.';return
false;}if(!check_sqlite_name($m))return
false;try{$A=new
Min_SQLite($m);}catch(Exception$zc){$g->error=$zc->getMessage();return
false;}$A->query('PRAGMA encoding = "UTF-8"');$A->query('CREATE TABLE adminer (i)');$A->query('DROP TABLE adminer');return
true;}function
drop_databases($l){global$g;$g->__construct(":memory:");foreach($l
as$m){if(!@unlink($m)){$g->error='File exists.';return
false;}}return
true;}function
rename_database($C,$d){global$g;if(!check_sqlite_name($C))return
false;$g->__construct(":memory:");$g->error='File exists.';return@rename(DB,$C);}function
auto_increment(){return" PRIMARY KEY".(DRIVER=="sqlite"?" AUTOINCREMENT":"");}function
alter_table($Q,$C,$q,$ad,$tb,$sc,$d,$La,$Rf){$Mi=($Q==""||$ad);foreach($q
as$p){if($p[0]!=""||!$p[1]||$p[2]){$Mi=true;break;}}$c=array();$Ff=array();foreach($q
as$p){if($p[1]){$c[]=($Mi?$p[1]:"ADD ".implode($p[1]));if($p[0]!="")$Ff[$p[0]]=$p[1][0];}}if(!$Mi){foreach($c
as$X){if(!queries("ALTER TABLE ".table($Q)." $X"))return
false;}if($Q!=$C&&!queries("ALTER TABLE ".table($Q)." RENAME TO ".table($C)))return
false;}elseif(!recreate_table($Q,$C,$c,$Ff,$ad))return
false;if($La)queries("UPDATE sqlite_sequence SET seq = $La WHERE name = ".q($C));return
true;}function
recreate_table($Q,$C,$q,$Ff,$ad,$x=array()){if($Q!=""){if(!$q){foreach(fields($Q)as$z=>$p){if($x)$p["auto_increment"]=0;$q[]=process_field($p,$p);$Ff[$z]=idf_escape($z);}}$ig=false;foreach($q
as$p){if($p[6])$ig=true;}$fc=array();foreach($x
as$z=>$X){if($X[2]=="DROP"){$fc[$X[1]]=true;unset($x[$z]);}}foreach(indexes($Q)as$ee=>$w){$f=array();foreach($w["columns"]as$z=>$e){if(!$Ff[$e])continue
2;$f[]=$Ff[$e].($w["descs"][$z]?" DESC":"");}if(!$fc[$ee]){if($w["type"]!="PRIMARY"||!$ig)$x[]=array($w["type"],$ee,$f);}}foreach($x
as$z=>$X){if($X[0]=="PRIMARY"){unset($x[$z]);$ad[]="  PRIMARY KEY (".implode(", ",$X[2]).")";}}foreach(foreign_keys($Q)as$ee=>$r){foreach($r["source"]as$z=>$e){if(!$Ff[$e])continue
2;$r["source"][$z]=idf_unescape($Ff[$e]);}if(!isset($ad[" $ee"]))$ad[]=" ".format_foreign_key($r);}queries("BEGIN");}foreach($q
as$z=>$p)$q[$z]="  ".implode($p);$q=array_merge($q,array_filter($ad));if(!queries("CREATE TABLE ".table($Q!=""?"adminer_$C":$C)." (\n".implode(",\n",$q)."\n)"))return
false;if($Q!=""){if($Ff&&!queries("INSERT INTO ".table("adminer_$C")." (".implode(", ",$Ff).") SELECT ".implode(", ",array_map('idf_escape',array_keys($Ff)))." FROM ".table($Q)))return
false;$yi=array();foreach(triggers($Q)as$wi=>$ei){$vi=trigger($wi);$yi[]="CREATE TRIGGER ".idf_escape($wi)." ".implode(" ",$ei)." ON ".table($C)."\n$vi[Statement]";}if(!queries("DROP TABLE ".table($Q)))return
false;queries("ALTER TABLE ".table("adminer_$C")." RENAME TO ".table($C));if(!alter_indexes($C,$x))return
false;foreach($yi
as$vi){if(!queries($vi))return
false;}queries("COMMIT");}return
true;}function
index_sql($Q,$T,$C,$f){return"CREATE $T ".($T!="INDEX"?"INDEX ":"").idf_escape($C!=""?$C:uniqid($Q."_"))." ON ".table($Q)." $f";}function
alter_indexes($Q,$c){foreach($c
as$hg){if($hg[0]=="PRIMARY")return
recreate_table($Q,$Q,array(),array(),array(),$c);}foreach(array_reverse($c)as$X){if(!queries($X[2]=="DROP"?"DROP INDEX ".idf_escape($X[1]):index_sql($Q,$X[0],$X[1],"(".implode(", ",$X[2]).")")))return
false;}return
true;}function
truncate_tables($S){return
apply_queries("DELETE FROM",$S);}function
drop_views($Xi){return
apply_queries("DROP VIEW",$Xi);}function
drop_tables($S){return
apply_queries("DROP TABLE",$S);}function
move_tables($S,$Xi,$Vh){return
false;}function
trigger($C){global$g;if($C=="")return
array("Statement"=>"BEGIN\n\t;\nEND");$v='(?:[^`"\s]+|`[^`]*`|"[^"]*")+';$xi=trigger_options();preg_match("~^CREATE\\s+TRIGGER\\s*$v\\s*(".implode("|",$xi["Timing"]).")\\s+([a-z]+)(?:\\s+OF\\s+($v))?\\s+ON\\s*$v\\s*(?:FOR\\s+EACH\\s+ROW\\s)?(.*)~is",$g->result("SELECT sql FROM sqlite_master WHERE type = 'trigger' AND name = ".q($C)),$B);$gf=$B[3];return
array("Timing"=>strtoupper($B[1]),"Event"=>strtoupper($B[2]).($gf?" OF":""),"Of"=>($gf[0]=='`'||$gf[0]=='"'?idf_unescape($gf):$gf),"Trigger"=>$C,"Statement"=>$B[4],);}function
triggers($Q){$I=array();$xi=trigger_options();foreach(get_rows("SELECT * FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ".q($Q))as$J){preg_match('~^CREATE\s+TRIGGER\s*(?:[^`"\s]+|`[^`]*`|"[^"]*")+\s*('.implode("|",$xi["Timing"]).')\s*(.*)\s+ON\b~iU',$J["sql"],$B);$I[$J["name"]]=array($B[1],$B[2]);}return$I;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER","INSTEAD OF"),"Event"=>array("INSERT","UPDATE","UPDATE OF","DELETE"),"Type"=>array("FOR EACH ROW"),);}function
begin(){return
queries("BEGIN");}function
last_id(){global$g;return$g->result("SELECT LAST_INSERT_ROWID()");}function
explain($g,$G){return$g->query("EXPLAIN QUERY PLAN $G");}function
found_rows($R,$Z){}function
types(){return
array();}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($Yg){return
true;}function
create_sql($Q,$La,$Gh){global$g;$I=$g->result("SELECT sql FROM sqlite_master WHERE type IN ('table', 'view') AND name = ".q($Q));foreach(indexes($Q)as$C=>$w){if($C=='')continue;$I.=";\n\n".index_sql($Q,$w['type'],$C,"(".implode(", ",array_map('idf_escape',$w['columns'])).")");}return$I;}function
truncate_sql($Q){return"DELETE FROM ".table($Q);}function
use_sql($k){}function
trigger_sql($Q){return
implode(get_vals("SELECT sql || ';;\n' FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ".q($Q)));}function
show_variables(){global$g;$I=array();foreach(array("auto_vacuum","cache_size","count_changes","default_cache_size","empty_result_callbacks","encoding","foreign_keys","full_column_names","fullfsync","journal_mode","journal_size_limit","legacy_file_format","locking_mode","page_size","max_page_count","read_uncommitted","recursive_triggers","reverse_unordered_selects","secure_delete","short_column_names","synchronous","temp_store","temp_store_directory","schema_version","integrity_check","quick_check")as$z)$I[$z]=$g->result("PRAGMA $z");return$I;}function
show_status(){$I=array();foreach(get_vals("PRAGMA compile_options")as$uf){list($z,$X)=explode("=",$uf,2);$I[$z]=$X;}return$I;}function
convert_field($p){}function
unconvert_field($p,$I){return$I;}function
support($Nc){return
preg_match('~^(columns|database|drop_col|dump|indexes|descidx|move_col|sql|status|table|trigger|variables|view|view_trigger)$~',$Nc);}$y="sqlite";$U=array("integer"=>0,"real"=>0,"numeric"=>0,"text"=>0,"blob"=>0);$Fh=array_keys($U);$Gi=array();$sf=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL","SQL");$id=array("hex","length","lower","round","unixepoch","upper");$od=array("avg","count","count distinct","group_concat","max","min","sum");$kc=array(array(),array("integer|real|numeric"=>"+/-","text"=>"||",));}$cc["pgsql"]="PostgreSQL";if(isset($_GET["pgsql"])){$eg=array("PgSQL","PDO_PgSQL");define("DRIVER","pgsql");if(extension_loaded("pgsql")){class
Min_DB{var$extension="PgSQL",$_link,$_result,$_string,$_database=true,$server_info,$affected_rows,$error,$timeout;function
_error($vc,$o){if(ini_bool("html_errors"))$o=html_entity_decode(strip_tags($o));$o=preg_replace('~^[^:]*: ~','',$o);$this->error=$o;}function
connect($N,$V,$F){global$b;$m=$b->database();set_error_handler(array($this,'_error'));$this->_string="host='".str_replace(":","' port='",addcslashes($N,"'\\"))."' user='".addcslashes($V,"'\\")."' password='".addcslashes($F,"'\\")."'";$this->_link=@pg_connect("$this->_string dbname='".($m!=""?addcslashes($m,"'\\"):"postgres")."'",PGSQL_CONNECT_FORCE_NEW);if(!$this->_link&&$m!=""){$this->_database=false;$this->_link=@pg_connect("$this->_string dbname='postgres'",PGSQL_CONNECT_FORCE_NEW);}restore_error_handler();if($this->_link){$Vi=pg_version($this->_link);$this->server_info=$Vi["server"];pg_set_client_encoding($this->_link,"UTF8");}return(bool)$this->_link;}function
quote($P){return"'".pg_escape_string($this->_link,$P)."'";}function
value($X,$p){return($p["type"]=="bytea"?pg_unescape_bytea($X):$X);}function
quoteBinary($P){return"'".pg_escape_bytea($this->_link,$P)."'";}function
select_db($k){global$b;if($k==$b->database())return$this->_database;$I=@pg_connect("$this->_string dbname='".addcslashes($k,"'\\")."'",PGSQL_CONNECT_FORCE_NEW);if($I)$this->_link=$I;return$I;}function
close(){$this->_link=@pg_connect("$this->_string dbname='postgres'");}function
query($G,$Ai=false){$H=@pg_query($this->_link,$G);$this->error="";if(!$H){$this->error=pg_last_error($this->_link);$I=false;}elseif(!pg_num_fields($H)){$this->affected_rows=pg_affected_rows($H);$I=true;}else$I=new
Min_Result($H);if($this->timeout){$this->timeout=0;$this->query("RESET statement_timeout");}return$I;}function
multi_query($G){return$this->_result=$this->query($G);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($G,$p=0){$H=$this->query($G);if(!$H||!$H->num_rows)return
false;return
pg_fetch_result($H->_result,0,$p);}function
warnings(){return
h(pg_last_notice($this->_link));}}class
Min_Result{var$_result,$_offset=0,$num_rows;function
__construct($H){$this->_result=$H;$this->num_rows=pg_num_rows($H);}function
fetch_assoc(){return
pg_fetch_assoc($this->_result);}function
fetch_row(){return
pg_fetch_row($this->_result);}function
fetch_field(){$e=$this->_offset++;$I=new
stdClass;if(function_exists('pg_field_table'))$I->orgtable=pg_field_table($this->_result,$e);$I->name=pg_field_name($this->_result,$e);$I->orgname=$I->name;$I->type=pg_field_type($this->_result,$e);$I->charsetnr=($I->type=="bytea"?63:0);return$I;}function
__destruct(){pg_free_result($this->_result);}}}elseif(extension_loaded("pdo_pgsql")){class
Min_DB
extends
Min_PDO{var$extension="PDO_PgSQL",$timeout;function
connect($N,$V,$F){global$b;$m=$b->database();$P="pgsql:host='".str_replace(":","' port='",addcslashes($N,"'\\"))."' options='-c client_encoding=utf8'";$this->dsn("$P dbname='".($m!=""?addcslashes($m,"'\\"):"postgres")."'",$V,$F);return
true;}function
select_db($k){global$b;return($b->database()==$k);}function
quoteBinary($Vg){return
q($Vg);}function
query($G,$Ai=false){$I=parent::query($G,$Ai);if($this->timeout){$this->timeout=0;parent::query("RESET statement_timeout");}return$I;}function
warnings(){return'';}function
close(){}}}class
Min_Driver
extends
Min_SQL{function
insertUpdate($Q,$K,$hg){global$g;foreach($K
as$O){$Hi=array();$Z=array();foreach($O
as$z=>$X){$Hi[]="$z = $X";if(isset($hg[idf_unescape($z)]))$Z[]="$z = $X";}if(!(($Z&&queries("UPDATE ".table($Q)." SET ".implode(", ",$Hi)." WHERE ".implode(" AND ",$Z))&&$g->affected_rows)||queries("INSERT INTO ".table($Q)." (".implode(", ",array_keys($O)).") VALUES (".implode(", ",$O).")")))return
false;}return
true;}function
slowQuery($G,$di){$this->_conn->query("SET statement_timeout = ".(1000*$di));$this->_conn->timeout=1000*$di;return$G;}function
convertSearch($v,$X,$p){return(preg_match('~char|text'.(!preg_match('~LIKE~',$X["op"])?'|date|time(stamp)?|boolean|uuid|'.number_type():'').'~',$p["type"])?$v:"CAST($v AS text)");}function
quoteBinary($Vg){return$this->_conn->quoteBinary($Vg);}function
warnings(){return$this->_conn->warnings();}function
tableHelp($C){$ue=array("information_schema"=>"infoschema","pg_catalog"=>"catalog",);$A=$ue[$_GET["ns"]];if($A)return"$A-".str_replace("_","-",$C).".html";}}function
idf_escape($v){return'"'.str_replace('"','""',$v).'"';}function
table($v){return
idf_escape($v);}function
connect(){global$b,$U,$Fh;$g=new
Min_DB;$j=$b->credentials();if($g->connect($j[0],$j[1],$j[2])){if(min_version(9,0,$g)){$g->query("SET application_name = 'Adminer'");if(min_version(9.2,0,$g)){$Fh['Strings'][]="json";$U["json"]=4294967295;if(min_version(9.4,0,$g)){$Fh['Strings'][]="jsonb";$U["jsonb"]=4294967295;}}}return$g;}return$g->error;}function
get_databases(){return
get_vals("SELECT datname FROM pg_database WHERE has_database_privilege(datname, 'CONNECT') ORDER BY datname");}function
limit($G,$Z,$_,$D=0,$M=" "){return" $G$Z".($_!==null?$M."LIMIT $_".($D?" OFFSET $D":""):"");}function
limit1($Q,$G,$Z,$M="\n"){return(preg_match('~^INTO~',$G)?limit($G,$Z,1,0,$M):" $G".(is_view(table_status1($Q))?$Z:" WHERE ctid = (SELECT ctid FROM ".table($Q).$Z.$M."LIMIT 1)"));}function
db_collation($m,$ob){global$g;return$g->result("SHOW LC_COLLATE");}function
engines(){return
array();}function
logged_user(){global$g;return$g->result("SELECT user");}function
tables_list(){$G="SELECT table_name, table_type FROM information_schema.tables WHERE table_schema = current_schema()";if(support('materializedview'))$G.="
UNION ALL
SELECT matviewname, 'MATERIALIZED VIEW'
FROM pg_matviews
WHERE schemaname = current_schema()";$G.="
ORDER BY 1";return
get_key_vals($G);}function
count_tables($l){return
array();}function
table_status($C=""){$I=array();foreach(get_rows("SELECT c.relname AS \"Name\", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'm' THEN 'materialized view' ELSE 'view' END AS \"Engine\", pg_relation_size(c.oid) AS \"Data_length\", pg_total_relation_size(c.oid) - pg_relation_size(c.oid) AS \"Index_length\", obj_description(c.oid, 'pg_class') AS \"Comment\", CASE WHEN c.relhasoids THEN 'oid' ELSE '' END AS \"Oid\", c.reltuples as \"Rows\", n.nspname
FROM pg_class c
JOIN pg_namespace n ON(n.nspname = current_schema() AND n.oid = c.relnamespace)
WHERE relkind IN ('r', 'm', 'v', 'f')
".($C!=""?"AND relname = ".q($C):"ORDER BY relname"))as$J)$I[$J["Name"]]=$J;return($C!=""?$I[$C]:$I);}function
is_view($R){return
in_array($R["Engine"],array("view","materialized view"));}function
fk_support($R){return
true;}function
fields($Q){$I=array();$Ca=array('timestamp without time zone'=>'timestamp','timestamp with time zone'=>'timestamptz',);$Bd=min_version(10)?"(a.attidentity = 'd')::int":'0';foreach(get_rows("SELECT a.attname AS field, format_type(a.atttypid, a.atttypmod) AS full_type, d.adsrc AS default, a.attnotnull::int, col_description(c.oid, a.attnum) AS comment, $Bd AS identity
FROM pg_class c
JOIN pg_namespace n ON c.relnamespace = n.oid
JOIN pg_attribute a ON c.oid = a.attrelid
LEFT JOIN pg_attrdef d ON c.oid = d.adrelid AND a.attnum = d.adnum
WHERE c.relname = ".q($Q)."
AND n.nspname = current_schema()
AND NOT a.attisdropped
AND a.attnum > 0
ORDER BY a.attnum")as$J){preg_match('~([^([]+)(\((.*)\))?([a-z ]+)?((\[[0-9]*])*)$~',$J["full_type"],$B);list(,$T,$re,$J["length"],$wa,$Fa)=$B;$J["length"].=$Fa;$db=$T.$wa;if(isset($Ca[$db])){$J["type"]=$Ca[$db];$J["full_type"]=$J["type"].$re.$Fa;}else{$J["type"]=$T;$J["full_type"]=$J["type"].$re.$wa.$Fa;}if($J['identity'])$J['default']='GENERATED BY DEFAULT AS IDENTITY';$J["null"]=!$J["attnotnull"];$J["auto_increment"]=$J['identity']||preg_match('~^nextval\(~i',$J["default"]);$J["privileges"]=array("insert"=>1,"select"=>1,"update"=>1);if(preg_match('~(.+)::[^)]+(.*)~',$J["default"],$B))$J["default"]=($B[1]=="NULL"?null:(($B[1][0]=="'"?idf_unescape($B[1]):$B[1]).$B[2]));$I[$J["field"]]=$J;}return$I;}function
indexes($Q,$h=null){global$g;if(!is_object($h))$h=$g;$I=array();$Oh=$h->result("SELECT oid FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema()) AND relname = ".q($Q));$f=get_key_vals("SELECT attnum, attname FROM pg_attribute WHERE attrelid = $Oh AND attnum > 0",$h);foreach(get_rows("SELECT relname, indisunique::int, indisprimary::int, indkey, indoption , (indpred IS NOT NULL)::int as indispartial FROM pg_index i, pg_class ci WHERE i.indrelid = $Oh AND ci.oid = i.indexrelid",$h)as$J){$Fg=$J["relname"];$I[$Fg]["type"]=($J["indispartial"]?"INDEX":($J["indisprimary"]?"PRIMARY":($J["indisunique"]?"UNIQUE":"INDEX")));$I[$Fg]["columns"]=array();foreach(explode(" ",$J["indkey"])as$Ld)$I[$Fg]["columns"][]=$f[$Ld];$I[$Fg]["descs"]=array();foreach(explode(" ",$J["indoption"])as$Md)$I[$Fg]["descs"][]=($Md&1?'1':null);$I[$Fg]["lengths"]=array();}return$I;}function
foreign_keys($Q){global$nf;$I=array();foreach(get_rows("SELECT conname, condeferrable::int AS deferrable, pg_get_constraintdef(oid) AS definition
FROM pg_constraint
WHERE conrelid = (SELECT pc.oid FROM pg_class AS pc INNER JOIN pg_namespace AS pn ON (pn.oid = pc.relnamespace) WHERE pc.relname = ".q($Q)." AND pn.nspname = current_schema())
AND contype = 'f'::char
ORDER BY conkey, conname")as$J){if(preg_match('~FOREIGN KEY\s*\((.+)\)\s*REFERENCES (.+)\((.+)\)(.*)$~iA',$J['definition'],$B)){$J['source']=array_map('trim',explode(',',$B[1]));if(preg_match('~^(("([^"]|"")+"|[^"]+)\.)?"?("([^"]|"")+"|[^"]+)$~',$B[2],$Ae)){$J['ns']=str_replace('""','"',preg_replace('~^"(.+)"$~','\1',$Ae[2]));$J['table']=str_replace('""','"',preg_replace('~^"(.+)"$~','\1',$Ae[4]));}$J['target']=array_map('trim',explode(',',$B[3]));$J['on_delete']=(preg_match("~ON DELETE ($nf)~",$B[4],$Ae)?$Ae[1]:'NO ACTION');$J['on_update']=(preg_match("~ON UPDATE ($nf)~",$B[4],$Ae)?$Ae[1]:'NO ACTION');$I[$J['conname']]=$J;}}return$I;}function
view($C){global$g;return
array("select"=>trim($g->result("SELECT view_definition
FROM information_schema.views
WHERE table_schema = current_schema() AND table_name = ".q($C))));}function
collations(){return
array();}function
information_schema($m){return($m=="information_schema");}function
error(){global$g;$I=h($g->error);if(preg_match('~^(.*\n)?([^\n]*)\n( *)\^(\n.*)?$~s',$I,$B))$I=$B[1].preg_replace('~((?:[^&]|&[^;]*;){'.strlen($B[3]).'})(.*)~','\1<b>\2</b>',$B[2]).$B[4];return
nl_br($I);}function
create_database($m,$d){return
queries("CREATE DATABASE ".idf_escape($m).($d?" ENCODING ".idf_escape($d):""));}function
drop_databases($l){global$g;$g->close();return
apply_queries("DROP DATABASE",$l,'idf_escape');}function
rename_database($C,$d){return
queries("ALTER DATABASE ".idf_escape(DB)." RENAME TO ".idf_escape($C));}function
auto_increment(){return"";}function
alter_table($Q,$C,$q,$ad,$tb,$sc,$d,$La,$Rf){$c=array();$sg=array();foreach($q
as$p){$e=idf_escape($p[0]);$X=$p[1];if(!$X)$c[]="DROP $e";else{$Ri=$X[5];unset($X[5]);if(isset($X[6])&&$p[0]=="")$X[1]=($X[1]=="bigint"?" big":" ")."serial";if($p[0]=="")$c[]=($Q!=""?"ADD ":"  ").implode($X);else{if($e!=$X[0])$sg[]="ALTER TABLE ".table($Q)." RENAME $e TO $X[0]";$c[]="ALTER $e TYPE$X[1]";if(!$X[6]){$c[]="ALTER $e ".($X[3]?"SET$X[3]":"DROP DEFAULT");$c[]="ALTER $e ".($X[2]==" NULL"?"DROP NOT":"SET").$X[2];}}if($p[0]!=""||$Ri!="")$sg[]="COMMENT ON COLUMN ".table($Q).".$X[0] IS ".($Ri!=""?substr($Ri,9):"''");}}$c=array_merge($c,$ad);if($Q=="")array_unshift($sg,"CREATE TABLE ".table($C)." (\n".implode(",\n",$c)."\n)");elseif($c)array_unshift($sg,"ALTER TABLE ".table($Q)."\n".implode(",\n",$c));if($Q!=""&&$Q!=$C)$sg[]="ALTER TABLE ".table($Q)." RENAME TO ".table($C);if($Q!=""||$tb!="")$sg[]="COMMENT ON TABLE ".table($C)." IS ".q($tb);if($La!=""){}foreach($sg
as$G){if(!queries($G))return
false;}return
true;}function
alter_indexes($Q,$c){$i=array();$dc=array();$sg=array();foreach($c
as$X){if($X[0]!="INDEX")$i[]=($X[2]=="DROP"?"\nDROP CONSTRAINT ".idf_escape($X[1]):"\nADD".($X[1]!=""?" CONSTRAINT ".idf_escape($X[1]):"")." $X[0] ".($X[0]=="PRIMARY"?"KEY ":"")."(".implode(", ",$X[2]).")");elseif($X[2]=="DROP")$dc[]=idf_escape($X[1]);else$sg[]="CREATE INDEX ".idf_escape($X[1]!=""?$X[1]:uniqid($Q."_"))." ON ".table($Q)." (".implode(", ",$X[2]).")";}if($i)array_unshift($sg,"ALTER TABLE ".table($Q).implode(",",$i));if($dc)array_unshift($sg,"DROP INDEX ".implode(", ",$dc));foreach($sg
as$G){if(!queries($G))return
false;}return
true;}function
truncate_tables($S){return
queries("TRUNCATE ".implode(", ",array_map('table',$S)));return
true;}function
drop_views($Xi){return
drop_tables($Xi);}function
drop_tables($S){foreach($S
as$Q){$Ch=table_status($Q);if(!queries("DROP ".strtoupper($Ch["Engine"])." ".table($Q)))return
false;}return
true;}function
move_tables($S,$Xi,$Vh){foreach(array_merge($S,$Xi)as$Q){$Ch=table_status($Q);if(!queries("ALTER ".strtoupper($Ch["Engine"])." ".table($Q)." SET SCHEMA ".idf_escape($Vh)))return
false;}return
true;}function
trigger($C,$Q=null){if($C=="")return
array("Statement"=>"EXECUTE PROCEDURE ()");if($Q===null)$Q=$_GET['trigger'];$K=get_rows('SELECT t.trigger_name AS "Trigger", t.action_timing AS "Timing", (SELECT STRING_AGG(event_manipulation, \' OR \') FROM information_schema.triggers WHERE event_object_table = t.event_object_table AND trigger_name = t.trigger_name ) AS "Events", t.event_manipulation AS "Event", \'FOR EACH \' || t.action_orientation AS "Type", t.action_statement AS "Statement" FROM information_schema.triggers t WHERE t.event_object_table = '.q($Q).' AND t.trigger_name = '.q($C));return
reset($K);}function
triggers($Q){$I=array();foreach(get_rows("SELECT * FROM information_schema.triggers WHERE event_object_table = ".q($Q))as$J)$I[$J["trigger_name"]]=array($J["action_timing"],$J["event_manipulation"]);return$I;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("FOR EACH ROW","FOR EACH STATEMENT"),);}function
routine($C,$T){$K=get_rows('SELECT routine_definition AS definition, LOWER(external_language) AS language, *
FROM information_schema.routines
WHERE routine_schema = current_schema() AND specific_name = '.q($C));$I=$K[0];$I["returns"]=array("type"=>$I["type_udt_name"]);$I["fields"]=get_rows('SELECT parameter_name AS field, data_type AS type, character_maximum_length AS length, parameter_mode AS inout
FROM information_schema.parameters
WHERE specific_schema = current_schema() AND specific_name = '.q($C).'
ORDER BY ordinal_position');return$I;}function
routines(){return
get_rows('SELECT specific_name AS "SPECIFIC_NAME", routine_type AS "ROUTINE_TYPE", routine_name AS "ROUTINE_NAME", type_udt_name AS "DTD_IDENTIFIER"
FROM information_schema.routines
WHERE routine_schema = current_schema()
ORDER BY SPECIFIC_NAME');}function
routine_languages(){return
get_vals("SELECT LOWER(lanname) FROM pg_catalog.pg_language");}function
routine_id($C,$J){$I=array();foreach($J["fields"]as$p)$I[]=$p["type"];return
idf_escape($C)."(".implode(", ",$I).")";}function
last_id(){return
0;}function
explain($g,$G){return$g->query("EXPLAIN $G");}function
found_rows($R,$Z){global$g;if(preg_match("~ rows=([0-9]+)~",$g->result("EXPLAIN SELECT * FROM ".idf_escape($R["Name"]).($Z?" WHERE ".implode(" AND ",$Z):"")),$Eg))return$Eg[1];return
false;}function
types(){return
get_vals("SELECT typname
FROM pg_type
WHERE typnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema())
AND typtype IN ('b','d','e')
AND typelem = 0");}function
schemas(){return
get_vals("SELECT nspname FROM pg_namespace ORDER BY nspname");}function
get_schema(){global$g;return$g->result("SELECT current_schema()");}function
set_schema($Xg){global$g,$U,$Fh;$I=$g->query("SET search_path TO ".idf_escape($Xg));foreach(types()as$T){if(!isset($U[$T])){$U[$T]=0;$Fh['User types'][]=$T;}}return$I;}function
create_sql($Q,$La,$Gh){global$g;$I='';$Ng=array();$hh=array();$Ch=table_status($Q);$q=fields($Q);$x=indexes($Q);ksort($x);$Xc=foreign_keys($Q);ksort($Xc);if(!$Ch||empty($q))return
false;$I="CREATE TABLE ".idf_escape($Ch['nspname']).".".idf_escape($Ch['Name'])." (\n    ";foreach($q
as$Pc=>$p){$Of=idf_escape($p['field']).' '.$p['full_type'].default_value($p).($p['attnotnull']?" NOT NULL":"");$Ng[]=$Of;if(preg_match('~nextval\(\'([^\']+)\'\)~',$p['default'],$Be)){$gh=$Be[1];$vh=reset(get_rows(min_version(10)?"SELECT *, cache_size AS cache_value FROM pg_sequences WHERE schemaname = current_schema() AND sequencename = ".q($gh):"SELECT * FROM $gh"));$hh[]=($Gh=="DROP+CREATE"?"DROP SEQUENCE IF EXISTS $gh;\n":"")."CREATE SEQUENCE $gh INCREMENT $vh[increment_by] MINVALUE $vh[min_value] MAXVALUE $vh[max_value] START ".($La?$vh['last_value']:1)." CACHE $vh[cache_value];";}}if(!empty($hh))$I=implode("\n\n",$hh)."\n\n$I";foreach($x
as$Gd=>$w){switch($w['type']){case'UNIQUE':$Ng[]="CONSTRAINT ".idf_escape($Gd)." UNIQUE (".implode(', ',array_map('idf_escape',$w['columns'])).")";break;case'PRIMARY':$Ng[]="CONSTRAINT ".idf_escape($Gd)." PRIMARY KEY (".implode(', ',array_map('idf_escape',$w['columns'])).")";break;}}foreach($Xc
as$Wc=>$Vc)$Ng[]="CONSTRAINT ".idf_escape($Wc)." $Vc[definition] ".($Vc['deferrable']?'DEFERRABLE':'NOT DEFERRABLE');$I.=implode(",\n    ",$Ng)."\n) WITH (oids = ".($Ch['Oid']?'true':'false').");";foreach($x
as$Gd=>$w){if($w['type']=='INDEX'){$f=array();foreach($w['columns']as$z=>$X)$f[]=idf_escape($X).($w['descs'][$z]?" DESC":"");$I.="\n\nCREATE INDEX ".idf_escape($Gd)." ON ".idf_escape($Ch['nspname']).".".idf_escape($Ch['Name'])." USING btree (".implode(', ',$f).");";}}if($Ch['Comment'])$I.="\n\nCOMMENT ON TABLE ".idf_escape($Ch['nspname']).".".idf_escape($Ch['Name'])." IS ".q($Ch['Comment']).";";foreach($q
as$Pc=>$p){if($p['comment'])$I.="\n\nCOMMENT ON COLUMN ".idf_escape($Ch['nspname']).".".idf_escape($Ch['Name']).".".idf_escape($Pc)." IS ".q($p['comment']).";";}return
rtrim($I,';');}function
truncate_sql($Q){return"TRUNCATE ".table($Q);}function
trigger_sql($Q){$Ch=table_status($Q);$I="";foreach(triggers($Q)as$ui=>$ti){$vi=trigger($ui,$Ch['Name']);$I.="\nCREATE TRIGGER ".idf_escape($vi['Trigger'])." $vi[Timing] $vi[Events] ON ".idf_escape($Ch["nspname"]).".".idf_escape($Ch['Name'])." $vi[Type] $vi[Statement];;\n";}return$I;}function
use_sql($k){return"\connect ".idf_escape($k);}function
show_variables(){return
get_key_vals("SHOW ALL");}function
process_list(){return
get_rows("SELECT * FROM pg_stat_activity ORDER BY ".(min_version(9.2)?"pid":"procpid"));}function
show_status(){}function
convert_field($p){}function
unconvert_field($p,$I){return$I;}function
support($Nc){return
preg_match('~^(database|table|columns|sql|indexes|descidx|comment|view|'.(min_version(9.3)?'materializedview|':'').'scheme|routine|processlist|sequence|trigger|type|variables|drop_col|kill|dump)$~',$Nc);}function
kill_process($X){return
queries("SELECT pg_terminate_backend(".number($X).")");}function
connection_id(){return"SELECT pg_backend_pid()";}function
max_connections(){global$g;return$g->result("SHOW max_connections");}$y="pgsql";$U=array();$Fh=array();foreach(array('Numbers'=>array("smallint"=>5,"integer"=>10,"bigint"=>19,"boolean"=>1,"numeric"=>0,"real"=>7,"double precision"=>16,"money"=>20),'Date and time'=>array("date"=>13,"time"=>17,"timestamp"=>20,"timestamptz"=>21,"interval"=>0),'Strings'=>array("character"=>0,"character varying"=>0,"text"=>0,"tsquery"=>0,"tsvector"=>0,"uuid"=>0,"xml"=>0),'Binary'=>array("bit"=>0,"bit varying"=>0,"bytea"=>0),'Network'=>array("cidr"=>43,"inet"=>43,"macaddr"=>17,"txid_snapshot"=>0),'Geometry'=>array("box"=>0,"circle"=>0,"line"=>0,"lseg"=>0,"path"=>0,"point"=>0,"polygon"=>0),)as$z=>$X){$U+=$X;$Fh[$z]=array_keys($X);}$Gi=array();$sf=array("=","<",">","<=",">=","!=","~","!~","LIKE","LIKE %%","ILIKE","ILIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL");$id=array("char_length","lower","round","to_hex","to_timestamp","upper");$od=array("avg","count","count distinct","max","min","sum");$kc=array(array("char"=>"md5","date|time"=>"now",),array(number_type()=>"+/-","date|time"=>"+ interval/- interval","char|text"=>"||",));}$cc["oracle"]="Oracle (beta)";if(isset($_GET["oracle"])){$eg=array("OCI8","PDO_OCI");define("DRIVER","oracle");if(extension_loaded("oci8")){class
Min_DB{var$extension="oci8",$_link,$_result,$server_info,$affected_rows,$errno,$error;function
_error($vc,$o){if(ini_bool("html_errors"))$o=html_entity_decode(strip_tags($o));$o=preg_replace('~^[^:]*: ~','',$o);$this->error=$o;}function
connect($N,$V,$F){$this->_link=@oci_new_connect($V,$F,$N,"AL32UTF8");if($this->_link){$this->server_info=oci_server_version($this->_link);return
true;}$o=oci_error();$this->error=$o["message"];return
false;}function
quote($P){return"'".str_replace("'","''",$P)."'";}function
select_db($k){return
true;}function
query($G,$Ai=false){$H=oci_parse($this->_link,$G);$this->error="";if(!$H){$o=oci_error($this->_link);$this->errno=$o["code"];$this->error=$o["message"];return
false;}set_error_handler(array($this,'_error'));$I=@oci_execute($H);restore_error_handler();if($I){if(oci_num_fields($H))return
new
Min_Result($H);$this->affected_rows=oci_num_rows($H);}return$I;}function
multi_query($G){return$this->_result=$this->query($G);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($G,$p=1){$H=$this->query($G);if(!is_object($H)||!oci_fetch($H->_result))return
false;return
oci_result($H->_result,$p);}}class
Min_Result{var$_result,$_offset=1,$num_rows;function
__construct($H){$this->_result=$H;}function
_convert($J){foreach((array)$J
as$z=>$X){if(is_a($X,'OCI-Lob'))$J[$z]=$X->load();}return$J;}function
fetch_assoc(){return$this->_convert(oci_fetch_assoc($this->_result));}function
fetch_row(){return$this->_convert(oci_fetch_row($this->_result));}function
fetch_field(){$e=$this->_offset++;$I=new
stdClass;$I->name=oci_field_name($this->_result,$e);$I->orgname=$I->name;$I->type=oci_field_type($this->_result,$e);$I->charsetnr=(preg_match("~raw|blob|bfile~",$I->type)?63:0);return$I;}function
__destruct(){oci_free_statement($this->_result);}}}elseif(extension_loaded("pdo_oci")){class
Min_DB
extends
Min_PDO{var$extension="PDO_OCI";function
connect($N,$V,$F){$this->dsn("oci:dbname=//$N;charset=AL32UTF8",$V,$F);return
true;}function
select_db($k){return
true;}}}class
Min_Driver
extends
Min_SQL{function
begin(){return
true;}}function
idf_escape($v){return'"'.str_replace('"','""',$v).'"';}function
table($v){return
idf_escape($v);}function
connect(){global$b;$g=new
Min_DB;$j=$b->credentials();if($g->connect($j[0],$j[1],$j[2]))return$g;return$g->error;}function
get_databases(){return
get_vals("SELECT tablespace_name FROM user_tablespaces");}function
limit($G,$Z,$_,$D=0,$M=" "){return($D?" * FROM (SELECT t.*, rownum AS rnum FROM (SELECT $G$Z) t WHERE rownum <= ".($_+$D).") WHERE rnum > $D":($_!==null?" * FROM (SELECT $G$Z) WHERE rownum <= ".($_+$D):" $G$Z"));}function
limit1($Q,$G,$Z,$M="\n"){return" $G$Z";}function
db_collation($m,$ob){global$g;return$g->result("SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'");}function
engines(){return
array();}function
logged_user(){global$g;return$g->result("SELECT USER FROM DUAL");}function
tables_list(){return
get_key_vals("SELECT table_name, 'table' FROM all_tables WHERE tablespace_name = ".q(DB)."
UNION SELECT view_name, 'view' FROM user_views
ORDER BY 1");}function
count_tables($l){return
array();}function
table_status($C=""){$I=array();$Zg=q($C);foreach(get_rows('SELECT table_name "Name", \'table\' "Engine", avg_row_len * num_rows "Data_length", num_rows "Rows" FROM all_tables WHERE tablespace_name = '.q(DB).($C!=""?" AND table_name = $Zg":"")."
UNION SELECT view_name, 'view', 0, 0 FROM user_views".($C!=""?" WHERE view_name = $Zg":"")."
ORDER BY 1")as$J){if($C!="")return$J;$I[$J["Name"]]=$J;}return$I;}function
is_view($R){return$R["Engine"]=="view";}function
fk_support($R){return
true;}function
fields($Q){$I=array();foreach(get_rows("SELECT * FROM all_tab_columns WHERE table_name = ".q($Q)." ORDER BY column_id")as$J){$T=$J["DATA_TYPE"];$re="$J[DATA_PRECISION],$J[DATA_SCALE]";if($re==",")$re=$J["DATA_LENGTH"];$I[$J["COLUMN_NAME"]]=array("field"=>$J["COLUMN_NAME"],"full_type"=>$T.($re?"($re)":""),"type"=>strtolower($T),"length"=>$re,"default"=>$J["DATA_DEFAULT"],"null"=>($J["NULLABLE"]=="Y"),"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),);}return$I;}function
indexes($Q,$h=null){$I=array();foreach(get_rows("SELECT uic.*, uc.constraint_type
FROM user_ind_columns uic
LEFT JOIN user_constraints uc ON uic.index_name = uc.constraint_name AND uic.table_name = uc.table_name
WHERE uic.table_name = ".q($Q)."
ORDER BY uc.constraint_type, uic.column_position",$h)as$J){$Gd=$J["INDEX_NAME"];$I[$Gd]["type"]=($J["CONSTRAINT_TYPE"]=="P"?"PRIMARY":($J["CONSTRAINT_TYPE"]=="U"?"UNIQUE":"INDEX"));$I[$Gd]["columns"][]=$J["COLUMN_NAME"];$I[$Gd]["lengths"][]=($J["CHAR_LENGTH"]&&$J["CHAR_LENGTH"]!=$J["COLUMN_LENGTH"]?$J["CHAR_LENGTH"]:null);$I[$Gd]["descs"][]=($J["DESCEND"]?'1':null);}return$I;}function
view($C){$K=get_rows('SELECT text "select" FROM user_views WHERE view_name = '.q($C));return
reset($K);}function
collations(){return
array();}function
information_schema($m){return
false;}function
error(){global$g;return
h($g->error);}function
explain($g,$G){$g->query("EXPLAIN PLAN FOR $G");return$g->query("SELECT * FROM plan_table");}function
found_rows($R,$Z){}function
alter_table($Q,$C,$q,$ad,$tb,$sc,$d,$La,$Rf){$c=$dc=array();foreach($q
as$p){$X=$p[1];if($X&&$p[0]!=""&&idf_escape($p[0])!=$X[0])queries("ALTER TABLE ".table($Q)." RENAME COLUMN ".idf_escape($p[0])." TO $X[0]");if($X)$c[]=($Q!=""?($p[0]!=""?"MODIFY (":"ADD ("):"  ").implode($X).($Q!=""?")":"");else$dc[]=idf_escape($p[0]);}if($Q=="")return
queries("CREATE TABLE ".table($C)." (\n".implode(",\n",$c)."\n)");return(!$c||queries("ALTER TABLE ".table($Q)."\n".implode("\n",$c)))&&(!$dc||queries("ALTER TABLE ".table($Q)." DROP (".implode(", ",$dc).")"))&&($Q==$C||queries("ALTER TABLE ".table($Q)." RENAME TO ".table($C)));}function
foreign_keys($Q){$I=array();$G="SELECT c_list.CONSTRAINT_NAME as NAME,
c_src.COLUMN_NAME as SRC_COLUMN,
c_dest.OWNER as DEST_DB,
c_dest.TABLE_NAME as DEST_TABLE,
c_dest.COLUMN_NAME as DEST_COLUMN,
c_list.DELETE_RULE as ON_DELETE
FROM ALL_CONSTRAINTS c_list, ALL_CONS_COLUMNS c_src, ALL_CONS_COLUMNS c_dest
WHERE c_list.CONSTRAINT_NAME = c_src.CONSTRAINT_NAME
AND c_list.R_CONSTRAINT_NAME = c_dest.CONSTRAINT_NAME
AND c_list.CONSTRAINT_TYPE = 'R'
AND c_src.TABLE_NAME = ".q($Q);foreach(get_rows($G)as$J)$I[$J['NAME']]=array("db"=>$J['DEST_DB'],"table"=>$J['DEST_TABLE'],"source"=>array($J['SRC_COLUMN']),"target"=>array($J['DEST_COLUMN']),"on_delete"=>$J['ON_DELETE'],"on_update"=>null,);return$I;}function
truncate_tables($S){return
apply_queries("TRUNCATE TABLE",$S);}function
drop_views($Xi){return
apply_queries("DROP VIEW",$Xi);}function
drop_tables($S){return
apply_queries("DROP TABLE",$S);}function
last_id(){return
0;}function
schemas(){return
get_vals("SELECT DISTINCT owner FROM dba_segments WHERE owner IN (SELECT username FROM dba_users WHERE default_tablespace NOT IN ('SYSTEM','SYSAUX'))");}function
get_schema(){global$g;return$g->result("SELECT sys_context('USERENV', 'SESSION_USER') FROM dual");}function
set_schema($Yg){global$g;return$g->query("ALTER SESSION SET CURRENT_SCHEMA = ".idf_escape($Yg));}function
show_variables(){return
get_key_vals('SELECT name, display_value FROM v$parameter');}function
process_list(){return
get_rows('SELECT sess.process AS "process", sess.username AS "user", sess.schemaname AS "schema", sess.status AS "status", sess.wait_class AS "wait_class", sess.seconds_in_wait AS "seconds_in_wait", sql.sql_text AS "sql_text", sess.machine AS "machine", sess.port AS "port"
FROM v$session sess LEFT OUTER JOIN v$sql sql
ON sql.sql_id = sess.sql_id
WHERE sess.type = \'USER\'
ORDER BY PROCESS
');}function
show_status(){$K=get_rows('SELECT * FROM v$instance');return
reset($K);}function
convert_field($p){}function
unconvert_field($p,$I){return$I;}function
support($Nc){return
preg_match('~^(columns|database|drop_col|indexes|descidx|processlist|scheme|sql|status|table|variables|view|view_trigger)$~',$Nc);}$y="oracle";$U=array();$Fh=array();foreach(array('Numbers'=>array("number"=>38,"binary_float"=>12,"binary_double"=>21),'Date and time'=>array("date"=>10,"timestamp"=>29,"interval year"=>12,"interval day"=>28),'Strings'=>array("char"=>2000,"varchar2"=>4000,"nchar"=>2000,"nvarchar2"=>4000,"clob"=>4294967295,"nclob"=>4294967295),'Binary'=>array("raw"=>2000,"long raw"=>2147483648,"blob"=>4294967295,"bfile"=>4294967296),)as$z=>$X){$U+=$X;$Fh[$z]=array_keys($X);}$Gi=array();$sf=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");$id=array("length","lower","round","upper");$od=array("avg","count","count distinct","max","min","sum");$kc=array(array("date"=>"current_date","timestamp"=>"current_timestamp",),array("number|float|double"=>"+/-","date|timestamp"=>"+ interval/- interval","char|clob"=>"||",));}$cc["mssql"]="MS SQL (beta)";if(isset($_GET["mssql"])){$eg=array("SQLSRV","MSSQL","PDO_DBLIB");define("DRIVER","mssql");if(extension_loaded("sqlsrv")){class
Min_DB{var$extension="sqlsrv",$_link,$_result,$server_info,$affected_rows,$errno,$error;function
_get_error(){$this->error="";foreach(sqlsrv_errors()as$o){$this->errno=$o["code"];$this->error.="$o[message]\n";}$this->error=rtrim($this->error);}function
connect($N,$V,$F){global$b;$m=$b->database();$wb=array("UID"=>$V,"PWD"=>$F,"CharacterSet"=>"UTF-8");if($m!="")$wb["Database"]=$m;$this->_link=@sqlsrv_connect(preg_replace('~:~',',',$N),$wb);if($this->_link){$Nd=sqlsrv_server_info($this->_link);$this->server_info=$Nd['SQLServerVersion'];}else$this->_get_error();return(bool)$this->_link;}function
quote($P){return"'".str_replace("'","''",$P)."'";}function
select_db($k){return$this->query("USE ".idf_escape($k));}function
query($G,$Ai=false){$H=sqlsrv_query($this->_link,$G);$this->error="";if(!$H){$this->_get_error();return
false;}return$this->store_result($H);}function
multi_query($G){$this->_result=sqlsrv_query($this->_link,$G);$this->error="";if(!$this->_result){$this->_get_error();return
false;}return
true;}function
store_result($H=null){if(!$H)$H=$this->_result;if(!$H)return
false;if(sqlsrv_field_metadata($H))return
new
Min_Result($H);$this->affected_rows=sqlsrv_rows_affected($H);return
true;}function
next_result(){return$this->_result?sqlsrv_next_result($this->_result):null;}function
result($G,$p=0){$H=$this->query($G);if(!is_object($H))return
false;$J=$H->fetch_row();return$J[$p];}}class
Min_Result{var$_result,$_offset=0,$_fields,$num_rows;function
__construct($H){$this->_result=$H;}function
_convert($J){foreach((array)$J
as$z=>$X){if(is_a($X,'DateTime'))$J[$z]=$X->format("Y-m-d H:i:s");}return$J;}function
fetch_assoc(){return$this->_convert(sqlsrv_fetch_array($this->_result,SQLSRV_FETCH_ASSOC));}function
fetch_row(){return$this->_convert(sqlsrv_fetch_array($this->_result,SQLSRV_FETCH_NUMERIC));}function
fetch_field(){if(!$this->_fields)$this->_fields=sqlsrv_field_metadata($this->_result);$p=$this->_fields[$this->_offset++];$I=new
stdClass;$I->name=$p["Name"];$I->orgname=$p["Name"];$I->type=($p["Type"]==1?254:0);return$I;}function
seek($D){for($t=0;$t<$D;$t++)sqlsrv_fetch($this->_result);}function
__destruct(){sqlsrv_free_stmt($this->_result);}}}elseif(extension_loaded("mssql")){class
Min_DB{var$extension="MSSQL",$_link,$_result,$server_info,$affected_rows,$error;function
connect($N,$V,$F){$this->_link=@mssql_connect($N,$V,$F);if($this->_link){$H=$this->query("SELECT SERVERPROPERTY('ProductLevel'), SERVERPROPERTY('Edition')");if($H){$J=$H->fetch_row();$this->server_info=$this->result("sp_server_info 2",2)." [$J[0]] $J[1]";}}else$this->error=mssql_get_last_message();return(bool)$this->_link;}function
quote($P){return"'".str_replace("'","''",$P)."'";}function
select_db($k){return
mssql_select_db($k);}function
query($G,$Ai=false){$H=@mssql_query($G,$this->_link);$this->error="";if(!$H){$this->error=mssql_get_last_message();return
false;}if($H===true){$this->affected_rows=mssql_rows_affected($this->_link);return
true;}return
new
Min_Result($H);}function
multi_query($G){return$this->_result=$this->query($G);}function
store_result(){return$this->_result;}function
next_result(){return
mssql_next_result($this->_result->_result);}function
result($G,$p=0){$H=$this->query($G);if(!is_object($H))return
false;return
mssql_result($H->_result,0,$p);}}class
Min_Result{var$_result,$_offset=0,$_fields,$num_rows;function
__construct($H){$this->_result=$H;$this->num_rows=mssql_num_rows($H);}function
fetch_assoc(){return
mssql_fetch_assoc($this->_result);}function
fetch_row(){return
mssql_fetch_row($this->_result);}function
num_rows(){return
mssql_num_rows($this->_result);}function
fetch_field(){$I=mssql_fetch_field($this->_result);$I->orgtable=$I->table;$I->orgname=$I->name;return$I;}function
seek($D){mssql_data_seek($this->_result,$D);}function
__destruct(){mssql_free_result($this->_result);}}}elseif(extension_loaded("pdo_dblib")){class
Min_DB
extends
Min_PDO{var$extension="PDO_DBLIB";function
connect($N,$V,$F){$this->dsn("dblib:charset=utf8;host=".str_replace(":",";unix_socket=",preg_replace('~:(\d)~',';port=\1',$N)),$V,$F);return
true;}function
select_db($k){return$this->query("USE ".idf_escape($k));}}}class
Min_Driver
extends
Min_SQL{function
insertUpdate($Q,$K,$hg){foreach($K
as$O){$Hi=array();$Z=array();foreach($O
as$z=>$X){$Hi[]="$z = $X";if(isset($hg[idf_unescape($z)]))$Z[]="$z = $X";}if(!queries("MERGE ".table($Q)." USING (VALUES(".implode(", ",$O).")) AS source (c".implode(", c",range(1,count($O))).") ON ".implode(" AND ",$Z)." WHEN MATCHED THEN UPDATE SET ".implode(", ",$Hi)." WHEN NOT MATCHED THEN INSERT (".implode(", ",array_keys($O)).") VALUES (".implode(", ",$O).");"))return
false;}return
true;}function
begin(){return
queries("BEGIN TRANSACTION");}}function
idf_escape($v){return"[".str_replace("]","]]",$v)."]";}function
table($v){return($_GET["ns"]!=""?idf_escape($_GET["ns"]).".":"").idf_escape($v);}function
connect(){global$b;$g=new
Min_DB;$j=$b->credentials();if($g->connect($j[0],$j[1],$j[2]))return$g;return$g->error;}function
get_databases(){return
get_vals("SELECT name FROM sys.databases WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb')");}function
limit($G,$Z,$_,$D=0,$M=" "){return($_!==null?" TOP (".($_+$D).")":"")." $G$Z";}function
limit1($Q,$G,$Z,$M="\n"){return
limit($G,$Z,1,0,$M);}function
db_collation($m,$ob){global$g;return$g->result("SELECT collation_name FROM sys.databases WHERE name = ".q($m));}function
engines(){return
array();}function
logged_user(){global$g;return$g->result("SELECT SUSER_NAME()");}function
tables_list(){return
get_key_vals("SELECT name, type_desc FROM sys.all_objects WHERE schema_id = SCHEMA_ID(".q(get_schema()).") AND type IN ('S', 'U', 'V') ORDER BY name");}function
count_tables($l){global$g;$I=array();foreach($l
as$m){$g->select_db($m);$I[$m]=$g->result("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES");}return$I;}function
table_status($C=""){$I=array();foreach(get_rows("SELECT name AS Name, type_desc AS Engine FROM sys.all_objects WHERE schema_id = SCHEMA_ID(".q(get_schema()).") AND type IN ('S', 'U', 'V') ".($C!=""?"AND name = ".q($C):"ORDER BY name"))as$J){if($C!="")return$J;$I[$J["Name"]]=$J;}return$I;}function
is_view($R){return$R["Engine"]=="VIEW";}function
fk_support($R){return
true;}function
fields($Q){$I=array();foreach(get_rows("SELECT c.max_length, c.precision, c.scale, c.name, c.is_nullable, c.is_identity, c.collation_name, t.name type, CAST(d.definition as text) [default]
FROM sys.all_columns c
JOIN sys.all_objects o ON c.object_id = o.object_id
JOIN sys.types t ON c.user_type_id = t.user_type_id
LEFT JOIN sys.default_constraints d ON c.default_object_id = d.parent_column_id
WHERE o.schema_id = SCHEMA_ID(".q(get_schema()).") AND o.type IN ('S', 'U', 'V') AND o.name = ".q($Q))as$J){$T=$J["type"];$re=(preg_match("~char|binary~",$T)?$J["max_length"]:($T=="decimal"?"$J[precision],$J[scale]":""));$I[$J["name"]]=array("field"=>$J["name"],"full_type"=>$T.($re?"($re)":""),"type"=>$T,"length"=>$re,"default"=>$J["default"],"null"=>$J["is_nullable"],"auto_increment"=>$J["is_identity"],"collation"=>$J["collation_name"],"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),"primary"=>$J["is_identity"],);}return$I;}function
indexes($Q,$h=null){$I=array();foreach(get_rows("SELECT i.name, key_ordinal, is_unique, is_primary_key, c.name AS column_name, is_descending_key
FROM sys.indexes i
INNER JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id
INNER JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id
WHERE OBJECT_NAME(i.object_id) = ".q($Q),$h)as$J){$C=$J["name"];$I[$C]["type"]=($J["is_primary_key"]?"PRIMARY":($J["is_unique"]?"UNIQUE":"INDEX"));$I[$C]["lengths"]=array();$I[$C]["columns"][$J["key_ordinal"]]=$J["column_name"];$I[$C]["descs"][$J["key_ordinal"]]=($J["is_descending_key"]?'1':null);}return$I;}function
view($C){global$g;return
array("select"=>preg_replace('~^(?:[^[]|\[[^]]*])*\s+AS\s+~isU','',$g->result("SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = SCHEMA_NAME() AND TABLE_NAME = ".q($C))));}function
collations(){$I=array();foreach(get_vals("SELECT name FROM fn_helpcollations()")as$d)$I[preg_replace('~_.*~','',$d)][]=$d;return$I;}function
information_schema($m){return
false;}function
error(){global$g;return
nl_br(h(preg_replace('~^(\[[^]]*])+~m','',$g->error)));}function
create_database($m,$d){return
queries("CREATE DATABASE ".idf_escape($m).(preg_match('~^[a-z0-9_]+$~i',$d)?" COLLATE $d":""));}function
drop_databases($l){return
queries("DROP DATABASE ".implode(", ",array_map('idf_escape',$l)));}function
rename_database($C,$d){if(preg_match('~^[a-z0-9_]+$~i',$d))queries("ALTER DATABASE ".idf_escape(DB)." COLLATE $d");queries("ALTER DATABASE ".idf_escape(DB)." MODIFY NAME = ".idf_escape($C));return
true;}function
auto_increment(){return" IDENTITY".($_POST["Auto_increment"]!=""?"(".number($_POST["Auto_increment"]).",1)":"")." PRIMARY KEY";}function
alter_table($Q,$C,$q,$ad,$tb,$sc,$d,$La,$Rf){$c=array();foreach($q
as$p){$e=idf_escape($p[0]);$X=$p[1];if(!$X)$c["DROP"][]=" COLUMN $e";else{$X[1]=preg_replace("~( COLLATE )'(\\w+)'~",'\1\2',$X[1]);if($p[0]=="")$c["ADD"][]="\n  ".implode("",$X).($Q==""?substr($ad[$X[0]],16+strlen($X[0])):"");else{unset($X[6]);if($e!=$X[0])queries("EXEC sp_rename ".q(table($Q).".$e").", ".q(idf_unescape($X[0])).", 'COLUMN'");$c["ALTER COLUMN ".implode("",$X)][]="";}}}if($Q=="")return
queries("CREATE TABLE ".table($C)." (".implode(",",(array)$c["ADD"])."\n)");if($Q!=$C)queries("EXEC sp_rename ".q(table($Q)).", ".q($C));if($ad)$c[""]=$ad;foreach($c
as$z=>$X){if(!queries("ALTER TABLE ".idf_escape($C)." $z".implode(",",$X)))return
false;}return
true;}function
alter_indexes($Q,$c){$w=array();$dc=array();foreach($c
as$X){if($X[2]=="DROP"){if($X[0]=="PRIMARY")$dc[]=idf_escape($X[1]);else$w[]=idf_escape($X[1])." ON ".table($Q);}elseif(!queries(($X[0]!="PRIMARY"?"CREATE $X[0] ".($X[0]!="INDEX"?"INDEX ":"").idf_escape($X[1]!=""?$X[1]:uniqid($Q."_"))." ON ".table($Q):"ALTER TABLE ".table($Q)." ADD PRIMARY KEY")." (".implode(", ",$X[2]).")"))return
false;}return(!$w||queries("DROP INDEX ".implode(", ",$w)))&&(!$dc||queries("ALTER TABLE ".table($Q)." DROP ".implode(", ",$dc)));}function
last_id(){global$g;return$g->result("SELECT SCOPE_IDENTITY()");}function
explain($g,$G){$g->query("SET SHOWPLAN_ALL ON");$I=$g->query($G);$g->query("SET SHOWPLAN_ALL OFF");return$I;}function
found_rows($R,$Z){}function
foreign_keys($Q){$I=array();foreach(get_rows("EXEC sp_fkeys @fktable_name = ".q($Q))as$J){$r=&$I[$J["FK_NAME"]];$r["table"]=$J["PKTABLE_NAME"];$r["source"][]=$J["FKCOLUMN_NAME"];$r["target"][]=$J["PKCOLUMN_NAME"];}return$I;}function
truncate_tables($S){return
apply_queries("TRUNCATE TABLE",$S);}function
drop_views($Xi){return
queries("DROP VIEW ".implode(", ",array_map('table',$Xi)));}function
drop_tables($S){return
queries("DROP TABLE ".implode(", ",array_map('table',$S)));}function
move_tables($S,$Xi,$Vh){return
apply_queries("ALTER SCHEMA ".idf_escape($Vh)." TRANSFER",array_merge($S,$Xi));}function
trigger($C){if($C=="")return
array();$K=get_rows("SELECT s.name [Trigger],
CASE WHEN OBJECTPROPERTY(s.id, 'ExecIsInsertTrigger') = 1 THEN 'INSERT' WHEN OBJECTPROPERTY(s.id, 'ExecIsUpdateTrigger') = 1 THEN 'UPDATE' WHEN OBJECTPROPERTY(s.id, 'ExecIsDeleteTrigger') = 1 THEN 'DELETE' END [Event],
CASE WHEN OBJECTPROPERTY(s.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing],
c.text
FROM sysobjects s
JOIN syscomments c ON s.id = c.id
WHERE s.xtype = 'TR' AND s.name = ".q($C));$I=reset($K);if($I)$I["Statement"]=preg_replace('~^.+\s+AS\s+~isU','',$I["text"]);return$I;}function
triggers($Q){$I=array();foreach(get_rows("SELECT sys1.name,
CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsertTrigger') = 1 THEN 'INSERT' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsUpdateTrigger') = 1 THEN 'UPDATE' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsDeleteTrigger') = 1 THEN 'DELETE' END [Event],
CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing]
FROM sysobjects sys1
JOIN sysobjects sys2 ON sys1.parent_obj = sys2.id
WHERE sys1.xtype = 'TR' AND sys2.name = ".q($Q))as$J)$I[$J["name"]]=array($J["Timing"],$J["Event"]);return$I;}function
trigger_options(){return
array("Timing"=>array("AFTER","INSTEAD OF"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("AS"),);}function
schemas(){return
get_vals("SELECT name FROM sys.schemas");}function
get_schema(){global$g;if($_GET["ns"]!="")return$_GET["ns"];return$g->result("SELECT SCHEMA_NAME()");}function
set_schema($Xg){return
true;}function
use_sql($k){return"USE ".idf_escape($k);}function
show_variables(){return
array();}function
show_status(){return
array();}function
convert_field($p){}function
unconvert_field($p,$I){return$I;}function
support($Nc){return
preg_match('~^(columns|database|drop_col|indexes|descidx|scheme|sql|table|trigger|view|view_trigger)$~',$Nc);}$y="mssql";$U=array();$Fh=array();foreach(array('Numbers'=>array("tinyint"=>3,"smallint"=>5,"int"=>10,"bigint"=>20,"bit"=>1,"decimal"=>0,"real"=>12,"float"=>53,"smallmoney"=>10,"money"=>20),'Date and time'=>array("date"=>10,"smalldatetime"=>19,"datetime"=>19,"datetime2"=>19,"time"=>8,"datetimeoffset"=>10),'Strings'=>array("char"=>8000,"varchar"=>8000,"text"=>2147483647,"nchar"=>4000,"nvarchar"=>4000,"ntext"=>1073741823),'Binary'=>array("binary"=>8000,"varbinary"=>8000,"image"=>2147483647),)as$z=>$X){$U+=$X;$Fh[$z]=array_keys($X);}$Gi=array();$sf=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL");$id=array("len","lower","round","upper");$od=array("avg","count","count distinct","max","min","sum");$kc=array(array("date|time"=>"getdate",),array("int|decimal|real|float|money|datetime"=>"+/-","char|text"=>"+",));}$cc['firebird']='Firebird (alpha)';if(isset($_GET["firebird"])){$eg=array("interbase");define("DRIVER","firebird");if(extension_loaded("interbase")){class
Min_DB{var$extension="Firebird",$server_info,$affected_rows,$errno,$error,$_link,$_result;function
connect($N,$V,$F){$this->_link=ibase_connect($N,$V,$F);if($this->_link){$Ki=explode(':',$N);$this->service_link=ibase_service_attach($Ki[0],$V,$F);$this->server_info=ibase_server_info($this->service_link,IBASE_SVC_SERVER_VERSION);}else{$this->errno=ibase_errcode();$this->error=ibase_errmsg();}return(bool)$this->_link;}function
quote($P){return"'".str_replace("'","''",$P)."'";}function
select_db($k){return($k=="domain");}function
query($G,$Ai=false){$H=ibase_query($G,$this->_link);if(!$H){$this->errno=ibase_errcode();$this->error=ibase_errmsg();return
false;}$this->error="";if($H===true){$this->affected_rows=ibase_affected_rows($this->_link);return
true;}return
new
Min_Result($H);}function
multi_query($G){return$this->_result=$this->query($G);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($G,$p=0){$H=$this->query($G);if(!$H||!$H->num_rows)return
false;$J=$H->fetch_row();return$J[$p];}}class
Min_Result{var$num_rows,$_result,$_offset=0;function
__construct($H){$this->_result=$H;}function
fetch_assoc(){return
ibase_fetch_assoc($this->_result);}function
fetch_row(){return
ibase_fetch_row($this->_result);}function
fetch_field(){$p=ibase_field_info($this->_result,$this->_offset++);return(object)array('name'=>$p['name'],'orgname'=>$p['name'],'type'=>$p['type'],'charsetnr'=>$p['length'],);}function
__destruct(){ibase_free_result($this->_result);}}}class
Min_Driver
extends
Min_SQL{}function
idf_escape($v){return'"'.str_replace('"','""',$v).'"';}function
table($v){return
idf_escape($v);}function
connect(){global$b;$g=new
Min_DB;$j=$b->credentials();if($g->connect($j[0],$j[1],$j[2]))return$g;return$g->error;}function
get_databases($Yc){return
array("domain");}function
limit($G,$Z,$_,$D=0,$M=" "){$I='';$I.=($_!==null?$M."FIRST $_".($D?" SKIP $D":""):"");$I.=" $G$Z";return$I;}function
limit1($Q,$G,$Z,$M="\n"){return
limit($G,$Z,1,0,$M);}function
db_collation($m,$ob){}function
engines(){return
array();}function
logged_user(){global$b;$j=$b->credentials();return$j[1];}function
tables_list(){global$g;$G='SELECT RDB$RELATION_NAME FROM rdb$relations WHERE rdb$system_flag = 0';$H=ibase_query($g->_link,$G);$I=array();while($J=ibase_fetch_assoc($H))$I[$J['RDB$RELATION_NAME']]='table';ksort($I);return$I;}function
count_tables($l){return
array();}function
table_status($C="",$Mc=false){global$g;$I=array();$Jb=tables_list();foreach($Jb
as$w=>$X){$w=trim($w);$I[$w]=array('Name'=>$w,'Engine'=>'standard',);if($C==$w)return$I[$w];}return$I;}function
is_view($R){return
false;}function
fk_support($R){return
preg_match('~InnoDB|IBMDB2I~i',$R["Engine"]);}function
fields($Q){global$g;$I=array();$G='SELECT r.RDB$FIELD_NAME AS field_name,
r.RDB$DESCRIPTION AS field_description,
r.RDB$DEFAULT_VALUE AS field_default_value,
r.RDB$NULL_FLAG AS field_not_null_constraint,
f.RDB$FIELD_LENGTH AS field_length,
f.RDB$FIELD_PRECISION AS field_precision,
f.RDB$FIELD_SCALE AS field_scale,
CASE f.RDB$FIELD_TYPE
WHEN 261 THEN \'BLOB\'
WHEN 14 THEN \'CHAR\'
WHEN 40 THEN \'CSTRING\'
WHEN 11 THEN \'D_FLOAT\'
WHEN 27 THEN \'DOUBLE\'
WHEN 10 THEN \'FLOAT\'
WHEN 16 THEN \'INT64\'
WHEN 8 THEN \'INTEGER\'
WHEN 9 THEN \'QUAD\'
WHEN 7 THEN \'SMALLINT\'
WHEN 12 THEN \'DATE\'
WHEN 13 THEN \'TIME\'
WHEN 35 THEN \'TIMESTAMP\'
WHEN 37 THEN \'VARCHAR\'
ELSE \'UNKNOWN\'
END AS field_type,
f.RDB$FIELD_SUB_TYPE AS field_subtype,
coll.RDB$COLLATION_NAME AS field_collation,
cset.RDB$CHARACTER_SET_NAME AS field_charset
FROM RDB$RELATION_FIELDS r
LEFT JOIN RDB$FIELDS f ON r.RDB$FIELD_SOURCE = f.RDB$FIELD_NAME
LEFT JOIN RDB$COLLATIONS coll ON f.RDB$COLLATION_ID = coll.RDB$COLLATION_ID
LEFT JOIN RDB$CHARACTER_SETS cset ON f.RDB$CHARACTER_SET_ID = cset.RDB$CHARACTER_SET_ID
WHERE r.RDB$RELATION_NAME = '.q($Q).'
ORDER BY r.RDB$FIELD_POSITION';$H=ibase_query($g->_link,$G);while($J=ibase_fetch_assoc($H))$I[trim($J['FIELD_NAME'])]=array("field"=>trim($J["FIELD_NAME"]),"full_type"=>trim($J["FIELD_TYPE"]),"type"=>trim($J["FIELD_SUB_TYPE"]),"default"=>trim($J['FIELD_DEFAULT_VALUE']),"null"=>(trim($J["FIELD_NOT_NULL_CONSTRAINT"])=="YES"),"auto_increment"=>'0',"collation"=>trim($J["FIELD_COLLATION"]),"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),"comment"=>trim($J["FIELD_DESCRIPTION"]),);return$I;}function
indexes($Q,$h=null){$I=array();return$I;}function
foreign_keys($Q){return
array();}function
collations(){return
array();}function
information_schema($m){return
false;}function
error(){global$g;return
h($g->error);}function
types(){return
array();}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($Xg){return
true;}function
support($Nc){return
preg_match("~^(columns|sql|status|table)$~",$Nc);}$y="firebird";$sf=array("=");$id=array();$od=array();$kc=array();}$cc["simpledb"]="SimpleDB";if(isset($_GET["simpledb"])){$eg=array("SimpleXML + allow_url_fopen");define("DRIVER","simpledb");if(class_exists('SimpleXMLElement')&&ini_bool('allow_url_fopen')){class
Min_DB{var$extension="SimpleXML",$server_info='2009-04-15',$error,$timeout,$next,$affected_rows,$_result;function
select_db($k){return($k=="domain");}function
query($G,$Ai=false){$Lf=array('SelectExpression'=>$G,'ConsistentRead'=>'true');if($this->next)$Lf['NextToken']=$this->next;$H=sdb_request_all('Select','Item',$Lf,$this->timeout);$this->timeout=0;if($H===false)return$H;if(preg_match('~^\s*SELECT\s+COUNT\(~i',$G)){$Jh=0;foreach($H
as$Zd)$Jh+=$Zd->Attribute->Value;$H=array((object)array('Attribute'=>array((object)array('Name'=>'Count','Value'=>$Jh,))));}return
new
Min_Result($H);}function
multi_query($G){return$this->_result=$this->query($G);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
quote($P){return"'".str_replace("'","''",$P)."'";}}class
Min_Result{var$num_rows,$_rows=array(),$_offset=0;function
__construct($H){foreach($H
as$Zd){$J=array();if($Zd->Name!='')$J['itemName()']=(string)$Zd->Name;foreach($Zd->Attribute
as$Ia){$C=$this->_processValue($Ia->Name);$Y=$this->_processValue($Ia->Value);if(isset($J[$C])){$J[$C]=(array)$J[$C];$J[$C][]=$Y;}else$J[$C]=$Y;}$this->_rows[]=$J;foreach($J
as$z=>$X){if(!isset($this->_rows[0][$z]))$this->_rows[0][$z]=null;}}$this->num_rows=count($this->_rows);}function
_processValue($nc){return(is_object($nc)&&$nc['encoding']=='base64'?base64_decode($nc):(string)$nc);}function
fetch_assoc(){$J=current($this->_rows);if(!$J)return$J;$I=array();foreach($this->_rows[0]as$z=>$X)$I[$z]=$J[$z];next($this->_rows);return$I;}function
fetch_row(){$I=$this->fetch_assoc();if(!$I)return$I;return
array_values($I);}function
fetch_field(){$fe=array_keys($this->_rows[0]);return(object)array('name'=>$fe[$this->_offset++]);}}}class
Min_Driver
extends
Min_SQL{public$hg="itemName()";function
_chunkRequest($Cd,$va,$Lf,$Cc=array()){global$g;foreach(array_chunk($Cd,25)as$hb){$Mf=$Lf;foreach($hb
as$t=>$u){$Mf["Item.$t.ItemName"]=$u;foreach($Cc
as$z=>$X)$Mf["Item.$t.$z"]=$X;}if(!sdb_request($va,$Mf))return
false;}$g->affected_rows=count($Cd);return
true;}function
_extractIds($Q,$tg,$_){$I=array();if(preg_match_all("~itemName\(\) = (('[^']*+')+)~",$tg,$Be))$I=array_map('idf_unescape',$Be[1]);else{foreach(sdb_request_all('Select','Item',array('SelectExpression'=>'SELECT itemName() FROM '.table($Q).$tg.($_?" LIMIT 1":"")))as$Zd)$I[]=$Zd->Name;}return$I;}function
select($Q,$L,$Z,$ld,$xf=array(),$_=1,$E=0,$jg=false){global$g;$g->next=$_GET["next"];$I=parent::select($Q,$L,$Z,$ld,$xf,$_,$E,$jg);$g->next=0;return$I;}function
delete($Q,$tg,$_=0){return$this->_chunkRequest($this->_extractIds($Q,$tg,$_),'BatchDeleteAttributes',array('DomainName'=>$Q));}function
update($Q,$O,$tg,$_=0,$M="\n"){$Sb=array();$Rd=array();$t=0;$Cd=$this->_extractIds($Q,$tg,$_);$u=idf_unescape($O["`itemName()`"]);unset($O["`itemName()`"]);foreach($O
as$z=>$X){$z=idf_unescape($z);if($X=="NULL"||($u!=""&&array($u)!=$Cd))$Sb["Attribute.".count($Sb).".Name"]=$z;if($X!="NULL"){foreach((array)$X
as$be=>$W){$Rd["Attribute.$t.Name"]=$z;$Rd["Attribute.$t.Value"]=(is_array($X)?$W:idf_unescape($W));if(!$be)$Rd["Attribute.$t.Replace"]="true";$t++;}}}$Lf=array('DomainName'=>$Q);return(!$Rd||$this->_chunkRequest(($u!=""?array($u):$Cd),'BatchPutAttributes',$Lf,$Rd))&&(!$Sb||$this->_chunkRequest($Cd,'BatchDeleteAttributes',$Lf,$Sb));}function
insert($Q,$O){$Lf=array("DomainName"=>$Q);$t=0;foreach($O
as$C=>$Y){if($Y!="NULL"){$C=idf_unescape($C);if($C=="itemName()")$Lf["ItemName"]=idf_unescape($Y);else{foreach((array)$Y
as$X){$Lf["Attribute.$t.Name"]=$C;$Lf["Attribute.$t.Value"]=(is_array($Y)?$X:idf_unescape($Y));$t++;}}}}return
sdb_request('PutAttributes',$Lf);}function
insertUpdate($Q,$K,$hg){foreach($K
as$O){if(!$this->update($Q,$O,"WHERE `itemName()` = ".q($O["`itemName()`"])))return
false;}return
true;}function
begin(){return
false;}function
commit(){return
false;}function
rollback(){return
false;}function
slowQuery($G,$di){$this->_conn->timeout=$di;return$G;}}function
connect(){global$b;list(,,$F)=$b->credentials();if($F!="")return'Database does not support password.';return
new
Min_DB;}function
support($Nc){return
preg_match('~sql~',$Nc);}function
logged_user(){global$b;$j=$b->credentials();return$j[1];}function
get_databases(){return
array("domain");}function
collations(){return
array();}function
db_collation($m,$ob){}function
tables_list(){global$g;$I=array();foreach(sdb_request_all('ListDomains','DomainName')as$Q)$I[(string)$Q]='table';if($g->error&&defined("PAGE_HEADER"))echo"<p class='error'>".error()."\n";return$I;}function
table_status($C="",$Mc=false){$I=array();foreach(($C!=""?array($C=>true):tables_list())as$Q=>$T){$J=array("Name"=>$Q,"Auto_increment"=>"");if(!$Mc){$Oe=sdb_request('DomainMetadata',array('DomainName'=>$Q));if($Oe){foreach(array("Rows"=>"ItemCount","Data_length"=>"ItemNamesSizeBytes","Index_length"=>"AttributeValuesSizeBytes","Data_free"=>"AttributeNamesSizeBytes",)as$z=>$X)$J[$z]=(string)$Oe->$X;}}if($C!="")return$J;$I[$Q]=$J;}return$I;}function
explain($g,$G){}function
error(){global$g;return
h($g->error);}function
information_schema(){}function
is_view($R){}function
indexes($Q,$h=null){return
array(array("type"=>"PRIMARY","columns"=>array("itemName()")),);}function
fields($Q){return
fields_from_edit();}function
foreign_keys($Q){return
array();}function
table($v){return
idf_escape($v);}function
idf_escape($v){return"`".str_replace("`","``",$v)."`";}function
limit($G,$Z,$_,$D=0,$M=" "){return" $G$Z".($_!==null?$M."LIMIT $_":"");}function
unconvert_field($p,$I){return$I;}function
fk_support($R){}function
engines(){return
array();}function
alter_table($Q,$C,$q,$ad,$tb,$sc,$d,$La,$Rf){return($Q==""&&sdb_request('CreateDomain',array('DomainName'=>$C)));}function
drop_tables($S){foreach($S
as$Q){if(!sdb_request('DeleteDomain',array('DomainName'=>$Q)))return
false;}return
true;}function
count_tables($l){foreach($l
as$m)return
array($m=>count(tables_list()));}function
found_rows($R,$Z){return($Z?null:$R["Rows"]);}function
last_id(){}function
hmac($Ba,$Jb,$z,$xg=false){$Ua=64;if(strlen($z)>$Ua)$z=pack("H*",$Ba($z));$z=str_pad($z,$Ua,"\0");$ce=$z^str_repeat("\x36",$Ua);$de=$z^str_repeat("\x5C",$Ua);$I=$Ba($de.pack("H*",$Ba($ce.$Jb)));if($xg)$I=pack("H*",$I);return$I;}function
sdb_request($va,$Lf=array()){global$b,$g;list($zd,$Lf['AWSAccessKeyId'],$ah)=$b->credentials();$Lf['Action']=$va;$Lf['Timestamp']=gmdate('Y-m-d\TH:i:s+00:00');$Lf['Version']='2009-04-15';$Lf['SignatureVersion']=2;$Lf['SignatureMethod']='HmacSHA1';ksort($Lf);$G='';foreach($Lf
as$z=>$X)$G.='&'.rawurlencode($z).'='.rawurlencode($X);$G=str_replace('%7E','~',substr($G,1));$G.="&Signature=".urlencode(base64_encode(hmac('sha1',"POST\n".preg_replace('~^https?://~','',$zd)."\n/\n$G",$ah,true)));@ini_set('track_errors',1);$Rc=@file_get_contents((preg_match('~^https?://~',$zd)?$zd:"http://$zd"),false,stream_context_create(array('http'=>array('method'=>'POST','content'=>$G,'ignore_errors'=>1,))));if(!$Rc){$g->error=$php_errormsg;return
false;}libxml_use_internal_errors(true);$kj=simplexml_load_string($Rc);if(!$kj){$o=libxml_get_last_error();$g->error=$o->message;return
false;}if($kj->Errors){$o=$kj->Errors->Error;$g->error="$o->Message ($o->Code)";return
false;}$g->error='';$Uh=$va."Result";return($kj->$Uh?$kj->$Uh:true);}function
sdb_request_all($va,$Uh,$Lf=array(),$di=0){$I=array();$Ah=($di?microtime(true):0);$_=(preg_match('~LIMIT\s+(\d+)\s*$~i',$Lf['SelectExpression'],$B)?$B[1]:0);do{$kj=sdb_request($va,$Lf);if(!$kj)break;foreach($kj->$Uh
as$nc)$I[]=$nc;if($_&&count($I)>=$_){$_GET["next"]=$kj->NextToken;break;}if($di&&microtime(true)-$Ah>$di)return
false;$Lf['NextToken']=$kj->NextToken;if($_)$Lf['SelectExpression']=preg_replace('~\d+\s*$~',$_-count($I),$Lf['SelectExpression']);}while($kj->NextToken);return$I;}$y="simpledb";$sf=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","IS NOT NULL");$id=array();$od=array("count");$kc=array(array("json"));}$cc["mongo"]="MongoDB";if(isset($_GET["mongo"])){$eg=array("mongo","mongodb");define("DRIVER","mongo");if(class_exists('MongoDB')){class
Min_DB{var$extension="Mongo",$server_info=MongoClient::VERSION,$error,$last_id,$_link,$_db;function
connect($Ii,$vf){return@new
MongoClient($Ii,$vf);}function
query($G){return
false;}function
select_db($k){try{$this->_db=$this->_link->selectDB($k);return
true;}catch(Exception$zc){$this->error=$zc->getMessage();return
false;}}function
quote($P){return$P;}}class
Min_Result{var$num_rows,$_rows=array(),$_offset=0,$_charset=array();function
__construct($H){foreach($H
as$Zd){$J=array();foreach($Zd
as$z=>$X){if(is_a($X,'MongoBinData'))$this->_charset[$z]=63;$J[$z]=(is_a($X,'MongoId')?'ObjectId("'.strval($X).'")':(is_a($X,'MongoDate')?gmdate("Y-m-d H:i:s",$X->sec)." GMT":(is_a($X,'MongoBinData')?$X->bin:(is_a($X,'MongoRegex')?strval($X):(is_object($X)?get_class($X):$X)))));}$this->_rows[]=$J;foreach($J
as$z=>$X){if(!isset($this->_rows[0][$z]))$this->_rows[0][$z]=null;}}$this->num_rows=count($this->_rows);}function
fetch_assoc(){$J=current($this->_rows);if(!$J)return$J;$I=array();foreach($this->_rows[0]as$z=>$X)$I[$z]=$J[$z];next($this->_rows);return$I;}function
fetch_row(){$I=$this->fetch_assoc();if(!$I)return$I;return
array_values($I);}function
fetch_field(){$fe=array_keys($this->_rows[0]);$C=$fe[$this->_offset++];return(object)array('name'=>$C,'charsetnr'=>$this->_charset[$C],);}}class
Min_Driver
extends
Min_SQL{public$hg="_id";function
select($Q,$L,$Z,$ld,$xf=array(),$_=1,$E=0,$jg=false){$L=($L==array("*")?array():array_fill_keys($L,true));$sh=array();foreach($xf
as$X){$X=preg_replace('~ DESC$~','',$X,1,$Cb);$sh[$X]=($Cb?-1:1);}return
new
Min_Result($this->_conn->_db->selectCollection($Q)->find(array(),$L)->sort($sh)->limit($_!=""?+$_:0)->skip($E*$_));}function
insert($Q,$O){try{$I=$this->_conn->_db->selectCollection($Q)->insert($O);$this->_conn->errno=$I['code'];$this->_conn->error=$I['err'];$this->_conn->last_id=$O['_id'];return!$I['err'];}catch(Exception$zc){$this->_conn->error=$zc->getMessage();return
false;}}}function
get_databases($Yc){global$g;$I=array();$Ob=$g->_link->listDBs();foreach($Ob['databases']as$m)$I[]=$m['name'];return$I;}function
count_tables($l){global$g;$I=array();foreach($l
as$m)$I[$m]=count($g->_link->selectDB($m)->getCollectionNames(true));return$I;}function
tables_list(){global$g;return
array_fill_keys($g->_db->getCollectionNames(true),'table');}function
drop_databases($l){global$g;foreach($l
as$m){$Jg=$g->_link->selectDB($m)->drop();if(!$Jg['ok'])return
false;}return
true;}function
indexes($Q,$h=null){global$g;$I=array();foreach($g->_db->selectCollection($Q)->getIndexInfo()as$w){$Vb=array();foreach($w["key"]as$e=>$T)$Vb[]=($T==-1?'1':null);$I[$w["name"]]=array("type"=>($w["name"]=="_id_"?"PRIMARY":($w["unique"]?"UNIQUE":"INDEX")),"columns"=>array_keys($w["key"]),"lengths"=>array(),"descs"=>$Vb,);}return$I;}function
fields($Q){return
fields_from_edit();}function
found_rows($R,$Z){global$g;return$g->_db->selectCollection($_GET["select"])->count($Z);}$sf=array("=");}elseif(class_exists('MongoDB\Driver\Manager')){class
Min_DB{var$extension="MongoDB",$server_info=MONGODB_VERSION,$error,$last_id;var$_link;var$_db,$_db_name;function
connect($Ii,$vf){$jb='MongoDB\Driver\Manager';return
new$jb($Ii,$vf);}function
query($G){return
false;}function
select_db($k){$this->_db_name=$k;return
true;}function
quote($P){return$P;}}class
Min_Result{var$num_rows,$_rows=array(),$_offset=0,$_charset=array();function
__construct($H){foreach($H
as$Zd){$J=array();foreach($Zd
as$z=>$X){if(is_a($X,'MongoDB\BSON\Binary'))$this->_charset[$z]=63;$J[$z]=(is_a($X,'MongoDB\BSON\ObjectID')?'MongoDB\BSON\ObjectID("'.strval($X).'")':(is_a($X,'MongoDB\BSON\UTCDatetime')?$X->toDateTime()->format('Y-m-d H:i:s'):(is_a($X,'MongoDB\BSON\Binary')?$X->bin:(is_a($X,'MongoDB\BSON\Regex')?strval($X):(is_object($X)?json_encode($X,256):$X)))));}$this->_rows[]=$J;foreach($J
as$z=>$X){if(!isset($this->_rows[0][$z]))$this->_rows[0][$z]=null;}}$this->num_rows=$H->count;}function
fetch_assoc(){$J=current($this->_rows);if(!$J)return$J;$I=array();foreach($this->_rows[0]as$z=>$X)$I[$z]=$J[$z];next($this->_rows);return$I;}function
fetch_row(){$I=$this->fetch_assoc();if(!$I)return$I;return
array_values($I);}function
fetch_field(){$fe=array_keys($this->_rows[0]);$C=$fe[$this->_offset++];return(object)array('name'=>$C,'charsetnr'=>$this->_charset[$C],);}}class
Min_Driver
extends
Min_SQL{public$hg="_id";function
select($Q,$L,$Z,$ld,$xf=array(),$_=1,$E=0,$jg=false){global$g;$L=($L==array("*")?array():array_fill_keys($L,1));if(count($L)&&!isset($L['_id']))$L['_id']=0;$Z=where_to_query($Z);$sh=array();foreach($xf
as$X){$X=preg_replace('~ DESC$~','',$X,1,$Cb);$sh[$X]=($Cb?-1:1);}if(isset($_GET['limit'])&&is_numeric($_GET['limit'])&&$_GET['limit']>0)$_=$_GET['limit'];$_=min(200,max(1,(int)$_));$ph=$E*$_;$jb='MongoDB\Driver\Query';$G=new$jb($Z,array('projection'=>$L,'limit'=>$_,'skip'=>$ph,'sort'=>$sh));$Mg=$g->_link->executeQuery("$g->_db_name.$Q",$G);return
new
Min_Result($Mg);}function
update($Q,$O,$tg,$_=0,$M="\n"){global$g;$m=$g->_db_name;$Z=sql_query_where_parser($tg);$jb='MongoDB\Driver\BulkWrite';$Ya=new$jb(array());if(isset($O['_id']))unset($O['_id']);$Gg=array();foreach($O
as$z=>$Y){if($Y=='NULL'){$Gg[$z]=1;unset($O[$z]);}}$Hi=array('$set'=>$O);if(count($Gg))$Hi['$unset']=$Gg;$Ya->update($Z,$Hi,array('upsert'=>false));$Mg=$g->_link->executeBulkWrite("$m.$Q",$Ya);$g->affected_rows=$Mg->getModifiedCount();return
true;}function
delete($Q,$tg,$_=0){global$g;$m=$g->_db_name;$Z=sql_query_where_parser($tg);$jb='MongoDB\Driver\BulkWrite';$Ya=new$jb(array());$Ya->delete($Z,array('limit'=>$_));$Mg=$g->_link->executeBulkWrite("$m.$Q",$Ya);$g->affected_rows=$Mg->getDeletedCount();return
true;}function
insert($Q,$O){global$g;$m=$g->_db_name;$jb='MongoDB\Driver\BulkWrite';$Ya=new$jb(array());if(isset($O['_id'])&&empty($O['_id']))unset($O['_id']);$Ya->insert($O);$Mg=$g->_link->executeBulkWrite("$m.$Q",$Ya);$g->affected_rows=$Mg->getInsertedCount();return
true;}}function
get_databases($Yc){global$g;$I=array();$jb='MongoDB\Driver\Command';$rb=new$jb(array('listDatabases'=>1));$Mg=$g->_link->executeCommand('admin',$rb);foreach($Mg
as$Ob){foreach($Ob->databases
as$m)$I[]=$m->name;}return$I;}function
count_tables($l){$I=array();return$I;}function
tables_list(){global$g;$jb='MongoDB\Driver\Command';$rb=new$jb(array('listCollections'=>1));$Mg=$g->_link->executeCommand($g->_db_name,$rb);$pb=array();foreach($Mg
as$H)$pb[$H->name]='table';return$pb;}function
drop_databases($l){return
false;}function
indexes($Q,$h=null){global$g;$I=array();$jb='MongoDB\Driver\Command';$rb=new$jb(array('listIndexes'=>$Q));$Mg=$g->_link->executeCommand($g->_db_name,$rb);foreach($Mg
as$w){$Vb=array();$f=array();foreach(get_object_vars($w->key)as$e=>$T){$Vb[]=($T==-1?'1':null);$f[]=$e;}$I[$w->name]=array("type"=>($w->name=="_id_"?"PRIMARY":(isset($w->unique)?"UNIQUE":"INDEX")),"columns"=>$f,"lengths"=>array(),"descs"=>$Vb,);}return$I;}function
fields($Q){$q=fields_from_edit();if(!count($q)){global$n;$H=$n->select($Q,array("*"),null,null,array(),10);while($J=$H->fetch_assoc()){foreach($J
as$z=>$X){$J[$z]=null;$q[$z]=array("field"=>$z,"type"=>"string","null"=>($z!=$n->primary),"auto_increment"=>($z==$n->primary),"privileges"=>array("insert"=>1,"select"=>1,"update"=>1,),);}}}return$q;}function
found_rows($R,$Z){global$g;$Z=where_to_query($Z);$jb='MongoDB\Driver\Command';$rb=new$jb(array('count'=>$R['Name'],'query'=>$Z));$Mg=$g->_link->executeCommand($g->_db_name,$rb);$li=$Mg->toArray();return$li[0]->n;}function
sql_query_where_parser($tg){$tg=trim(preg_replace('/WHERE[\s]?[(]?\(?/','',$tg));$tg=preg_replace('/\)\)\)$/',')',$tg);$hj=explode(' AND ',$tg);$ij=explode(') OR (',$tg);$Z=array();foreach($hj
as$fj)$Z[]=trim($fj);if(count($ij)==1)$ij=array();elseif(count($ij)>1)$Z=array();return
where_to_query($Z,$ij);}function
where_to_query($dj=array(),$ej=array()){global$b;$Jb=array();foreach(array('and'=>$dj,'or'=>$ej)as$T=>$Z){if(is_array($Z)){foreach($Z
as$Fc){list($mb,$qf,$X)=explode(" ",$Fc,3);if($mb=="_id"){$X=str_replace('MongoDB\BSON\ObjectID("',"",$X);$X=str_replace('")',"",$X);$jb='MongoDB\BSON\ObjectID';$X=new$jb($X);}if(!in_array($qf,$b->operators))continue;if(preg_match('~^\(f\)(.+)~',$qf,$B)){$X=(float)$X;$qf=$B[1];}elseif(preg_match('~^\(date\)(.+)~',$qf,$B)){$Lb=new
DateTime($X);$jb='MongoDB\BSON\UTCDatetime';$X=new$jb($Lb->getTimestamp()*1000);$qf=$B[1];}switch($qf){case'=':$qf='$eq';break;case'!=':$qf='$ne';break;case'>':$qf='$gt';break;case'<':$qf='$lt';break;case'>=':$qf='$gte';break;case'<=':$qf='$lte';break;case'regex':$qf='$regex';break;default:continue
2;}if($T=='and')$Jb['$and'][]=array($mb=>array($qf=>$X));elseif($T=='or')$Jb['$or'][]=array($mb=>array($qf=>$X));}}}return$Jb;}$sf=array("=","!=",">","<",">=","<=","regex","(f)=","(f)!=","(f)>","(f)<","(f)>=","(f)<=","(date)=","(date)!=","(date)>","(date)<","(date)>=","(date)<=",);}function
table($v){return$v;}function
idf_escape($v){return$v;}function
table_status($C="",$Mc=false){$I=array();foreach(tables_list()as$Q=>$T){$I[$Q]=array("Name"=>$Q);if($C==$Q)return$I[$Q];}return$I;}function
create_database($m,$d){return
true;}function
last_id(){global$g;return$g->last_id;}function
error(){global$g;return
h($g->error);}function
collations(){return
array();}function
logged_user(){global$b;$j=$b->credentials();return$j[1];}function
connect(){global$b;$g=new
Min_DB;list($N,$V,$F)=$b->credentials();$vf=array();if($V.$F!=""){$vf["username"]=$V;$vf["password"]=$F;}$m=$b->database();if($m!="")$vf["db"]=$m;try{$g->_link=$g->connect("mongodb://$N",$vf);if($F!=""){$vf["password"]="";try{$g->connect("mongodb://$N",$vf);return'Database does not support password.';}catch(Exception$zc){}}return$g;}catch(Exception$zc){return$zc->getMessage();}}function
alter_indexes($Q,$c){global$g;foreach($c
as$X){list($T,$C,$O)=$X;if($O=="DROP")$I=$g->_db->command(array("deleteIndexes"=>$Q,"index"=>$C));else{$f=array();foreach($O
as$e){$e=preg_replace('~ DESC$~','',$e,1,$Cb);$f[$e]=($Cb?-1:1);}$I=$g->_db->selectCollection($Q)->ensureIndex($f,array("unique"=>($T=="UNIQUE"),"name"=>$C,));}if($I['errmsg']){$g->error=$I['errmsg'];return
false;}}return
true;}function
support($Nc){return
preg_match("~database|indexes|descidx~",$Nc);}function
db_collation($m,$ob){}function
information_schema(){}function
is_view($R){}function
convert_field($p){}function
unconvert_field($p,$I){return$I;}function
foreign_keys($Q){return
array();}function
fk_support($R){}function
engines(){return
array();}function
alter_table($Q,$C,$q,$ad,$tb,$sc,$d,$La,$Rf){global$g;if($Q==""){$g->_db->createCollection($C);return
true;}}function
drop_tables($S){global$g;foreach($S
as$Q){$Jg=$g->_db->selectCollection($Q)->drop();if(!$Jg['ok'])return
false;}return
true;}function
truncate_tables($S){global$g;foreach($S
as$Q){$Jg=$g->_db->selectCollection($Q)->remove();if(!$Jg['ok'])return
false;}return
true;}$y="mongo";$id=array();$od=array();$kc=array(array("json"));}$cc["elastic"]="Elasticsearch (beta)";if(isset($_GET["elastic"])){$eg=array("json + allow_url_fopen");define("DRIVER","elastic");if(function_exists('json_decode')&&ini_bool('allow_url_fopen')){class
Min_DB{var$extension="JSON",$server_info,$errno,$error,$_url;function
rootQuery($Vf,$yb=array(),$Pe='GET'){@ini_set('track_errors',1);$Rc=@file_get_contents("$this->_url/".ltrim($Vf,'/'),false,stream_context_create(array('http'=>array('method'=>$Pe,'content'=>$yb===null?$yb:json_encode($yb),'header'=>'Content-Type: application/json','ignore_errors'=>1,))));if(!$Rc){$this->error=$php_errormsg;return$Rc;}if(!preg_match('~^HTTP/[0-9.]+ 2~i',$http_response_header[0])){$this->error=$Rc;return
false;}$I=json_decode($Rc,true);if($I===null){$this->errno=json_last_error();if(function_exists('json_last_error_msg'))$this->error=json_last_error_msg();else{$xb=get_defined_constants(true);foreach($xb['json']as$C=>$Y){if($Y==$this->errno&&preg_match('~^JSON_ERROR_~',$C)){$this->error=$C;break;}}}}return$I;}function
query($Vf,$yb=array(),$Pe='GET'){return$this->rootQuery(($this->_db!=""?"$this->_db/":"/").ltrim($Vf,'/'),$yb,$Pe);}function
connect($N,$V,$F){preg_match('~^(https?://)?(.*)~',$N,$B);$this->_url=($B[1]?$B[1]:"http://")."$V:$F@$B[2]";$I=$this->query('');if($I)$this->server_info=$I['version']['number'];return(bool)$I;}function
select_db($k){$this->_db=$k;return
true;}function
quote($P){return$P;}}class
Min_Result{var$num_rows,$_rows;function
__construct($K){$this->num_rows=count($this->_rows);$this->_rows=$K;reset($this->_rows);}function
fetch_assoc(){$I=current($this->_rows);next($this->_rows);return$I;}function
fetch_row(){return
array_values($this->fetch_assoc());}}}class
Min_Driver
extends
Min_SQL{function
select($Q,$L,$Z,$ld,$xf=array(),$_=1,$E=0,$jg=false){global$b;$Jb=array();$G="$Q/_search";if($L!=array("*"))$Jb["fields"]=$L;if($xf){$sh=array();foreach($xf
as$mb){$mb=preg_replace('~ DESC$~','',$mb,1,$Cb);$sh[]=($Cb?array($mb=>"desc"):$mb);}$Jb["sort"]=$sh;}if($_){$Jb["size"]=+$_;if($E)$Jb["from"]=($E*$_);}foreach($Z
as$X){list($mb,$qf,$X)=explode(" ",$X,3);if($mb=="_id")$Jb["query"]["ids"]["values"][]=$X;elseif($mb.$X!=""){$Yh=array("term"=>array(($mb!=""?$mb:"_all")=>$X));if($qf=="=")$Jb["query"]["filtered"]["filter"]["and"][]=$Yh;else$Jb["query"]["filtered"]["query"]["bool"]["must"][]=$Yh;}}if($Jb["query"]&&!$Jb["query"]["filtered"]["query"]&&!$Jb["query"]["ids"])$Jb["query"]["filtered"]["query"]=array("match_all"=>array());$Ah=microtime(true);$Zg=$this->_conn->query($G,$Jb);if($jg)echo$b->selectQuery("$G: ".print_r($Jb,true),$Ah,!$Zg);if(!$Zg)return
false;$I=array();foreach($Zg['hits']['hits']as$yd){$J=array();if($L==array("*"))$J["_id"]=$yd["_id"];$q=$yd['_source'];if($L!=array("*")){$q=array();foreach($L
as$z)$q[$z]=$yd['fields'][$z];}foreach($q
as$z=>$X){if($Jb["fields"])$X=$X[0];$J[$z]=(is_array($X)?json_encode($X):$X);}$I[]=$J;}return
new
Min_Result($I);}function
update($T,$yg,$tg,$_=0,$M="\n"){$Tf=preg_split('~ *= *~',$tg);if(count($Tf)==2){$u=trim($Tf[1]);$G="$T/$u";return$this->_conn->query($G,$yg,'POST');}return
false;}function
insert($T,$yg){$u="";$G="$T/$u";$Jg=$this->_conn->query($G,$yg,'POST');$this->_conn->last_id=$Jg['_id'];return$Jg['created'];}function
delete($T,$tg,$_=0){$Cd=array();if(is_array($_GET["where"])&&$_GET["where"]["_id"])$Cd[]=$_GET["where"]["_id"];if(is_array($_POST['check'])){foreach($_POST['check']as$cb){$Tf=preg_split('~ *= *~',$cb);if(count($Tf)==2)$Cd[]=trim($Tf[1]);}}$this->_conn->affected_rows=0;foreach($Cd
as$u){$G="{$T}/{$u}";$Jg=$this->_conn->query($G,'{}','DELETE');if(is_array($Jg)&&$Jg['found']==true)$this->_conn->affected_rows++;}return$this->_conn->affected_rows;}}function
connect(){global$b;$g=new
Min_DB;list($N,$V,$F)=$b->credentials();if($F!=""&&$g->connect($N,$V,""))return'Database does not support password.';if($g->connect($N,$V,$F))return$g;return$g->error;}function
support($Nc){return
preg_match("~database|table|columns~",$Nc);}function
logged_user(){global$b;$j=$b->credentials();return$j[1];}function
get_databases(){global$g;$I=$g->rootQuery('_aliases');if($I){$I=array_keys($I);sort($I,SORT_STRING);}return$I;}function
collations(){return
array();}function
db_collation($m,$ob){}function
engines(){return
array();}function
count_tables($l){global$g;$I=array();$H=$g->query('_stats');if($H&&$H['indices']){$Kd=$H['indices'];foreach($Kd
as$Jd=>$Bh){$Id=$Bh['total']['indexing'];$I[$Jd]=$Id['index_total'];}}return$I;}function
tables_list(){global$g;$I=$g->query('_mapping');if($I)$I=array_fill_keys(array_keys($I[$g->_db]["mappings"]),'table');return$I;}function
table_status($C="",$Mc=false){global$g;$Zg=$g->query("_search",array("size"=>0,"aggregations"=>array("count_by_type"=>array("terms"=>array("field"=>"_type")))),"POST");$I=array();if($Zg){$S=$Zg["aggregations"]["count_by_type"]["buckets"];foreach($S
as$Q){$I[$Q["key"]]=array("Name"=>$Q["key"],"Engine"=>"table","Rows"=>$Q["doc_count"],);if($C!=""&&$C==$Q["key"])return$I[$C];}}return$I;}function
error(){global$g;return
h($g->error);}function
information_schema(){}function
is_view($R){}function
indexes($Q,$h=null){return
array(array("type"=>"PRIMARY","columns"=>array("_id")),);}function
fields($Q){global$g;$H=$g->query("$Q/_mapping");$I=array();if($H){$ye=$H[$Q]['properties'];if(!$ye)$ye=$H[$g->_db]['mappings'][$Q]['properties'];if($ye){foreach($ye
as$C=>$p){$I[$C]=array("field"=>$C,"full_type"=>$p["type"],"type"=>$p["type"],"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),);if($p["properties"]){unset($I[$C]["privileges"]["insert"]);unset($I[$C]["privileges"]["update"]);}}}}return$I;}function
foreign_keys($Q){return
array();}function
table($v){return$v;}function
idf_escape($v){return$v;}function
convert_field($p){}function
unconvert_field($p,$I){return$I;}function
fk_support($R){}function
found_rows($R,$Z){return
null;}function
create_database($m){global$g;return$g->rootQuery(urlencode($m),null,'PUT');}function
drop_databases($l){global$g;return$g->rootQuery(urlencode(implode(',',$l)),array(),'DELETE');}function
alter_table($Q,$C,$q,$ad,$tb,$sc,$d,$La,$Rf){global$g;$pg=array();foreach($q
as$Kc){$Pc=trim($Kc[1][0]);$Qc=trim($Kc[1][1]?$Kc[1][1]:"text");$pg[$Pc]=array('type'=>$Qc);}if(!empty($pg))$pg=array('properties'=>$pg);return$g->query("_mapping/{$C}",$pg,'PUT');}function
drop_tables($S){global$g;$I=true;foreach($S
as$Q)$I=$I&&$g->query(urlencode($Q),array(),'DELETE');return$I;}function
last_id(){global$g;return$g->last_id;}$y="elastic";$sf=array("=","query");$id=array();$od=array();$kc=array(array("json"));$U=array();$Fh=array();foreach(array('Numbers'=>array("long"=>3,"integer"=>5,"short"=>8,"byte"=>10,"double"=>20,"float"=>66,"half_float"=>12,"scaled_float"=>21),'Date and time'=>array("date"=>10),'Strings'=>array("string"=>65535,"text"=>65535),'Binary'=>array("binary"=>255),)as$z=>$X){$U+=$X;$Fh[$z]=array_keys($X);}}$cc["clickhouse"]="ClickHouse (alpha)";if(isset($_GET["clickhouse"])){define("DRIVER","clickhouse");class
Min_DB{var$extension="JSON",$server_info,$errno,$_result,$error,$_url;var$_db='default';function
rootQuery($m,$G){@ini_set('track_errors',1);$Rc=@file_get_contents("$this->_url/?database=$m",false,stream_context_create(array('http'=>array('method'=>'POST','content'=>$this->isQuerySelectLike($G)?"$G FORMAT JSONCompact":$G,'header'=>'Content-type: application/x-www-form-urlencoded','ignore_errors'=>1,))));if($Rc===false){$this->error=$php_errormsg;return$Rc;}if(!preg_match('~^HTTP/[0-9.]+ 2~i',$http_response_header[0])){$this->error=$Rc;return
false;}$I=json_decode($Rc,true);if($I===null){$this->errno=json_last_error();if(function_exists('json_last_error_msg'))$this->error=json_last_error_msg();else{$xb=get_defined_constants(true);foreach($xb['json']as$C=>$Y){if($Y==$this->errno&&preg_match('~^JSON_ERROR_~',$C)){$this->error=$C;break;}}}}return
new
Min_Result($I);}function
isQuerySelectLike($G){return(bool)preg_match('~^(select|show)~i',$G);}function
query($G){return$this->rootQuery($this->_db,$G);}function
connect($N,$V,$F){preg_match('~^(https?://)?(.*)~',$N,$B);$this->_url=($B[1]?$B[1]:"http://")."$V:$F@$B[2]";$I=$this->query('SELECT 1');return(bool)$I;}function
select_db($k){$this->_db=$k;return
true;}function
quote($P){return"'".addcslashes($P,"\\'")."'";}function
multi_query($G){return$this->_result=$this->query($G);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($G,$p=0){$H=$this->query($G);return$H['data'];}}class
Min_Result{var$num_rows,$_rows,$columns,$meta,$_offset=0;function
__construct($H){$this->num_rows=$H['rows'];$this->_rows=$H['data'];$this->meta=$H['meta'];$this->columns=array_column($this->meta,'name');reset($this->_rows);}function
fetch_assoc(){$J=current($this->_rows);next($this->_rows);return$J===false?false:array_combine($this->columns,$J);}function
fetch_row(){$J=current($this->_rows);next($this->_rows);return$J;}function
fetch_field(){$e=$this->_offset++;$I=new
stdClass;if($e<count($this->columns)){$I->name=$this->meta[$e]['name'];$I->orgname=$I->name;$I->type=$this->meta[$e]['type'];}return$I;}}class
Min_Driver
extends
Min_SQL{function
delete($Q,$tg,$_=0){return
queries("ALTER TABLE ".table($Q)." DELETE $tg");}function
update($Q,$O,$tg,$_=0,$M="\n"){$Si=array();foreach($O
as$z=>$X)$Si[]="$z = $X";$G=$M.implode(",$M",$Si);return
queries("ALTER TABLE ".table($Q)." UPDATE $G$tg");}}function
idf_escape($v){return"`".str_replace("`","``",$v)."`";}function
table($v){return
idf_escape($v);}function
explain($g,$G){return'';}function
found_rows($R,$Z){$K=get_vals("SELECT COUNT(*) FROM ".idf_escape($R["Name"]).($Z?" WHERE ".implode(" AND ",$Z):""));return
empty($K)?false:$K[0];}function
alter_table($Q,$C,$q,$ad,$tb,$sc,$d,$La,$Rf){foreach($q
as$p){if($p[1][2]===" NULL")$p[1][1]=" Nullable({$p[1][1]})";unset($p[1][2]);}}function
truncate_tables($S){return
apply_queries("TRUNCATE TABLE",$S);}function
drop_views($Xi){return
drop_tables($Xi);}function
drop_tables($S){return
apply_queries("DROP TABLE",$S);}function
connect(){global$b;$g=new
Min_DB;$j=$b->credentials();if($g->connect($j[0],$j[1],$j[2]))return$g;return$g->error;}function
get_databases($Yc){global$g;$H=get_rows('SHOW DATABASES');$I=array();foreach($H
as$J)$I[]=$J['name'];sort($I);return$I;}function
limit($G,$Z,$_,$D=0,$M=" "){return" $G$Z".($_!==null?$M."LIMIT $_".($D?", $D":""):"");}function
limit1($Q,$G,$Z,$M="\n"){return
limit($G,$Z,1,0,$M);}function
db_collation($m,$ob){}function
engines(){return
array('MergeTree');}function
logged_user(){global$b;$j=$b->credentials();return$j[1];}function
tables_list(){$H=get_rows('SHOW TABLES');$I=array();foreach($H
as$J)$I[$J['name']]='table';ksort($I);return$I;}function
count_tables($l){return
array();}function
table_status($C="",$Mc=false){global$g;$I=array();$S=get_rows("SELECT name, engine FROM system.tables WHERE database = ".q($g->_db));foreach($S
as$Q){$I[$Q['name']]=array('Name'=>$Q['name'],'Engine'=>$Q['engine'],);if($C===$Q['name'])return$I[$Q['name']];}return$I;}function
is_view($R){return
false;}function
fk_support($R){return
false;}function
convert_field($p){}function
unconvert_field($p,$I){if(in_array($p['type'],array("Int8","Int16","Int32","Int64","UInt8","UInt16","UInt32","UInt64","Float32","Float64")))return"to$p[type]($I)";return$I;}function
fields($Q){$I=array();$H=get_rows("SELECT name, type, default_expression FROM system.columns WHERE ".idf_escape('table')." = ".q($Q));foreach($H
as$J){$T=trim($J['type']);$cf=strpos($T,'Nullable(')===0;$I[trim($J['name'])]=array("field"=>trim($J['name']),"full_type"=>$T,"type"=>$T,"default"=>trim($J['default_expression']),"null"=>$cf,"auto_increment"=>'0',"privileges"=>array("insert"=>1,"select"=>1,"update"=>0),);}return$I;}function
indexes($Q,$h=null){return
array();}function
foreign_keys($Q){return
array();}function
collations(){return
array();}function
information_schema($m){return
false;}function
error(){global$g;return
h($g->error);}function
types(){return
array();}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($Xg){return
true;}function
auto_increment(){return'';}function
last_id(){return
0;}function
support($Nc){return
preg_match("~^(columns|sql|status|table)$~",$Nc);}$y="clickhouse";$U=array();$Fh=array();foreach(array('Numbers'=>array("Int8"=>3,"Int16"=>5,"Int32"=>10,"Int64"=>19,"UInt8"=>3,"UInt16"=>5,"UInt32"=>10,"UInt64"=>20,"Float32"=>7,"Float64"=>16,'Decimal'=>38,'Decimal32'=>9,'Decimal64'=>18,'Decimal128'=>38),'Date and time'=>array("Date"=>13,"DateTime"=>20),'Strings'=>array("String"=>0),'Binary'=>array("FixedString"=>0),)as$z=>$X){$U+=$X;$Fh[$z]=array_keys($X);}$Gi=array();$sf=array("=","<",">","<=",">=","!=","~","!~","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL","SQL");$id=array();$od=array("avg","count","count distinct","max","min","sum");$kc=array();}$cc=array("server"=>"MySQL")+$cc;if(!defined("DRIVER")){$eg=array("MySQLi","MySQL","PDO_MySQL");define("DRIVER","server");if(extension_loaded("mysqli")){class
Min_DB
extends
MySQLi{var$extension="MySQLi";function
__construct(){parent::init();}function
connect($N="",$V="",$F="",$k=null,$ag=null,$rh=null){global$b;mysqli_report(MYSQLI_REPORT_OFF);list($zd,$ag)=explode(":",$N,2);$_h=$b->connectSsl();if($_h)$this->ssl_set($_h['key'],$_h['cert'],$_h['ca'],'','');$I=@$this->real_connect(($N!=""?$zd:ini_get("mysqli.default_host")),($N.$V!=""?$V:ini_get("mysqli.default_user")),($N.$V.$F!=""?$F:ini_get("mysqli.default_pw")),$k,(is_numeric($ag)?$ag:ini_get("mysqli.default_port")),(!is_numeric($ag)?$ag:$rh),($_h?64:0));$this->options(MYSQLI_OPT_LOCAL_INFILE,false);return$I;}function
set_charset($bb){if(parent::set_charset($bb))return
true;parent::set_charset('utf8');return$this->query("SET NAMES $bb");}function
result($G,$p=0){$H=$this->query($G);if(!$H)return
false;$J=$H->fetch_array();return$J[$p];}function
quote($P){return"'".$this->escape_string($P)."'";}}}elseif(extension_loaded("mysql")&&!((ini_bool("sql.safe_mode")||ini_bool("mysql.allow_local_infile"))&&extension_loaded("pdo_mysql"))){class
Min_DB{var$extension="MySQL",$server_info,$affected_rows,$errno,$error,$_link,$_result;function
connect($N,$V,$F){if(ini_bool("mysql.allow_local_infile")){$this->error=sprintf('Disable %s or enable %s or %s extensions.',"'mysql.allow_local_infile'","MySQLi","PDO_MySQL");return
false;}$this->_link=@mysql_connect(($N!=""?$N:ini_get("mysql.default_host")),("$N$V"!=""?$V:ini_get("mysql.default_user")),("$N$V$F"!=""?$F:ini_get("mysql.default_password")),true,131072);if($this->_link)$this->server_info=mysql_get_server_info($this->_link);else$this->error=mysql_error();return(bool)$this->_link;}function
set_charset($bb){if(function_exists('mysql_set_charset')){if(mysql_set_charset($bb,$this->_link))return
true;mysql_set_charset('utf8',$this->_link);}return$this->query("SET NAMES $bb");}function
quote($P){return"'".mysql_real_escape_string($P,$this->_link)."'";}function
select_db($k){return
mysql_select_db($k,$this->_link);}function
query($G,$Ai=false){$H=@($Ai?mysql_unbuffered_query($G,$this->_link):mysql_query($G,$this->_link));$this->error="";if(!$H){$this->errno=mysql_errno($this->_link);$this->error=mysql_error($this->_link);return
false;}if($H===true){$this->affected_rows=mysql_affected_rows($this->_link);$this->info=mysql_info($this->_link);return
true;}return
new
Min_Result($H);}function
multi_query($G){return$this->_result=$this->query($G);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($G,$p=0){$H=$this->query($G);if(!$H||!$H->num_rows)return
false;return
mysql_result($H->_result,0,$p);}}class
Min_Result{var$num_rows,$_result,$_offset=0;function
__construct($H){$this->_result=$H;$this->num_rows=mysql_num_rows($H);}function
fetch_assoc(){return
mysql_fetch_assoc($this->_result);}function
fetch_row(){return
mysql_fetch_row($this->_result);}function
fetch_field(){$I=mysql_fetch_field($this->_result,$this->_offset++);$I->orgtable=$I->table;$I->orgname=$I->name;$I->charsetnr=($I->blob?63:0);return$I;}function
__destruct(){mysql_free_result($this->_result);}}}elseif(extension_loaded("pdo_mysql")){class
Min_DB
extends
Min_PDO{var$extension="PDO_MySQL";function
connect($N,$V,$F){global$b;$vf=array(PDO::MYSQL_ATTR_LOCAL_INFILE=>false);$_h=$b->connectSsl();if($_h)$vf+=array(PDO::MYSQL_ATTR_SSL_KEY=>$_h['key'],PDO::MYSQL_ATTR_SSL_CERT=>$_h['cert'],PDO::MYSQL_ATTR_SSL_CA=>$_h['ca'],);$this->dsn("mysql:charset=utf8;host=".str_replace(":",";unix_socket=",preg_replace('~:(\d)~',';port=\1',$N)),$V,$F,$vf);return
true;}function
set_charset($bb){$this->query("SET NAMES $bb");}function
select_db($k){return$this->query("USE ".idf_escape($k));}function
query($G,$Ai=false){$this->setAttribute(1000,!$Ai);return
parent::query($G,$Ai);}}}class
Min_Driver
extends
Min_SQL{function
insert($Q,$O){return($O?parent::insert($Q,$O):queries("INSERT INTO ".table($Q)." ()\nVALUES ()"));}function
insertUpdate($Q,$K,$hg){$f=array_keys(reset($K));$fg="INSERT INTO ".table($Q)." (".implode(", ",$f).") VALUES\n";$Si=array();foreach($f
as$z)$Si[$z]="$z = VALUES($z)";$Ih="\nON DUPLICATE KEY UPDATE ".implode(", ",$Si);$Si=array();$re=0;foreach($K
as$O){$Y="(".implode(", ",$O).")";if($Si&&(strlen($fg)+$re+strlen($Y)+strlen($Ih)>1e6)){if(!queries($fg.implode(",\n",$Si).$Ih))return
false;$Si=array();$re=0;}$Si[]=$Y;$re+=strlen($Y)+2;}return
queries($fg.implode(",\n",$Si).$Ih);}function
slowQuery($G,$di){if(min_version('5.7.8','10.1.2')){if(preg_match('~MariaDB~',$this->_conn->server_info))return"SET STATEMENT max_statement_time=$di FOR $G";elseif(preg_match('~^(SELECT\b)(.+)~is',$G,$B))return"$B[1] /*+ MAX_EXECUTION_TIME(".($di*1000).") */ $B[2]";}}function
convertSearch($v,$X,$p){return(preg_match('~char|text|enum|set~',$p["type"])&&!preg_match("~^utf8~",$p["collation"])&&preg_match('~[\x80-\xFF]~',$X['val'])?"CONVERT($v USING ".charset($this->_conn).")":$v);}function
warnings(){$H=$this->_conn->query("SHOW WARNINGS");if($H&&$H->num_rows){ob_start();select($H);return
ob_get_clean();}}function
tableHelp($C){$ze=preg_match('~MariaDB~',$this->_conn->server_info);if(information_schema(DB))return
strtolower(($ze?"information-schema-$C-table/":str_replace("_","-",$C)."-table.html"));if(DB=="mysql")return($ze?"mysql$C-table/":"system-database.html");}}function
idf_escape($v){return"`".str_replace("`","``",$v)."`";}function
table($v){return
idf_escape($v);}function
connect(){global$b,$U,$Fh;$g=new
Min_DB;$j=$b->credentials();if($g->connect($j[0],$j[1],$j[2])){$g->set_charset(charset($g));$g->query("SET sql_quote_show_create = 1, autocommit = 1");if(min_version('5.7.8',10.2,$g)){$Fh['Strings'][]="json";$U["json"]=4294967295;}return$g;}$I=$g->error;if(function_exists('iconv')&&!is_utf8($I)&&strlen($Vg=iconv("windows-1250","utf-8",$I))>strlen($I))$I=$Vg;return$I;}function
get_databases($Yc){$I=get_session("dbs");if($I===null){$G=(min_version(5)?"SELECT SCHEMA_NAME FROM information_schema.SCHEMATA ORDER BY SCHEMA_NAME":"SHOW DATABASES");$I=($Yc?slow_query($G):get_vals($G));restart_session();set_session("dbs",$I);stop_session();}return$I;}function
limit($G,$Z,$_,$D=0,$M=" "){return" $G$Z".($_!==null?$M."LIMIT $_".($D?" OFFSET $D":""):"");}function
limit1($Q,$G,$Z,$M="\n"){return
limit($G,$Z,1,0,$M);}function
db_collation($m,$ob){global$g;$I=null;$i=$g->result("SHOW CREATE DATABASE ".idf_escape($m),1);if(preg_match('~ COLLATE ([^ ]+)~',$i,$B))$I=$B[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$i,$B))$I=$ob[$B[1]][-1];return$I;}function
engines(){$I=array();foreach(get_rows("SHOW ENGINES")as$J){if(preg_match("~YES|DEFAULT~",$J["Support"]))$I[]=$J["Engine"];}return$I;}function
logged_user(){global$g;return$g->result("SELECT USER()");}function
tables_list(){return
get_key_vals(min_version(5)?"SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ORDER BY TABLE_NAME":"SHOW TABLES");}function
count_tables($l){$I=array();foreach($l
as$m)$I[$m]=count(get_vals("SHOW TABLES IN ".idf_escape($m)));return$I;}function
table_status($C="",$Mc=false){$I=array();foreach(get_rows($Mc&&min_version(5)?"SELECT TABLE_NAME AS Name, ENGINE AS Engine, TABLE_COMMENT AS Comment FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ".($C!=""?"AND TABLE_NAME = ".q($C):"ORDER BY Name"):"SHOW TABLE STATUS".($C!=""?" LIKE ".q(addcslashes($C,"%_\\")):""))as$J){if($J["Engine"]=="InnoDB")$J["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\1',$J["Comment"]);if(!isset($J["Engine"]))$J["Comment"]="";if($C!="")return$J;$I[$J["Name"]]=$J;}return$I;}function
is_view($R){return$R["Engine"]===null;}function
fk_support($R){return
preg_match('~InnoDB|IBMDB2I~i',$R["Engine"])||(preg_match('~NDB~i',$R["Engine"])&&min_version(5.6));}function
fields($Q){$I=array();foreach(get_rows("SHOW FULL COLUMNS FROM ".table($Q))as$J){preg_match('~^([^( ]+)(?:\((.+)\))?( unsigned)?( zerofill)?$~',$J["Type"],$B);$I[$J["Field"]]=array("field"=>$J["Field"],"full_type"=>$J["Type"],"type"=>$B[1],"length"=>$B[2],"unsigned"=>ltrim($B[3].$B[4]),"default"=>($J["Default"]!=""||preg_match("~char|set~",$B[1])?$J["Default"]:null),"null"=>($J["Null"]=="YES"),"auto_increment"=>($J["Extra"]=="auto_increment"),"on_update"=>(preg_match('~^on update (.+)~i',$J["Extra"],$B)?$B[1]:""),"collation"=>$J["Collation"],"privileges"=>array_flip(preg_split('~, *~',$J["Privileges"])),"comment"=>$J["Comment"],"primary"=>($J["Key"]=="PRI"),);}return$I;}function
indexes($Q,$h=null){$I=array();foreach(get_rows("SHOW INDEX FROM ".table($Q),$h)as$J){$C=$J["Key_name"];$I[$C]["type"]=($C=="PRIMARY"?"PRIMARY":($J["Index_type"]=="FULLTEXT"?"FULLTEXT":($J["Non_unique"]?($J["Index_type"]=="SPATIAL"?"SPATIAL":"INDEX"):"UNIQUE")));$I[$C]["columns"][]=$J["Column_name"];$I[$C]["lengths"][]=($J["Index_type"]=="SPATIAL"?null:$J["Sub_part"]);$I[$C]["descs"][]=null;}return$I;}function
foreign_keys($Q){global$g,$nf;static$Xf='(?:`(?:[^`]|``)+`)|(?:"(?:[^"]|"")+")';$I=array();$Db=$g->result("SHOW CREATE TABLE ".table($Q),1);if($Db){preg_match_all("~CONSTRAINT ($Xf) FOREIGN KEY ?\\(((?:$Xf,? ?)+)\\) REFERENCES ($Xf)(?:\\.($Xf))? \\(((?:$Xf,? ?)+)\\)(?: ON DELETE ($nf))?(?: ON UPDATE ($nf))?~",$Db,$Be,PREG_SET_ORDER);foreach($Be
as$B){preg_match_all("~$Xf~",$B[2],$th);preg_match_all("~$Xf~",$B[5],$Vh);$I[idf_unescape($B[1])]=array("db"=>idf_unescape($B[4]!=""?$B[3]:$B[4]),"table"=>idf_unescape($B[4]!=""?$B[4]:$B[3]),"source"=>array_map('idf_unescape',$th[0]),"target"=>array_map('idf_unescape',$Vh[0]),"on_delete"=>($B[6]?$B[6]:"RESTRICT"),"on_update"=>($B[7]?$B[7]:"RESTRICT"),);}}return$I;}function
view($C){global$g;return
array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\s+AS\s+~isU','',$g->result("SHOW CREATE VIEW ".table($C),1)));}function
collations(){$I=array();foreach(get_rows("SHOW COLLATION")as$J){if($J["Default"])$I[$J["Charset"]][-1]=$J["Collation"];else$I[$J["Charset"]][]=$J["Collation"];}ksort($I);foreach($I
as$z=>$X)asort($I[$z]);return$I;}function
information_schema($m){return(min_version(5)&&$m=="information_schema")||(min_version(5.5)&&$m=="performance_schema");}function
error(){global$g;return
h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",$g->error));}function
create_database($m,$d){return
queries("CREATE DATABASE ".idf_escape($m).($d?" COLLATE ".q($d):""));}function
drop_databases($l){$I=apply_queries("DROP DATABASE",$l,'idf_escape');restart_session();set_session("dbs",null);return$I;}function
rename_database($C,$d){$I=false;if(create_database($C,$d)){$Hg=array();foreach(tables_list()as$Q=>$T)$Hg[]=table($Q)." TO ".idf_escape($C).".".table($Q);$I=(!$Hg||queries("RENAME TABLE ".implode(", ",$Hg)));if($I)queries("DROP DATABASE ".idf_escape(DB));restart_session();set_session("dbs",null);}return$I;}function
auto_increment(){$Ma=" PRIMARY KEY";if($_GET["create"]!=""&&$_POST["auto_increment_col"]){foreach(indexes($_GET["create"])as$w){if(in_array($_POST["fields"][$_POST["auto_increment_col"]]["orig"],$w["columns"],true)){$Ma="";break;}if($w["type"]=="PRIMARY")$Ma=" UNIQUE";}}return" AUTO_INCREMENT$Ma";}function
alter_table($Q,$C,$q,$ad,$tb,$sc,$d,$La,$Rf){$c=array();foreach($q
as$p)$c[]=($p[1]?($Q!=""?($p[0]!=""?"CHANGE ".idf_escape($p[0]):"ADD"):" ")." ".implode($p[1]).($Q!=""?$p[2]:""):"DROP ".idf_escape($p[0]));$c=array_merge($c,$ad);$Ch=($tb!==null?" COMMENT=".q($tb):"").($sc?" ENGINE=".q($sc):"").($d?" COLLATE ".q($d):"").($La!=""?" AUTO_INCREMENT=$La":"");if($Q=="")return
queries("CREATE TABLE ".table($C)." (\n".implode(",\n",$c)."\n)$Ch$Rf");if($Q!=$C)$c[]="RENAME TO ".table($C);if($Ch)$c[]=ltrim($Ch);return($c||$Rf?queries("ALTER TABLE ".table($Q)."\n".implode(",\n",$c).$Rf):true);}function
alter_indexes($Q,$c){foreach($c
as$z=>$X)$c[$z]=($X[2]=="DROP"?"\nDROP INDEX ".idf_escape($X[1]):"\nADD $X[0] ".($X[0]=="PRIMARY"?"KEY ":"").($X[1]!=""?idf_escape($X[1])." ":"")."(".implode(", ",$X[2]).")");return
queries("ALTER TABLE ".table($Q).implode(",",$c));}function
truncate_tables($S){return
apply_queries("TRUNCATE TABLE",$S);}function
drop_views($Xi){return
queries("DROP VIEW ".implode(", ",array_map('table',$Xi)));}function
drop_tables($S){return
queries("DROP TABLE ".implode(", ",array_map('table',$S)));}function
move_tables($S,$Xi,$Vh){$Hg=array();foreach(array_merge($S,$Xi)as$Q)$Hg[]=table($Q)." TO ".idf_escape($Vh).".".table($Q);return
queries("RENAME TABLE ".implode(", ",$Hg));}function
copy_tables($S,$Xi,$Vh){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($S
as$Q){$C=($Vh==DB?table("copy_$Q"):idf_escape($Vh).".".table($Q));if(!queries("CREATE TABLE $C LIKE ".table($Q))||!queries("INSERT INTO $C SELECT * FROM ".table($Q)))return
false;foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")))as$J){$vi=$J["Trigger"];if(!queries("CREATE TRIGGER ".($Vh==DB?idf_escape("copy_$vi"):idf_escape($Vh).".".idf_escape($vi))." $J[Timing] $J[Event] ON $C FOR EACH ROW\n$J[Statement];"))return
false;}}foreach($Xi
as$Q){$C=($Vh==DB?table("copy_$Q"):idf_escape($Vh).".".table($Q));$Wi=view($Q);if(!queries("CREATE VIEW $C AS $Wi[select]"))return
false;}return
true;}function
trigger($C){if($C=="")return
array();$K=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($C));return
reset($K);}function
triggers($Q){$I=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")))as$J)$I[$J["Trigger"]]=array($J["Timing"],$J["Event"]);return$I;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("FOR EACH ROW"),);}function
routine($C,$T){global$g,$uc,$Pd,$U;$Ca=array("bool","boolean","integer","double precision","real","dec","numeric","fixed","national char","national varchar");$uh="(?:\\s|/\\*[\s\S]*?\\*/|(?:#|-- )[^\n]*\n?|--\r?\n)";$_i="((".implode("|",array_merge(array_keys($U),$Ca)).")\\b(?:\\s*\\(((?:[^'\")]|$uc)++)\\))?\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s,]+)['\"]?)?";$Xf="$uh*(".($T=="FUNCTION"?"":$Pd).")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$_i";$i=$g->result("SHOW CREATE $T ".idf_escape($C),2);preg_match("~\\(((?:$Xf\\s*,?)*)\\)\\s*".($T=="FUNCTION"?"RETURNS\\s+$_i\\s+":"")."(.*)~is",$i,$B);$q=array();preg_match_all("~$Xf\\s*,?~is",$B[1],$Be,PREG_SET_ORDER);foreach($Be
as$Kf){$C=str_replace("``","`",$Kf[2]).$Kf[3];$q[]=array("field"=>$C,"type"=>strtolower($Kf[5]),"length"=>preg_replace_callback("~$uc~s",'normalize_enum',$Kf[6]),"unsigned"=>strtolower(preg_replace('~\s+~',' ',trim("$Kf[8] $Kf[7]"))),"null"=>1,"full_type"=>$Kf[4],"inout"=>strtoupper($Kf[1]),"collation"=>strtolower($Kf[9]),);}if($T!="FUNCTION")return
array("fields"=>$q,"definition"=>$B[11]);return
array("fields"=>$q,"returns"=>array("type"=>$B[12],"length"=>$B[13],"unsigned"=>$B[15],"collation"=>$B[16]),"definition"=>$B[17],"language"=>"SQL",);}function
routines(){return
get_rows("SELECT ROUTINE_NAME AS SPECIFIC_NAME, ROUTINE_NAME, ROUTINE_TYPE, DTD_IDENTIFIER FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ".q(DB));}function
routine_languages(){return
array();}function
routine_id($C,$J){return
idf_escape($C);}function
last_id(){global$g;return$g->result("SELECT LAST_INSERT_ID()");}function
explain($g,$G){return$g->query("EXPLAIN ".(min_version(5.1)?"PARTITIONS ":"").$G);}function
found_rows($R,$Z){return($Z||$R["Engine"]!="InnoDB"?null:$R["Rows"]);}function
types(){return
array();}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($Xg){return
true;}function
create_sql($Q,$La,$Gh){global$g;$I=$g->result("SHOW CREATE TABLE ".table($Q),1);if(!$La)$I=preg_replace('~ AUTO_INCREMENT=\d+~','',$I);return$I;}function
truncate_sql($Q){return"TRUNCATE ".table($Q);}function
use_sql($k){return"USE ".idf_escape($k);}function
trigger_sql($Q){$I="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")),null,"-- ")as$J)$I.="\nCREATE TRIGGER ".idf_escape($J["Trigger"])." $J[Timing] $J[Event] ON ".table($J["Table"])." FOR EACH ROW\n$J[Statement];;\n";return$I;}function
show_variables(){return
get_key_vals("SHOW VARIABLES");}function
process_list(){return
get_rows("SHOW FULL PROCESSLIST");}function
show_status(){return
get_key_vals("SHOW STATUS");}function
convert_field($p){if(preg_match("~binary~",$p["type"]))return"HEX(".idf_escape($p["field"]).")";if($p["type"]=="bit")return"BIN(".idf_escape($p["field"])." + 0)";if(preg_match("~geometry|point|linestring|polygon~",$p["type"]))return(min_version(8)?"ST_":"")."AsWKT(".idf_escape($p["field"]).")";}function
unconvert_field($p,$I){if(preg_match("~binary~",$p["type"]))$I="UNHEX($I)";if($p["type"]=="bit")$I="CONV($I, 2, 10) + 0";if(preg_match("~geometry|point|linestring|polygon~",$p["type"]))$I=(min_version(8)?"ST_":"")."GeomFromText($I)";return$I;}function
support($Nc){return!preg_match("~scheme|sequence|type|view_trigger|materializedview".(min_version(8)?"":"|descidx".(min_version(5.1)?"":"|event|partitioning".(min_version(5)?"":"|routine|trigger|view")))."~",$Nc);}function
kill_process($X){return
queries("KILL ".number($X));}function
connection_id(){return"SELECT CONNECTION_ID()";}function
max_connections(){global$g;return$g->result("SELECT @@max_connections");}$y="sql";$U=array();$Fh=array();foreach(array('Numbers'=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),'Date and time'=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),'Strings'=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),'Lists'=>array("enum"=>65535,"set"=>64),'Binary'=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),'Geometry'=>array("geometry"=>0,"point"=>0,"linestring"=>0,"polygon"=>0,"multipoint"=>0,"multilinestring"=>0,"multipolygon"=>0,"geometrycollection"=>0),)as$z=>$X){$U+=$X;$Fh[$z]=array_keys($X);}$Gi=array("unsigned","zerofill","unsigned zerofill");$sf=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","FIND_IN_SET","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");$id=array("char_length","date","from_unixtime","lower","round","floor","ceil","sec_to_time","time_to_sec","upper");$od=array("avg","count","count distinct","group_concat","max","min","sum");$kc=array(array("char"=>"md5/sha1/password/encrypt/uuid","binary"=>"md5/sha1","date|time"=>"now",),array(number_type()=>"+/-","date"=>"+ interval/- interval","time"=>"addtime/subtime","char|text"=>"concat",));}define("SERVER",$_GET[DRIVER]);define("DB",$_GET["db"]);define("ME",preg_replace('~^[^?]*/([^?]*).*~','\1',$_SERVER["REQUEST_URI"]).'?'.(sid()?SID.'&':'').(SERVER!==null?DRIVER."=".urlencode(SERVER).'&':'').(isset($_GET["username"])?"username=".urlencode($_GET["username"]).'&':'').(DB!=""?'db='.urlencode(DB).'&'.(isset($_GET["ns"])?"ns=".urlencode($_GET["ns"])."&":""):''));$ia="4.7.1";class
Adminer{var$operators;function
name(){return"<a href='https://www.adminer.org/'".target_blank()." id='h1'>Adminer</a>";}function
credentials(){return
array(SERVER,$_GET["username"],get_password());}function
connectSsl(){}function
permanentLogin($i=false){return
password_file($i);}function
bruteForceKey(){return$_SERVER["REMOTE_ADDR"];}function
serverName($N){return
h($N);}function
database(){return
DB;}function
databases($Yc=true){return
get_databases($Yc);}function
schemas(){return
schemas();}function
queryTimeout(){return
2;}function
headers(){}function
csp(){return
csp();}function
head(){return
true;}function
css(){$I=array();$Sc="adminer.css";if(file_exists($Sc))$I[]=$Sc;return$I;}function
loginForm(){global$cc;echo"<table cellspacing='0' class='layout'>\n",$this->loginFormField('driver','<tr><th>'.'System'.'<td>',html_select("auth[driver]",$cc,DRIVER,"loginDriver(this);")."\n"),$this->loginFormField('server','<tr><th>'.'Server'.'<td>','<input name="auth[server]" value="'.h(SERVER).'" title="hostname[:port]" placeholder="localhost" autocapitalize="off">'."\n"),$this->loginFormField('username','<tr><th>'.'Username'.'<td>','<input name="auth[username]" id="username" value="'.h($_GET["username"]).'" autocomplete="username" autocapitalize="off">'.script("focus(qs('#username')); qs('#username').form['auth[driver]'].onchange();")),$this->loginFormField('password','<tr><th>'.'Password'.'<td>','<input type="password" name="auth[password]" autocomplete="current-password">'."\n"),$this->loginFormField('db','<tr><th>'.'Database'.'<td>','<input name="auth[db]" value="'.h($_GET["db"]).'" autocapitalize="off">'."\n"),"</table>\n","<p><input type='submit' value='".'Login'."'>\n",checkbox("auth[permanent]",1,$_COOKIE["adminer_permanent"],'Permanent login')."\n";}function
loginFormField($C,$vd,$Y){return$vd.$Y;}function
login($we,$F){if($F=="")return
sprintf('Adminer does not support accessing a database without a password, <a href="https://www.adminer.org/en/password/"%s>more information</a>.',target_blank());return
true;}function
tableName($Mh){return
h($Mh["Name"]);}function
fieldName($p,$xf=0){return'<span title="'.h($p["full_type"]).'">'.h($p["field"]).'</span>';}function
selectLinks($Mh,$O=""){global$y,$n;echo'<p class="links">';$ue=array("select"=>'Select data');if(support("table")||support("indexes"))$ue["table"]='Show structure';if(support("table")){if(is_view($Mh))$ue["view"]='Alter view';else$ue["create"]='Alter table';}if($O!==null)$ue["edit"]='New item';$C=$Mh["Name"];foreach($ue
as$z=>$X)echo" <a href='".h(ME)."$z=".urlencode($C).($z=="edit"?$O:"")."'".bold(isset($_GET[$z])).">$X</a>";echo
doc_link(array($y=>$n->tableHelp($C)),"?"),"\n";}function
foreignKeys($Q){return
foreign_keys($Q);}function
backwardKeys($Q,$Lh){return
array();}function
backwardKeysPrint($Oa,$J){}function
selectQuery($G,$Ah,$Lc=false){global$y,$n;$I="</p>\n";if(!$Lc&&($aj=$n->warnings())){$u="warnings";$I=", <a href='#$u'>".'Warnings'."</a>".script("qsl('a').onclick = partial(toggle, '$u');","")."$I<div id='$u' class='hidden'>\n$aj</div>\n";}return"<p><code class='jush-$y'>".h(str_replace("\n"," ",$G))."</code> <span class='time'>(".format_time($Ah).")</span>".(support("sql")?" <a href='".h(ME)."sql=".urlencode($G)."'>".'Edit'."</a>":"").$I;}function
sqlCommandQuery($G){return
shorten_utf8(trim($G),1000);}function
rowDescription($Q){return"";}function
rowDescriptions($K,$bd){return$K;}function
selectLink($X,$p){}function
selectVal($X,$A,$p,$Ef){$I=($X===null?"<i>NULL</i>":(preg_match("~char|binary|boolean~",$p["type"])&&!preg_match("~var~",$p["type"])?"<code>$X</code>":$X));if(preg_match('~blob|bytea|raw|file~',$p["type"])&&!is_utf8($X))$I="<i>".lang(array('%d byte','%d bytes'),strlen($Ef))."</i>";if(preg_match('~json~',$p["type"]))$I="<code class='jush-js'>$I</code>";return($A?"<a href='".h($A)."'".(is_url($A)?target_blank():"").">$I</a>":$I);}function
editVal($X,$p){return$X;}function
tableStructurePrint($q){echo"<div class='scrollable'>\n","<table cellspacing='0' class='nowrap'>\n","<thead><tr><th>".'Column'."<td>".'Type'.(support("comment")?"<td>".'Comment':"")."</thead>\n";foreach($q
as$p){echo"<tr".odd()."><th>".h($p["field"]),"<td><span title='".h($p["collation"])."'>".h($p["full_type"])."</span>",($p["null"]?" <i>NULL</i>":""),($p["auto_increment"]?" <i>".'Auto Increment'."</i>":""),(isset($p["default"])?" <span title='".'Default value'."'>[<b>".h($p["default"])."</b>]</span>":""),(support("comment")?"<td>".h($p["comment"]):""),"\n";}echo"</table>\n","</div>\n";}function
tableIndexesPrint($x){echo"<table cellspacing='0'>\n";foreach($x
as$C=>$w){ksort($w["columns"]);$jg=array();foreach($w["columns"]as$z=>$X)$jg[]="<i>".h($X)."</i>".($w["lengths"][$z]?"(".$w["lengths"][$z].")":"").($w["descs"][$z]?" DESC":"");echo"<tr title='".h($C)."'><th>$w[type]<td>".implode(", ",$jg)."\n";}echo"</table>\n";}function
selectColumnsPrint($L,$f){global$id,$od;print_fieldset("select",'Select',$L);$t=0;$L[""]=array();foreach($L
as$z=>$X){$X=$_GET["columns"][$z];$e=select_input(" name='columns[$t][col]'",$f,$X["col"],($z!==""?"selectFieldChange":"selectAddRow"));echo"<div>".($id||$od?"<select name='columns[$t][fun]'>".optionlist(array(-1=>"")+array_filter(array('Functions'=>$id,'Aggregation'=>$od)),$X["fun"])."</select>".on_help("getTarget(event).value && getTarget(event).value.replace(/ |\$/, '(') + ')'",1).script("qsl('select').onchange = function () { helpClose();".($z!==""?"":" qsl('select, input', this.parentNode).onchange();")." };","")."($e)":$e)."</div>\n";$t++;}echo"</div></fieldset>\n";}function
selectSearchPrint($Z,$f,$x){print_fieldset("search",'Search',$Z);foreach($x
as$t=>$w){if($w["type"]=="FULLTEXT"){echo"<div>(<i>".implode("</i>, <i>",array_map('h',$w["columns"]))."</i>) AGAINST"," <input type='search' name='fulltext[$t]' value='".h($_GET["fulltext"][$t])."'>",script("qsl('input').oninput = selectFieldChange;",""),checkbox("boolean[$t]",1,isset($_GET["boolean"][$t]),"BOOL"),"</div>\n";}}$ab="this.parentNode.firstChild.onchange();";foreach(array_merge((array)$_GET["where"],array(array()))as$t=>$X){if(!$X||("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators))){echo"<div>".select_input(" name='where[$t][col]'",$f,$X["col"],($X?"selectFieldChange":"selectAddRow"),"(".'anywhere'.")"),html_select("where[$t][op]",$this->operators,$X["op"],$ab),"<input type='search' name='where[$t][val]' value='".h($X["val"])."'>",script("mixin(qsl('input'), {oninput: function () { $ab }, onkeydown: selectSearchKeydown, onsearch: selectSearchSearch});",""),"</div>\n";}}echo"</div></fieldset>\n";}function
selectOrderPrint($xf,$f,$x){print_fieldset("sort",'Sort',$xf);$t=0;foreach((array)$_GET["order"]as$z=>$X){if($X!=""){echo"<div>".select_input(" name='order[$t]'",$f,$X,"selectFieldChange"),checkbox("desc[$t]",1,isset($_GET["desc"][$z]),'descending')."</div>\n";$t++;}}echo"<div>".select_input(" name='order[$t]'",$f,"","selectAddRow"),checkbox("desc[$t]",1,false,'descending')."</div>\n","</div></fieldset>\n";}function
selectLimitPrint($_){echo"<fieldset><legend>".'Limit'."</legend><div>";echo"<input type='number' name='limit' class='size' value='".h($_)."'>",script("qsl('input').oninput = selectFieldChange;",""),"</div></fieldset>\n";}function
selectLengthPrint($bi){if($bi!==null){echo"<fieldset><legend>".'Text length'."</legend><div>","<input type='number' name='text_length' class='size' value='".h($bi)."'>","</div></fieldset>\n";}}function
selectActionPrint($x){echo"<fieldset><legend>".'Action'."</legend><div>","<input type='submit' value='".'Select'."'>"," <span id='noindex' title='".'Full table scan'."'></span>","<script".nonce().">\n","var indexColumns = ";$f=array();foreach($x
as$w){$Ib=reset($w["columns"]);if($w["type"]!="FULLTEXT"&&$Ib)$f[$Ib]=1;}$f[""]=1;foreach($f
as$z=>$X)json_row($z);echo";\n","selectFieldChange.call(qs('#form')['select']);\n","</script>\n","</div></fieldset>\n";}function
selectCommandPrint(){return!information_schema(DB);}function
selectImportPrint(){return!information_schema(DB);}function
selectEmailPrint($pc,$f){}function
selectColumnsProcess($f,$x){global$id,$od;$L=array();$ld=array();foreach((array)$_GET["columns"]as$z=>$X){if($X["fun"]=="count"||($X["col"]!=""&&(!$X["fun"]||in_array($X["fun"],$id)||in_array($X["fun"],$od)))){$L[$z]=apply_sql_function($X["fun"],($X["col"]!=""?idf_escape($X["col"]):"*"));if(!in_array($X["fun"],$od))$ld[]=$L[$z];}}return
array($L,$ld);}function
selectSearchProcess($q,$x){global$g,$n;$I=array();foreach($x
as$t=>$w){if($w["type"]=="FULLTEXT"&&$_GET["fulltext"][$t]!="")$I[]="MATCH (".implode(", ",array_map('idf_escape',$w["columns"])).") AGAINST (".q($_GET["fulltext"][$t]).(isset($_GET["boolean"][$t])?" IN BOOLEAN MODE":"").")";}foreach((array)$_GET["where"]as$z=>$X){if("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators)){$fg="";$ub=" $X[op]";if(preg_match('~IN$~',$X["op"])){$Fd=process_length($X["val"]);$ub.=" ".($Fd!=""?$Fd:"(NULL)");}elseif($X["op"]=="SQL")$ub=" $X[val]";elseif($X["op"]=="LIKE %%")$ub=" LIKE ".$this->processInput($q[$X["col"]],"%$X[val]%");elseif($X["op"]=="ILIKE %%")$ub=" ILIKE ".$this->processInput($q[$X["col"]],"%$X[val]%");elseif($X["op"]=="FIND_IN_SET"){$fg="$X[op](".q($X["val"]).", ";$ub=")";}elseif(!preg_match('~NULL$~',$X["op"]))$ub.=" ".$this->processInput($q[$X["col"]],$X["val"]);if($X["col"]!="")$I[]=$fg.$n->convertSearch(idf_escape($X["col"]),$X,$q[$X["col"]]).$ub;else{$qb=array();foreach($q
as$C=>$p){if((preg_match('~^[-\d.'.(preg_match('~IN$~',$X["op"])?',':'').']+$~',$X["val"])||!preg_match('~'.number_type().'|bit~',$p["type"]))&&(!preg_match("~[\x80-\xFF]~",$X["val"])||preg_match('~char|text|enum|set~',$p["type"])))$qb[]=$fg.$n->convertSearch(idf_escape($C),$X,$p).$ub;}$I[]=($qb?"(".implode(" OR ",$qb).")":"1 = 0");}}}return$I;}function
selectOrderProcess($q,$x){$I=array();foreach((array)$_GET["order"]as$z=>$X){if($X!="")$I[]=(preg_match('~^((COUNT\(DISTINCT |[A-Z0-9_]+\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\)|COUNT\(\*\))$~',$X)?$X:idf_escape($X)).(isset($_GET["desc"][$z])?" DESC":"");}return$I;}function
selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"50");}function
selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function
selectEmailProcess($Z,$bd){return
false;}function
selectQueryBuild($L,$Z,$ld,$xf,$_,$E){return"";}function
messageQuery($G,$ci,$Lc=false){global$y,$n;restart_session();$wd=&get_session("queries");if(!$wd[$_GET["db"]])$wd[$_GET["db"]]=array();if(strlen($G)>1e6)$G=preg_replace('~[\x80-\xFF]+$~','',substr($G,0,1e6))."\n";$wd[$_GET["db"]][]=array($G,time(),$ci);$yh="sql-".count($wd[$_GET["db"]]);$I="<a href='#$yh' class='toggle'>".'SQL command'."</a>\n";if(!$Lc&&($aj=$n->warnings())){$u="warnings-".count($wd[$_GET["db"]]);$I="<a href='#$u' class='toggle'>".'Warnings'."</a>, $I<div id='$u' class='hidden'>\n$aj</div>\n";}return" <span class='time'>".@date("H:i:s")."</span>"." $I<div id='$yh' class='hidden'><pre><code class='jush-$y'>".shorten_utf8($G,1000)."</code></pre>".($ci?" <span class='time'>($ci)</span>":'').(support("sql")?'<p><a href="'.h(str_replace("db=".urlencode(DB),"db=".urlencode($_GET["db"]),ME).'sql=&history='.(count($wd[$_GET["db"]])-1)).'">'.'Edit'.'</a>':'').'</div>';}function
editFunctions($p){global$kc;$I=($p["null"]?"NULL/":"");foreach($kc
as$z=>$id){if(!$z||(!isset($_GET["call"])&&(isset($_GET["select"])||where($_GET)))){foreach($id
as$Xf=>$X){if(!$Xf||preg_match("~$Xf~",$p["type"]))$I.="/$X";}if($z&&!preg_match('~set|blob|bytea|raw|file~',$p["type"]))$I.="/SQL";}}if($p["auto_increment"]&&!isset($_GET["select"])&&!where($_GET))$I='Auto Increment';return
explode("/",$I);}function
editInput($Q,$p,$Ja,$Y){if($p["type"]=="enum")return(isset($_GET["select"])?"<label><input type='radio'$Ja value='-1' checked><i>".'original'."</i></label> ":"").($p["null"]?"<label><input type='radio'$Ja value=''".($Y!==null||isset($_GET["select"])?"":" checked")."><i>NULL</i></label> ":"").enum_input("radio",$Ja,$p,$Y,0);return"";}function
editHint($Q,$p,$Y){return"";}function
processInput($p,$Y,$s=""){if($s=="SQL")return$Y;$C=$p["field"];$I=q($Y);if(preg_match('~^(now|getdate|uuid)$~',$s))$I="$s()";elseif(preg_match('~^current_(date|timestamp)$~',$s))$I=$s;elseif(preg_match('~^([+-]|\|\|)$~',$s))$I=idf_escape($C)." $s $I";elseif(preg_match('~^[+-] interval$~',$s))$I=idf_escape($C)." $s ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+\$~i",$Y)?$Y:$I);elseif(preg_match('~^(addtime|subtime|concat)$~',$s))$I="$s(".idf_escape($C).", $I)";elseif(preg_match('~^(md5|sha1|password|encrypt)$~',$s))$I="$s($I)";return
unconvert_field($p,$I);}function
dumpOutput(){$I=array('text'=>'open','file'=>'save');if(function_exists('gzencode'))$I['gz']='gzip';return$I;}function
dumpFormat(){return
array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
dumpDatabase($m){}function
dumpTable($Q,$Gh,$Yd=0){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($Gh)dump_csv(array_keys(fields($Q)));}else{if($Yd==2){$q=array();foreach(fields($Q)as$C=>$p)$q[]=idf_escape($C)." $p[full_type]";$i="CREATE TABLE ".table($Q)." (".implode(", ",$q).")";}else$i=create_sql($Q,$_POST["auto_increment"],$Gh);set_utf8mb4($i);if($Gh&&$i){if($Gh=="DROP+CREATE"||$Yd==1)echo"DROP ".($Yd==2?"VIEW":"TABLE")." IF EXISTS ".table($Q).";\n";if($Yd==1)$i=remove_definer($i);echo"$i;\n\n";}}}function
dumpData($Q,$Gh,$G){global$g,$y;$De=($y=="sqlite"?0:1048576);if($Gh){if($_POST["format"]=="sql"){if($Gh=="TRUNCATE+INSERT")echo
truncate_sql($Q).";\n";$q=fields($Q);}$H=$g->query($G,1);if($H){$Rd="";$Xa="";$fe=array();$Ih="";$Oc=($Q!=''?'fetch_assoc':'fetch_row');while($J=$H->$Oc()){if(!$fe){$Si=array();foreach($J
as$X){$p=$H->fetch_field();$fe[]=$p->name;$z=idf_escape($p->name);$Si[]="$z = VALUES($z)";}$Ih=($Gh=="INSERT+UPDATE"?"\nON DUPLICATE KEY UPDATE ".implode(", ",$Si):"").";\n";}if($_POST["format"]!="sql"){if($Gh=="table"){dump_csv($fe);$Gh="INSERT";}dump_csv($J);}else{if(!$Rd)$Rd="INSERT INTO ".table($Q)." (".implode(", ",array_map('idf_escape',$fe)).") VALUES";foreach($J
as$z=>$X){$p=$q[$z];$J[$z]=($X!==null?unconvert_field($p,preg_match(number_type(),$p["type"])&&$X!=''&&!preg_match('~\[~',$p["full_type"])?$X:q(($X===false?0:$X))):"NULL");}$Vg=($De?"\n":" ")."(".implode(",\t",$J).")";if(!$Xa)$Xa=$Rd.$Vg;elseif(strlen($Xa)+4+strlen($Vg)+strlen($Ih)<$De)$Xa.=",$Vg";else{echo$Xa.$Ih;$Xa=$Rd.$Vg;}}}if($Xa)echo$Xa.$Ih;}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",$g->error)."\n";}}function
dumpFilename($Ad){return
friendly_url($Ad!=""?$Ad:(SERVER!=""?SERVER:"localhost"));}function
dumpHeaders($Ad,$Se=false){$Hf=$_POST["output"];$Gc=(preg_match('~sql~',$_POST["format"])?"sql":($Se?"tar":"csv"));header("Content-Type: ".($Hf=="gz"?"application/x-gzip":($Gc=="tar"?"application/x-tar":($Gc=="sql"||$Hf!="file"?"text/plain":"text/csv")."; charset=utf-8")));if($Hf=="gz")ob_start('ob_gzencode',1e6);return$Gc;}function
importServerPath(){return"adminer.sql";}function
homepage(){echo'<p class="links">'.($_GET["ns"]==""&&support("database")?'<a href="'.h(ME).'database=">'.'Alter database'."</a>\n":""),(support("scheme")?"<a href='".h(ME)."scheme='>".($_GET["ns"]!=""?'Alter schema':'Create schema')."</a>\n":""),($_GET["ns"]!==""?'<a href="'.h(ME).'schema=">'.'Database schema'."</a>\n":""),(support("privileges")?"<a href='".h(ME)."privileges='>".'Privileges'."</a>\n":"");return
true;}function
navigation($Re){global$ia,$y,$cc,$g;echo'<h1>
',$this->name(),' <span class="version">',$ia,'</span>
<a href="https://www.adminer.org/#download"',target_blank(),' id="version">',(version_compare($ia,$_COOKIE["adminer_version"])<0?h($_COOKIE["adminer_version"]):""),'</a>
</h1>
';if($Re=="auth"){$Uc=true;foreach((array)$_SESSION["pwds"]as$Ui=>$jh){foreach($jh
as$N=>$Pi){foreach($Pi
as$V=>$F){if($F!==null){if($Uc){echo"<ul id='logins'>".script("mixin(qs('#logins'), {onmouseover: menuOver, onmouseout: menuOut});");$Uc=false;}$Ob=$_SESSION["db"][$Ui][$N][$V];foreach(($Ob?array_keys($Ob):array(""))as$m)echo"<li><a href='".h(auth_url($Ui,$N,$V,$m))."'>($cc[$Ui]) ".h($V.($N!=""?"@".$this->serverName($N):"").($m!=""?" - $m":""))."</a>\n";}}}}}else{if($_GET["ns"]!==""&&!$Re&&DB!=""){$g->select_db(DB);$S=table_status('',true);}echo
script_src(preg_replace("~\\?.*~","",ME)."?file=jush.js&version=4.7.1");if(support("sql")){echo'<script',nonce(),'>
';if($S){$ue=array();foreach($S
as$Q=>$T)$ue[]=preg_quote($Q,'/');echo"var jushLinks = { $y: [ '".js_escape(ME).(support("table")?"table=":"select=")."\$&', /\\b(".implode("|",$ue).")\\b/g ] };\n";foreach(array("bac","bra","sqlite_quo","mssql_bra")as$X)echo"jushLinks.$X = jushLinks.$y;\n";}$ih=$g->server_info;echo'bodyLoad(\'',(is_object($g)?preg_replace('~^(\d\.?\d).*~s','\1',$ih):""),'\'',(preg_match('~MariaDB~',$ih)?", true":""),');
</script>
';}$this->databasesPrint($Re);if(DB==""||!$Re){echo"<p class='links'>".(support("sql")?"<a href='".h(ME)."sql='".bold(isset($_GET["sql"])&&!isset($_GET["import"])).">".'SQL command'."</a>\n<a href='".h(ME)."import='".bold(isset($_GET["import"])).">".'Import'."</a>\n":"")."";if(support("dump"))echo"<a href='".h(ME)."dump=".urlencode(isset($_GET["table"])?$_GET["table"]:$_GET["select"])."' id='dump'".bold(isset($_GET["dump"])).">".'Export'."</a>\n";}if($_GET["ns"]!==""&&!$Re&&DB!=""){echo'<a href="'.h(ME).'create="'.bold($_GET["create"]==="").">".'Create table'."</a>\n";if(!$S)echo"<p class='message'>".'No tables.'."\n";else$this->tablesPrint($S);}}}function
databasesPrint($Re){global$b,$g;$l=$this->databases();if($l&&!in_array(DB,$l))array_unshift($l,DB);echo'<form action="">
<p id="dbs">
';hidden_fields_get();$Mb=script("mixin(qsl('select'), {onmousedown: dbMouseDown, onchange: dbChange});");echo"<span title='".'database'."'>".'DB'."</span>: ".($l?"<select name='db'>".optionlist(array(""=>"")+$l,DB)."</select>$Mb":"<input name='db' value='".h(DB)."' autocapitalize='off'>\n"),"<input type='submit' value='".'Use'."'".($l?" class='hidden'":"").">\n";if($Re!="db"&&DB!=""&&$g->select_db(DB)){if(support("scheme")){echo"<br>".'Schema'.": <select name='ns'>".optionlist(array(""=>"")+$b->schemas(),$_GET["ns"])."</select>$Mb";if($_GET["ns"]!="")set_schema($_GET["ns"]);}}foreach(array("import","sql","schema","dump","privileges")as$X){if(isset($_GET[$X])){echo"<input type='hidden' name='$X' value=''>";break;}}echo"</p></form>\n";}function
tablesPrint($S){echo"<ul id='tables'>".script("mixin(qs('#tables'), {onmouseover: menuOver, onmouseout: menuOut});");foreach($S
as$Q=>$Ch){$C=$this->tableName($Ch);if($C!=""){echo'<li><a href="'.h(ME).'select='.urlencode($Q).'"'.bold($_GET["select"]==$Q||$_GET["edit"]==$Q,"select").">".'select'."</a> ",(support("table")||support("indexes")?'<a href="'.h(ME).'table='.urlencode($Q).'"'.bold(in_array($Q,array($_GET["table"],$_GET["create"],$_GET["indexes"],$_GET["foreign"],$_GET["trigger"])),(is_view($Ch)?"view":"structure"))." title='".'Show structure'."'>$C</a>":"<span>$C</span>")."\n";}}echo"</ul>\n";}}$b=(function_exists('adminer_object')?adminer_object():new
Adminer);if($b->operators===null)$b->operators=$sf;function
page_header($fi,$o="",$Wa=array(),$gi=""){global$ca,$ia,$b,$cc,$y;page_headers();if(is_ajax()&&$o){page_messages($o);exit;}$hi=$fi.($gi!=""?": $gi":"");$ii=strip_tags($hi.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$b->name());echo'<!DOCTYPE html>
<html lang="en" dir="ltr">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex">
<title>',$ii,'</title>
<link rel="stylesheet" type="text/css" href="',h(preg_replace("~\\?.*~","",ME)."?file=default.css&version=4.7.1"),'">
',script_src(preg_replace("~\\?.*~","",ME)."?file=functions.js&version=4.7.1");if($b->head()){echo'<link rel="shortcut icon" type="image/x-icon" href="',h(preg_replace("~\\?.*~","",ME)."?file=favicon.ico&version=4.7.1"),'">
<link rel="apple-touch-icon" href="',h(preg_replace("~\\?.*~","",ME)."?file=favicon.ico&version=4.7.1"),'">
';foreach($b->css()as$Gb){echo'<link rel="stylesheet" type="text/css" href="',h($Gb),'">
';}}echo'
<body class="ltr nojs">
';$Sc=get_temp_dir()."/adminer.version";if(!$_COOKIE["adminer_version"]&&function_exists('openssl_verify')&&file_exists($Sc)&&filemtime($Sc)+86400>time()){$Vi=unserialize(file_get_contents($Sc));$qg="-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwqWOVuF5uw7/+Z70djoK
RlHIZFZPO0uYRezq90+7Amk+FDNd7KkL5eDve+vHRJBLAszF/7XKXe11xwliIsFs
DFWQlsABVZB3oisKCBEuI71J4kPH8dKGEWR9jDHFw3cWmoH3PmqImX6FISWbG3B8
h7FIx3jEaw5ckVPVTeo5JRm/1DZzJxjyDenXvBQ/6o9DgZKeNDgxwKzH+sw9/YCO
jHnq1cFpOIISzARlrHMa/43YfeNRAm/tsBXjSxembBPo7aQZLAWHmaj5+K19H10B
nCpz9Y++cipkVEiKRGih4ZEvjoFysEOdRLj6WiD/uUNky4xGeA6LaJqh5XpkFkcQ
fQIDAQAB
-----END PUBLIC KEY-----
";if(openssl_verify($Vi["version"],base64_decode($Vi["signature"]),$qg)==1)$_COOKIE["adminer_version"]=$Vi["version"];}echo'<script',nonce(),'>
mixin(document.body, {onkeydown: bodyKeydown, onclick: bodyClick',(isset($_COOKIE["adminer_version"])?"":", onload: partial(verifyVersion, '$ia', '".js_escape(ME)."', '".get_token()."')");?>});
document.body.className = document.body.className.replace(/ nojs/, ' js');
var offlineMessage = '<?php echo
js_escape('You are offline.'),'\';
var thousandsSeparator = \'',js_escape(','),'\';
</script>

<div id="help" class="jush-',$y,' jsonly hidden"></div>
',script("mixin(qs('#help'), {onmouseover: function () { helpOpen = 1; }, onmouseout: helpMouseout});"),'
<div id="content">
';if($Wa!==null){$A=substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1);echo'<p id="breadcrumb"><a href="'.h($A?$A:".").'">'.$cc[DRIVER].'</a> &raquo; ';$A=substr(preg_replace('~\b(db|ns)=[^&]*&~','',ME),0,-1);$N=$b->serverName(SERVER);$N=($N!=""?$N:'Server');if($Wa===false)echo"$N\n";else{echo"<a href='".($A?h($A):".")."' accesskey='1' title='Alt+Shift+1'>$N</a> &raquo; ";if($_GET["ns"]!=""||(DB!=""&&is_array($Wa)))echo'<a href="'.h($A."&db=".urlencode(DB).(support("scheme")?"&ns=":"")).'">'.h(DB).'</a> &raquo; ';if(is_array($Wa)){if($_GET["ns"]!="")echo'<a href="'.h(substr(ME,0,-1)).'">'.h($_GET["ns"]).'</a> &raquo; ';foreach($Wa
as$z=>$X){$Ub=(is_array($X)?$X[1]:h($X));if($Ub!="")echo"<a href='".h(ME."$z=").urlencode(is_array($X)?$X[0]:$X)."'>$Ub</a> &raquo; ";}}echo"$fi\n";}}echo"<h2>$hi</h2>\n","<div id='ajaxstatus' class='jsonly hidden'></div>\n";restart_session();page_messages($o);$l=&get_session("dbs");if(DB!=""&&$l&&!in_array(DB,$l,true))$l=null;stop_session();define("PAGE_HEADER",1);}function
page_headers(){global$b;header("Content-Type: text/html; charset=utf-8");header("Cache-Control: no-cache");header("X-Frame-Options: deny");header("X-XSS-Protection: 0");header("X-Content-Type-Options: nosniff");header("Referrer-Policy: origin-when-cross-origin");foreach($b->csp()as$Fb){$ud=array();foreach($Fb
as$z=>$X)$ud[]="$z $X";header("Content-Security-Policy: ".implode("; ",$ud));}$b->headers();}function
csp(){return
array(array("script-src"=>"'self' 'unsafe-inline' 'nonce-".get_nonce()."' 'strict-dynamic'","connect-src"=>"'self'","frame-src"=>"https://www.adminer.org","object-src"=>"'none'","base-uri"=>"'none'","form-action"=>"'self'",),);}function
get_nonce(){static$bf;if(!$bf)$bf=base64_encode(rand_string());return$bf;}function
page_messages($o){$Ii=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$Ne=$_SESSION["messages"][$Ii];if($Ne){echo"<div class='message'>".implode("</div>\n<div class='message'>",$Ne)."</div>".script("messagesPrint();");unset($_SESSION["messages"][$Ii]);}if($o)echo"<div class='error'>$o</div>\n";}function
page_footer($Re=""){global$b,$mi;echo'</div>

';if($Re!="auth"){echo'<form action="" method="post">
<p class="logout">
<input type="submit" name="logout" value="Logout" id="logout">
<input type="hidden" name="token" value="',$mi,'">
</p>
</form>
';}echo'<div id="menu">
';$b->navigation($Re);echo'</div>
',script("setupSubmitHighlight(document);");}function
int32($Ue){while($Ue>=2147483648)$Ue-=4294967296;while($Ue<=-2147483649)$Ue+=4294967296;return(int)$Ue;}function
long2str($W,$Zi){$Vg='';foreach($W
as$X)$Vg.=pack('V',$X);if($Zi)return
substr($Vg,0,end($W));return$Vg;}function
str2long($Vg,$Zi){$W=array_values(unpack('V*',str_pad($Vg,4*ceil(strlen($Vg)/4),"\0")));if($Zi)$W[]=strlen($Vg);return$W;}function
xxtea_mx($mj,$lj,$Jh,$be){return
int32((($mj>>5&0x7FFFFFF)^$lj<<2)+(($lj>>3&0x1FFFFFFF)^$mj<<4))^int32(($Jh^$lj)+($be^$mj));}function
encrypt_string($Eh,$z){if($Eh=="")return"";$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($Eh,true);$Ue=count($W)-1;$mj=$W[$Ue];$lj=$W[0];$rg=floor(6+52/($Ue+1));$Jh=0;while($rg-->0){$Jh=int32($Jh+0x9E3779B9);$jc=$Jh>>2&3;for($If=0;$If<$Ue;$If++){$lj=$W[$If+1];$Te=xxtea_mx($mj,$lj,$Jh,$z[$If&3^$jc]);$mj=int32($W[$If]+$Te);$W[$If]=$mj;}$lj=$W[0];$Te=xxtea_mx($mj,$lj,$Jh,$z[$If&3^$jc]);$mj=int32($W[$Ue]+$Te);$W[$Ue]=$mj;}return
long2str($W,false);}function
decrypt_string($Eh,$z){if($Eh=="")return"";if(!$z)return
false;$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($Eh,false);$Ue=count($W)-1;$mj=$W[$Ue];$lj=$W[0];$rg=floor(6+52/($Ue+1));$Jh=int32($rg*0x9E3779B9);while($Jh){$jc=$Jh>>2&3;for($If=$Ue;$If>0;$If--){$mj=$W[$If-1];$Te=xxtea_mx($mj,$lj,$Jh,$z[$If&3^$jc]);$lj=int32($W[$If]-$Te);$W[$If]=$lj;}$mj=$W[$Ue];$Te=xxtea_mx($mj,$lj,$Jh,$z[$If&3^$jc]);$lj=int32($W[0]-$Te);$W[0]=$lj;$Jh=int32($Jh-0x9E3779B9);}return
long2str($W,true);}$g='';$td=$_SESSION["token"];if(!$td)$_SESSION["token"]=rand(1,1e6);$mi=get_token();$Yf=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($z)=explode(":",$X);$Yf[$z]=$X;}}function
add_invalid_login(){global$b;$gd=file_open_lock(get_temp_dir()."/adminer.invalid");if(!$gd)return;$Ud=unserialize(stream_get_contents($gd));$ci=time();if($Ud){foreach($Ud
as$Vd=>$X){if($X[0]<$ci)unset($Ud[$Vd]);}}$Td=&$Ud[$b->bruteForceKey()];if(!$Td)$Td=array($ci+30*60,0);$Td[1]++;file_write_unlock($gd,serialize($Ud));}function
check_invalid_login(){global$b;$Ud=unserialize(@file_get_contents(get_temp_dir()."/adminer.invalid"));$Td=$Ud[$b->bruteForceKey()];$af=($Td[1]>29?$Td[0]-time():0);if($af>0)auth_error(lang(array('Too many unsuccessful logins, try again in %d minute.','Too many unsuccessful logins, try again in %d minutes.'),ceil($af/60)));}$Ka=$_POST["auth"];if($Ka){session_regenerate_id();$Ui=$Ka["driver"];$N=$Ka["server"];$V=$Ka["username"];$F=(string)$Ka["password"];$m=$Ka["db"];set_password($Ui,$N,$V,$F);$_SESSION["db"][$Ui][$N][$V][$m]=true;if($Ka["permanent"]){$z=base64_encode($Ui)."-".base64_encode($N)."-".base64_encode($V)."-".base64_encode($m);$kg=$b->permanentLogin(true);$Yf[$z]="$z:".base64_encode($kg?encrypt_string($F,$kg):"");cookie("adminer_permanent",implode(" ",$Yf));}if(count($_POST)==1||DRIVER!=$Ui||SERVER!=$N||$_GET["username"]!==$V||DB!=$m)redirect(auth_url($Ui,$N,$V,$m));}elseif($_POST["logout"]){if($td&&!verify_token()){page_header('Logout','Invalid CSRF token. Send the form again.');page_footer("db");exit;}else{foreach(array("pwds","db","dbs","queries")as$z)set_session($z,null);unset_permanent();redirect(substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1),'Logout successful.'.' '.'Thanks for using Adminer, consider <a href="https://www.adminer.org/en/donation/">donating</a>.');}}elseif($Yf&&!$_SESSION["pwds"]){session_regenerate_id();$kg=$b->permanentLogin();foreach($Yf
as$z=>$X){list(,$ib)=explode(":",$X);list($Ui,$N,$V,$m)=array_map('base64_decode',explode("-",$z));set_password($Ui,$N,$V,decrypt_string(base64_decode($ib),$kg));$_SESSION["db"][$Ui][$N][$V][$m]=true;}}function
unset_permanent(){global$Yf;foreach($Yf
as$z=>$X){list($Ui,$N,$V,$m)=array_map('base64_decode',explode("-",$z));if($Ui==DRIVER&&$N==SERVER&&$V==$_GET["username"]&&$m==DB)unset($Yf[$z]);}cookie("adminer_permanent",implode(" ",$Yf));}function
auth_error($o){global$b,$td;$kh=session_name();if(isset($_GET["username"])){header("HTTP/1.1 403 Forbidden");if(($_COOKIE[$kh]||$_GET[$kh])&&!$td)$o='Session expired, please login again.';else{restart_session();add_invalid_login();$F=get_password();if($F!==null){if($F===false)$o.='<br>'.sprintf('Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.',target_blank(),'<code>permanentLogin()</code>');set_password(DRIVER,SERVER,$_GET["username"],null);}unset_permanent();}}if(!$_COOKIE[$kh]&&$_GET[$kh]&&ini_bool("session.use_only_cookies"))$o='Session support must be enabled.';$Lf=session_get_cookie_params();cookie("adminer_key",($_COOKIE["adminer_key"]?$_COOKIE["adminer_key"]:rand_string()),$Lf["lifetime"]);page_header('Login',$o,null);echo"<form action='' method='post'>\n","<div>";if(hidden_fields($_POST,array("auth")))echo"<p class='message'>".'The action will be performed after successful login with the same credentials.'."\n";echo"</div>\n";$b->loginForm();echo"</form>\n";page_footer("auth");exit;}if(isset($_GET["username"])&&!class_exists("Min_DB")){unset($_SESSION["pwds"][DRIVER]);unset_permanent();page_header('No extension',sprintf('None of the supported PHP extensions (%s) are available.',implode(", ",$eg)),false);page_footer("auth");exit;}stop_session(true);if(isset($_GET["username"])){list($zd,$ag)=explode(":",SERVER,2);if(is_numeric($ag)&&$ag<1024)auth_error('Connecting to privileged ports is not allowed.');check_invalid_login();$g=connect();$n=new
Min_Driver($g);}$we=null;if(!is_object($g)||($we=$b->login($_GET["username"],get_password()))!==true){$o=(is_string($g)?h($g):(is_string($we)?$we:'Invalid credentials.'));auth_error($o.(preg_match('~^ | $~',get_password())?'<br>'.'There is a space in the input password which might be the cause.':''));}if($Ka&&$_POST["token"])$_POST["token"]=$mi;$o='';if($_POST){if(!verify_token()){$Od="max_input_vars";$He=ini_get($Od);if(extension_loaded("suhosin")){foreach(array("suhosin.request.max_vars","suhosin.post.max_vars")as$z){$X=ini_get($z);if($X&&(!$He||$X<$He)){$Od=$z;$He=$X;}}}$o=(!$_POST["token"]&&$He?sprintf('Maximum number of allowed fields exceeded. Please increase %s.',"'$Od'"):'Invalid CSRF token. Send the form again.'.' '.'If you did not send this request from Adminer then close this page.');}}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$o=sprintf('Too big POST data. Reduce the data or increase the %s configuration directive.',"'post_max_size'");if(isset($_GET["sql"]))$o.=' '.'You can upload a big SQL file via FTP and import it from server.';}function
select($H,$h=null,$_f=array(),$_=0){global$y;$ue=array();$x=array();$f=array();$Ta=array();$U=array();$I=array();odd('');for($t=0;(!$_||$t<$_)&&($J=$H->fetch_row());$t++){if(!$t){echo"<div class='scrollable'>\n","<table cellspacing='0' class='nowrap'>\n","<thead><tr>";for($ae=0;$ae<count($J);$ae++){$p=$H->fetch_field();$C=$p->name;$zf=$p->orgtable;$yf=$p->orgname;$I[$p->table]=$zf;if($_f&&$y=="sql")$ue[$ae]=($C=="table"?"table=":($C=="possible_keys"?"indexes=":null));elseif($zf!=""){if(!isset($x[$zf])){$x[$zf]=array();foreach(indexes($zf,$h)as$w){if($w["type"]=="PRIMARY"){$x[$zf]=array_flip($w["columns"]);break;}}$f[$zf]=$x[$zf];}if(isset($f[$zf][$yf])){unset($f[$zf][$yf]);$x[$zf][$yf]=$ae;$ue[$ae]=$zf;}}if($p->charsetnr==63)$Ta[$ae]=true;$U[$ae]=$p->type;echo"<th".($zf!=""||$p->name!=$yf?" title='".h(($zf!=""?"$zf.":"").$yf)."'":"").">".h($C).($_f?doc_link(array('sql'=>"explain-output.html#explain_".strtolower($C),'mariadb'=>"explain/#the-columns-in-explain-select",)):"");}echo"</thead>\n";}echo"<tr".odd().">";foreach($J
as$z=>$X){if($X===null)$X="<i>NULL</i>";elseif($Ta[$z]&&!is_utf8($X))$X="<i>".lang(array('%d byte','%d bytes'),strlen($X))."</i>";else{$X=h($X);if($U[$z]==254)$X="<code>$X</code>";}if(isset($ue[$z])&&!$f[$ue[$z]]){if($_f&&$y=="sql"){$Q=$J[array_search("table=",$ue)];$A=$ue[$z].urlencode($_f[$Q]!=""?$_f[$Q]:$Q);}else{$A="edit=".urlencode($ue[$z]);foreach($x[$ue[$z]]as$mb=>$ae)$A.="&where".urlencode("[".bracket_escape($mb)."]")."=".urlencode($J[$ae]);}$X="<a href='".h(ME.$A)."'>$X</a>";}echo"<td>$X";}}echo($t?"</table>\n</div>":"<p class='message'>".'No rows.')."\n";return$I;}function
referencable_primary($eh){$I=array();foreach(table_status('',true)as$Nh=>$Q){if($Nh!=$eh&&fk_support($Q)){foreach(fields($Nh)as$p){if($p["primary"]){if($I[$Nh]){unset($I[$Nh]);break;}$I[$Nh]=$p;}}}}return$I;}function
adminer_settings(){parse_str($_COOKIE["adminer_settings"],$mh);return$mh;}function
adminer_setting($z){$mh=adminer_settings();return$mh[$z];}function
set_adminer_settings($mh){return
cookie("adminer_settings",http_build_query($mh+adminer_settings()));}function
textarea($C,$Y,$K=10,$qb=80){global$y;echo"<textarea name='$C' rows='$K' cols='$qb' class='sqlarea jush-$y' spellcheck='false' wrap='off'>";if(is_array($Y)){foreach($Y
as$X)echo
h($X[0])."\n\n\n";}else
echo
h($Y);echo"</textarea>";}function
edit_type($z,$p,$ob,$cd=array(),$Jc=array()){global$Fh,$U,$Gi,$nf;$T=$p["type"];echo'<td><select name="',h($z),'[type]" class="type" aria-labelledby="label-type">';if($T&&!isset($U[$T])&&!isset($cd[$T])&&!in_array($T,$Jc))$Jc[]=$T;if($cd)$Fh['Foreign keys']=$cd;echo
optionlist(array_merge($Jc,$Fh),$T),'</select>
',on_help("getTarget(event).value",1),script("mixin(qsl('select'), {onfocus: function () { lastType = selectValue(this); }, onchange: editingTypeChange});",""),'<td><input name="',h($z),'[length]" value="',h($p["length"]),'" size="3"',(!$p["length"]&&preg_match('~var(char|binary)$~',$T)?" class='required'":"");echo' aria-labelledby="label-length">',script("mixin(qsl('input'), {onfocus: editingLengthFocus, oninput: editingLengthChange});",""),'<td class="options">',"<select name='".h($z)."[collation]'".(preg_match('~(char|text|enum|set)$~',$T)?"":" class='hidden'").'><option value="">('.'collation'.')'.optionlist($ob,$p["collation"]).'</select>',($Gi?"<select name='".h($z)."[unsigned]'".(!$T||preg_match(number_type(),$T)?"":" class='hidden'").'><option>'.optionlist($Gi,$p["unsigned"]).'</select>':''),(isset($p['on_update'])?"<select name='".h($z)."[on_update]'".(preg_match('~timestamp|datetime~',$T)?"":" class='hidden'").'>'.optionlist(array(""=>"(".'ON UPDATE'.")","CURRENT_TIMESTAMP"),(preg_match('~^CURRENT_TIMESTAMP~i',$p["on_update"])?"CURRENT_TIMESTAMP":$p["on_update"])).'</select>':''),($cd?"<select name='".h($z)."[on_delete]'".(preg_match("~`~",$T)?"":" class='hidden'")."><option value=''>(".'ON DELETE'.")".optionlist(explode("|",$nf),$p["on_delete"])."</select> ":" ");}function
process_length($re){global$uc;return(preg_match("~^\\s*\\(?\\s*$uc(?:\\s*,\\s*$uc)*+\\s*\\)?\\s*\$~",$re)&&preg_match_all("~$uc~",$re,$Be)?"(".implode(",",$Be[0]).")":preg_replace('~^[0-9].*~','(\0)',preg_replace('~[^-0-9,+()[\]]~','',$re)));}function
process_type($p,$nb="COLLATE"){global$Gi;return" $p[type]".process_length($p["length"]).(preg_match(number_type(),$p["type"])&&in_array($p["unsigned"],$Gi)?" $p[unsigned]":"").(preg_match('~char|text|enum|set~',$p["type"])&&$p["collation"]?" $nb ".q($p["collation"]):"");}function
process_field($p,$zi){return
array(idf_escape(trim($p["field"])),process_type($zi),($p["null"]?" NULL":" NOT NULL"),default_value($p),(preg_match('~timestamp|datetime~',$p["type"])&&$p["on_update"]?" ON UPDATE $p[on_update]":""),(support("comment")&&$p["comment"]!=""?" COMMENT ".q($p["comment"]):""),($p["auto_increment"]?auto_increment():null),);}function
default_value($p){$Qb=$p["default"];return($Qb===null?"":" DEFAULT ".(preg_match('~char|binary|text|enum|set~',$p["type"])||preg_match('~^(?![a-z])~i',$Qb)?q($Qb):$Qb));}function
type_class($T){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$z=>$X){if(preg_match("~$z|$X~",$T))return" class='$z'";}}function
edit_fields($q,$ob,$T="TABLE",$cd=array()){global$Pd;$q=array_values($q);echo'<thead><tr>
';if($T=="PROCEDURE"){echo'<td>';}echo'<th id="label-name">',($T=="TABLE"?'Column name':'Parameter name'),'<td id="label-type">Type<textarea id="enum-edit" rows="4" cols="12" wrap="off" style="display: none;"></textarea>',script("qs('#enum-edit').onblur = editingLengthBlur;"),'<td id="label-length">Length
<td>','Options';if($T=="TABLE"){echo'<td id="label-null">NULL
<td><input type="radio" name="auto_increment_col" value=""><acronym id="label-ai" title="Auto Increment">AI</acronym>',doc_link(array('sql'=>"example-auto-increment.html",'mariadb'=>"auto_increment/",'sqlite'=>"autoinc.html",'pgsql'=>"datatype.html#DATATYPE-SERIAL",'mssql'=>"ms186775.aspx",)),'<td id="label-default">Default value
',(support("comment")?"<td id='label-comment'>".'Comment':"");}echo'<td>',"<input type='image' class='icon' name='add[".(support("move_col")?0:count($q))."]' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.7.1")."' alt='+' title='".'Add next'."'>".script("row_count = ".count($q).";"),'</thead>
<tbody>
',script("mixin(qsl('tbody'), {onclick: editingClick, onkeydown: editingKeydown, oninput: editingInput});");foreach($q
as$t=>$p){$t++;$Af=$p[($_POST?"orig":"field")];$Yb=(isset($_POST["add"][$t-1])||(isset($p["field"])&&!$_POST["drop_col"][$t]))&&(support("drop_col")||$Af=="");echo'<tr',($Yb?"":" style='display: none;'"),'>
',($T=="PROCEDURE"?"<td>".html_select("fields[$t][inout]",explode("|",$Pd),$p["inout"]):""),'<th>';if($Yb){echo'<input name="fields[',$t,'][field]" value="',h($p["field"]),'" data-maxlength="64" autocapitalize="off" aria-labelledby="label-name">',script("qsl('input').oninput = function () { editingNameChange.call(this);".($p["field"]!=""||count($q)>1?"":" editingAddRow.call(this);")." };","");}echo'<input type="hidden" name="fields[',$t,'][orig]" value="',h($Af),'">
';edit_type("fields[$t]",$p,$ob,$cd);if($T=="TABLE"){echo'<td>',checkbox("fields[$t][null]",1,$p["null"],"","","block","label-null"),'<td><label class="block"><input type="radio" name="auto_increment_col" value="',$t,'"';if($p["auto_increment"]){echo' checked';}echo' aria-labelledby="label-ai"></label><td>',checkbox("fields[$t][has_default]",1,$p["has_default"],"","","","label-default"),'<input name="fields[',$t,'][default]" value="',h($p["default"]),'" aria-labelledby="label-default">',(support("comment")?"<td><input name='fields[$t][comment]' value='".h($p["comment"])."' data-maxlength='".(min_version(5.5)?1024:255)."' aria-labelledby='label-comment'>":"");}echo"<td>",(support("move_col")?"<input type='image' class='icon' name='add[$t]' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.7.1")."' alt='+' title='".'Add next'."'> "."<input type='image' class='icon' name='up[$t]' src='".h(preg_replace("~\\?.*~","",ME)."?file=up.gif&version=4.7.1")."' alt='' title='".'Move up'."'> "."<input type='image' class='icon' name='down[$t]' src='".h(preg_replace("~\\?.*~","",ME)."?file=down.gif&version=4.7.1")."' alt='' title='".'Move down'."'> ":""),($Af==""||support("drop_col")?"<input type='image' class='icon' name='drop_col[$t]' src='".h(preg_replace("~\\?.*~","",ME)."?file=cross.gif&version=4.7.1")."' alt='x' title='".'Remove'."'>":"");}}function
process_fields(&$q){$D=0;if($_POST["up"]){$le=0;foreach($q
as$z=>$p){if(key($_POST["up"])==$z){unset($q[$z]);array_splice($q,$le,0,array($p));break;}if(isset($p["field"]))$le=$D;$D++;}}elseif($_POST["down"]){$ed=false;foreach($q
as$z=>$p){if(isset($p["field"])&&$ed){unset($q[key($_POST["down"])]);array_splice($q,$D,0,array($ed));break;}if(key($_POST["down"])==$z)$ed=$p;$D++;}}elseif($_POST["add"]){$q=array_values($q);array_splice($q,key($_POST["add"]),0,array(array()));}elseif(!$_POST["drop_col"])return
false;return
true;}function
normalize_enum($B){return"'".str_replace("'","''",addcslashes(stripcslashes(str_replace($B[0][0].$B[0][0],$B[0][0],substr($B[0],1,-1))),'\\'))."'";}function
grant($jd,$mg,$f,$mf){if(!$mg)return
true;if($mg==array("ALL PRIVILEGES","GRANT OPTION"))return($jd=="GRANT"?queries("$jd ALL PRIVILEGES$mf WITH GRANT OPTION"):queries("$jd ALL PRIVILEGES$mf")&&queries("$jd GRANT OPTION$mf"));return
queries("$jd ".preg_replace('~(GRANT OPTION)\([^)]*\)~','\1',implode("$f, ",$mg).$f).$mf);}function
drop_create($dc,$i,$ec,$Zh,$gc,$ve,$Me,$Ke,$Le,$jf,$Xe){if($_POST["drop"])query_redirect($dc,$ve,$Me);elseif($jf=="")query_redirect($i,$ve,$Le);elseif($jf!=$Xe){$Eb=queries($i);queries_redirect($ve,$Ke,$Eb&&queries($dc));if($Eb)queries($ec);}else
queries_redirect($ve,$Ke,queries($Zh)&&queries($gc)&&queries($dc)&&queries($i));}function
create_trigger($mf,$J){global$y;$ei=" $J[Timing] $J[Event]".($J["Event"]=="UPDATE OF"?" ".idf_escape($J["Of"]):"");return"CREATE TRIGGER ".idf_escape($J["Trigger"]).($y=="mssql"?$mf.$ei:$ei.$mf).rtrim(" $J[Type]\n$J[Statement]",";").";";}function
create_routine($Rg,$J){global$Pd,$y;$O=array();$q=(array)$J["fields"];ksort($q);foreach($q
as$p){if($p["field"]!="")$O[]=(preg_match("~^($Pd)\$~",$p["inout"])?"$p[inout] ":"").idf_escape($p["field"]).process_type($p,"CHARACTER SET");}$Rb=rtrim("\n$J[definition]",";");return"CREATE $Rg ".idf_escape(trim($J["name"]))." (".implode(", ",$O).")".(isset($_GET["function"])?" RETURNS".process_type($J["returns"],"CHARACTER SET"):"").($J["language"]?" LANGUAGE $J[language]":"").($y=="pgsql"?" AS ".q($Rb):"$Rb;");}function
remove_definer($G){return
preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\1)',logged_user()).'`~','\1',$G);}function
format_foreign_key($r){global$nf;return" FOREIGN KEY (".implode(", ",array_map('idf_escape',$r["source"])).") REFERENCES ".table($r["table"])." (".implode(", ",array_map('idf_escape',$r["target"])).")".(preg_match("~^($nf)\$~",$r["on_delete"])?" ON DELETE $r[on_delete]":"").(preg_match("~^($nf)\$~",$r["on_update"])?" ON UPDATE $r[on_update]":"");}function
tar_file($Sc,$ji){$I=pack("a100a8a8a8a12a12",$Sc,644,0,0,decoct($ji->size),decoct(time()));$gb=8*32;for($t=0;$t<strlen($I);$t++)$gb+=ord($I[$t]);$I.=sprintf("%06o",$gb)."\0 ";echo$I,str_repeat("\0",512-strlen($I));$ji->send();echo
str_repeat("\0",511-($ji->size+511)%512);}function
ini_bytes($Od){$X=ini_get($Od);switch(strtolower(substr($X,-1))){case'g':$X*=1024;case'm':$X*=1024;case'k':$X*=1024;}return$X;}function
doc_link($Wf,$ai="<sup>?</sup>"){global$y,$g;$ih=$g->server_info;$Vi=preg_replace('~^(\d\.?\d).*~s','\1',$ih);$Li=array('sql'=>"https://dev.mysql.com/doc/refman/$Vi/en/",'sqlite'=>"https://www.sqlite.org/",'pgsql'=>"https://www.postgresql.org/docs/$Vi/static/",'mssql'=>"https://msdn.microsoft.com/library/",'oracle'=>"https://download.oracle.com/docs/cd/B19306_01/server.102/b14200/",);if(preg_match('~MariaDB~',$ih)){$Li['sql']="https://mariadb.com/kb/en/library/";$Wf['sql']=(isset($Wf['mariadb'])?$Wf['mariadb']:str_replace(".html","/",$Wf['sql']));}return($Wf[$y]?"<a href='$Li[$y]$Wf[$y]'".target_blank().">$ai</a>":"");}function
ob_gzencode($P){return
gzencode($P);}function
db_size($m){global$g;if(!$g->select_db($m))return"?";$I=0;foreach(table_status()as$R)$I+=$R["Data_length"]+$R["Index_length"];return
format_number($I);}function
set_utf8mb4($i){global$g;static$O=false;if(!$O&&preg_match('~\butf8mb4~i',$i)){$O=true;echo"SET NAMES ".charset($g).";\n\n";}}function
connect_error(){global$b,$g,$mi,$o,$cc;if(DB!=""){header("HTTP/1.1 404 Not Found");page_header('Database'.": ".h(DB),'Invalid database.',true);}else{if($_POST["db"]&&!$o)queries_redirect(substr(ME,0,-1),'Databases have been dropped.',drop_databases($_POST["db"]));page_header('Select database',$o,false);echo"<p class='links'>\n";foreach(array('database'=>'Create database','privileges'=>'Privileges','processlist'=>'Process list','variables'=>'Variables','status'=>'Status',)as$z=>$X){if(support($z))echo"<a href='".h(ME)."$z='>$X</a>\n";}echo"<p>".sprintf('%s version: %s through PHP extension %s',$cc[DRIVER],"<b>".h($g->server_info)."</b>","<b>$g->extension</b>")."\n","<p>".sprintf('Logged as: %s',"<b>".h(logged_user())."</b>")."\n";$l=$b->databases();if($l){$Yg=support("scheme");$ob=collations();echo"<form action='' method='post'>\n","<table cellspacing='0' class='checkable'>\n",script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});"),"<thead><tr>".(support("database")?"<td>":"")."<th>".'Database'." - <a href='".h(ME)."refresh=1'>".'Refresh'."</a>"."<td>".'Collation'."<td>".'Tables'."<td>".'Size'." - <a href='".h(ME)."dbsize=1'>".'Compute'."</a>".script("qsl('a').onclick = partial(ajaxSetHtml, '".js_escape(ME)."script=connect');","")."</thead>\n";$l=($_GET["dbsize"]?count_tables($l):array_flip($l));foreach($l
as$m=>$S){$Qg=h(ME)."db=".urlencode($m);$u=h("Db-".$m);echo"<tr".odd().">".(support("database")?"<td>".checkbox("db[]",$m,in_array($m,(array)$_POST["db"]),"","","",$u):""),"<th><a href='$Qg' id='$u'>".h($m)."</a>";$d=h(db_collation($m,$ob));echo"<td>".(support("database")?"<a href='$Qg".($Yg?"&amp;ns=":"")."&amp;database=' title='".'Alter database'."'>$d</a>":$d),"<td align='right'><a href='$Qg&amp;schema=' id='tables-".h($m)."' title='".'Database schema'."'>".($_GET["dbsize"]?$S:"?")."</a>","<td align='right' id='size-".h($m)."'>".($_GET["dbsize"]?db_size($m):"?"),"\n";}echo"</table>\n",(support("database")?"<div class='footer'><div>\n"."<fieldset><legend>".'Selected'." <span id='selected'></span></legend><div>\n"."<input type='hidden' name='all' value=''>".script("qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^db/)); };")."<input type='submit' name='drop' value='".'Drop'."'>".confirm()."\n"."</div></fieldset>\n"."</div></div>\n":""),"<input type='hidden' name='token' value='$mi'>\n","</form>\n",script("tableCheck();");}}page_footer("db");}if(isset($_GET["status"]))$_GET["variables"]=$_GET["status"];if(isset($_GET["import"]))$_GET["sql"]=$_GET["import"];if(!(DB!=""?$g->select_db(DB):isset($_GET["sql"])||isset($_GET["dump"])||isset($_GET["database"])||isset($_GET["processlist"])||isset($_GET["privileges"])||isset($_GET["user"])||isset($_GET["variables"])||$_GET["script"]=="connect"||$_GET["script"]=="kill")){if(DB!=""||$_GET["refresh"]){restart_session();set_session("dbs",null);}connect_error();exit;}if(support("scheme")&&DB!=""&&$_GET["ns"]!==""){if(!isset($_GET["ns"]))redirect(preg_replace('~ns=[^&]*&~','',ME)."ns=".get_schema());if(!set_schema($_GET["ns"])){header("HTTP/1.1 404 Not Found");page_header('Schema'.": ".h($_GET["ns"]),'Invalid schema.',true);page_footer("ns");exit;}}$nf="RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT";class
TmpFile{var$handler;var$size;function
__construct(){$this->handler=tmpfile();}function
write($zb){$this->size+=strlen($zb);fwrite($this->handler,$zb);}function
send(){fseek($this->handler,0);fpassthru($this->handler);fclose($this->handler);}}$uc="'(?:''|[^'\\\\]|\\\\.)*'";$Pd="IN|OUT|INOUT";if(isset($_GET["select"])&&($_POST["edit"]||$_POST["clone"])&&!$_POST["save"])$_GET["edit"]=$_GET["select"];if(isset($_GET["callf"]))$_GET["call"]=$_GET["callf"];if(isset($_GET["function"]))$_GET["procedure"]=$_GET["function"];if(isset($_GET["download"])){$a=$_GET["download"];$q=fields($a);header("Content-Type: application/octet-stream");header("Content-Disposition: attachment; filename=".friendly_url("$a-".implode("_",$_GET["where"])).".".friendly_url($_GET["field"]));$L=array(idf_escape($_GET["field"]));$H=$n->select($a,$L,array(where($_GET,$q)),$L);$J=($H?$H->fetch_row():array());echo$n->value($J[0],$q[$_GET["field"]]);exit;}elseif(isset($_GET["table"])){$a=$_GET["table"];$q=fields($a);if(!$q)$o=error();$R=table_status1($a,true);$C=$b->tableName($R);page_header(($q&&is_view($R)?$R['Engine']=='materialized view'?'Materialized view':'View':'Table').": ".($C!=""?$C:h($a)),$o);$b->selectLinks($R);$tb=$R["Comment"];if($tb!="")echo"<p class='nowrap'>".'Comment'.": ".h($tb)."\n";if($q)$b->tableStructurePrint($q);if(!is_view($R)){if(support("indexes")){echo"<h3 id='indexes'>".'Indexes'."</h3>\n";$x=indexes($a);if($x)$b->tableIndexesPrint($x);echo'<p class="links"><a href="'.h(ME).'indexes='.urlencode($a).'">'.'Alter indexes'."</a>\n";}if(fk_support($R)){echo"<h3 id='foreign-keys'>".'Foreign keys'."</h3>\n";$cd=foreign_keys($a);if($cd){echo"<table cellspacing='0'>\n","<thead><tr><th>".'Source'."<td>".'Target'."<td>".'ON DELETE'."<td>".'ON UPDATE'."<td></thead>\n";foreach($cd
as$C=>$r){echo"<tr title='".h($C)."'>","<th><i>".implode("</i>, <i>",array_map('h',$r["source"]))."</i>","<td><a href='".h($r["db"]!=""?preg_replace('~db=[^&]*~',"db=".urlencode($r["db"]),ME):($r["ns"]!=""?preg_replace('~ns=[^&]*~',"ns=".urlencode($r["ns"]),ME):ME))."table=".urlencode($r["table"])."'>".($r["db"]!=""?"<b>".h($r["db"])."</b>.":"").($r["ns"]!=""?"<b>".h($r["ns"])."</b>.":"").h($r["table"])."</a>","(<i>".implode("</i>, <i>",array_map('h',$r["target"]))."</i>)","<td>".h($r["on_delete"])."\n","<td>".h($r["on_update"])."\n",'<td><a href="'.h(ME.'foreign='.urlencode($a).'&name='.urlencode($C)).'">'.'Alter'.'</a>';}echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'foreign='.urlencode($a).'">'.'Add foreign key'."</a>\n";}}if(support(is_view($R)?"view_trigger":"trigger")){echo"<h3 id='triggers'>".'Triggers'."</h3>\n";$yi=triggers($a);if($yi){echo"<table cellspacing='0'>\n";foreach($yi
as$z=>$X)echo"<tr valign='top'><td>".h($X[0])."<td>".h($X[1])."<th>".h($z)."<td><a href='".h(ME.'trigger='.urlencode($a).'&name='.urlencode($z))."'>".'Alter'."</a>\n";echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'trigger='.urlencode($a).'">'.'Add trigger'."</a>\n";}}elseif(isset($_GET["schema"])){page_header('Database schema',"",array(),h(DB.($_GET["ns"]?".$_GET[ns]":"")));$Ph=array();$Qh=array();$ea=($_GET["schema"]?$_GET["schema"]:$_COOKIE["adminer_schema-".str_replace(".","_",DB)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$ea,$Be,PREG_SET_ORDER);foreach($Be
as$t=>$B){$Ph[$B[1]]=array($B[2],$B[3]);$Qh[]="\n\t'".js_escape($B[1])."': [ $B[2], $B[3] ]";}$ni=0;$Qa=-1;$Xg=array();$Cg=array();$pe=array();foreach(table_status('',true)as$Q=>$R){if(is_view($R))continue;$bg=0;$Xg[$Q]["fields"]=array();foreach(fields($Q)as$C=>$p){$bg+=1.25;$p["pos"]=$bg;$Xg[$Q]["fields"][$C]=$p;}$Xg[$Q]["pos"]=($Ph[$Q]?$Ph[$Q]:array($ni,0));foreach($b->foreignKeys($Q)as$X){if(!$X["db"]){$ne=$Qa;if($Ph[$Q][1]||$Ph[$X["table"]][1])$ne=min(floatval($Ph[$Q][1]),floatval($Ph[$X["table"]][1]))-1;else$Qa-=.1;while($pe[(string)$ne])$ne-=.0001;$Xg[$Q]["references"][$X["table"]][(string)$ne]=array($X["source"],$X["target"]);$Cg[$X["table"]][$Q][(string)$ne]=$X["target"];$pe[(string)$ne]=true;}}$ni=max($ni,$Xg[$Q]["pos"][0]+2.5+$bg);}echo'<div id="schema" style="height: ',$ni,'em;">
<script',nonce(),'>
qs(\'#schema\').onselectstart = function () { return false; };
var tablePos = {',implode(",",$Qh)."\n",'};
var em = qs(\'#schema\').offsetHeight / ',$ni,';
document.onmousemove = schemaMousemove;
document.onmouseup = partialArg(schemaMouseup, \'',js_escape(DB),'\');
</script>
';foreach($Xg
as$C=>$Q){echo"<div class='table' style='top: ".$Q["pos"][0]."em; left: ".$Q["pos"][1]."em;'>",'<a href="'.h(ME).'table='.urlencode($C).'"><b>'.h($C)."</b></a>",script("qsl('div').onmousedown = schemaMousedown;");foreach($Q["fields"]as$p){$X='<span'.type_class($p["type"]).' title="'.h($p["full_type"].($p["null"]?" NULL":'')).'">'.h($p["field"]).'</span>';echo"<br>".($p["primary"]?"<i>$X</i>":$X);}foreach((array)$Q["references"]as$Wh=>$Dg){foreach($Dg
as$ne=>$_g){$oe=$ne-$Ph[$C][1];$t=0;foreach($_g[0]as$th)echo"\n<div class='references' title='".h($Wh)."' id='refs$ne-".($t++)."' style='left: $oe"."em; top: ".$Q["fields"][$th]["pos"]."em; padding-top: .5em;'><div style='border-top: 1px solid Gray; width: ".(-$oe)."em;'></div></div>";}}foreach((array)$Cg[$C]as$Wh=>$Dg){foreach($Dg
as$ne=>$f){$oe=$ne-$Ph[$C][1];$t=0;foreach($f
as$Vh)echo"\n<div class='references' title='".h($Wh)."' id='refd$ne-".($t++)."' style='left: $oe"."em; top: ".$Q["fields"][$Vh]["pos"]."em; height: 1.25em; background: url(".h(preg_replace("~\\?.*~","",ME)."?file=arrow.gif) no-repeat right center;&version=4.7.1")."'><div style='height: .5em; border-bottom: 1px solid Gray; width: ".(-$oe)."em;'></div></div>";}}echo"\n</div>\n";}foreach($Xg
as$C=>$Q){foreach((array)$Q["references"]as$Wh=>$Dg){foreach($Dg
as$ne=>$_g){$Qe=$ni;$Fe=-10;foreach($_g[0]as$z=>$th){$cg=$Q["pos"][0]+$Q["fields"][$th]["pos"];$dg=$Xg[$Wh]["pos"][0]+$Xg[$Wh]["fields"][$_g[1][$z]]["pos"];$Qe=min($Qe,$cg,$dg);$Fe=max($Fe,$cg,$dg);}echo"<div class='references' id='refl$ne' style='left: $ne"."em; top: $Qe"."em; padding: .5em 0;'><div style='border-right: 1px solid Gray; margin-top: 1px; height: ".($Fe-$Qe)."em;'></div></div>\n";}}}echo'</div>
<p class="links"><a href="',h(ME."schema=".urlencode($ea)),'" id="schema-link">Permanent link</a>
';}elseif(isset($_GET["dump"])){$a=$_GET["dump"];if($_POST&&!$o){$Bb="";foreach(array("output","format","db_style","routines","events","table_style","auto_increment","triggers","data_style")as$z)$Bb.="&$z=".urlencode($_POST[$z]);cookie("adminer_export",substr($Bb,1));$S=array_flip((array)$_POST["tables"])+array_flip((array)$_POST["data"]);$Gc=dump_headers((count($S)==1?key($S):DB),(DB==""||count($S)>1));$Xd=preg_match('~sql~',$_POST["format"]);if($Xd){echo"-- Adminer $ia ".$cc[DRIVER]." dump\n\n";if($y=="sql"){echo"SET NAMES utf8;
SET time_zone = '+00:00';
".($_POST["data_style"]?"SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
":"")."
";$g->query("SET time_zone = '+00:00';");}}$Gh=$_POST["db_style"];$l=array(DB);if(DB==""){$l=$_POST["databases"];if(is_string($l))$l=explode("\n",rtrim(str_replace("\r","",$l),"\n"));}foreach((array)$l
as$m){$b->dumpDatabase($m);if($g->select_db($m)){if($Xd&&preg_match('~CREATE~',$Gh)&&($i=$g->result("SHOW CREATE DATABASE ".idf_escape($m),1))){set_utf8mb4($i);if($Gh=="DROP+CREATE")echo"DROP DATABASE IF EXISTS ".idf_escape($m).";\n";echo"$i;\n";}if($Xd){if($Gh)echo
use_sql($m).";\n\n";$Gf="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$Rg){foreach(get_rows("SHOW $Rg STATUS WHERE Db = ".q($m),null,"-- ")as$J){$i=remove_definer($g->result("SHOW CREATE $Rg ".idf_escape($J["Name"]),2));set_utf8mb4($i);$Gf.=($Gh!='DROP+CREATE'?"DROP $Rg IF EXISTS ".idf_escape($J["Name"]).";;\n":"")."$i;;\n\n";}}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$J){$i=remove_definer($g->result("SHOW CREATE EVENT ".idf_escape($J["Name"]),3));set_utf8mb4($i);$Gf.=($Gh!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($J["Name"]).";;\n":"")."$i;;\n\n";}}if($Gf)echo"DELIMITER ;;\n\n$Gf"."DELIMITER ;\n\n";}if($_POST["table_style"]||$_POST["data_style"]){$Xi=array();foreach(table_status('',true)as$C=>$R){$Q=(DB==""||in_array($C,(array)$_POST["tables"]));$Jb=(DB==""||in_array($C,(array)$_POST["data"]));if($Q||$Jb){if($Gc=="tar"){$ji=new
TmpFile;ob_start(array($ji,'write'),1e5);}$b->dumpTable($C,($Q?$_POST["table_style"]:""),(is_view($R)?2:0));if(is_view($R))$Xi[]=$C;elseif($Jb){$q=fields($C);$b->dumpData($C,$_POST["data_style"],"SELECT *".convert_fields($q,$q)." FROM ".table($C));}if($Xd&&$_POST["triggers"]&&$Q&&($yi=trigger_sql($C)))echo"\nDELIMITER ;;\n$yi\nDELIMITER ;\n";if($Gc=="tar"){ob_end_flush();tar_file((DB!=""?"":"$m/")."$C.csv",$ji);}elseif($Xd)echo"\n";}}foreach($Xi
as$Wi)$b->dumpTable($Wi,$_POST["table_style"],1);if($Gc=="tar")echo
pack("x512");}}}if($Xd)echo"-- ".$g->result("SELECT NOW()")."\n";exit;}page_header('Export',$o,($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),h(DB));echo'
<form action="" method="post">
<table cellspacing="0" class="layout">
';$Nb=array('','USE','DROP+CREATE','CREATE');$Rh=array('','DROP+CREATE','CREATE');$Kb=array('','TRUNCATE+INSERT','INSERT');if($y=="sql")$Kb[]='INSERT+UPDATE';parse_str($_COOKIE["adminer_export"],$J);if(!$J)$J=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");if(!isset($J["events"])){$J["routines"]=$J["events"]=($_GET["dump"]=="");$J["triggers"]=$J["table_style"];}echo"<tr><th>".'Output'."<td>".html_select("output",$b->dumpOutput(),$J["output"],0)."\n";echo"<tr><th>".'Format'."<td>".html_select("format",$b->dumpFormat(),$J["format"],0)."\n";echo($y=="sqlite"?"":"<tr><th>".'Database'."<td>".html_select('db_style',$Nb,$J["db_style"]).(support("routine")?checkbox("routines",1,$J["routines"],'Routines'):"").(support("event")?checkbox("events",1,$J["events"],'Events'):"")),"<tr><th>".'Tables'."<td>".html_select('table_style',$Rh,$J["table_style"]).checkbox("auto_increment",1,$J["auto_increment"],'Auto Increment').(support("trigger")?checkbox("triggers",1,$J["triggers"],'Triggers'):""),"<tr><th>".'Data'."<td>".html_select('data_style',$Kb,$J["data_style"]),'</table>
<p><input type="submit" value="Export">
<input type="hidden" name="token" value="',$mi,'">

<table cellspacing="0">
',script("qsl('table').onclick = dumpClick;");$gg=array();if(DB!=""){$eb=($a!=""?"":" checked");echo"<thead><tr>","<th style='text-align: left;'><label class='block'><input type='checkbox' id='check-tables'$eb>".'Tables'."</label>".script("qs('#check-tables').onclick = partial(formCheck, /^tables\\[/);",""),"<th style='text-align: right;'><label class='block'>".'Data'."<input type='checkbox' id='check-data'$eb></label>".script("qs('#check-data').onclick = partial(formCheck, /^data\\[/);",""),"</thead>\n";$Xi="";$Sh=tables_list();foreach($Sh
as$C=>$T){$fg=preg_replace('~_.*~','',$C);$eb=($a==""||$a==(substr($a,-1)=="%"?"$fg%":$C));$jg="<tr><td>".checkbox("tables[]",$C,$eb,$C,"","block");if($T!==null&&!preg_match('~table~i',$T))$Xi.="$jg\n";else
echo"$jg<td align='right'><label class='block'><span id='Rows-".h($C)."'></span>".checkbox("data[]",$C,$eb)."</label>\n";$gg[$fg]++;}echo$Xi;if($Sh)echo
script("ajaxSetHtml('".js_escape(ME)."script=db');");}else{echo"<thead><tr><th style='text-align: left;'>","<label class='block'><input type='checkbox' id='check-databases'".($a==""?" checked":"").">".'Database'."</label>",script("qs('#check-databases').onclick = partial(formCheck, /^databases\\[/);",""),"</thead>\n";$l=$b->databases();if($l){foreach($l
as$m){if(!information_schema($m)){$fg=preg_replace('~_.*~','',$m);echo"<tr><td>".checkbox("databases[]",$m,$a==""||$a=="$fg%",$m,"","block")."\n";$gg[$fg]++;}}}else
echo"<tr><td><textarea name='databases' rows='10' cols='20'></textarea>";}echo'</table>
</form>
';$Uc=true;foreach($gg
as$z=>$X){if($z!=""&&$X>1){echo($Uc?"<p>":" ")."<a href='".h(ME)."dump=".urlencode("$z%")."'>".h($z)."</a>";$Uc=false;}}}elseif(isset($_GET["privileges"])){page_header('Privileges');echo'<p class="links"><a href="'.h(ME).'user=">'.'Create user'."</a>";$H=$g->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$jd=$H;if(!$H)$H=$g->query("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1) AS User, SUBSTRING_INDEX(CURRENT_USER, '@', -1) AS Host");echo"<form action=''><p>\n";hidden_fields_get();echo"<input type='hidden' name='db' value='".h(DB)."'>\n",($jd?"":"<input type='hidden' name='grant' value=''>\n"),"<table cellspacing='0'>\n","<thead><tr><th>".'Username'."<th>".'Server'."<th></thead>\n";while($J=$H->fetch_assoc())echo'<tr'.odd().'><td>'.h($J["User"])."<td>".h($J["Host"]).'<td><a href="'.h(ME.'user='.urlencode($J["User"]).'&host='.urlencode($J["Host"])).'">'.'Edit'."</a>\n";if(!$jd||DB!="")echo"<tr".odd()."><td><input name='user' autocapitalize='off'><td><input name='host' value='localhost' autocapitalize='off'><td><input type='submit' value='".'Edit'."'>\n";echo"</table>\n","</form>\n";}elseif(isset($_GET["sql"])){if(!$o&&$_POST["export"]){dump_headers("sql");$b->dumpTable("","");$b->dumpData("","table",$_POST["query"]);exit;}restart_session();$xd=&get_session("queries");$wd=&$xd[DB];if(!$o&&$_POST["clear"]){$wd=array();redirect(remove_from_uri("history"));}page_header((isset($_GET["import"])?'Import':'SQL command'),$o);if(!$o&&$_POST){$gd=false;if(!isset($_GET["import"]))$G=$_POST["query"];elseif($_POST["webfile"]){$xh=$b->importServerPath();$gd=@fopen((file_exists($xh)?$xh:"compress.zlib://$xh.gz"),"rb");$G=($gd?fread($gd,1e6):false);}else$G=get_file("sql_file",true);if(is_string($G)){if(function_exists('memory_get_usage'))@ini_set("memory_limit",max(ini_bytes("memory_limit"),2*strlen($G)+memory_get_usage()+8e6));if($G!=""&&strlen($G)<1e6){$rg=$G.(preg_match("~;[ \t\r\n]*\$~",$G)?"":";");if(!$wd||reset(end($wd))!=$rg){restart_session();$wd[]=array($rg,time());set_session("queries",$xd);stop_session();}}$uh="(?:\\s|/\\*[\s\S]*?\\*/|(?:#|-- )[^\n]*\n?|--\r?\n)";$Tb=";";$D=0;$rc=true;$h=connect();if(is_object($h)&&DB!="")$h->select_db(DB);$sb=0;$wc=array();$Nf='[\'"'.($y=="sql"?'`#':($y=="sqlite"?'`[':($y=="mssql"?'[':''))).']|/\*|-- |$'.($y=="pgsql"?'|\$[^$]*\$':'');$oi=microtime(true);parse_str($_COOKIE["adminer_export"],$xa);$ic=$b->dumpFormat();unset($ic["sql"]);while($G!=""){if(!$D&&preg_match("~^$uh*+DELIMITER\\s+(\\S+)~i",$G,$B)){$Tb=$B[1];$G=substr($G,strlen($B[0]));}else{preg_match('('.preg_quote($Tb)."\\s*|$Nf)",$G,$B,PREG_OFFSET_CAPTURE,$D);list($ed,$bg)=$B[0];if(!$ed&&$gd&&!feof($gd))$G.=fread($gd,1e5);else{if(!$ed&&rtrim($G)=="")break;$D=$bg+strlen($ed);if($ed&&rtrim($ed)!=$Tb){while(preg_match('('.($ed=='/*'?'\*/':($ed=='['?']':(preg_match('~^-- |^#~',$ed)?"\n":preg_quote($ed)."|\\\\."))).'|$)s',$G,$B,PREG_OFFSET_CAPTURE,$D)){$Vg=$B[0][0];if(!$Vg&&$gd&&!feof($gd))$G.=fread($gd,1e5);else{$D=$B[0][1]+strlen($Vg);if($Vg[0]!="\\")break;}}}else{$rc=false;$rg=substr($G,0,$bg);$sb++;$jg="<pre id='sql-$sb'><code class='jush-$y'>".$b->sqlCommandQuery($rg)."</code></pre>\n";if($y=="sqlite"&&preg_match("~^$uh*+ATTACH\\b~i",$rg,$B)){echo$jg,"<p class='error'>".'ATTACH queries are not supported.'."\n";$wc[]=" <a href='#sql-$sb'>$sb</a>";if($_POST["error_stops"])break;}else{if(!$_POST["only_errors"]){echo$jg;ob_flush();flush();}$Ah=microtime(true);if($g->multi_query($rg)&&is_object($h)&&preg_match("~^$uh*+USE\\b~i",$rg))$h->query($rg);do{$H=$g->store_result();if($g->error){echo($_POST["only_errors"]?$jg:""),"<p class='error'>".'Error in query'.($g->errno?" ($g->errno)":"").": ".error()."\n";$wc[]=" <a href='#sql-$sb'>$sb</a>";if($_POST["error_stops"])break
2;}else{$ci=" <span class='time'>(".format_time($Ah).")</span>".(strlen($rg)<1000?" <a href='".h(ME)."sql=".urlencode(trim($rg))."'>".'Edit'."</a>":"");$za=$g->affected_rows;$aj=($_POST["only_errors"]?"":$n->warnings());$bj="warnings-$sb";if($aj)$ci.=", <a href='#$bj'>".'Warnings'."</a>".script("qsl('a').onclick = partial(toggle, '$bj');","");$Dc=null;$Ec="explain-$sb";if(is_object($H)){$_=$_POST["limit"];$_f=select($H,$h,array(),$_);if(!$_POST["only_errors"]){echo"<form action='' method='post'>\n";$df=$H->num_rows;echo"<p>".($df?($_&&$df>$_?sprintf('%d / ',$_):"").lang(array('%d row','%d rows'),$df):""),$ci;if($h&&preg_match("~^($uh|\\()*+SELECT\\b~i",$rg)&&($Dc=explain($h,$rg)))echo", <a href='#$Ec'>Explain</a>".script("qsl('a').onclick = partial(toggle, '$Ec');","");$u="export-$sb";echo", <a href='#$u'>".'Export'."</a>".script("qsl('a').onclick = partial(toggle, '$u');","")."<span id='$u' class='hidden'>: ".html_select("output",$b->dumpOutput(),$xa["output"])." ".html_select("format",$ic,$xa["format"])."<input type='hidden' name='query' value='".h($rg)."'>"." <input type='submit' name='export' value='".'Export'."'><input type='hidden' name='token' value='$mi'></span>\n"."</form>\n";}}else{if(preg_match("~^$uh*+(CREATE|DROP|ALTER)$uh++(DATABASE|SCHEMA)\\b~i",$rg)){restart_session();set_session("dbs",null);stop_session();}if(!$_POST["only_errors"])echo"<p class='message' title='".h($g->info)."'>".lang(array('Query executed OK, %d row affected.','Query executed OK, %d rows affected.'),$za)."$ci\n";}echo($aj?"<div id='$bj' class='hidden'>\n$aj</div>\n":"");if($Dc){echo"<div id='$Ec' class='hidden'>\n";select($Dc,$h,$_f);echo"</div>\n";}}$Ah=microtime(true);}while($g->next_result());}$G=substr($G,$D);$D=0;}}}}if($rc)echo"<p class='message'>".'No commands to execute.'."\n";elseif($_POST["only_errors"]){echo"<p class='message'>".lang(array('%d query executed OK.','%d queries executed OK.'),$sb-count($wc))," <span class='time'>(".format_time($oi).")</span>\n";}elseif($wc&&$sb>1)echo"<p class='error'>".'Error in query'.": ".implode("",$wc)."\n";}else
echo"<p class='error'>".upload_error($G)."\n";}echo'
<form action="" method="post" enctype="multipart/form-data" id="form">
';$Ac="<input type='submit' value='".'Execute'."' title='Ctrl+Enter'>";if(!isset($_GET["import"])){$rg=$_GET["sql"];if($_POST)$rg=$_POST["query"];elseif($_GET["history"]=="all")$rg=$wd;elseif($_GET["history"]!="")$rg=$wd[$_GET["history"]][0];echo"<p>";textarea("query",$rg,20);echo
script(($_POST?"":"qs('textarea').focus();\n")."qs('#form').onsubmit = partial(sqlSubmit, qs('#form'), '".remove_from_uri("sql|limit|error_stops|only_errors")."');"),"<p>$Ac\n",'Limit rows'.": <input type='number' name='limit' class='size' value='".h($_POST?$_POST["limit"]:$_GET["limit"])."'>\n";}else{echo"<fieldset><legend>".'File upload'."</legend><div>";$pd=(extension_loaded("zlib")?"[.gz]":"");echo(ini_bool("file_uploads")?"SQL$pd (&lt; ".ini_get("upload_max_filesize")."B): <input type='file' name='sql_file[]' multiple>\n$Ac":'File uploads are disabled.'),"</div></fieldset>\n";$Ed=$b->importServerPath();if($Ed){echo"<fieldset><legend>".'From server'."</legend><div>",sprintf('Webserver file %s',"<code>".h($Ed)."$pd</code>"),' <input type="submit" name="webfile" value="'.'Run file'.'">',"</div></fieldset>\n";}echo"<p>";}echo
checkbox("error_stops",1,($_POST?$_POST["error_stops"]:isset($_GET["import"])),'Stop on error')."\n",checkbox("only_errors",1,($_POST?$_POST["only_errors"]:isset($_GET["import"])),'Show only errors')."\n","<input type='hidden' name='token' value='$mi'>\n";if(!isset($_GET["import"])&&$wd){print_fieldset("history",'History',$_GET["history"]!="");for($X=end($wd);$X;$X=prev($wd)){$z=key($wd);list($rg,$ci,$mc)=$X;echo'<a href="'.h(ME."sql=&history=$z").'">'.'Edit'."</a>"." <span class='time' title='".@date('Y-m-d',$ci)."'>".@date("H:i:s",$ci)."</span>"." <code class='jush-$y'>".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$rg)))),80,"</code>").($mc?" <span class='time'>($mc)</span>":"")."<br>\n";}echo"<input type='submit' name='clear' value='".'Clear'."'>\n","<a href='".h(ME."sql=&history=all")."'>".'Edit all'."</a>\n","</div></fieldset>\n";}echo'</form>
';}elseif(isset($_GET["edit"])){$a=$_GET["edit"];$q=fields($a);$Z=(isset($_GET["select"])?($_POST["check"]&&count($_POST["check"])==1?where_check($_POST["check"][0],$q):""):where($_GET,$q));$Hi=(isset($_GET["select"])?$_POST["edit"]:$Z);foreach($q
as$C=>$p){if(!isset($p["privileges"][$Hi?"update":"insert"])||$b->fieldName($p)=="")unset($q[$C]);}if($_POST&&!$o&&!isset($_GET["select"])){$ve=$_POST["referer"];if($_POST["insert"])$ve=($Hi?null:$_SERVER["REQUEST_URI"]);elseif(!preg_match('~^.+&select=.+$~',$ve))$ve=ME."select=".urlencode($a);$x=indexes($a);$Ci=unique_array($_GET["where"],$x);$ug="\nWHERE $Z";if(isset($_POST["delete"]))queries_redirect($ve,'Item has been deleted.',$n->delete($a,$ug,!$Ci));else{$O=array();foreach($q
as$C=>$p){$X=process_input($p);if($X!==false&&$X!==null)$O[idf_escape($C)]=$X;}if($Hi){if(!$O)redirect($ve);queries_redirect($ve,'Item has been updated.',$n->update($a,$O,$ug,!$Ci));if(is_ajax()){page_headers();page_messages($o);exit;}}else{$H=$n->insert($a,$O);$me=($H?last_id():0);queries_redirect($ve,sprintf('Item%s has been inserted.',($me?" $me":"")),$H);}}}$J=null;if($_POST["save"])$J=(array)$_POST["fields"];elseif($Z){$L=array();foreach($q
as$C=>$p){if(isset($p["privileges"]["select"])){$Ga=convert_field($p);if($_POST["clone"]&&$p["auto_increment"])$Ga="''";if($y=="sql"&&preg_match("~enum|set~",$p["type"]))$Ga="1*".idf_escape($C);$L[]=($Ga?"$Ga AS ":"").idf_escape($C);}}$J=array();if(!support("table"))$L=array("*");if($L){$H=$n->select($a,$L,array($Z),$L,array(),(isset($_GET["select"])?2:1));if(!$H)$o=error();else{$J=$H->fetch_assoc();if(!$J)$J=false;}if(isset($_GET["select"])&&(!$J||$H->fetch_assoc()))$J=null;}}if(!support("table")&&!$q){if(!$Z){$H=$n->select($a,array("*"),$Z,array("*"));$J=($H?$H->fetch_assoc():false);if(!$J)$J=array($n->primary=>"");}if($J){foreach($J
as$z=>$X){if(!$Z)$J[$z]=null;$q[$z]=array("field"=>$z,"null"=>($z!=$n->primary),"auto_increment"=>($z==$n->primary));}}}edit_form($a,$q,$J,$Hi);}elseif(isset($_GET["create"])){$a=$_GET["create"];$Pf=array();foreach(array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST')as$z)$Pf[$z]=$z;$Bg=referencable_primary($a);$cd=array();foreach($Bg
as$Nh=>$p)$cd[str_replace("`","``",$Nh)."`".str_replace("`","``",$p["field"])]=$Nh;$Cf=array();$R=array();if($a!=""){$Cf=fields($a);$R=table_status($a);if(!$R)$o='No tables.';}$J=$_POST;$J["fields"]=(array)$J["fields"];if($J["auto_increment_col"])$J["fields"][$J["auto_increment_col"]]["auto_increment"]=true;if($_POST)set_adminer_settings(array("comments"=>$_POST["comments"],"defaults"=>$_POST["defaults"]));if($_POST&&!process_fields($J["fields"])&&!$o){if($_POST["drop"])queries_redirect(substr(ME,0,-1),'Table has been dropped.',drop_tables(array($a)));else{$q=array();$Da=array();$Mi=false;$ad=array();$Bf=reset($Cf);$Aa=" FIRST";foreach($J["fields"]as$z=>$p){$r=$cd[$p["type"]];$zi=($r!==null?$Bg[$r]:$p);if($p["field"]!=""){if(!$p["has_default"])$p["default"]=null;if($z==$J["auto_increment_col"])$p["auto_increment"]=true;$og=process_field($p,$zi);$Da[]=array($p["orig"],$og,$Aa);if($og!=process_field($Bf,$Bf)){$q[]=array($p["orig"],$og,$Aa);if($p["orig"]!=""||$Aa)$Mi=true;}if($r!==null)$ad[idf_escape($p["field"])]=($a!=""&&$y!="sqlite"?"ADD":" ").format_foreign_key(array('table'=>$cd[$p["type"]],'source'=>array($p["field"]),'target'=>array($zi["field"]),'on_delete'=>$p["on_delete"],));$Aa=" AFTER ".idf_escape($p["field"]);}elseif($p["orig"]!=""){$Mi=true;$q[]=array($p["orig"]);}if($p["orig"]!=""){$Bf=next($Cf);if(!$Bf)$Aa="";}}$Rf="";if($Pf[$J["partition_by"]]){$Sf=array();if($J["partition_by"]=='RANGE'||$J["partition_by"]=='LIST'){foreach(array_filter($J["partition_names"])as$z=>$X){$Y=$J["partition_values"][$z];$Sf[]="\n  PARTITION ".idf_escape($X)." VALUES ".($J["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$Rf.="\nPARTITION BY $J[partition_by]($J[partition])".($Sf?" (".implode(",",$Sf)."\n)":($J["partitions"]?" PARTITIONS ".(+$J["partitions"]):""));}elseif(support("partitioning")&&preg_match("~partitioned~",$R["Create_options"]))$Rf.="\nREMOVE PARTITIONING";$Je='Table has been altered.';if($a==""){cookie("adminer_engine",$J["Engine"]);$Je='Table has been created.';}$C=trim($J["name"]);queries_redirect(ME.(support("table")?"table=":"select=").urlencode($C),$Je,alter_table($a,$C,($y=="sqlite"&&($Mi||$ad)?$Da:$q),$ad,($J["Comment"]!=$R["Comment"]?$J["Comment"]:null),($J["Engine"]&&$J["Engine"]!=$R["Engine"]?$J["Engine"]:""),($J["Collation"]&&$J["Collation"]!=$R["Collation"]?$J["Collation"]:""),($J["Auto_increment"]!=""?number($J["Auto_increment"]):""),$Rf));}}page_header(($a!=""?'Alter table':'Create table'),$o,array("table"=>$a),h($a));if(!$_POST){$J=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($U["int"])?"int":(isset($U["integer"])?"integer":"")),"on_update"=>"")),"partition_names"=>array(""),);if($a!=""){$J=$R;$J["name"]=$a;$J["fields"]=array();if(!$_GET["auto_increment"])$J["Auto_increment"]="";foreach($Cf
as$p){$p["has_default"]=isset($p["default"]);$J["fields"][]=$p;}if(support("partitioning")){$hd="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($a);$H=$g->query("SELECT PARTITION_METHOD, PARTITION_ORDINAL_POSITION, PARTITION_EXPRESSION $hd ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($J["partition_by"],$J["partitions"],$J["partition"])=$H->fetch_row();$Sf=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $hd AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$Sf[""]="";$J["partition_names"]=array_keys($Sf);$J["partition_values"]=array_values($Sf);}}}$ob=collations();$tc=engines();foreach($tc
as$sc){if(!strcasecmp($sc,$J["Engine"])){$J["Engine"]=$sc;break;}}echo'
<form action="" method="post" id="form">
<p>
';if(support("columns")||$a==""){echo'Table name: <input name="name" data-maxlength="64" value="',h($J["name"]),'" autocapitalize="off">
';if($a==""&&!$_POST)echo
script("focus(qs('#form')['name']);");echo($tc?"<select name='Engine'>".optionlist(array(""=>"(".'engine'.")")+$tc,$J["Engine"])."</select>".on_help("getTarget(event).value",1).script("qsl('select').onchange = helpClose;"):""),' ',($ob&&!preg_match("~sqlite|mssql~",$y)?html_select("Collation",array(""=>"(".'collation'.")")+$ob,$J["Collation"]):""),' <input type="submit" value="Save">
';}echo'
';if(support("columns")){echo'<div class="scrollable">
<table cellspacing="0" id="edit-fields" class="nowrap">
';edit_fields($J["fields"],$ob,"TABLE",$cd);echo'</table>
</div>
<p>
Auto Increment: <input type="number" name="Auto_increment" size="6" value="',h($J["Auto_increment"]),'">
',checkbox("defaults",1,($_POST?$_POST["defaults"]:adminer_setting("defaults")),'Default values',"columnShow(this.checked, 5)","jsonly"),(support("comment")?checkbox("comments",1,($_POST?$_POST["comments"]:adminer_setting("comments")),'Comment',"editingCommentsClick(this, true);","jsonly").' <input name="Comment" value="'.h($J["Comment"]).'" data-maxlength="'.(min_version(5.5)?2048:60).'">':''),'<p>
<input type="submit" value="Save">
';}echo'
';if($a!=""){echo'<input type="submit" name="drop" value="Drop">',confirm(sprintf('Drop %s?',$a));}if(support("partitioning")){$Qf=preg_match('~RANGE|LIST~',$J["partition_by"]);print_fieldset("partition",'Partition by',$J["partition_by"]);echo'<p>
',"<select name='partition_by'>".optionlist(array(""=>"")+$Pf,$J["partition_by"])."</select>".on_help("getTarget(event).value.replace(/./, 'PARTITION BY \$&')",1).script("qsl('select').onchange = partitionByChange;"),'(<input name="partition" value="',h($J["partition"]),'">)
Partitions: <input type="number" name="partitions" class="size',($Qf||!$J["partition_by"]?" hidden":""),'" value="',h($J["partitions"]),'">
<table cellspacing="0" id="partition-table"',($Qf?"":" class='hidden'"),'>
<thead><tr><th>Partition name<th>Values</thead>
';foreach($J["partition_names"]as$z=>$X){echo'<tr>','<td><input name="partition_names[]" value="'.h($X).'" autocapitalize="off">',($z==count($J["partition_names"])-1?script("qsl('input').oninput = partitionNameChange;"):''),'<td><input name="partition_values[]" value="'.h($J["partition_values"][$z]).'">';}echo'</table>
</div></fieldset>
';}echo'<input type="hidden" name="token" value="',$mi,'">
</form>
',script("qs('#form')['defaults'].onclick();".(support("comment")?" editingCommentsClick(qs('#form')['comments']);":""));}elseif(isset($_GET["indexes"])){$a=$_GET["indexes"];$Hd=array("PRIMARY","UNIQUE","INDEX");$R=table_status($a,true);if(preg_match('~MyISAM|M?aria'.(min_version(5.6,'10.0.5')?'|InnoDB':'').'~i',$R["Engine"]))$Hd[]="FULLTEXT";if(preg_match('~MyISAM|M?aria'.(min_version(5.7,'10.2.2')?'|InnoDB':'').'~i',$R["Engine"]))$Hd[]="SPATIAL";$x=indexes($a);$hg=array();if($y=="mongo"){$hg=$x["_id_"];unset($Hd[0]);unset($x["_id_"]);}$J=$_POST;if($_POST&&!$o&&!$_POST["add"]&&!$_POST["drop_col"]){$c=array();foreach($J["indexes"]as$w){$C=$w["name"];if(in_array($w["type"],$Hd)){$f=array();$se=array();$Vb=array();$O=array();ksort($w["columns"]);foreach($w["columns"]as$z=>$e){if($e!=""){$re=$w["lengths"][$z];$Ub=$w["descs"][$z];$O[]=idf_escape($e).($re?"(".(+$re).")":"").($Ub?" DESC":"");$f[]=$e;$se[]=($re?$re:null);$Vb[]=$Ub;}}if($f){$Bc=$x[$C];if($Bc){ksort($Bc["columns"]);ksort($Bc["lengths"]);ksort($Bc["descs"]);if($w["type"]==$Bc["type"]&&array_values($Bc["columns"])===$f&&(!$Bc["lengths"]||array_values($Bc["lengths"])===$se)&&array_values($Bc["descs"])===$Vb){unset($x[$C]);continue;}}$c[]=array($w["type"],$C,$O);}}}foreach($x
as$C=>$Bc)$c[]=array($Bc["type"],$C,"DROP");if(!$c)redirect(ME."table=".urlencode($a));queries_redirect(ME."table=".urlencode($a),'Indexes have been altered.',alter_indexes($a,$c));}page_header('Indexes',$o,array("table"=>$a),h($a));$q=array_keys(fields($a));if($_POST["add"]){foreach($J["indexes"]as$z=>$w){if($w["columns"][count($w["columns"])]!="")$J["indexes"][$z]["columns"][]="";}$w=end($J["indexes"]);if($w["type"]||array_filter($w["columns"],'strlen'))$J["indexes"][]=array("columns"=>array(1=>""));}if(!$J){foreach($x
as$z=>$w){$x[$z]["name"]=$z;$x[$z]["columns"][]="";}$x[]=array("columns"=>array(1=>""));$J["indexes"]=$x;}echo'
<form action="" method="post">
<div class="scrollable">
<table cellspacing="0" class="nowrap">
<thead><tr>
<th id="label-type">Index Type
<th><input type="submit" class="wayoff">Column (length)
<th id="label-name">Name
<th><noscript>',"<input type='image' class='icon' name='add[0]' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.7.1")."' alt='+' title='".'Add next'."'>",'</noscript>
</thead>
';if($hg){echo"<tr><td>PRIMARY<td>";foreach($hg["columns"]as$z=>$e){echo
select_input(" disabled",$q,$e),"<label><input disabled type='checkbox'>".'descending'."</label> ";}echo"<td><td>\n";}$ae=1;foreach($J["indexes"]as$w){if(!$_POST["drop_col"]||$ae!=key($_POST["drop_col"])){echo"<tr><td>".html_select("indexes[$ae][type]",array(-1=>"")+$Hd,$w["type"],($ae==count($J["indexes"])?"indexesAddRow.call(this);":1),"label-type"),"<td>";ksort($w["columns"]);$t=1;foreach($w["columns"]as$z=>$e){echo"<span>".select_input(" name='indexes[$ae][columns][$t]' title='".'Column'."'",($q?array_combine($q,$q):$q),$e,"partial(".($t==count($w["columns"])?"indexesAddColumn":"indexesChangeColumn").", '".js_escape($y=="sql"?"":$_GET["indexes"]."_")."')"),($y=="sql"||$y=="mssql"?"<input type='number' name='indexes[$ae][lengths][$t]' class='size' value='".h($w["lengths"][$z])."' title='".'Length'."'>":""),(support("descidx")?checkbox("indexes[$ae][descs][$t]",1,$w["descs"][$z],'descending'):"")," </span>";$t++;}echo"<td><input name='indexes[$ae][name]' value='".h($w["name"])."' autocapitalize='off' aria-labelledby='label-name'>\n","<td><input type='image' class='icon' name='drop_col[$ae]' src='".h(preg_replace("~\\?.*~","",ME)."?file=cross.gif&version=4.7.1")."' alt='x' title='".'Remove'."'>".script("qsl('input').onclick = partial(editingRemoveRow, 'indexes\$1[type]');");}$ae++;}echo'</table>
</div>
<p>
<input type="submit" value="Save">
<input type="hidden" name="token" value="',$mi,'">
</form>
';}elseif(isset($_GET["database"])){$J=$_POST;if($_POST&&!$o&&!isset($_POST["add_x"])){$C=trim($J["name"]);if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),'Database has been dropped.',drop_databases(array(DB)));}elseif(DB!==$C){if(DB!=""){$_GET["db"]=$C;queries_redirect(preg_replace('~\bdb=[^&]*&~','',ME)."db=".urlencode($C),'Database has been renamed.',rename_database($C,$J["collation"]));}else{$l=explode("\n",str_replace("\r","",$C));$Hh=true;$le="";foreach($l
as$m){if(count($l)==1||$m!=""){if(!create_database($m,$J["collation"]))$Hh=false;$le=$m;}}restart_session();set_session("dbs",null);queries_redirect(ME."db=".urlencode($le),'Database has been created.',$Hh);}}else{if(!$J["collation"])redirect(substr(ME,0,-1));query_redirect("ALTER DATABASE ".idf_escape($C).(preg_match('~^[a-z0-9_]+$~i',$J["collation"])?" COLLATE $J[collation]":""),substr(ME,0,-1),'Database has been altered.');}}page_header(DB!=""?'Alter database':'Create database',$o,array(),h(DB));$ob=collations();$C=DB;if($_POST)$C=$J["name"];elseif(DB!="")$J["collation"]=db_collation(DB,$ob);elseif($y=="sql"){foreach(get_vals("SHOW GRANTS")as$jd){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\.\*)?~',$jd,$B)&&$B[1]){$C=stripcslashes(idf_unescape("`$B[2]`"));break;}}}echo'
<form action="" method="post">
<p>
',($_POST["add_x"]||strpos($C,"\n")?'<textarea id="name" name="name" rows="10" cols="40">'.h($C).'</textarea><br>':'<input name="name" id="name" value="'.h($C).'" data-maxlength="64" autocapitalize="off">')."\n".($ob?html_select("collation",array(""=>"(".'collation'.")")+$ob,$J["collation"]).doc_link(array('sql'=>"charset-charsets.html",'mariadb'=>"supported-character-sets-and-collations/",'mssql'=>"ms187963.aspx",)):""),script("focus(qs('#name'));"),'<input type="submit" value="Save">
';if(DB!="")echo"<input type='submit' name='drop' value='".'Drop'."'>".confirm(sprintf('Drop %s?',DB))."\n";elseif(!$_POST["add_x"]&&$_GET["db"]=="")echo"<input type='image' class='icon' name='add' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.7.1")."' alt='+' title='".'Add next'."'>\n";echo'<input type="hidden" name="token" value="',$mi,'">
</form>
';}elseif(isset($_GET["scheme"])){$J=$_POST;if($_POST&&!$o){$A=preg_replace('~ns=[^&]*&~','',ME)."ns=";if($_POST["drop"])query_redirect("DROP SCHEMA ".idf_escape($_GET["ns"]),$A,'Schema has been dropped.');else{$C=trim($J["name"]);$A.=urlencode($C);if($_GET["ns"]=="")query_redirect("CREATE SCHEMA ".idf_escape($C),$A,'Schema has been created.');elseif($_GET["ns"]!=$C)query_redirect("ALTER SCHEMA ".idf_escape($_GET["ns"])." RENAME TO ".idf_escape($C),$A,'Schema has been altered.');else
redirect($A);}}page_header($_GET["ns"]!=""?'Alter schema':'Create schema',$o);if(!$J)$J["name"]=$_GET["ns"];echo'
<form action="" method="post">
<p><input name="name" id="name" value="',h($J["name"]),'" autocapitalize="off">
',script("focus(qs('#name'));"),'<input type="submit" value="Save">
';if($_GET["ns"]!="")echo"<input type='submit' name='drop' value='".'Drop'."'>".confirm(sprintf('Drop %s?',$_GET["ns"]))."\n";echo'<input type="hidden" name="token" value="',$mi,'">
</form>
';}elseif(isset($_GET["call"])){$da=($_GET["name"]?$_GET["name"]:$_GET["call"]);page_header('Call'.": ".h($da),$o);$Rg=routine($_GET["call"],(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$Fd=array();$Gf=array();foreach($Rg["fields"]as$t=>$p){if(substr($p["inout"],-3)=="OUT")$Gf[$t]="@".idf_escape($p["field"])." AS ".idf_escape($p["field"]);if(!$p["inout"]||substr($p["inout"],0,2)=="IN")$Fd[]=$t;}if(!$o&&$_POST){$Za=array();foreach($Rg["fields"]as$z=>$p){if(in_array($z,$Fd)){$X=process_input($p);if($X===false)$X="''";if(isset($Gf[$z]))$g->query("SET @".idf_escape($p["field"])." = $X");}$Za[]=(isset($Gf[$z])?"@".idf_escape($p["field"]):$X);}$G=(isset($_GET["callf"])?"SELECT":"CALL")." ".table($da)."(".implode(", ",$Za).")";$Ah=microtime(true);$H=$g->multi_query($G);$za=$g->affected_rows;echo$b->selectQuery($G,$Ah,!$H);if(!$H)echo"<p class='error'>".error()."\n";else{$h=connect();if(is_object($h))$h->select_db(DB);do{$H=$g->store_result();if(is_object($H))select($H,$h);else
echo"<p class='message'>".lang(array('Routine has been called, %d row affected.','Routine has been called, %d rows affected.'),$za)."\n";}while($g->next_result());if($Gf)select($g->query("SELECT ".implode(", ",$Gf)));}}echo'
<form action="" method="post">
';if($Fd){echo"<table cellspacing='0' class='layout'>\n";foreach($Fd
as$z){$p=$Rg["fields"][$z];$C=$p["field"];echo"<tr><th>".$b->fieldName($p);$Y=$_POST["fields"][$C];if($Y!=""){if($p["type"]=="enum")$Y=+$Y;if($p["type"]=="set")$Y=array_sum($Y);}input($p,$Y,(string)$_POST["function"][$C]);echo"\n";}echo"</table>\n";}echo'<p>
<input type="submit" value="Call">
<input type="hidden" name="token" value="',$mi,'">
</form>
';}elseif(isset($_GET["foreign"])){$a=$_GET["foreign"];$C=$_GET["name"];$J=$_POST;if($_POST&&!$o&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){$Je=($_POST["drop"]?'Foreign key has been dropped.':($C!=""?'Foreign key has been altered.':'Foreign key has been created.'));$ve=ME."table=".urlencode($a);if(!$_POST["drop"]){$J["source"]=array_filter($J["source"],'strlen');ksort($J["source"]);$Vh=array();foreach($J["source"]as$z=>$X)$Vh[$z]=$J["target"][$z];$J["target"]=$Vh;}if($y=="sqlite")queries_redirect($ve,$Je,recreate_table($a,$a,array(),array(),array(" $C"=>($_POST["drop"]?"":" ".format_foreign_key($J)))));else{$c="ALTER TABLE ".table($a);$dc="\nDROP ".($y=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($C);if($_POST["drop"])query_redirect($c.$dc,$ve,$Je);else{query_redirect($c.($C!=""?"$dc,":"")."\nADD".format_foreign_key($J),$ve,$Je);$o='Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.'."<br>$o";}}}page_header('Foreign key',$o,array("table"=>$a),h($a));if($_POST){ksort($J["source"]);if($_POST["add"])$J["source"][]="";elseif($_POST["change"]||$_POST["change-js"])$J["target"]=array();}elseif($C!=""){$cd=foreign_keys($a);$J=$cd[$C];$J["source"][]="";}else{$J["table"]=$a;$J["source"]=array("");}$th=array_keys(fields($a));$Vh=($a===$J["table"]?$th:array_keys(fields($J["table"])));$Ag=array_keys(array_filter(table_status('',true),'fk_support'));echo'
<form action="" method="post">
<p>
';if($J["db"]==""&&$J["ns"]==""){echo'Target table:
',html_select("table",$Ag,$J["table"],"this.form['change-js'].value = '1'; this.form.submit();"),'<input type="hidden" name="change-js" value="">
<noscript><p><input type="submit" name="change" value="Change"></noscript>
<table cellspacing="0">
<thead><tr><th id="label-source">Source<th id="label-target">Target</thead>
';$ae=0;foreach($J["source"]as$z=>$X){echo"<tr>","<td>".html_select("source[".(+$z)."]",array(-1=>"")+$th,$X,($ae==count($J["source"])-1?"foreignAddRow.call(this);":1),"label-source"),"<td>".html_select("target[".(+$z)."]",$Vh,$J["target"][$z],1,"label-target");$ae++;}echo'</table>
<p>
ON DELETE: ',html_select("on_delete",array(-1=>"")+explode("|",$nf),$J["on_delete"]),' ON UPDATE: ',html_select("on_update",array(-1=>"")+explode("|",$nf),$J["on_update"]),doc_link(array('sql'=>"innodb-foreign-key-constraints.html",'mariadb'=>"foreign-keys/",'pgsql'=>"sql-createtable.html#SQL-CREATETABLE-REFERENCES",'mssql'=>"ms174979.aspx",'oracle'=>"clauses002.htm#sthref2903",)),'<p>
<input type="submit" value="Save">
<noscript><p><input type="submit" name="add" value="Add column"></noscript>
';}if($C!=""){echo'<input type="submit" name="drop" value="Drop">',confirm(sprintf('Drop %s?',$C));}echo'<input type="hidden" name="token" value="',$mi,'">
</form>
';}elseif(isset($_GET["view"])){$a=$_GET["view"];$J=$_POST;$Df="VIEW";if($y=="pgsql"&&$a!=""){$Ch=table_status($a);$Df=strtoupper($Ch["Engine"]);}if($_POST&&!$o){$C=trim($J["name"]);$Ga=" AS\n$J[select]";$ve=ME."table=".urlencode($C);$Je='View has been altered.';$T=($_POST["materialized"]?"MATERIALIZED VIEW":"VIEW");if(!$_POST["drop"]&&$a==$C&&$y!="sqlite"&&$T=="VIEW"&&$Df=="VIEW")query_redirect(($y=="mssql"?"ALTER":"CREATE OR REPLACE")." VIEW ".table($C).$Ga,$ve,$Je);else{$Xh=$C."_adminer_".uniqid();drop_create("DROP $Df ".table($a),"CREATE $T ".table($C).$Ga,"DROP $T ".table($C),"CREATE $T ".table($Xh).$Ga,"DROP $T ".table($Xh),($_POST["drop"]?substr(ME,0,-1):$ve),'View has been dropped.',$Je,'View has been created.',$a,$C);}}if(!$_POST&&$a!=""){$J=view($a);$J["name"]=$a;$J["materialized"]=($Df!="VIEW");if(!$o)$o=error();}page_header(($a!=""?'Alter view':'Create view'),$o,array("table"=>$a),h($a));echo'
<form action="" method="post">
<p>Name: <input name="name" value="',h($J["name"]),'" data-maxlength="64" autocapitalize="off">
',(support("materializedview")?" ".checkbox("materialized",1,$J["materialized"],'Materialized view'):""),'<p>';textarea("select",$J["select"]);echo'<p>
<input type="submit" value="Save">
';if($a!=""){echo'<input type="submit" name="drop" value="Drop">',confirm(sprintf('Drop %s?',$a));}echo'<input type="hidden" name="token" value="',$mi,'">
</form>
';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$Sd=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$Dh=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");$J=$_POST;if($_POST&&!$o){if($_POST["drop"])query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),'Event has been dropped.');elseif(in_array($J["INTERVAL_FIELD"],$Sd)&&isset($Dh[$J["STATUS"]])){$Wg="\nON SCHEDULE ".($J["INTERVAL_VALUE"]?"EVERY ".q($J["INTERVAL_VALUE"])." $J[INTERVAL_FIELD]".($J["STARTS"]?" STARTS ".q($J["STARTS"]):"").($J["ENDS"]?" ENDS ".q($J["ENDS"]):""):"AT ".q($J["STARTS"]))." ON COMPLETION".($J["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($aa!=""?'Event has been altered.':'Event has been created.'),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$Wg.($aa!=$J["EVENT_NAME"]?"\nRENAME TO ".idf_escape($J["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($J["EVENT_NAME"]).$Wg)."\n".$Dh[$J["STATUS"]]." COMMENT ".q($J["EVENT_COMMENT"]).rtrim(" DO\n$J[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?'Alter event'.": ".h($aa):'Create event'),$o);if(!$J&&$aa!=""){$K=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($aa));$J=reset($K);}echo'
<form action="" method="post">
<table cellspacing="0" class="layout">
<tr><th>Name<td><input name="EVENT_NAME" value="',h($J["EVENT_NAME"]),'" data-maxlength="64" autocapitalize="off">
<tr><th title="datetime">Start<td><input name="STARTS" value="',h("$J[EXECUTE_AT]$J[STARTS]"),'">
<tr><th title="datetime">End<td><input name="ENDS" value="',h($J["ENDS"]),'">
<tr><th>Every<td><input type="number" name="INTERVAL_VALUE" value="',h($J["INTERVAL_VALUE"]),'" class="size"> ',html_select("INTERVAL_FIELD",$Sd,$J["INTERVAL_FIELD"]),'<tr><th>Status<td>',html_select("STATUS",$Dh,$J["STATUS"]),'<tr><th>Comment<td><input name="EVENT_COMMENT" value="',h($J["EVENT_COMMENT"]),'" data-maxlength="64">
<tr><th><td>',checkbox("ON_COMPLETION","PRESERVE",$J["ON_COMPLETION"]=="PRESERVE",'On completion preserve'),'</table>
<p>';textarea("EVENT_DEFINITION",$J["EVENT_DEFINITION"]);echo'<p>
<input type="submit" value="Save">
';if($aa!=""){echo'<input type="submit" name="drop" value="Drop">',confirm(sprintf('Drop %s?',$aa));}echo'<input type="hidden" name="token" value="',$mi,'">
</form>
';}elseif(isset($_GET["procedure"])){$da=($_GET["name"]?$_GET["name"]:$_GET["procedure"]);$Rg=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$J=$_POST;$J["fields"]=(array)$J["fields"];if($_POST&&!process_fields($J["fields"])&&!$o){$Af=routine($_GET["procedure"],$Rg);$Xh="$J[name]_adminer_".uniqid();drop_create("DROP $Rg ".routine_id($da,$Af),create_routine($Rg,$J),"DROP $Rg ".routine_id($J["name"],$J),create_routine($Rg,array("name"=>$Xh)+$J),"DROP $Rg ".routine_id($Xh,$J),substr(ME,0,-1),'Routine has been dropped.','Routine has been altered.','Routine has been created.',$da,$J["name"]);}page_header(($da!=""?(isset($_GET["function"])?'Alter function':'Alter procedure').": ".h($da):(isset($_GET["function"])?'Create function':'Create procedure')),$o);if(!$_POST&&$da!=""){$J=routine($_GET["procedure"],$Rg);$J["name"]=$da;}$ob=get_vals("SHOW CHARACTER SET");sort($ob);$Sg=routine_languages();echo'
<form action="" method="post" id="form">
<p>Name: <input name="name" value="',h($J["name"]),'" data-maxlength="64" autocapitalize="off">
',($Sg?'Language'.": ".html_select("language",$Sg,$J["language"])."\n":""),'<input type="submit" value="Save">
<div class="scrollable">
<table cellspacing="0" class="nowrap">
';edit_fields($J["fields"],$ob,$Rg);if(isset($_GET["function"])){echo"<tr><td>".'Return type';edit_type("returns",$J["returns"],$ob,array(),($y=="pgsql"?array("void","trigger"):array()));}echo'</table>
</div>
<p>';textarea("definition",$J["definition"]);echo'<p>
<input type="submit" value="Save">
';if($da!=""){echo'<input type="submit" name="drop" value="Drop">',confirm(sprintf('Drop %s?',$da));}echo'<input type="hidden" name="token" value="',$mi,'">
</form>
';}elseif(isset($_GET["sequence"])){$fa=$_GET["sequence"];$J=$_POST;if($_POST&&!$o){$A=substr(ME,0,-1);$C=trim($J["name"]);if($_POST["drop"])query_redirect("DROP SEQUENCE ".idf_escape($fa),$A,'Sequence has been dropped.');elseif($fa=="")query_redirect("CREATE SEQUENCE ".idf_escape($C),$A,'Sequence has been created.');elseif($fa!=$C)query_redirect("ALTER SEQUENCE ".idf_escape($fa)." RENAME TO ".idf_escape($C),$A,'Sequence has been altered.');else
redirect($A);}page_header($fa!=""?'Alter sequence'.": ".h($fa):'Create sequence',$o);if(!$J)$J["name"]=$fa;echo'
<form action="" method="post">
<p><input name="name" value="',h($J["name"]),'" autocapitalize="off">
<input type="submit" value="Save">
';if($fa!="")echo"<input type='submit' name='drop' value='".'Drop'."'>".confirm(sprintf('Drop %s?',$fa))."\n";echo'<input type="hidden" name="token" value="',$mi,'">
</form>
';}elseif(isset($_GET["type"])){$ga=$_GET["type"];$J=$_POST;if($_POST&&!$o){$A=substr(ME,0,-1);if($_POST["drop"])query_redirect("DROP TYPE ".idf_escape($ga),$A,'Type has been dropped.');else
query_redirect("CREATE TYPE ".idf_escape(trim($J["name"]))." $J[as]",$A,'Type has been created.');}page_header($ga!=""?'Alter type'.": ".h($ga):'Create type',$o);if(!$J)$J["as"]="AS ";echo'
<form action="" method="post">
<p>
';if($ga!="")echo"<input type='submit' name='drop' value='".'Drop'."'>".confirm(sprintf('Drop %s?',$ga))."\n";else{echo"<input name='name' value='".h($J['name'])."' autocapitalize='off'>\n";textarea("as",$J["as"]);echo"<p><input type='submit' value='".'Save'."'>\n";}echo'<input type="hidden" name="token" value="',$mi,'">
</form>
';}elseif(isset($_GET["trigger"])){$a=$_GET["trigger"];$C=$_GET["name"];$xi=trigger_options();$J=(array)trigger($C)+array("Trigger"=>$a."_bi");if($_POST){if(!$o&&in_array($_POST["Timing"],$xi["Timing"])&&in_array($_POST["Event"],$xi["Event"])&&in_array($_POST["Type"],$xi["Type"])){$mf=" ON ".table($a);$dc="DROP TRIGGER ".idf_escape($C).($y=="pgsql"?$mf:"");$ve=ME."table=".urlencode($a);if($_POST["drop"])query_redirect($dc,$ve,'Trigger has been dropped.');else{if($C!="")queries($dc);queries_redirect($ve,($C!=""?'Trigger has been altered.':'Trigger has been created.'),queries(create_trigger($mf,$_POST)));if($C!="")queries(create_trigger($mf,$J+array("Type"=>reset($xi["Type"]))));}}$J=$_POST;}page_header(($C!=""?'Alter trigger'.": ".h($C):'Create trigger'),$o,array("table"=>$a));echo'
<form action="" method="post" id="form">
<table cellspacing="0" class="layout">
<tr><th>Time<td>',html_select("Timing",$xi["Timing"],$J["Timing"],"triggerChange(/^".preg_quote($a,"/")."_[ba][iud]$/, '".js_escape($a)."', this.form);"),'<tr><th>Event<td>',html_select("Event",$xi["Event"],$J["Event"],"this.form['Timing'].onchange();"),(in_array("UPDATE OF",$xi["Event"])?" <input name='Of' value='".h($J["Of"])."' class='hidden'>":""),'<tr><th>Type<td>',html_select("Type",$xi["Type"],$J["Type"]),'</table>
<p>Name: <input name="Trigger" value="',h($J["Trigger"]),'" data-maxlength="64" autocapitalize="off">
',script("qs('#form')['Timing'].onchange();"),'<p>';textarea("Statement",$J["Statement"]);echo'<p>
<input type="submit" value="Save">
';if($C!=""){echo'<input type="submit" name="drop" value="Drop">',confirm(sprintf('Drop %s?',$C));}echo'<input type="hidden" name="token" value="',$mi,'">
</form>
';}elseif(isset($_GET["user"])){$ha=$_GET["user"];$mg=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$J){foreach(explode(",",($J["Privilege"]=="Grant option"?"":$J["Context"]))as$_b)$mg[$_b][$J["Privilege"]]=$J["Comment"];}$mg["Server Admin"]+=$mg["File access on server"];$mg["Databases"]["Create routine"]=$mg["Procedures"]["Create routine"];unset($mg["Procedures"]["Create routine"]);$mg["Columns"]=array();foreach(array("Select","Insert","Update","References")as$X)$mg["Columns"][$X]=$mg["Tables"][$X];unset($mg["Server Admin"]["Usage"]);foreach($mg["Tables"]as$z=>$X)unset($mg["Databases"][$z]);$We=array();if($_POST){foreach($_POST["objects"]as$z=>$X)$We[$X]=(array)$We[$X]+(array)$_POST["grants"][$z];}$kd=array();$kf="";if(isset($_GET["host"])&&($H=$g->query("SHOW GRANTS FOR ".q($ha)."@".q($_GET["host"])))){while($J=$H->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$J[0],$B)&&preg_match_all('~ *([^(,]*[^ ,(])( *\([^)]+\))?~',$B[1],$Be,PREG_SET_ORDER)){foreach($Be
as$X){if($X[1]!="USAGE")$kd["$B[2]$X[2]"][$X[1]]=true;if(preg_match('~ WITH GRANT OPTION~',$J[0]))$kd["$B[2]$X[2]"]["GRANT OPTION"]=true;}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$J[0],$B))$kf=$B[1];}}if($_POST&&!$o){$lf=(isset($_GET["host"])?q($ha)."@".q($_GET["host"]):"''");if($_POST["drop"])query_redirect("DROP USER $lf",ME."privileges=",'User has been dropped.');else{$Ye=q($_POST["user"])."@".q($_POST["host"]);$Uf=$_POST["pass"];if($Uf!=''&&!$_POST["hashed"]){$Uf=$g->result("SELECT PASSWORD(".q($Uf).")");$o=!$Uf;}$Eb=false;if(!$o){if($lf!=$Ye){$Eb=queries((min_version(5)?"CREATE USER":"GRANT USAGE ON *.* TO")." $Ye IDENTIFIED BY PASSWORD ".q($Uf));$o=!$Eb;}elseif($Uf!=$kf)queries("SET PASSWORD FOR $Ye = ".q($Uf));}if(!$o){$Og=array();foreach($We
as$ff=>$jd){if(isset($_GET["grant"]))$jd=array_filter($jd);$jd=array_keys($jd);if(isset($_GET["grant"]))$Og=array_diff(array_keys(array_filter($We[$ff],'strlen')),$jd);elseif($lf==$Ye){$if=array_keys((array)$kd[$ff]);$Og=array_diff($if,$jd);$jd=array_diff($jd,$if);unset($kd[$ff]);}if(preg_match('~^(.+)\s*(\(.*\))?$~U',$ff,$B)&&(!grant("REVOKE",$Og,$B[2]," ON $B[1] FROM $Ye")||!grant("GRANT",$jd,$B[2]," ON $B[1] TO $Ye"))){$o=true;break;}}}if(!$o&&isset($_GET["host"])){if($lf!=$Ye)queries("DROP USER $lf");elseif(!isset($_GET["grant"])){foreach($kd
as$ff=>$Og){if(preg_match('~^(.+)(\(.*\))?$~U',$ff,$B))grant("REVOKE",array_keys($Og),$B[2]," ON $B[1] FROM $Ye");}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?'User has been altered.':'User has been created.'),!$o);if($Eb)$g->query("DROP USER $Ye");}}page_header((isset($_GET["host"])?'Username'.": ".h("$ha@$_GET[host]"):'Create user'),$o,array("privileges"=>array('','Privileges')));if($_POST){$J=$_POST;$kd=$We;}else{$J=$_GET+array("host"=>$g->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$J["pass"]=$kf;if($kf!="")$J["hashed"]=true;$kd[(DB==""||$kd?"":idf_escape(addcslashes(DB,"%_\\"))).".*"]=array();}echo'<form action="" method="post">
<table cellspacing="0" class="layout">
<tr><th>Server<td><input name="host" data-maxlength="60" value="',h($J["host"]),'" autocapitalize="off">
<tr><th>Username<td><input name="user" data-maxlength="80" value="',h($J["user"]),'" autocapitalize="off">
<tr><th>Password<td><input name="pass" id="pass" value="',h($J["pass"]),'" autocomplete="new-password">
';if(!$J["hashed"])echo
script("typePassword(qs('#pass'));");echo
checkbox("hashed",1,$J["hashed"],'Hashed',"typePassword(this.form['pass'], this.checked);"),'</table>

';echo"<table cellspacing='0'>\n","<thead><tr><th colspan='2'>".'Privileges'.doc_link(array('sql'=>"grant.html#priv_level"));$t=0;foreach($kd
as$ff=>$jd){echo'<th>'.($ff!="*.*"?"<input name='objects[$t]' value='".h($ff)."' size='10' autocapitalize='off'>":"<input type='hidden' name='objects[$t]' value='*.*' size='10'>*.*");$t++;}echo"</thead>\n";foreach(array(""=>"","Server Admin"=>'Server',"Databases"=>'Database',"Tables"=>'Table',"Columns"=>'Column',"Procedures"=>'Routine',)as$_b=>$Ub){foreach((array)$mg[$_b]as$lg=>$tb){echo"<tr".odd()."><td".($Ub?">$Ub<td":" colspan='2'").' lang="en" title="'.h($tb).'">'.h($lg);$t=0;foreach($kd
as$ff=>$jd){$C="'grants[$t][".h(strtoupper($lg))."]'";$Y=$jd[strtoupper($lg)];if($_b=="Server Admin"&&$ff!=(isset($kd["*.*"])?"*.*":".*"))echo"<td>";elseif(isset($_GET["grant"]))echo"<td><select name=$C><option><option value='1'".($Y?" selected":"").">".'Grant'."<option value='0'".($Y=="0"?" selected":"").">".'Revoke'."</select>";else{echo"<td align='center'><label class='block'>","<input type='checkbox' name=$C value='1'".($Y?" checked":"").($lg=="All privileges"?" id='grants-$t-all'>":">".($lg=="Grant option"?"":script("qsl('input').onclick = function () { if (this.checked) formUncheck('grants-$t-all'); };"))),"</label>";}$t++;}}}echo"</table>\n",'<p>
<input type="submit" value="Save">
';if(isset($_GET["host"])){echo'<input type="submit" name="drop" value="Drop">',confirm(sprintf('Drop %s?',"$ha@$_GET[host]"));}echo'<input type="hidden" name="token" value="',$mi,'">
</form>
';}elseif(isset($_GET["processlist"])){if(support("kill")&&$_POST&&!$o){$he=0;foreach((array)$_POST["kill"]as$X){if(kill_process($X))$he++;}queries_redirect(ME."processlist=",lang(array('%d process has been killed.','%d processes have been killed.'),$he),$he||!$_POST["kill"]);}page_header('Process list',$o);echo'
<form action="" method="post">
<div class="scrollable">
<table cellspacing="0" class="nowrap checkable">
',script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});");$t=-1;foreach(process_list()as$t=>$J){if(!$t){echo"<thead><tr lang='en'>".(support("kill")?"<th>":"");foreach($J
as$z=>$X)echo"<th>$z".doc_link(array('sql'=>"show-processlist.html#processlist_".strtolower($z),'pgsql'=>"monitoring-stats.html#PG-STAT-ACTIVITY-VIEW",'oracle'=>"../b14237/dynviews_2088.htm",));echo"</thead>\n";}echo"<tr".odd().">".(support("kill")?"<td>".checkbox("kill[]",$J[$y=="sql"?"Id":"pid"],0):"");foreach($J
as$z=>$X)echo"<td>".(($y=="sql"&&$z=="Info"&&preg_match("~Query|Killed~",$J["Command"])&&$X!="")||($y=="pgsql"&&$z=="current_query"&&$X!="<IDLE>")||($y=="oracle"&&$z=="sql_text"&&$X!="")?"<code class='jush-$y'>".shorten_utf8($X,100,"</code>").' <a href="'.h(ME.($J["db"]!=""?"db=".urlencode($J["db"])."&":"")."sql=".urlencode($X)).'">'.'Clone'.'</a>':h($X));echo"\n";}echo'</table>
</div>
<p>
';if(support("kill")){echo($t+1)."/".sprintf('%d in total',max_connections()),"<p><input type='submit' value='".'Kill'."'>\n";}echo'<input type="hidden" name="token" value="',$mi,'">
</form>
',script("tableCheck();");}elseif(isset($_GET["select"])){$a=$_GET["select"];$R=table_status1($a);$x=indexes($a);$q=fields($a);$cd=column_foreign_keys($a);$hf=$R["Oid"];parse_str($_COOKIE["adminer_import"],$ya);$Pg=array();$f=array();$bi=null;foreach($q
as$z=>$p){$C=$b->fieldName($p);if(isset($p["privileges"]["select"])&&$C!=""){$f[$z]=html_entity_decode(strip_tags($C),ENT_QUOTES);if(is_shortable($p))$bi=$b->selectLengthProcess();}$Pg+=$p["privileges"];}list($L,$ld)=$b->selectColumnsProcess($f,$x);$Wd=count($ld)<count($L);$Z=$b->selectSearchProcess($q,$x);$xf=$b->selectOrderProcess($q,$x);$_=$b->selectLimitProcess();if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$Di=>$J){$Ga=convert_field($q[key($J)]);$L=array($Ga?$Ga:idf_escape(key($J)));$Z[]=where_check($Di,$q);$I=$n->select($a,$L,$Z,$L);if($I)echo
reset($I->fetch_row());}exit;}$hg=$Fi=null;foreach($x
as$w){if($w["type"]=="PRIMARY"){$hg=array_flip($w["columns"]);$Fi=($L?$hg:array());foreach($Fi
as$z=>$X){if(in_array(idf_escape($z),$L))unset($Fi[$z]);}break;}}if($hf&&!$hg){$hg=$Fi=array($hf=>0);$x[]=array("type"=>"PRIMARY","columns"=>array($hf));}if($_POST&&!$o){$gj=$Z;if(!$_POST["all"]&&is_array($_POST["check"])){$fb=array();foreach($_POST["check"]as$cb)$fb[]=where_check($cb,$q);$gj[]="((".implode(") OR (",$fb)."))";}$gj=($gj?"\nWHERE ".implode(" AND ",$gj):"");if($_POST["export"]){cookie("adminer_import","output=".urlencode($_POST["output"])."&format=".urlencode($_POST["format"]));dump_headers($a);$b->dumpTable($a,"");$hd=($L?implode(", ",$L):"*").convert_fields($f,$q,$L)."\nFROM ".table($a);$nd=($ld&&$Wd?"\nGROUP BY ".implode(", ",$ld):"").($xf?"\nORDER BY ".implode(", ",$xf):"");if(!is_array($_POST["check"])||$hg)$G="SELECT $hd$gj$nd";else{$Bi=array();foreach($_POST["check"]as$X)$Bi[]="(SELECT".limit($hd,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$q).$nd,1).")";$G=implode(" UNION ALL ",$Bi);}$b->dumpData($a,"table",$G);exit;}if(!$b->selectEmailProcess($Z,$cd)){if($_POST["save"]||$_POST["delete"]){$H=true;$za=0;$O=array();if(!$_POST["delete"]){foreach($f
as$C=>$X){$X=process_input($q[$C]);if($X!==null&&($_POST["clone"]||$X!==false))$O[idf_escape($C)]=($X!==false?$X:idf_escape($C));}}if($_POST["delete"]||$O){if($_POST["clone"])$G="INTO ".table($a)." (".implode(", ",array_keys($O)).")\nSELECT ".implode(", ",$O)."\nFROM ".table($a);if($_POST["all"]||($hg&&is_array($_POST["check"]))||$Wd){$H=($_POST["delete"]?$n->delete($a,$gj):($_POST["clone"]?queries("INSERT $G$gj"):$n->update($a,$O,$gj)));$za=$g->affected_rows;}else{foreach((array)$_POST["check"]as$X){$cj="\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$q);$H=($_POST["delete"]?$n->delete($a,$cj,1):($_POST["clone"]?queries("INSERT".limit1($a,$G,$cj)):$n->update($a,$O,$cj,1)));if(!$H)break;$za+=$g->affected_rows;}}}$Je=lang(array('%d item has been affected.','%d items have been affected.'),$za);if($_POST["clone"]&&$H&&$za==1){$me=last_id();if($me)$Je=sprintf('Item%s has been inserted.'," $me");}queries_redirect(remove_from_uri($_POST["all"]&&$_POST["delete"]?"page":""),$Je,$H);if(!$_POST["delete"]){edit_form($a,$q,(array)$_POST["fields"],!$_POST["clone"]);page_footer();exit;}}elseif(!$_POST["import"]){if(!$_POST["val"])$o='Ctrl+click on a value to modify it.';else{$H=true;$za=0;foreach($_POST["val"]as$Di=>$J){$O=array();foreach($J
as$z=>$X){$z=bracket_escape($z,1);$O[idf_escape($z)]=(preg_match('~char|text~',$q[$z]["type"])||$X!=""?$b->processInput($q[$z],$X):"NULL");}$H=$n->update($a,$O," WHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($Di,$q),!$Wd&&!$hg," ");if(!$H)break;$za+=$g->affected_rows;}queries_redirect(remove_from_uri(),lang(array('%d item has been affected.','%d items have been affected.'),$za),$H);}}elseif(!is_string($Rc=get_file("csv_file",true)))$o=upload_error($Rc);elseif(!preg_match('~~u',$Rc))$o='File must be in UTF-8 encoding.';else{cookie("adminer_import","output=".urlencode($ya["output"])."&format=".urlencode($_POST["separator"]));$H=true;$qb=array_keys($q);preg_match_all('~(?>"[^"]*"|[^"\r\n]+)+~',$Rc,$Be);$za=count($Be[0]);$n->begin();$M=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));$K=array();foreach($Be[0]as$z=>$X){preg_match_all("~((?>\"[^\"]*\")+|[^$M]*)$M~",$X.$M,$Ce);if(!$z&&!array_diff($Ce[1],$qb)){$qb=$Ce[1];$za--;}else{$O=array();foreach($Ce[1]as$t=>$mb)$O[idf_escape($qb[$t])]=($mb==""&&$q[$qb[$t]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$mb))));$K[]=$O;}}$H=(!$K||$n->insertUpdate($a,$K,$hg));if($H)$H=$n->commit();queries_redirect(remove_from_uri("page"),lang(array('%d row has been imported.','%d rows have been imported.'),$za),$H);$n->rollback();}}}$Nh=$b->tableName($R);if(is_ajax()){page_headers();ob_start();}else
page_header('Select'.": $Nh",$o);$O=null;if(isset($Pg["insert"])||!support("table")){$O="";foreach((array)$_GET["where"]as$X){if($cd[$X["col"]]&&count($cd[$X["col"]])==1&&($X["op"]=="="||(!$X["op"]&&!preg_match('~[_%]~',$X["val"]))))$O.="&set".urlencode("[".bracket_escape($X["col"])."]")."=".urlencode($X["val"]);}}$b->selectLinks($R,$O);if(!$f&&support("table"))echo"<p class='error'>".'Unable to select the table'.($q?".":": ".error())."\n";else{echo"<form action='' id='form'>\n","<div style='display: none;'>";hidden_fields_get();echo(DB!=""?'<input type="hidden" name="db" value="'.h(DB).'">'.(isset($_GET["ns"])?'<input type="hidden" name="ns" value="'.h($_GET["ns"]).'">':""):"");echo'<input type="hidden" name="select" value="'.h($a).'">',"</div>\n";$b->selectColumnsPrint($L,$f);$b->selectSearchPrint($Z,$f,$x);$b->selectOrderPrint($xf,$f,$x);$b->selectLimitPrint($_);$b->selectLengthPrint($bi);$b->selectActionPrint($x);echo"</form>\n";$E=$_GET["page"];if($E=="last"){$fd=$g->result(count_rows($a,$Z,$Wd,$ld));$E=floor(max(0,$fd-1)/$_);}$bh=$L;$md=$ld;if(!$bh){$bh[]="*";$Ab=convert_fields($f,$q,$L);if($Ab)$bh[]=substr($Ab,2);}foreach($L
as$z=>$X){$p=$q[idf_unescape($X)];if($p&&($Ga=convert_field($p)))$bh[$z]="$Ga AS $X";}if(!$Wd&&$Fi){foreach($Fi
as$z=>$X){$bh[]=idf_escape($z);if($md)$md[]=idf_escape($z);}}$H=$n->select($a,$bh,$Z,$md,$xf,$_,$E,true);if(!$H)echo"<p class='error'>".error()."\n";else{if($y=="mssql"&&$E)$H->seek($_*$E);$qc=array();echo"<form action='' method='post' enctype='multipart/form-data'>\n";$K=array();while($J=$H->fetch_assoc()){if($E&&$y=="oracle")unset($J["RNUM"]);$K[]=$J;}if($_GET["page"]!="last"&&$_!=""&&$ld&&$Wd&&$y=="sql")$fd=$g->result(" SELECT FOUND_ROWS()");if(!$K)echo"<p class='message'>".'No rows.'."\n";else{$Pa=$b->backwardKeys($a,$Nh);echo"<div class='scrollable'>","<table id='table' cellspacing='0' class='nowrap checkable'>",script("mixin(qs('#table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true), onkeydown: editingKeydown});"),"<thead><tr>".(!$ld&&$L?"":"<td><input type='checkbox' id='all-page' class='jsonly'>".script("qs('#all-page').onclick = partial(formCheck, /check/);","")." <a href='".h($_GET["modify"]?remove_from_uri("modify"):$_SERVER["REQUEST_URI"]."&modify=1")."'>".'Modify'."</a>");$Ve=array();$id=array();reset($L);$wg=1;foreach($K[0]as$z=>$X){if(!isset($Fi[$z])){$X=$_GET["columns"][key($L)];$p=$q[$L?($X?$X["col"]:current($L)):$z];$C=($p?$b->fieldName($p,$wg):($X["fun"]?"*":$z));if($C!=""){$wg++;$Ve[$z]=$C;$e=idf_escape($z);$_d=remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($z);$Ub="&desc%5B0%5D=1";echo"<th>".script("mixin(qsl('th'), {onmouseover: partial(columnMouse), onmouseout: partial(columnMouse, ' hidden')});",""),'<a href="'.h($_d.($xf[0]==$e||$xf[0]==$z||(!$xf&&$Wd&&$ld[0]==$e)?$Ub:'')).'">';echo
apply_sql_function($X["fun"],$C)."</a>";echo"<span class='column hidden'>","<a href='".h($_d.$Ub)."' title='".'descending'."' class='text'> </a>";if(!$X["fun"]){echo'<a href="#fieldset-search" title="'.'Search'.'" class="text jsonly"> =</a>',script("qsl('a').onclick = partial(selectSearch, '".js_escape($z)."');");}echo"</span>";}$id[$z]=$X["fun"];next($L);}}$se=array();if($_GET["modify"]){foreach($K
as$J){foreach($J
as$z=>$X)$se[$z]=max($se[$z],min(40,strlen(utf8_decode($X))));}}echo($Pa?"<th>".'Relations':"")."</thead>\n";if(is_ajax()){if($_%2==1&&$E%2==1)odd();ob_end_clean();}foreach($b->rowDescriptions($K,$cd)as$Ue=>$J){$Ci=unique_array($K[$Ue],$x);if(!$Ci){$Ci=array();foreach($K[$Ue]as$z=>$X){if(!preg_match('~^(COUNT\((\*|(DISTINCT )?`(?:[^`]|``)+`)\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\(`(?:[^`]|``)+`\))$~',$z))$Ci[$z]=$X;}}$Di="";foreach($Ci
as$z=>$X){if(($y=="sql"||$y=="pgsql")&&preg_match('~char|text|enum|set~',$q[$z]["type"])&&strlen($X)>64){$z=(strpos($z,'(')?$z:idf_escape($z));$z="MD5(".($y!='sql'||preg_match("~^utf8~",$q[$z]["collation"])?$z:"CONVERT($z USING ".charset($g).")").")";$X=md5($X);}$Di.="&".($X!==null?urlencode("where[".bracket_escape($z)."]")."=".urlencode($X):"null%5B%5D=".urlencode($z));}echo"<tr".odd().">".(!$ld&&$L?"":"<td>".checkbox("check[]",substr($Di,1),in_array(substr($Di,1),(array)$_POST["check"])).($Wd||information_schema(DB)?"":" <a href='".h(ME."edit=".urlencode($a).$Di)."' class='edit'>".'edit'."</a>"));foreach($J
as$z=>$X){if(isset($Ve[$z])){$p=$q[$z];$X=$n->value($X,$p);if($X!=""&&(!isset($qc[$z])||$qc[$z]!=""))$qc[$z]=(is_mail($X)?$Ve[$z]:"");$A="";if(preg_match('~blob|bytea|raw|file~',$p["type"])&&$X!="")$A=ME.'download='.urlencode($a).'&field='.urlencode($z).$Di;if(!$A&&$X!==null){foreach((array)$cd[$z]as$r){if(count($cd[$z])==1||end($r["source"])==$z){$A="";foreach($r["source"]as$t=>$th)$A.=where_link($t,$r["target"][$t],$K[$Ue][$th]);$A=($r["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\1'.urlencode($r["db"]),ME):ME).'select='.urlencode($r["table"]).$A;if($r["ns"])$A=preg_replace('~([?&]ns=)[^&]+~','\1'.urlencode($r["ns"]),$A);if(count($r["source"])==1)break;}}}if($z=="COUNT(*)"){$A=ME."select=".urlencode($a);$t=0;foreach((array)$_GET["where"]as$W){if(!array_key_exists($W["col"],$Ci))$A.=where_link($t++,$W["col"],$W["val"],$W["op"]);}foreach($Ci
as$be=>$W)$A.=where_link($t++,$be,$W);}$X=select_value($X,$A,$p,$bi);$u=h("val[$Di][".bracket_escape($z)."]");$Y=$_POST["val"][$Di][bracket_escape($z)];$lc=!is_array($J[$z])&&is_utf8($X)&&$K[$Ue][$z]==$J[$z]&&!$id[$z];$ai=preg_match('~text|lob~',$p["type"]);if(($_GET["modify"]&&$lc)||$Y!==null){$qd=h($Y!==null?$Y:$J[$z]);echo"<td>".($ai?"<textarea name='$u' cols='30' rows='".(substr_count($J[$z],"\n")+1)."'>$qd</textarea>":"<input name='$u' value='$qd' size='$se[$z]'>");}else{$xe=strpos($X,"<i></i>");echo"<td id='$u' data-text='".($xe?2:($ai?1:0))."'".($lc?"":" data-warning='".h('Use edit link to modify this value.')."'").">$X</td>";}}}if($Pa)echo"<td>";$b->backwardKeysPrint($Pa,$K[$Ue]);echo"</tr>\n";}if(is_ajax())exit;echo"</table>\n","</div>\n";}if(!is_ajax()){if($K||$E){$_c=true;if($_GET["page"]!="last"){if($_==""||(count($K)<$_&&($K||!$E)))$fd=($E?$E*$_:0)+count($K);elseif($y!="sql"||!$Wd){$fd=($Wd?false:found_rows($R,$Z));if($fd<max(1e4,2*($E+1)*$_))$fd=reset(slow_query(count_rows($a,$Z,$Wd,$ld)));else$_c=false;}}$Jf=($_!=""&&($fd===false||$fd>$_||$E));if($Jf){echo(($fd===false?count($K)+1:$fd-$E*$_)>$_?'<p><a href="'.h(remove_from_uri("page")."&page=".($E+1)).'" class="loadmore">'.'Load more data'.'</a>'.script("qsl('a').onclick = partial(selectLoadMore, ".(+$_).", '".'Loading'."');",""):''),"\n";}}echo"<div class='footer'><div>\n";if($K||$E){if($Jf){$Ee=($fd===false?$E+(count($K)>=$_?2:1):floor(($fd-1)/$_));echo"<fieldset>";if($y!="simpledb"){echo"<legend><a href='".h(remove_from_uri("page"))."'>".'Page'."</a></legend>",script("qsl('a').onclick = function () { pageClick(this.href, +prompt('".'Page'."', '".($E+1)."')); return false; };"),pagination(0,$E).($E>5?" ":"");for($t=max(1,$E-4);$t<min($Ee,$E+5);$t++)echo
pagination($t,$E);if($Ee>0){echo($E+5<$Ee?" ":""),($_c&&$fd!==false?pagination($Ee,$E):" <a href='".h(remove_from_uri("page")."&page=last")."' title='~$Ee'>".'last'."</a>");}}else{echo"<legend>".'Page'."</legend>",pagination(0,$E).($E>1?" ":""),($E?pagination($E,$E):""),($Ee>$E?pagination($E+1,$E).($Ee>$E+1?" ":""):"");}echo"</fieldset>\n";}echo"<fieldset>","<legend>".'Whole result'."</legend>";$Zb=($_c?"":"~ ").$fd;echo
checkbox("all",1,0,($fd!==false?($_c?"":"~ ").lang(array('%d row','%d rows'),$fd):""),"var checked = formChecked(this, /check/); selectCount('selected', this.checked ? '$Zb' : checked); selectCount('selected2', this.checked || !checked ? '$Zb' : checked);")."\n","</fieldset>\n";if($b->selectCommandPrint()){echo'<fieldset',($_GET["modify"]?'':' class="jsonly"'),'><legend>Modify</legend><div>
<input type="submit" value="Save"',($_GET["modify"]?'':' title="'.'Ctrl+click on a value to modify it.'.'"'),'>
</div></fieldset>
<fieldset><legend>Selected <span id="selected"></span></legend><div>
<input type="submit" name="edit" value="Edit">
<input type="submit" name="clone" value="Clone">
<input type="submit" name="delete" value="Delete">',confirm(),'</div></fieldset>
';}$dd=$b->dumpFormat();foreach((array)$_GET["columns"]as$e){if($e["fun"]){unset($dd['sql']);break;}}if($dd){print_fieldset("export",'Export'." <span id='selected2'></span>");$Hf=$b->dumpOutput();echo($Hf?html_select("output",$Hf,$ya["output"])." ":""),html_select("format",$dd,$ya["format"])," <input type='submit' name='export' value='".'Export'."'>\n","</div></fieldset>\n";}$b->selectEmailPrint(array_filter($qc,'strlen'),$f);}echo"</div></div>\n";if($b->selectImportPrint()){echo"<div>","<a href='#import'>".'Import'."</a>",script("qsl('a').onclick = partial(toggle, 'import');",""),"<span id='import' class='hidden'>: ","<input type='file' name='csv_file'> ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$ya["format"],1);echo" <input type='submit' name='import' value='".'Import'."'>","</span>","</div>";}echo"<input type='hidden' name='token' value='$mi'>\n","</form>\n",(!$ld&&$L?"":script("tableCheck();"));}}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$Ch=isset($_GET["status"]);page_header($Ch?'Status':'Variables');$Ti=($Ch?show_status():show_variables());if(!$Ti)echo"<p class='message'>".'No rows.'."\n";else{echo"<table cellspacing='0'>\n";foreach($Ti
as$z=>$X){echo"<tr>","<th><code class='jush-".$y.($Ch?"status":"set")."'>".h($z)."</code>","<td>".h($X);}echo"</table>\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$Kh=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$C=>$R){json_row("Comment-$C",h($R["Comment"]));if(!is_view($R)){foreach(array("Engine","Collation")as$z)json_row("$z-$C",h($R[$z]));foreach($Kh+array("Auto_increment"=>0,"Rows"=>0)as$z=>$X){if($R[$z]!=""){$X=format_number($R[$z]);json_row("$z-$C",($z=="Rows"&&$X&&$R["Engine"]==($wh=="pgsql"?"table":"InnoDB")?"~ $X":$X));if(isset($Kh[$z]))$Kh[$z]+=($R["Engine"]!="InnoDB"||$z!="Data_free"?$R[$z]:0);}elseif(array_key_exists($z,$R))json_row("$z-$C");}}}foreach($Kh
as$z=>$X)json_row("sum-$z",format_number($X));json_row("");}elseif($_GET["script"]=="kill")$g->query("KILL ".number($_POST["kill"]));else{foreach(count_tables($b->databases())as$m=>$X){json_row("tables-$m",$X);json_row("size-$m",db_size($m));}json_row("");}exit;}else{$Th=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($Th&&!$o&&!$_POST["search"]){$H=true;$Je="";if($y=="sql"&&$_POST["tables"]&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"]||$_POST["copy"]))queries("SET foreign_key_checks = 0");if($_POST["truncate"]){if($_POST["tables"])$H=truncate_tables($_POST["tables"]);$Je='Tables have been truncated.';}elseif($_POST["move"]){$H=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$Je='Tables have been moved.';}elseif($_POST["copy"]){$H=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$Je='Tables have been copied.';}elseif($_POST["drop"]){if($_POST["views"])$H=drop_views($_POST["views"]);if($H&&$_POST["tables"])$H=drop_tables($_POST["tables"]);$Je='Tables have been dropped.';}elseif($y!="sql"){$H=($y=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$Je='Tables have been optimized.';}elseif(!$_POST["tables"])$Je='No tables.';elseif($H=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"])))){while($J=$H->fetch_assoc())$Je.="<b>".h($J["Table"])."</b>: ".h($J["Msg_text"])."<br>";}queries_redirect(substr(ME,0,-1),$Je,$H);}page_header(($_GET["ns"]==""?'Database'.": ".h(DB):'Schema'.": ".h($_GET["ns"])),$o,true);if($b->homepage()){if($_GET["ns"]!==""){echo"<h3 id='tables-views'>".'Tables and views'."</h3>\n";$Sh=tables_list();if(!$Sh)echo"<p class='message'>".'No tables.'."\n";else{echo"<form action='' method='post'>\n";if(support("table")){echo"<fieldset><legend>".'Search data in tables'." <span id='selected2'></span></legend><div>","<input type='search' name='query' value='".h($_POST["query"])."'>",script("qsl('input').onkeydown = partialArg(bodyKeydown, 'search');","")," <input type='submit' name='search' value='".'Search'."'>\n","</div></fieldset>\n";if($_POST["search"]&&$_POST["query"]!=""){$_GET["where"][0]["op"]="LIKE %%";search_tables();}}$ac=doc_link(array('sql'=>'show-table-status.html'));echo"<div class='scrollable'>\n","<table cellspacing='0' class='nowrap checkable'>\n",script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});"),'<thead><tr class="wrap">','<td><input id="check-all" type="checkbox" class="jsonly">'.script("qs('#check-all').onclick = partial(formCheck, /^(tables|views)\[/);",""),'<th>'.'Table','<td>'.'Engine'.doc_link(array('sql'=>'storage-engines.html')),'<td>'.'Collation'.doc_link(array('sql'=>'charset-charsets.html','mariadb'=>'supported-character-sets-and-collations/')),'<td>'.'Data Length'.$ac,'<td>'.'Index Length'.$ac,'<td>'.'Data Free'.$ac,'<td>'.'Auto Increment'.doc_link(array('sql'=>'example-auto-increment.html','mariadb'=>'auto_increment/')),'<td>'.'Rows'.$ac,(support("comment")?'<td>'.'Comment'.$ac:''),"</thead>\n";$S=0;foreach($Sh
as$C=>$T){$Wi=($T!==null&&!preg_match('~table~i',$T));$u=h("Table-".$C);echo'<tr'.odd().'><td>'.checkbox(($Wi?"views[]":"tables[]"),$C,in_array($C,$Th,true),"","","",$u),'<th>'.(support("table")||support("indexes")?"<a href='".h(ME)."table=".urlencode($C)."' title='".'Show structure'."' id='$u'>".h($C).'</a>':h($C));if($Wi){echo'<td colspan="6"><a href="'.h(ME)."view=".urlencode($C).'" title="'.'Alter view'.'">'.(preg_match('~materialized~i',$T)?'Materialized view':'View').'</a>','<td align="right"><a href="'.h(ME)."select=".urlencode($C).'" title="'.'Select data'.'">?</a>';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",'Alter table'),"Index_length"=>array("indexes",'Alter indexes'),"Data_free"=>array("edit",'New item'),"Auto_increment"=>array("auto_increment=1&create",'Alter table'),"Rows"=>array("select",'Select data'),)as$z=>$A){$u=" id='$z-".h($C)."'";echo($A?"<td align='right'>".(support("table")||$z=="Rows"||(support("indexes")&&$z!="Data_length")?"<a href='".h(ME."$A[0]=").urlencode($C)."'$u title='$A[1]'>?</a>":"<span$u>?</span>"):"<td id='$z-".h($C)."'>");}$S++;}echo(support("comment")?"<td id='Comment-".h($C)."'>":"");}echo"<tr><td><th>".sprintf('%d in total',count($Sh)),"<td>".h($y=="sql"?$g->result("SELECT @@storage_engine"):""),"<td>".h(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$z)echo"<td align='right' id='sum-$z'>";echo"</table>\n","</div>\n";if(!information_schema(DB)){echo"<div class='footer'><div>\n";$Qi="<input type='submit' value='".'Vacuum'."'> ".on_help("'VACUUM'");$tf="<input type='submit' name='optimize' value='".'Optimize'."'> ".on_help($y=="sql"?"'OPTIMIZE TABLE'":"'VACUUM OPTIMIZE'");echo"<fieldset><legend>".'Selected'." <span id='selected'></span></legend><div>".($y=="sqlite"?$Qi:($y=="pgsql"?$Qi.$tf:($y=="sql"?"<input type='submit' value='".'Analyze'."'> ".on_help("'ANALYZE TABLE'").$tf."<input type='submit' name='check' value='".'Check'."'> ".on_help("'CHECK TABLE'")."<input type='submit' name='repair' value='".'Repair'."'> ".on_help("'REPAIR TABLE'"):"")))."<input type='submit' name='truncate' value='".'Truncate'."'> ".on_help($y=="sqlite"?"'DELETE'":"'TRUNCATE".($y=="pgsql"?"'":" TABLE'")).confirm()."<input type='submit' name='drop' value='".'Drop'."'>".on_help("'DROP TABLE'").confirm()."\n";$l=(support("scheme")?$b->schemas():$b->databases());if(count($l)!=1&&$y!="sqlite"){$m=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"<p>".'Move to other database'.": ",($l?html_select("target",$l,$m):'<input name="target" value="'.h($m).'" autocapitalize="off">')," <input type='submit' name='move' value='".'Move'."'>",(support("copy")?" <input type='submit' name='copy' value='".'Copy'."'>":""),"\n";}echo"<input type='hidden' name='all' value=''>";echo
script("qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^(tables|views)\[/));".(support("table")?" selectCount('selected2', formChecked(this, /^tables\[/) || $S);":"")." }"),"<input type='hidden' name='token' value='$mi'>\n","</div></fieldset>\n","</div></div>\n";}echo"</form>\n",script("tableCheck();");}echo'<p class="links"><a href="'.h(ME).'create=">'.'Create table'."</a>\n",(support("view")?'<a href="'.h(ME).'view=">'.'Create view'."</a>\n":"");if(support("routine")){echo"<h3 id='routines'>".'Routines'."</h3>\n";$Tg=routines();if($Tg){echo"<table cellspacing='0'>\n",'<thead><tr><th>'.'Name'.'<td>'.'Type'.'<td>'.'Return type'."<td></thead>\n";odd('');foreach($Tg
as$J){$C=($J["SPECIFIC_NAME"]==$J["ROUTINE_NAME"]?"":"&name=".urlencode($J["ROUTINE_NAME"]));echo'<tr'.odd().'>','<th><a href="'.h(ME.($J["ROUTINE_TYPE"]!="PROCEDURE"?'callf=':'call=').urlencode($J["SPECIFIC_NAME"]).$C).'">'.h($J["ROUTINE_NAME"]).'</a>','<td>'.h($J["ROUTINE_TYPE"]),'<td>'.h($J["DTD_IDENTIFIER"]),'<td><a href="'.h(ME.($J["ROUTINE_TYPE"]!="PROCEDURE"?'function=':'procedure=').urlencode($J["SPECIFIC_NAME"]).$C).'">'.'Alter'."</a>";}echo"</table>\n";}echo'<p class="links">'.(support("procedure")?'<a href="'.h(ME).'procedure=">'.'Create procedure'.'</a>':'').'<a href="'.h(ME).'function=">'.'Create function'."</a>\n";}if(support("sequence")){echo"<h3 id='sequences'>".'Sequences'."</h3>\n";$hh=get_vals("SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = current_schema() ORDER BY sequence_name");if($hh){echo"<table cellspacing='0'>\n","<thead><tr><th>".'Name'."</thead>\n";odd('');foreach($hh
as$X)echo"<tr".odd()."><th><a href='".h(ME)."sequence=".urlencode($X)."'>".h($X)."</a>\n";echo"</table>\n";}echo"<p class='links'><a href='".h(ME)."sequence='>".'Create sequence'."</a>\n";}if(support("type")){echo"<h3 id='user-types'>".'User types'."</h3>\n";$Oi=types();if($Oi){echo"<table cellspacing='0'>\n","<thead><tr><th>".'Name'."</thead>\n";odd('');foreach($Oi
as$X)echo"<tr".odd()."><th><a href='".h(ME)."type=".urlencode($X)."'>".h($X)."</a>\n";echo"</table>\n";}echo"<p class='links'><a href='".h(ME)."type='>".'Create type'."</a>\n";}if(support("event")){echo"<h3 id='events'>".'Events'."</h3>\n";$K=get_rows("SHOW EVENTS");if($K){echo"<table cellspacing='0'>\n","<thead><tr><th>".'Name'."<td>".'Schedule'."<td>".'Start'."<td>".'End'."<td></thead>\n";foreach($K
as$J){echo"<tr>","<th>".h($J["Name"]),"<td>".($J["Execute at"]?'At given time'."<td>".$J["Execute at"]:'Every'." ".$J["Interval value"]." ".$J["Interval field"]."<td>$J[Starts]"),"<td>$J[Ends]",'<td><a href="'.h(ME).'event='.urlencode($J["Name"]).'">'.'Alter'.'</a>';}echo"</table>\n";$yc=$g->result("SELECT @@event_scheduler");if($yc&&$yc!="ON")echo"<p class='error'><code class='jush-sqlset'>event_scheduler</code>: ".h($yc)."\n";}echo'<p class="links"><a href="'.h(ME).'event=">'.'Create event'."</a>\n";}if($Sh)echo
script("ajaxSetHtml('".js_escape(ME)."script=db');");}}}page_footer();

Did this file decode correctly?

Original Code

eval(gzinflate(base64_decode('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')));

Function Calls

gzinflate 1
base64_decode 1

Variables

None

Stats

MD5 be7a620ec8d2c495497f9bc42d850612
Eval Count 1
Decode Time 487 ms