Hacked By AnonymousFox

Current Path : C:/AppServ/Apache2.2/
Upload File :
Current File : C:/AppServ/Apache2.2/ass.php

<?php
/** Adminer - Compact database management
* @link https://www.adminer.org/
* @author Jakub Vrana, https://www.vrana.cz/
* @copyright 2007 Jakub Vrana
* @license https://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @license https://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
* @version 5.2.1
*/namespace
Adminer;const
VERSION="5.2.1";error_reporting(24575);set_error_handler(function($rc,$tc){return!!preg_match('~^Undefined (array key|offset|index)~',$tc);},E_WARNING|E_NOTICE);$Mc=!preg_match('~^(unsafe_raw)?$~',ini_get("filter.default"));if($Mc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$gi=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($gi)$$X=$gi;}}if(function_exists("mb_internal_encoding"))mb_internal_encoding("8bit");function
connection($g=null){return($g?:Db::$Ld);}function
adminer(){return
Adminer::$Ld;}function
driver(){return
Driver::$Ld;}function
connect(){$wb=adminer()->credentials();$K=Driver::connect($wb[0],$wb[1],$wb[2]);return(is_object($K)?$K:null);}function
idf_unescape($v){if(!preg_match('~^[`\'"[]~',$v))return$v;$ee=substr($v,-1);return
str_replace($ee.$ee,$ee,substr($v,1,-1));}function
q($kh){return
connection()->quote($kh);}function
escape_string($X){return
substr(q($X),1,-1);}function
idx($ta,$y,$k=null){return($ta&&array_key_exists($y,$ta)?$ta[$y]:$k);}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(array$fg,$Mc=false){if(function_exists("get_magic_quotes_gpc")&&get_magic_quotes_gpc()){while(list($y,$X)=each($fg)){foreach($X
as$Wd=>$W){unset($fg[$y][$Wd]);if(is_array($W)){$fg[$y][stripslashes($Wd)]=$W;$fg[]=&$fg[$y][stripslashes($Wd)];}else$fg[$y][stripslashes($Wd)]=($Mc?$W:stripslashes($W));}}}}function
bracket_escape($v,$Aa=false){static$Th=array(':'=>':1',']'=>':2','['=>':3','"'=>':4');return
strtr($v,($Aa?array_flip($Th):$Th));}function
min_version($vi,$se="",$g=null){$g=connection($g);$Pg=$g->server_info;if($se&&preg_match('~([\d.]+)-MariaDB~',$Pg,$B)){$Pg=$B[1];$vi=$se;}return$vi&&version_compare($Pg,$vi)>=0;}function
charset(Db$f){return(min_version("5.5.3",0,$f)?"utf8mb4":"utf8");}function
ini_bool($Gd){$X=ini_get($Gd);return(preg_match('~^(on|true|yes)$~i',$X)||(int)$X);}function
sid(){static$K;if($K===null)$K=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));return$K;}function
set_password($ui,$P,$V,$G){$_SESSION["pwds"][$ui][$P][$V]=($_COOKIE["adminer_key"]&&is_string($G)?array(encrypt_string($G,$_COOKIE["adminer_key"])):$G);}function
get_password(){$K=get_session("pwds");if(is_array($K))$K=($_COOKIE["adminer_key"]?decrypt_string($K[0],$_COOKIE["adminer_key"]):false);return$K;}function
get_val($I,$m=0,$mb=null){$mb=connection($mb);$J=$mb->query($I);if(!is_object($J))return
false;$L=$J->fetch_row();return($L?$L[$m]:false);}function
get_vals($I,$c=0){$K=array();$J=connection()->query($I);if(is_object($J)){while($L=$J->fetch_row())$K[]=$L[$c];}return$K;}function
get_key_vals($I,$g=null,$Sg=true){$g=connection($g);$K=array();$J=$g->query($I);if(is_object($J)){while($L=$J->fetch_row()){if($Sg)$K[$L[0]]=$L[1];else$K[]=$L[0];}}return$K;}function
get_rows($I,$g=null,$l="<p class='error'>"){$mb=connection($g);$K=array();$J=$mb->query($I);if(is_object($J)){while($L=$J->fetch_assoc())$K[]=$L;}elseif(!$J&&!$g&&$l&&(defined('Adminer\PAGE_HEADER')||$l=="-- "))echo$l.error()."\n";return$K;}function
unique_array($L,array$x){foreach($x
as$w){if(preg_match("~PRIMARY|UNIQUE~",$w["type"])){$K=array();foreach($w["columns"]as$y){if(!isset($L[$y]))continue
2;$K[$y]=$L[$y];}return$K;}}}function
escape_key($y){if(preg_match('(^([\w(]+)('.str_replace("_",".*",preg_quote(idf_escape("_"))).')([ \w)]+)$)',$y,$B))return$B[1].idf_escape(idf_unescape($B[2])).$B[3];return
idf_escape($y);}function
where(array$Z,array$n=array()){$K=array();foreach((array)$Z["where"]as$y=>$X){$y=bracket_escape($y,true);$c=escape_key($y);$m=idx($n,$y,array());$Kc=$m["type"];$K[]=$c.(JUSH=="sql"&&$Kc=="json"?" = CAST(".q($X)." AS JSON)":(JUSH=="sql"&&is_numeric($X)&&preg_match('~\.~',$X)?" LIKE ".q($X):(JUSH=="mssql"&&strpos($Kc,"datetime")===false?" LIKE ".q(preg_replace('~[_%[]~','[\0]',$X)):" = ".unconvert_field($m,q($X)))));if(JUSH=="sql"&&preg_match('~char|text~',$Kc)&&preg_match("~[^ -@]~",$X))$K[]="$c = ".q($X)." COLLATE ".charset(connection())."_bin";}foreach((array)$Z["null"]as$y)$K[]=escape_key($y)." IS NULL";return
implode(" AND ",$K);}function
where_check($X,array$n=array()){parse_str($X,$Sa);remove_slashes(array(&$Sa));return
where($Sa,$n);}function
where_link($t,$c,$Y,$kf="="){return"&where%5B$t%5D%5Bcol%5D=".urlencode($c)."&where%5B$t%5D%5Bop%5D=".urlencode(($Y!==null?$kf:"IS NULL"))."&where%5B$t%5D%5Bval%5D=".urlencode($Y);}function
convert_fields(array$d,array$n,array$O=array()){$K="";foreach($d
as$y=>$X){if($O&&!in_array(idf_escape($y),$O))continue;$ua=convert_field($n[$y]);if($ua)$K
.=", $ua AS ".idf_escape($y);}return$K;}function
cookie($D,$Y,$me=2592000){header("Set-Cookie: $D=".urlencode($Y).($me?"; expires=".gmdate("D, d M Y H:i:s",time()+$me)." GMT":"")."; path=".preg_replace('~\?.*~','',$_SERVER["REQUEST_URI"]).(HTTPS?"; secure":"")."; HttpOnly; SameSite=lax",false);}function
get_settings($sb){parse_str($_COOKIE[$sb],$Tg);return$Tg;}function
get_setting($y,$sb="adminer_settings"){$Tg=get_settings($sb);return$Tg[$y];}function
save_settings(array$Tg,$sb="adminer_settings"){$Y=http_build_query($Tg+get_settings($sb));cookie($sb,$Y);$_COOKIE[$sb]=$Y;}function
restart_session(){if(!ini_bool("session.use_cookies")&&(!function_exists('session_status')||session_status()==1))session_start();}function
stop_session($Rc=false){$oi=ini_bool("session.use_cookies");if(!$oi||$Rc){session_write_close();if($oi&&@ini_set("session.use_cookies",'0')===false)session_start();}}function&get_session($y){return$_SESSION[$y][DRIVER][SERVER][$_GET["username"]];}function
set_session($y,$X){$_SESSION[$y][DRIVER][SERVER][$_GET["username"]]=$X;}function
auth_url($ui,$P,$V,$j=null){$ki=remove_from_uri(implode("|",array_keys(SqlDriver::$Wb))."|username|ext|".($j!==null?"db|":"").($ui=='mssql'||$ui=='pgsql'?"":"ns|").session_name());preg_match('~([^?]*)\??(.*)~',$ki,$B);return"$B[1]?".(sid()?SID."&":"").($ui!="server"||$P!=""?urlencode($ui)."=".urlencode($P)."&":"").($_GET["ext"]?"ext=".urlencode($_GET["ext"])."&":"")."username=".urlencode($V).($j!=""?"&db=".urlencode($j):"").($B[2]?"&$B[2]":"");}function
is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
redirect($A,$C=null){if($C!==null){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',($A!==null?$A:$_SERVER["REQUEST_URI"]))][]=$C;}if($A!==null){if($A=="")$A=".";header("Location: $A");exit;}}function
query_redirect($I,$A,$C,$ng=true,$yc=true,$Gc=false,$Gh=""){if($yc){$gh=microtime(true);$Gc=!connection()->query($I);$Gh=format_time($gh);}$bh=($I?adminer()->messageQuery($I,$Gh,$Gc):"");if($Gc){adminer()->error
.=error().$bh.script("messagesPrint();")."<br>";return
false;}if($ng)redirect($A,$C.$bh);return
true;}class
Queries{static$ig=array();static$gh=0;}function
queries($I){if(!Queries::$gh)Queries::$gh=microtime(true);Queries::$ig[]=(preg_match('~;$~',$I)?"DELIMITER ;;\n$I;\nDELIMITER ":$I).";";return
connection()->query($I);}function
apply_queries($I,array$T,$uc='Adminer\table'){foreach($T
as$R){if(!queries("$I ".$uc($R)))return
false;}return
true;}function
queries_redirect($A,$C,$ng){$ig=implode("\n",Queries::$ig);$Gh=format_time(Queries::$gh);return
query_redirect($ig,$A,$C,$ng,false,!$ng,$Gh);}function
format_time($gh){return
lang(0,max(0,microtime(true)-$gh));}function
relative_uri(){return
str_replace(":","%3a",preg_replace('~^[^?]*/([^?]*)~','\1',$_SERVER["REQUEST_URI"]));}function
remove_from_uri($Df=""){return
substr(preg_replace("~(?<=[?&])($Df".(SID?"":"|".session_name()).")=[^&]*&~",'',relative_uri()."&"),0,-1);}function
get_file($y,$Hb=false,$Mb=""){$Lc=$_FILES[$y];if(!$Lc)return
null;foreach($Lc
as$y=>$X)$Lc[$y]=(array)$X;$K='';foreach($Lc["error"]as$y=>$l){if($l)return$l;$D=$Lc["name"][$y];$Oh=$Lc["tmp_name"][$y];$ob=file_get_contents($Hb&&preg_match('~\.gz$~',$D)?"compress.zlib://$Oh":$Oh);if($Hb){$gh=substr($ob,0,3);if(function_exists("iconv")&&preg_match("~^\xFE\xFF|^\xFF\xFE~",$gh))$ob=iconv("utf-16","utf-8",$ob);elseif($gh=="\xEF\xBB\xBF")$ob=substr($ob,3);}$K
.=$ob;if($Mb)$K
.=(preg_match("($Mb\\s*\$)",$ob)?"":$Mb)."\n\n";}return$K;}function
upload_error($l){$ze=($l==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($l?lang(1).($ze?" ".lang(2,$ze):""):lang(3));}function
repeat_pattern($Mf,$ke){return
str_repeat("$Mf{0,65535}",$ke/65535)."$Mf{0,".($ke%65535)."}";}function
is_utf8($X){return(preg_match('~~u',$X)&&!preg_match('~[\0-\x8\xB\xC\xE-\x1F]~',$X));}function
format_number($X){return
strtr(number_format($X,0,".",lang(4)),preg_split('~~u',lang(5),-1,PREG_SPLIT_NO_EMPTY));}function
friendly_url($X){return
preg_replace('~\W~i','-',$X);}function
table_status1($R,$Hc=false){$K=table_status($R,$Hc);return($K?reset($K):array("Name"=>$R));}function
column_foreign_keys($R){$K=array();foreach(adminer()->foreignKeys($R)as$p){foreach($p["source"]as$X)$K[$X][]=$p;}return$K;}function
fields_from_edit(){$K=array();foreach((array)$_POST["field_keys"]as$y=>$X){if($X!=""){$X=bracket_escape($X);$_POST["function"][$X]=$_POST["field_funs"][$y];$_POST["fields"][$X]=$_POST["field_vals"][$y];}}foreach((array)$_POST["fields"]as$y=>$X){$D=bracket_escape($y,true);$K[$D]=array("field"=>$D,"privileges"=>array("insert"=>1,"update"=>1,"where"=>1,"order"=>1),"null"=>1,"auto_increment"=>($y==driver()->primary),);}return$K;}function
dump_headers($yd,$Me=false){$K=adminer()->dumpHeaders($yd,$Me);$Af=$_POST["output"];if($Af!="text")header("Content-Disposition: attachment; filename=".adminer()->dumpFilename($yd).".$K".($Af!="file"&&preg_match('~^[0-9a-z]+$~',$Af)?".$Af":""));session_write_close();if(!ob_get_level())ob_start(null,4096);ob_flush();flush();return$K;}function
dump_csv(array$L){foreach($L
as$y=>$X){if(preg_match('~["\n,;\t]|^0|\.\d*0$~',$X)||$X==="")$L[$y]='"'.str_replace('"','""',$X).'"';}echo
implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$L)."\r\n";}function
apply_sql_function($r,$c){return($r?($r=="unixepoch"?"DATETIME($c, '$r')":($r=="count distinct"?"COUNT(DISTINCT ":strtoupper("$r("))."$c)"):$c);}function
get_temp_dir(){$K=ini_get("upload_tmp_dir");if(!$K){if(function_exists('sys_get_temp_dir'))$K=sys_get_temp_dir();else{$o=@tempnam("","");if(!$o)return'';$K=dirname($o);unlink($o);}}return$K;}function
file_open_lock($o){if(is_link($o))return;$q=@fopen($o,"c+");if(!$q)return;chmod($o,0660);if(!flock($q,LOCK_EX)){fclose($q);return;}return$q;}function
file_write_unlock($q,$Bb){rewind($q);fwrite($q,$Bb);ftruncate($q,strlen($Bb));file_unlock($q);}function
file_unlock($q){flock($q,LOCK_UN);fclose($q);}function
first(array$ta){return
reset($ta);}function
password_file($h){$o=get_temp_dir()."/adminer.key";if(!$h&&!file_exists($o))return'';$q=file_open_lock($o);if(!$q)return'';$K=stream_get_contents($q);if(!$K){$K=rand_string();file_write_unlock($q,$K);}else
file_unlock($q);return$K;}function
rand_string(){return
md5(uniqid(strval(mt_rand()),true));}function
select_value($X,$_,array$m,$Fh){if(is_array($X)){$K="";foreach($X
as$Wd=>$W)$K
.="<tr>".($X!=array_values($X)?"<th>".h($Wd):"")."<td>".select_value($W,$_,$m,$Fh);return"<table>$K</table>";}if(!$_)$_=adminer()->selectLink($X,$m);if($_===null){if(is_mail($X))$_="mailto:$X";if(is_url($X))$_=$X;}$K=adminer()->editVal($X,$m);if($K!==null){if(!is_utf8($K))$K="\0";elseif($Fh!=""&&is_shortable($m))$K=shorten_utf8($K,max(0,+$Fh));else$K=h($K);}return
adminer()->selectVal($K,$_,$m,$X);}function
is_mail($hc){$va='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$Vb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$Mf="$va+(\\.$va+)*@($Vb?\\.)+$Vb";return
is_string($hc)&&preg_match("(^$Mf(,\\s*$Mf)*\$)i",$hc);}function
is_url($kh){$Vb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return
preg_match("~^(https?)://($Vb?\\.)+$Vb(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$kh);}function
is_shortable(array$m){return
preg_match('~char|text|json|lob|geometry|point|linestring|polygon|string|bytea~',$m["type"]);}function
count_rows($R,array$Z,$Qd,array$s){$I=" FROM ".table($R).($Z?" WHERE ".implode(" AND ",$Z):"");return($Qd&&(JUSH=="sql"||count($s)==1)?"SELECT COUNT(DISTINCT ".implode(", ",$s).")$I":"SELECT COUNT(*)".($Qd?" FROM (SELECT 1$I GROUP BY ".implode(", ",$s).") x":$I));}function
slow_query($I){$j=adminer()->database();$Hh=adminer()->queryTimeout();$Xg=driver()->slowQuery($I,$Hh);$g=null;if(!$Xg&&support("kill")){$g=connect();if($g&&($j==""||$g->select_db($j))){$Yd=get_val(connection_id(),0,$g);echo
script("const timeout = setTimeout(() => { ajax('".js_escape(ME)."script=kill', function () {}, 'kill=$Yd&token=".get_token()."'); }, 1000 * $Hh);");}}ob_flush();flush();$K=@get_key_vals(($Xg?:$I),$g,false);if($g){echo
script("clearTimeout(timeout);");ob_flush();flush();}return$K;}function
get_token(){$lg=rand(1,1e6);return($lg^$_SESSION["token"]).":$lg";}function
verify_token(){list($Ph,$lg)=explode(":",$_POST["token"]);return($lg^$_SESSION["token"])==$Ph;}function
lzw_decompress($Ga){$Rb=256;$Ha=8;$ab=array();$xg=0;$yg=0;for($t=0;$t<strlen($Ga);$t++){$xg=($xg<<8)+ord($Ga[$t]);$yg+=8;if($yg>=$Ha){$yg-=$Ha;$ab[]=$xg>>$yg;$xg&=(1<<$yg)-1;$Rb++;if($Rb>>$Ha)$Ha++;}}$Qb=range("\0","\xFF");$K="";$Di="";foreach($ab
as$t=>$Za){$gc=$Qb[$Za];if(!isset($gc))$gc=$Di.$Di[0];$K
.=$gc;if($t)$Qb[]=$Di.$gc[0];$Di=$gc;}return$K;}function
script($Zg,$Sh="\n"){return"<script".nonce().">$Zg</script>$Sh";}function
script_src($li,$Jb=false){return"<script src='".h($li)."'".nonce().($Jb?" defer":"")."></script>\n";}function
nonce(){return' nonce="'.get_nonce().'"';}function
input_hidden($D,$Y=""){return"<input type='hidden' name='".h($D)."' value='".h($Y)."'>\n";}function
input_token(){return
input_hidden("token",get_token());}function
target_blank(){return' target="_blank" rel="noreferrer noopener"';}function
h($kh){return
str_replace("\0","&#0;",htmlspecialchars($kh,ENT_QUOTES,'utf-8'));}function
nl_br($kh){return
str_replace("\n","<br>",$kh);}function
checkbox($D,$Y,$Ua,$ae="",$jf="",$Ya="",$ce=""){$K="<input type='checkbox' name='$D' value='".h($Y)."'".($Ua?" checked":"").($ce?" aria-labelledby='$ce'":"").">".($jf?script("qsl('input').onclick = function () { $jf };",""):"");return($ae!=""||$Ya?"<label".($Ya?" class='$Ya'":"").">$K".h($ae)."</label>":$K);}function
optionlist($nf,$Kg=null,$pi=false){$K="";foreach($nf
as$Wd=>$W){$of=array($Wd=>$W);if(is_array($W)){$K
.='<optgroup label="'.h($Wd).'">';$of=$W;}foreach($of
as$y=>$X)$K
.='<option'.($pi||is_string($y)?' value="'.h($y).'"':'').($Kg!==null&&($pi||is_string($y)?(string)$y:$X)===$Kg?' selected':'').'>'.h($X);if(is_array($W))$K
.='</optgroup>';}return$K;}function
html_select($D,array$nf,$Y="",$if="",$ce=""){static$ae=0;$be="";if(!$ce&&substr($nf[""],0,1)=="("){$ae++;$ce="label-$ae";$be="<option value='' id='$ce'>".h($nf[""]);unset($nf[""]);}return"<select name='".h($D)."'".($ce?" aria-labelledby='$ce'":"").">".$be.optionlist($nf,$Y)."</select>".($if?script("qsl('select').onchange = function () { $if };",""):"");}function
html_radios($D,array$nf,$Y="",$Og=""){$K="";foreach($nf
as$y=>$X)$K
.="<label><input type='radio' name='".h($D)."' value='".h($y)."'".($y==$Y?" checked":"").">".h($X)."</label>$Og";return$K;}function
confirm($C="",$Lg="qsl('input')"){return
script("$Lg.onclick = () => confirm('".($C?js_escape($C):lang(6))."');","");}function
print_fieldset($u,$je,$yi=false){echo"<fieldset><legend>","<a href='#fieldset-$u'>$je</a>",script("qsl('a').onclick = partial(toggle, 'fieldset-$u');",""),"</legend>","<div id='fieldset-$u'".($yi?"":" class='hidden'").">\n";}function
bold($Ja,$Ya=""){return($Ja?" class='active $Ya'":($Ya?" class='$Ya'":""));}function
js_escape($kh){return
addcslashes($kh,"\r\n'\\/");}function
pagination($F,$zb){return" ".($F==$zb?$F+1:'<a href="'.h(remove_from_uri("page").($F?"&page=$F".($_GET["next"]?"&next=".urlencode($_GET["next"]):""):"")).'">'.($F+1)."</a>");}function
hidden_fields(array$fg,array$_d=array(),$Yf=''){$K=false;foreach($fg
as$y=>$X){if(!in_array($y,$_d)){if(is_array($X))hidden_fields($X,array(),$y);else{$K=true;echo
input_hidden(($Yf?$Yf."[$y]":$y),$X);}}}return$K;}function
hidden_fields_get(){echo(sid()?input_hidden(session_name(),session_id()):''),(SERVER!==null?input_hidden(DRIVER,SERVER):""),input_hidden("username",$_GET["username"]);}function
enum_input($U,$wa,array$m,$Y,$kc=null){preg_match_all("~'((?:[^']|'')*)'~",$m["length"],$ue);$K=($kc!==null?"<label><input type='$U'$wa value='$kc'".((is_array($Y)?in_array($kc,$Y):$Y===$kc)?" checked":"")."><i>".lang(7)."</i></label>":"");foreach($ue[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$Ua=(is_array($Y)?in_array($X,$Y):$Y===$X);$K
.=" <label><input type='$U'$wa value='".h($X)."'".($Ua?' checked':'').'>'.h(adminer()->editVal($X,$m)).'</label>';}return$K;}function
input(array$m,$Y,$r,$_a=false){$D=h(bracket_escape($m["field"]));echo"<td class='function'>";if(is_array($Y)&&!$r){$Y=json_encode($Y,128|64|256);$r="json";}$wg=(JUSH=="mssql"&&$m["auto_increment"]);if($wg&&!$_POST["save"])$r=null;$ad=(isset($_GET["select"])||$wg?array("orig"=>lang(8)):array())+adminer()->editFunctions($m);$Sb=stripos($m["default"],"GENERATED ALWAYS AS ")===0?" disabled=''":"";$wa=" name='fields[$D]'$Sb".($_a?" autofocus":"");$qc=driver()->enumLength($m);if($qc){$m["type"]="enum";$m["length"]=$qc;}echo
driver()->unconvertFunction($m)." ";$R=$_GET["edit"]?:$_GET["select"];if($m["type"]=="enum")echo
h($ad[""])."<td>".adminer()->editInput($R,$m,$wa,$Y);else{$md=(in_array($r,$ad)||isset($ad[$r]));echo(count($ad)>1?"<select name='function[$D]'$Sb>".optionlist($ad,$r===null||$md?$r:"")."</select>".on_help("event.target.value.replace(/^SQL\$/, '')",1).script("qsl('select').onchange = functionChange;",""):h(reset($ad))).'<td>';$Id=adminer()->editInput($R,$m,$wa,$Y);if($Id!="")echo$Id;elseif(preg_match('~bool~',$m["type"]))echo"<input type='hidden'$wa value='0'>"."<input type='checkbox'".(preg_match('~^(1|t|true|y|yes|on)$~i',$Y)?" checked='checked'":"")."$wa value='1'>";elseif($m["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$m["length"],$ue);foreach($ue[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$Ua=in_array($X,explode(",",$Y),true);echo" <label><input type='checkbox' name='fields[$D][$t]' value='".h($X)."'".($Ua?' checked':'').">".h(adminer()->editVal($X,$m)).'</label>';}}elseif(preg_match('~blob|bytea|raw|file~',$m["type"])&&ini_bool("file_uploads"))echo"<input type='file' name='fields-$D'>";elseif($r=="json"||preg_match('~^jsonb?$~',$m["type"]))echo"<textarea$wa cols='50' rows='12' class='jush-js'>".h($Y).'</textarea>';elseif(($Eh=preg_match('~text|lob|memo~i',$m["type"]))||preg_match("~\n~",$Y)){if($Eh&&JUSH!="sqlite")$wa
.=" cols='50' rows='12'";else{$M=min(12,substr_count($Y,"\n")+1);$wa
.=" cols='30' rows='$M'";}echo"<textarea$wa>".h($Y).'</textarea>';}else{$bi=driver()->types();$Ae=(!preg_match('~int~',$m["type"])&&preg_match('~^(\d+)(,(\d+))?$~',$m["length"],$B)?((preg_match("~binary~",$m["type"])?2:1)*$B[1]+($B[3]?1:0)+($B[2]&&!$m["unsigned"]?1:0)):($bi[$m["type"]]?$bi[$m["type"]]+($m["unsigned"]?0:1):0));if(JUSH=='sql'&&min_version(5.6)&&preg_match('~time~',$m["type"]))$Ae+=7;echo"<input".((!$md||$r==="")&&preg_match('~(?<!o)int(?!er)~',$m["type"])&&!preg_match('~\[\]~',$m["full_type"])?" type='number'":"")." value='".h($Y)."'".($Ae?" data-maxlength='$Ae'":"").(preg_match('~char|binary~',$m["type"])&&$Ae>20?" size='".($Ae>99?60:40)."'":"")."$wa>";}echo
adminer()->editHint($R,$m,$Y);$Nc=0;foreach($ad
as$y=>$X){if($y===""||!$X)break;$Nc++;}if($Nc&&count($ad)>1)echo
script("qsl('td').oninput = partial(skipOriginal, $Nc);");}}function
process_input(array$m){if(stripos($m["default"],"GENERATED ALWAYS AS ")===0)return;$v=bracket_escape($m["field"]);$r=idx($_POST["function"],$v);$Y=$_POST["fields"][$v];if($m["type"]=="enum"||driver()->enumLength($m)){if($Y==-1)return
false;if($Y=="")return"NULL";}if($m["auto_increment"]&&$Y=="")return
null;if($r=="orig")return(preg_match('~^CURRENT_TIMESTAMP~i',$m["on_update"])?idf_escape($m["field"]):false);if($r=="NULL")return"NULL";if($m["type"]=="set")$Y=implode(",",(array)$Y);if($r=="json"){$r="";$Y=json_decode($Y,true);if(!is_array($Y))return
false;return$Y;}if(preg_match('~blob|bytea|raw|file~',$m["type"])&&ini_bool("file_uploads")){$Lc=get_file("fields-$v");if(!is_string($Lc))return
false;return
driver()->quoteBinary($Lc);}return
adminer()->processInput($m,$Y,$r);}function
search_tables(){$_GET["where"][0]["val"]=$_POST["query"];$Ng="<ul>\n";foreach(table_status('',true)as$R=>$S){$D=adminer()->tableName($S);if(isset($S["Engine"])&&$D!=""&&(!$_POST["tables"]||in_array($R,$_POST["tables"]))){$J=connection()->query("SELECT".limit("1 FROM ".table($R)," WHERE ".implode(" AND ",adminer()->selectSearchProcess(fields($R),array())),1));if(!$J||$J->fetch_row()){$bg="<a href='".h(ME."select=".urlencode($R)."&where[0][op]=".urlencode($_GET["where"][0]["op"])."&where[0][val]=".urlencode($_GET["where"][0]["val"]))."'>$D</a>";echo"$Ng<li>".($J?$bg:"<p class='error'>$bg: ".error())."\n";$Ng="";}}}echo($Ng?"<p class='message'>".lang(9):"</ul>")."\n";}function
on_help($fb,$Vg=0){return
script("mixin(qsl('select, input'), {onmouseover: function (event) { helpMouseover.call(this, event, $fb, $Vg) }, onmouseout: helpMouseout});","");}function
edit_form($R,array$n,$L,$ji,$l=''){$th=adminer()->tableName(table_status1($R,true));page_header(($ji?lang(10):lang(11)),$l,array("select"=>array($R,$th)),$th);adminer()->editRowPrint($R,$n,$L,$ji);if($L===false){echo"<p class='error'>".lang(12)."\n";return;}echo"<form action='' method='post' enctype='multipart/form-data' id='form'>\n";if(!$n)echo"<p class='error'>".lang(13)."\n";else{echo"<table class='layout'>".script("qsl('table').onkeydown = editingKeydown;");$_a=!$_POST;foreach($n
as$D=>$m){echo"<tr><th>".adminer()->fieldName($m);$k=idx($_GET["set"],bracket_escape($D));if($k===null){$k=$m["default"];if($m["type"]=="bit"&&preg_match("~^b'([01]*)'\$~",$k,$ug))$k=$ug[1];if(JUSH=="sql"&&preg_match('~binary~',$m["type"]))$k=bin2hex($k);}$Y=($L!==null?($L[$D]!=""&&JUSH=="sql"&&preg_match("~enum|set~",$m["type"])&&is_array($L[$D])?implode(",",$L[$D]):(is_bool($L[$D])?+$L[$D]:$L[$D])):(!$ji&&$m["auto_increment"]?"":(isset($_GET["select"])?false:$k)));if(!$_POST["save"]&&is_string($Y))$Y=adminer()->editVal($Y,$m);$r=($_POST["save"]?idx($_POST["function"],$D,""):($ji&&preg_match('~^CURRENT_TIMESTAMP~i',$m["on_update"])?"now":($Y===false?null:($Y!==null?'':'NULL'))));if(!$_POST&&!$ji&&$Y==$m["default"]&&preg_match('~^[\w.]+\(~',$Y))$r="SQL";if(preg_match("~time~",$m["type"])&&preg_match('~^CURRENT_TIMESTAMP~i',$Y)){$Y="";$r="now";}if($m["type"]=="uuid"&&$Y=="uuid()"){$Y="";$r="uuid";}if($_a!==false)$_a=($m["auto_increment"]||$r=="now"||$r=="uuid"?null:true);input($m,$Y,$r,$_a);if($_a)$_a=false;echo"\n";}if(!support("table")&&!fields($R))echo"<tr>"."<th><input name='field_keys[]'>".script("qsl('input').oninput = fieldChange;")."<td class='function'>".html_select("field_funs[]",adminer()->editFunctions(array("null"=>isset($_GET["select"]))))."<td><input name='field_vals[]'>"."\n";echo"</table>\n";}echo"<p>\n";if($n){echo"<input type='submit' value='".lang(14)."'>\n";if(!isset($_GET["select"]))echo"<input type='submit' name='insert' value='".($ji?lang(15):lang(16))."' title='Ctrl+Shift+Enter'>\n",($ji?script("qsl('input').onclick = function () { return !ajaxForm(this.form, '".lang(17)."…', this); };"):"");}echo($ji?"<input type='submit' name='delete' value='".lang(18)."'>".confirm()."\n":"");if(isset($_GET["select"]))hidden_fields(array("check"=>(array)$_POST["check"],"clone"=>$_POST["clone"],"all"=>$_POST["all"]));echo
input_hidden("referer",(isset($_POST["referer"])?$_POST["referer"]:$_SERVER["HTTP_REFERER"])),input_hidden("save",1),input_token(),"</form>\n";}function
shorten_utf8($kh,$ke=80,$oh=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{10FFFF}]",$ke).")($)?)u",$kh,$B))preg_match("(^(".repeat_pattern("[\t\r\n -~]",$ke).")($)?)",$kh,$B);return
h($B[1]).$oh.(isset($B[2])?"":"<i>…</i>");}function
icon($xd,$D,$wd,$Jh){return"<button type='submit' name='$D' title='".h($Jh)."' class='icon icon-$xd'><span>$wd</span></button>";}if(isset($_GET["file"])){if(substr(VERSION,-4)!='-dev'){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");}@ini_set("zlib.output_compression",'1');if($_GET["file"]=="default.css"){header("Content-Type: text/css; charset=utf-8");echo
lzw_decompress("h:Mhgб\"PimcCd<fa:;NBqR;1Lf9u7%d\\;3A`%E!e9&r4MAv2\r&:Φs0*3Má-;LC@i:dt3-8aI\$ãe	#9lT!Ѻ>e\0ddC:6\\cArhM4kZ|O+f9X7h\"Si|+9ƣ-4W~T:zkHb{&єt:ܸ.Kv8#\",7!pp2\0\\ \$r7ތ#i\"aT(L2#:\0ΤxXFljd&jvڗ@dE!,9.+`JahbDP<|\"Cp>ˑ+b2	L{FQ|rKlɏ_t=bK|\r=R>0(kbJU,PUumI.tA-KX4z)MPk3e`N>D#9\\(YT@hL1]ȴͺNKն2\\73i/VlYҗBA/[JĘВ\r;'2^텪bۣ3T=0H8\r+6kfC]qW)²C2`A82!hmвGD2-CYc`<s629uyҝMgy=,CZO~^302<k0wM{d#`Zۀ޺6C%=Rq_+-K>\n'GA\$^j><gfhmb*/\$\$lشg)Aj w#ᣃTN]T%ZjJCf4zF'* xho&k\r,r:>s(LAs5Ctn6 ll\\9D\\!mv\0A{9`.סSlg6!.20PԠi\r\$7w;G\$0CI^J\nLPc'*Ehb;pB(x:DL.j9AC@I3jf5sI`X}Ҕ#7T`djhH49S\nqHJQ H`,FP0\\{m\r~@20u!	\$PoQ4ǚ\nZLMBk)@dSLpvyЃB^o*R\"#rͥS;\r4&GIT	r9=6QT\0\0f#=\$H6PY:G\$09:a3Hz;G\r!hJn7	oYWLvېi|%-d\$pDR2T\rpaUn5rj\$r%D)\$GڃBu:`(lSD)I	9*ꁗ\rt2 zIg[Xc,u\rvJ5?\":^.uJPo\$t\$18\nnKT%EZ,6DHV󆪹i&zxpdrx*}ʐR25+ѓf2wq0X12dXߢ̏WËV8f\"냐q(uEGqM#а#K3WAvYÞeK]t]Ej=SX@Ӈ\rӘ\$9ܬ0P7\"D.匎<;Nj=^mmڒG68 C%v'yk/^53@.ڛka*D:7C}```)7|	3 i騽4\0.:QL؜ͨf'%ݩM	Y3\0##tP6(Bdoy6|5IH7z?(Ŗ\$RWT谦:(`r϶is=D\\,kr1ٓ2`A9&n~Ҭ6;vp M#]ɴAiJ.tYsOPwĸmZAUʷJN?z3\$PqsU9,#5PnbuNѐ{N`饙۝iw\rb&E\\tgba1+mpw#vlU\0e.(wb@\\w()E;Z]/&|>Q\"c	<F\r7ϵ\\'Sfe\rRVlo/.\nFo ehejנTsa422 `o\\A?]IoB[{7'Q%6s7\$Ó~%u)5i0#\rfMXN\\ɇ\0,TETo\0{oRr^C @Z.C,c'J-BL\rPCD\"b^.\"h\0\r\0\n`	  no	\r\r0`0	\rp 	0\n F@` V\0\n\r\0\nj\n@\0\r\n	 \n@@\r\0& \n@ @ zƂ*wq0g5aPxG		\n\n\rp\rp\r	0\r`\r@@ ^\r \0\rd@3 1Q9AB<t1N?Sv-ap	pP\n0\0@Ѱ\r^\"i@\n 6 \0	 p\n\n` qޒQDBMd9TUq12	\n2rR#2+\r/#@\" Q\r\r@\nh\n〪\0`	@!;CoUҋ2e Qk p !P3с!r%p	 ,`\n`\n@ff ` \n@	F#`p# o\\%Bl?M-jPr3/3*Qlp	p\r`=\n\0_>1'#\0>\0\r \n@ f0'@Ā\0\rdFhI\$`,CȕPݔT>7\0]ẸʉDGAC\\BMDԈfmd(\rOGFiDNɜn24tΔwFtFHCԈu+\$K6蔓E.AKԏL*1JK>MH\"GNPjE> H&5HLM#EPcc8l,CNPt@V t\nݴI	kGH	)D(JPl1jnlԍJ~*&n\\HUfLkKrF<|HNx\\ NlNI\0rzMtU|ZĸԘ\rHC΀B\"@bcnAJ9OrtA4\r@hA^`^V0^!LjU.^\r\"kalpd }\0NIGPUYtyMPrYEԥx6``jg1SB܂X8V?Id[IQ.`i̲vԞU)Ԝ\n2PV~ \"\"&r]- p*\0f\"Kj`q\nJ\"qF.\"@r(`3q>\"f\r\$ح R1h&H`ZV	u+Moʬ\n3J\r Đ2I D'!S0W0J?ypjZ.\n\r pw\"-+zr!`|v2\nlf(m<=F\rQ}~7\r#o3}x<~WiEã[8\nbjj\r: )v'{Vq\no{)C߂i\r%遀C(kk4ؐd jXLN(A}xe|wGxhXx\r%K޼oqx8s4exρn*4Fc8~hIp]{%( Ӓ<VCB{wOƣ}Q8[[{cT%&o:*bE`mIYWk8You)Y5o9ަى<8(?\0[s@*8}ߟ9g\rӟ\0\n'w±x)݌٩92Z1@[I+_57=Dqz!}KNd3\0q+CY_g8yډK4{S82ZzX\0ϨzSڱe \r>:Ǭ_ZÏe:u{UMaBzɈb2YSWJ(wOwӁwmتZNl˧C98BD6Zyx{;![m{})#4[(bɘՆu,O\"F7y?9nd}{ݍs{eʦ>\"ccdcs{vdCN[GMC瓭DE@");}elseif($_GET["file"]=="dark.css"){header("Content-Type: text/css; charset=utf-8");echo
lzw_decompress("h:Mhgh0LЁd91S!	F!v}0fa	G2Na'3IdK%	m(\r&Xo;NBy>2S*^#Q1=JW^Loc!f6mal4&1Lf9u7VDc3n82IΆ,:5rP1m>5W/FcDh2L\rNWo&hke2ٌb12Ƽ~0 D}N\0f4MCn=pZشN~;-C %z99P\"Ž;\0f89p:m8@\nX:r3#C[Cx#I2\\\"p]#5Rr6#L7!H\$\$IRd'ˉ8]	x+>C@-;b<2ÔN4,-Mr6IcX4a5KETh@1@RK9\r(9#8GCpwID52l\"_'UBU9c@G=C\nS0j7PU9J]<׋\nƲσz?B24\r/P\rM[XF_jHbnC&¡f%@cC^.28׎C}^swL/5OMڳ	*X?b.Ig&aq݊>FN-`y4sj\\&:SaP;HXޯdkt?.,ZO@@8Z3c\"ß\n=AH1\\Z^/k΃LuC\\c)0OMlpr7\rqWRac@wmk/8*?̐45\\mk>d1nUQ#w憟Lo&hĪPrnR,5z\"\$3dYH(p\rALAC)pTPl!\"L8R&\0Z౒0P8J	`e0	1	DJsH)k [Cypjx,\rAm!<h1");}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");echo
lzw_decompress("':̢i11	4Q6a&:OAIe:NFD|!Cym2\"r<̱/C#:DbqSeJ˦Cܺ\n\nDZS\rZH\$RAܞS+XKvtdg:6EvXŞjmҩej2MB&ʮLC3Q0L-x\nDyNaPn:s͐(cL/(5{Qy4g-i4ڃf(bUko7&ä*ACb`.\r\nCh<\r)`إ`7CʒZX<Q1X@0dp9EQfF\r!(h)\np'#ČH(i*r&<#7K~# A:N6l,\rJP3!@2>CrhN](a0M326UE2'!<#3R<XCH7#n+a\$!2P0.wdr:YE!]<j@\\pl_\rZғTͩZs3\"~9jP)QYbݕDYc`zcѨ'#tBOh*2<ŒOfg-Z#8a^+r2b\\~0Wnp!#`Z612@ky9\rB3pޅ6<!pG9no6s#F3bA69Z#6%?s\"|؂)bJc\rNsih8ݟ:;HތuI5@1APaH^\$Hv@ÛL~b9'S?P-0C\nRm4ȓ:Ը24h(k\njI6\"EY#Wr\rG8@tXԓBS\nc0kC I\rʰ<u`A!)2C\0= P1ӢK!!pIs,6di1+k<^	\n20Fԉ_\$)f\0C8E^/3W!א)u*&\$2Y\n]EkDV\$JxTse!RY R`=Lޫ\nl_.!V!\r\nHk\$א`{1	|i<jRrPTG|w4b\r4d,E6<h[Nq@Oi>'ѩ\r;]#}0ASIJdA/Q⸵@t\rUG_G<<y-Iz򄤝\"PB\0q`vAa̡JRʮ)JB.TLyCpp\0(7cYYaM1em4crS)opC!ISœb0m(dEH߳X/PyX85\$+֖gdyϝJ lEur,dCX}em]2̽(-zZ;I\\) ,\n>)\rVS\njx*w`ⴷSFid,ZJFM}Њ \\ZP`zZE]dɟOcmԁ] %\"w4\n\$zVSQD:6GwMS0B-s)Zcǁ2δA;nWz/AZhG~cc%[D&lFR77|I3g0Lac0RJ2%F S L^ trtʩ;.喚Ł>[aN^(!g@1Nz<bݖO,CuDtj޹I;)݀\nncȂW<s	\0hNP9{ueut뵕3=gJWQ0w9p-	'5\nOe)M)_kz\0V;jl\nxPf-`C.@&]#\0ڶpy͖ƛtd b}	G1mru*_xD3qBsQus%\n5sut{syN4,J{4@\0P^=l`e~F١h3o\"qR<iUT[QUM6T. 0'pe\\5pCe	ٕ\"*M	D?h2zU@7C4aiE!f\$B<9o*\$lH\$ @P\rNYn<\$	Q=F&*@]\0 W'd z\$jP[\$0#&_`+B)wv%	LcJRSi`Ů	FW	\nBP\n\r\0}	瑩0Z/`j\$: 8ieφxa GnsgOU%VU@Nϐd+(oJ@XzM'F٣WhVI^٢1>@\" QR!\\`[.0fbF;‡Fpp/t`(VbȲ(Hlԯ1vH1T3q1Ѫf\nT\$Nq+`ލvǜ\rVmr'ϸg%\"Lm((CLz\"hXm=\\H\n0U f&M\$g\$U`a\rP>`#gh`R4H'GK;\"MۨThBEn\"b>\r#\0N:#_	QQ1{	f:BR&)JBr+K.\$Pq-rS%TIT&Q{#2o(*P5`1H'	<Tds,N ^\r%3\r&4B/\0kLH\$4d>/ඵH*3JА<Hhp'O/&2I.x3V.s5e3ێZ(9Eg;R;JQ@vgz@'dZ&,UFb*DH! \r;%x'G#͠w#֠2;#BvXa\nb{4KG%GuE`\\\rB\r\0-mW\rM\"#EcFbFnz@4J[\$%2V%&TVd4hemN-;Eľ%EEr<\"@FP€L ߭4Ez`u7N4\0F:hKh/:\"MZ\r+P4\r?SO;B0\$FCEpM\"%H4D|LNFtEg5=J\r\"޼54KP\rbZ\r\"pEQ'DwKW0g'l\"hQFC,CcIHPhF]5& fTiSTUS[4[uNe\$oKO b\" 5\0D)E%\"]/ЌJ6Ud`a)V-0DӔbM)`%ELt+6C7jd:V4ơ3 -R\rGIT#<4-CgCP{V\$'gR@'S=%Fk:k9e]aOG9;-68W*x\"UYlB	\nplZm\05Oq̨bW1s@K-pESpw\nGWoQqG}vpw}qq\\7RZ@tt;pG}w׀/%\"LE\0th)\rJ\\W@	|D#SƃVRz2v	}(\0y<X\rxq<Isk1S-Q4Yq8#vd.ֹS;q!,'(<.J7H\".u#Q\rerXv[h\${-YJBgiM8'\nƘtDZ~/b8\$DbROO`O5S>[Dꔸ_3X)'Jd\rXUDUX8x-旅PN`	\nZ@Ra48:\0xN\\0%f\\>\"@^\0ZxZ\0ZaBr#X\r{˕flFb\0[ވ\0[6	 =\nWB\$'kG(\$ye9(8& hRܔoȼ LJY47_d9'z\r  vGO8MOh'XS0\0\0	9s?IMY8 9HO,4	xsP*Gc8QɠwB|z	@	9cKQGbFjXoS\$dFHĂP@ѧ<嶴,}mr\"'k`cxeCC::X T^dÆqhsLvҮ0\r,4\r_vLjjMb[  lsZ@;f`2Yce'MerF\$!\n	*0\rANLPjٓ;ƣVQ|(3[p8|^\rBf/DҞ B_N5M \$\naZЦ~UlerŧrZaZգs8RGZwN_ƱYϣm];ƚLcŰIQ3O|y*` 54;&v8#R8+`XbV6ƫi3FEoc82M\"GWb\rOCVdӭw\\ͯ*cSiQүR`d7}	)ϴ,+bd۹FN3L\\eRn\$&\\r+d]O5kq,&\"DCU6jp\\'@o~5N=|&!BwHyyz7(Ǎb5(3փ_\0`zbУr8	Zv8L˓)SM<*7\$\rRbB%ƴDszR>[Q&Q'\rppz/<}L#ΕZ\"t\n.4gPpDnʹNFd\0`^\rnȂ׳#_ w(2<7-X޹\0s,^hC,!:\rK.ӢŢ\\+vZ\0Q9eʛ˞Ew?>\$}D#c0MV3%Y\rtj57{ŝLz=<8IMGL\$2{(pe?u,Rd*X4\0\"@}<.@	N\$XUjs/<>\"* #\$&CPI	t? 	O\\_Q5YH@bch뱖O0T'8wj+Hv_#06w֎Xd+ܓ\\\n\0	\\>sA	PFd8m'@\nH\0cOwSY`RDna\"~?m|@6+GxV\0WӰnw.؃b9ÍE|E\rЈr\"x-\rN6n\$Ҭ-BH^)y&ךWǧbvR	N\0n	T`8XA\r:{O@\" !\$KqojY֪Jh}d<1IxdTT4NeeC0䥿:DF5L*::HjZFRMրnS\n>PO[\$V8;#K\\'BRدR_8j*Ej\\~vvp@TX\0002dE	HVD\"Q'EDJB~AAIl*'\nY.+9pg/\"180IAFCȨV*aPdУ5H\"A6sY;訞/0v}y\rץ1u\"ˋm_0焄`\\B1^\nk\r]lh}]HBW`0꨹rFf)W,ҧ]sm9'OxԽ,9J8?4\"҅۽<-SM;v6y|Z%a#8TC!p\nCZ(wa?9|0<BL\r\n]PB0&+tHօDx^,L}[Bx}ru\0\0005S@\"Uؔ@\0\$ސ\"Ҡ]l/	IB4.6…d7\r@=߬*G jf`:HnbĀ71)C<@AY#eoY!IDM\nlt/)\\43)2ɸ)f[ ppp1#Ðp\0œl^{ATH6\n\0PH.\r|TFD0Sy'1KdBC&)Ws Hee+@4 rۚ*Lp1<fNY'-	XKVaL\"\"lq.YJHm HV/lC&H)o&\\2%z\n^Q(6D Jq\00a#6\0vr,M&A9%YdBh!W\0b\r{@1I22A)Ha@r0G7Dd.LM<2,k/Me}Ғ3=\0&B\nPd.\"F3XSd(*J6 F:)11?lQ&h<J͋fdEպ*x\n\0.\"B -#ΗtIΫ	I8 8dh	x~	L!K(BX-hc/rPIN2|׶|\"M'K,\\He5*o]4FP	2<)To\nIڢ!(_8Xr;uNJ[rDC:@ͳl\0e\\*x@Aȡ&(5,#1x !TD(QDJ|D D:\0Aй baE?rnWkxX=i,\$3[r9BƱd\0H4<(z?sIbJg U\n(}J\"AB19~I#\$%d  e\"`t'O=@\$O\nmTo+Z-PF?_IJX ģ2-V;?20*P3_T<EJ\\(2)IQ鬩RL&!ȯKiцtKHRlȬEsDxǴi!faBFe>V-QjI7\"%Rh gM-b58R‹*9ꊰ92Q0IR[ZN\020\\[@Q\0JxEC{\$lp1=\0Rо>E~:0%R+)\0	ƑQ@(\"_jTX\0\r1\0P9#\0H;B|LZ6/B\nB{|H,	*;(`2@6>	?P\0/\0|\\eB`jqU/\rc҆6(N\0/\$\n8j*U\$y*=;\$f8XBCEr\"/kځ%\\9kB0F('UƮm@kT\0EsEhye\n))b7(W%,Jr2DrhE\n0Q3 U9TPO8j|}R<0Zl T*\$U\r\". Ts~~(3a@+l`:`:OiBX?ʄ7Lj|:nK:ز}\0UMc`P%nn\n,4Q'%+H.\"#G3`\n1fg\0М'kqxD<\",a|{~C<SiB\nkNG}k:g)JDhÛf\"kV~mM`HOkD^0/tjl\r!f<GTv#@ek@2w0ܭtį1uyvː%8?1lxtmpfK3ZJ=\0@^pۑ]Ҳ't١@Cb\r[V-o-ݠe}Y	--mI\0+VD[B+(-4>qi>=/0-cLpJ b\nd)#Gs\"QN`.ȍyȐEtPqI]J8rWTIfaG.떄7ylA7'1	S-xImL:eΉAWζEIWz3W)*/)Cx*c]%}_IvͲ'\$US4k5WʏJC7*b%<WC@“	c{޴3)X&&eLI,N 2k#p5f4Ǻz#\\NbUoyS4`q~1=8厉*OOJC'Dd,@kL\\j2ͩ<@_q2\0ձ)`sF\0\nF<*x*`-\r|@7H@wH]\0_wh0!s1ϏǬhW.=WR*A_EDԷ?1,Ub9=t4èW^;@(1<DÊHxT()0z`_;AL)\nK[fHWo@bBKiMd+>vI(z:.݀9uiѤDYO`]I\0RĆ,K,6L\"\"1g(|T.,9vb+\rk]u&|bSd[,gaJ(Ck\rF“+	9L)Ž)UABUhgc3x-n9x2qibrY7kyf,)٪J:N8Rcly\n2W;.>v6Q#A0{έi7~@VX^11-+v|]Vf.{	\r;1lp/uFd\$PЮ0=@kS0hɈœ@/*(OV.G>(r!6Y=XZ@:'&06kE|'|H;Ng%W+4;̓'x|f9(Odw%9]f}Gs¾XM0gQ8̄+O}͝0}9Nh/mgDs\n74勳P~}O)Ug9j8Pݸ(%j7oABi)Ku }s1=odV[Ĵ\nzlMзr:F#{*#xܰ<Dsk/mw :^1ύD2z*n%iÙ *!8-tH'\rк48`\"i]ZZ>Z\0ަ9+䟂~\$ޭLP\\쇁XAizh\$‹SMT'1D	5E\0Ğ\$ttԮ:\rMƷSӖlsAfKk,NlD^zzdS/rtN>o%i\0JBpoR/֘٫x\ny+,e4q5Q'JD]B@mRSki~t0[ 1z	&^\nOVGV@T*H9ωG0\0'`Ѱ\rbQKsLd*;\n.ĔUNp,L@TRebFyn> IKrG	@?cIݓu%GO1Ch5TyI:\\0X>ʊ0޾QBEI/-LBT!b6k`jp\0K>kd/ISk.+*R|gRW\\wt.)^Zc8Z~FSǵSm̕;b>\0jz=T'>qy}:u&WDQc-6<[exؠ[L\0wmltz<S&dbxoigK\r`µ?D5u@bNO𤷤Y[{Nr鉞t\0tMscBW?*D.p'2Ge\rp*#eC\"QI\nhiQ@\rl	_.t*^s9Whq~,YθdQs¦\rBjDǡ<<T)C\n&D{\rl-R\r@rkϢ+ZPu8Ȩsوo#gu\$F&\n-v\"Pjnnt1VAwbx߄D5-0a\0\r/!I|/hnGf-Mdna^(ea¨YZ,SEN\\=4~Mʹ\rFtŦu\"|`ERzD`{@k/KY3sJ䃿5XGͪ%9)Q Q1th!TRHQ\rCE0#wG2//=^ /ԺΐE\0{+t+qбIt|vqԈƌ&\r\\Vߠ=EbnOrnX({ɹuzK`=:\n\0[%:pq+RldY\"[Vu{H-H_8jV5\"\0\"N?E;+O~wN];L'SOF䁻D-!#sN< ¯muG8Tn]:zIMn O8z5o\\57<Ų#8?sNL	}x&4?[z󳷶<*We}{HZ,(<ooxWt2#A*o\\R}xH>NP|Qɚ|x'- 2\0?ƾ2*\r|]tp\"ڲJuuXybD\nZ|H7_WGuXyH>T\rGQln!u'*C5>U2!b	9Pw4}yW|a\$gTU&~9(\\*!b_w7\\]=\\*@#N7ͪ5QN`@<\06!9l\$wI\$42\$&.RZYuyᤳp&SI@EJiLcV1F1Z\r\rhkHH˿K?x-0\ndN3KC59)ľ:B#dN5A1ƉOd[3ڠh[s~)9DNy>X'ȽϐH,)ڂ\"e0;\0qeo>=|2G+B@z@]}rQ k/|G:ѯW\0a4>^|goXE9pLrgA6pe1*7[>]#?jB~/}3:U\$?<Ga\n>0#!i>.{A}'hQLw~W_Th#dûdFQ*{\"\"P{}4Ni\r_e?l42?\nF	qUĽ_`_j{_k_o~c*#(/!DnF`?@sB!?;E\0k	*ND;+d\nZZdB `B5P\n8c#oukˊMݯw.FJ!|Ĉ2FcY).XHy[~#/&[ŒY@(|\r\0,O0YbβŬ\$0aˑ A\$0,@Ӱ>>9\\ti<\0q\0}@`\0fVjdߠ'(	!_n0+ciig8a]'=-B!(8_xj)\rH5HYn	,fr}-d\$H2n鴆ܛ=-dFE-daN_z4@[n\$x!!i0Tu8ɸ\0PZ8Zc+ЊAAF(`mg*vS, džKcA۬ &9c0w+n=)\$Q~Aa\0004\0u{(\$y	!B A<aAz ZA4\$ZY9.aX\rdALv|oOz|šZ(eZĆ");}elseif($_GET["file"]=="jush.js"){header("Content-Type: text/javascript; charset=utf-8");echo
lzw_decompress("v0F==FS	_6MƳr:ECIo:CXc\r؄J(:=Ea28x?'iSANNxsNBVl0S	Ul(D|҄P>E㩶yHch-3Eb bpEp9.~\n?Kbiw|`d.x8EN!23\rYy6GFmY8o7\n\r0<d4E'\n#\r.C!^t(bqH.s2Nq٤9#{c3nӸ2r:<+9CȨ\n<\r`/b\\!H2SڙF#8ЈI78K*ں!鎑+:+&2|:9:NpA/# 0D\\'12a@+J.c,1@^.Bь`OK=`BP6>(eK%! ^!ϬBHSs8^93O1.Xj+M	#+F:7S\$0V(FQ\r!I*X/̊67=۪X3݆؇^gf#Wg8ߋh7Ek\rŹG)tWe4V؝&7\0RN!01WyCP!i|gn.\r09Aݸ۶^8vl\"b|yHY290߅.:y6:ؿn\0Q7bk<\0湸-B{;W&/nw2A׵A0yu)kLƹtk\0;d=%m.ŏc5f*@4 cƸ܆|\"맳h\\fPNqsf~PpHp\n~>T_QOQ\$VSpn1ʚ}=LJeucaA|;ȓN-Z@Rͳ 	.2`RE^iP1&ވ(\$CY5؃axh@=Ʋ+>`ע\r!br2p(=!esX4GHhc MS.|YjHzBSV0j\nf\rDo%\\1MI`(:!-3=0SgWe5z(hdrӫKi@Y.\$@sѱEI&DfSR}rڽ?x\"@ngPI\\U<5X\"E0t8Y=`=>Q4Bk+p`(8/NqSKriO*[JRJY&u7#>Xû?APCDD\$Y<X[dd:a\$ΠW/ɂ!+eYIw=9i;q\r\n1x0]Q<zI9~W9RDKI6LCz\"0NWWzH4xgתx&FaӃ\\x=^ԓKHxٓ0EÝ҂ɚXk,R~	̛NySz6\0D	؏hs|.=Ix}/uN'Rn'|so8rta\05P֠dẘ̕q5(XHp|K2`]FU~!= |,up\\CoTe╙C}*f#shp5mZxfn~v)DH4evVbyT̥,<y,̫֞2z^K2xo	 2 Iah~cej6)]5͍dG׊Et'N=Vɜ@b^p:k1StTԙFF``{{47pcPطV9ىLt	M{Cln47sPL!9{l a!pG%)<2*<9rV\\]Wtn\r<ė0vJ栱Ii1Ys{uHհ?ۖUoAߒr`SCcv˳Jc=-H/q'Ew|N{\r};>xru5B*\0Ma\0{HUCW廳yB'<6[sy@{Q>?/<K@ B|aH\" R	@>~@BhEL\$[Sa \"Ђ0Fe`b\0@\n`=n.*̔OϘn<jOlM\"mR/*&T肙T _E48|R0*oBo>S%\$ N<|ξy7\n޴,鯢쐬Pt\"l&ToE05norv֣Bpp\nP.-,q3\r/pPb%mP2?P@0(/gpz0`gυϑ\\嬳q>p@\\u@\$NeQ0(A(mcL'`Bh\r-!b`k``N0	ЯnN`D\0@~`K] \r|ʾA#iYxf\r4 ,v\0ދQɠNXo q'tr\$np6%%lyMbʕ(S)L')ޯLMIs {& KH@dlwf0x6~3Xh0\"D+A\$`b\$%2VL Q\"%RFVNy+F\n	 %fz+1ZMɾR%@ڝ6\"bN5.\0Wd4'l|9.#`e憀أj6Τvvڥ\rh\rs7\"@\\DŰi8cq8Ğ	\0ֶbL. \rdTb@E  \\2`P( B'0/|3&R.Ss+-cAi4K}:\0O9,B@CCA'B@N=;7S<3DIMW7ED\rŨv@DȺ9 l~\rd5z^r!}IsB\0eTK!KUH/2i%<=^ g8r7s%NE@vsl5\rp\$@P\r\$=%4nX\\Xdz٬~Ox:m\"&g5Qn(ൕ5&rs N\r9.IY63g6]Qsvb/O |@y^ur\"UvI{V-MVuODh`5t\0T,	(qRG.l6[S0@%C}T785mY)8Cr;ئ)M+4	 4|Ϊ1ZJ`׉5X,L\07T\rxHdR*JЦ\r52-Cm1SRT`Ne@'Ʀ**`>\0|I!E,ag.cupÝ9`Baap`m6R~\0g-cmO1\reINQNqo\rnqR6nSntwæ\r]a-a*\\5Wpv^ OV`AF3#82pH'J'nM('M=j9kZbBn<@< \0fe:\0K(Nv-!1ލH(Qgµy< d\\c\\s,u˃q0~i~eѶ*~Ƞ~Mm}Wؘ\r @\"i\$Bcg5b?6!w+xl1``	s .vCnhEd Qid\"6`\"&fx(\"2Qz\$[0%0lw u>w%ر%wZ\"-u%Yg>x\\-פ-v\\x^'M	PYP)8%C@DF \r@\0\\0N.S\$YICI i>xP͸͒:ͷ=T,'LٞqQ2͌\rdΔ@ђ9F`OfOw\\h=}SjGGWALRJ\$JP+7Lv,ә(̵ZPg&z+j˘7ͷ-vAwh ^9TODZCm`ORyӒ!GvzsG\$IhY58xFY9iݍ8UC[eZquA1?و9!:ړb0{\rQh`Md7{2 ۲8H`%Ƹ{-lCXkHӞ|\0}X`ShխXց\rOyX :w7n鲌#/:4(M;cDz;Z3]砛?.\robO^`Ϻ|/X׎]|^!%Xٽ8\$;zTxK-~ 8X)<!yx9: ىFxz+U຃AE;'%cYߪw<{9V:`ʇ<GءY\0ZUZq\nmx)_}YǏ_zy\rY,ۚ3L٪Yٸϻ>M	M	)P\0u8 S!Z{Y9θfV3oOϼE`CЭ࿿XU}lw0}͙7Y3ӬӔ4GJ&äͭ(-AV=f|@E/%\0r}ޮnn\0Ly<+_|#A\"C[yEWrWf(\0Л>)_U,U\\#e*r`NY *=a\\&^g4müe#^|ނQXNI>\0rƉ4^YV#)k>׾ΙԚFW^%ݒ\$+ՍPkY*u~,MW͂hhGK\\C7HmZSZ_U%\rb)gg	q@@΅t\rJ۔7sUK_1tj&SBi\0 &\r`:jF~=T̪g侑!^h^ו/[{B(/|gj/d\\ޖSɗ9G`u1M?3}Q\$qIm~G=oVz\0_p!tr{^Z&	uX1@G{Ь	NI\$=0Bu82S\"6Qpjov\r<ɶU\0.EM–\n8VoQ\\`?L6=\rl\"B2pu&\05\rj0VA;v\0eH;ʇTJ6pH?/\\H@!ppC+5\\+a8;\r(*TƢ;O|^Ld&/NIT|#G`j%ǗDZġ4nii4]@t#5cľ	ZRyR`@ँ\$I{z胇4| ׉܀@=hCEH, ,ZiKàP|,gz*E)AjknK\nC\"J79}4f*465׏Q\\cM\r{*1jlFm4M*`XGDA-qqab19RHbg8+l/ń (ʀL\" 80(Dc#ihc`8A1\\uK(4!d38шƮ4j;#Øs85,ucncFNpPa8G8rKύki˕4A	8TҨ26 ;*iX2%MBJG &C*1T\n4	-#.%'z#8A+@S.0׀II`UQUdd\$)*]TC9M*	\$b+ѽΑydt\0-L8\$e\$<Aɍ!d\$p@]d&M+2Ey߈((_|MdvU9!eD	(W=#_'bN;'\0O<LiA РT\0QJ# }Ba(/uGB%-)hu~\0IUPr+1%51ɒL`ܞE'(/QÔ%T)9OrT],?<a	‚/|\$O@ZIXN|%,SK:]ha%)kP\0,'0J:	&V0jهJM*xP)jKR \\\ru\r(ÐWF: k\0NJP!Q2 'H *\0gT|~g`D,Ͼ\0#	;(\0 Lf5'`'&t(LgA\0'ksi&dmP\"Ng`O& X@	%shg_sbf5M>s3@T77+nSdӧ5'6s\0\\\0O:NLS@ P{;9ͶpF@78_l9\n)Rg9@a:i\0vSDg\0S\0sM\0B\0+Oq`>4	 T97=Mv=q'y;'LfFf)ϖwPTf>\0O|?0)O~|`#N\0>'Ϫ}ՠ>~e	\0?*P3\\@͌5\r'CP OE\nMB#кT;=jPރ49Ez#NƉ٢FY\\\0CAQJTV7 \nv0@_QLRRc!V|z6KKюeS4\$aI|PA+.qKD-S EvbCO>H<\r#LPܘs⥺P֭20 =*WL2dt \0!<	bq\\pa@Rd ofKMp \0}z\02Ձ3\" )@\\*grM#!<OXT\"`\n];SCΠ5BcPӲ[\$4p&\"iNPӠ'J\rE&8zp@>BRݛi\\uD*vzSć\$*TZ\nd6i+JD1I:=P\"q@|pvjoT@SSڦ*'8\n#֠+`ɋSC!:Qj|gXђϰd磬%aX^OuGe'p\0{V\0gQWxXZo>B'= 'L)v\07…1LkTBRtG, RMZRWLU	K	Wngl,TP\0:`*YtSW\\`\nS__Kkh&[5\\\0U \0^\rrC\\;5E?W%:\n!PZBwWW\0{7\$+[1hB\063.kw,l0f:5c2XF*j2ÐeeeL&}7,2߯y]D\\G.g28\nj][]M	dc}{T锘+xGs,\":vQ\\nH7ڟyu~ X=B*dQEsMu?ZFHN,D_R\0Mh/~y|CV^5R2%ZVs*lo{,[vB1\0Ƭ>/ZRa\nE A*a2\0a@z\\70arǩʐvfX°g8Z^6g1No9%St\\OHH\r\nW^&A/4{2<v&Xi_ҬfZVз\\t&0\0gb;JI,ˠ\n).R\nT-yDKx¡_/x:HW5^UQ5sUZIUwfFRS}Dnz۶F\"\0\\1\nvW++g2рSRKCbL%&=7\n	6\0r )\n>g1ބ8)Xo\$U;PVzJ}H;r+ѝdx\r-%BA&\\;'om|za<np =^=|8'@`6teD)}q_d9\n	A#}_0m`{\rrc>篁~d߰L?b%/}\r>;\0\\`ցP\"-!n!7ϯ71̼@MB*Ajn\"`jJҳ1E1m6/G_b s_z'~]L:\\cFa-8()G̩af,FpE?X)2\")pi41‹^pX5Px܋w	~@5w DZ&Jzjld	`P\"/d{8XQd)8	qx3ņb{,1qM>D\\X3ggŤnIb6xx3bdnU^!&|k	9=YvLq\":D+wy#t.X|Dxn<qI|Hbĕr-n,Є:a^.ȞF[_̭/Oz8\0;lHWmO(W'@\$ȰǒCt	>`tQBlm̉8JOm%`^Kp1Q2K\0=y)2׬4P7#ȳċ-TQ>.%\rܥҨk6@f@y^;HK>h)\"R2E(̠-H0e.p\$-7%)vo\$/+.ce;^ʁdWyv@q47Fy;lY\nxJl=x&-]*d}WA@.OM;<ک\09HlD+\0\0&UR9œ&&`c΀CDla}ܩ=h(D@ЄGhPWf@oB'@&H\0;;EN-zhoC94mM}l z&4v\r{Ez4`?\rh{Fn@ӥB'қdf\0EB#xZav9=7`ٗ\0\rW>j\rIf!+S<e6ifTԦ?|jHYZ5S96KNG}+xBEn)Dh舋n[1gʙ_}vUIX\0:kSA@R+V?bBjB7AXp6j#GyX\0RXf6C@rPֹud&&@za&%|hYG/y(Ŭ@|,d5۟0leV@޷=}^[+ىWlRPN,ٶ\nKQ\0\\00C|i,0ͳ]|Og٩q'{тUD`eLIP!WtI_CbDŽKiixQ;jz)8 2b\0FO/%cvL!S^\0[T!ۚҍ֚=h`F\0D@y2E\0ڌA ՚IDFnfMtfiQbJ`O\nzWV&((PYGH嵮T ܡGXpI-\$懃@=,L\\o/THw!XMzH:wK-;<|{o\0uXd?\\fF{ˆIyܲI/qݯ3(S@\n̍w	)	mjTij3X~!\$@G(8o)S!o`{~It<>8r7\nmÖ|<?E7\09WVk8%Qas}761IM]/0N#oN4a-#xnN^bmҶuEPkT\\/Ȍzw^Br_-xE3N\0+)xS{d,%쭲B%ìi_pWH,OzLoQQ7q<FPz/i/3vtpDlpsrikW p:pf}\r8gA+:\0lȮtS]垩ν\$/dtP-U،uD>ܶWTe\n'p:e.?2GrS?<v9{2RRӯX8%!lZt,MSfKw8_>jsl\\77g.݁:^ePpLK#@`\\GL5١%B@'zQmm\$3!\rV\n	\$YT02w% ,S]s:udc\r3Tၻ7e(ؿvOr/he.&0ns#Y>#)c_Rшqx\nZRjp5rnQ?=i\0x*-{.6F?#1G|\0.x#*nc>`8k%`SSA\r07\nmڜ[F;F\$\0Tk__nv>82@hW쩜,mb*v\"0yvp [<#/!+{7v0O_7귻@\r5~\\F̰Ny`z}	o/лUѻ8{#Zϣu턖xk7'{dey\\Gļ 1  d\$@9\$Mw6W_d@\\=)wgsP==s^tzgh}Cnjz'{Ywi_}4\r3٫\"g9؞!r:y %pCe׿3\nwd`pXR`]LejDjUtמw>_+X=^B\rKbߞSd46IP,^9áu,}0x\\D!:k뗅>`1`:P_\\To׉\$F&Ti0Ⱥ_nJ/[	~{۷pC>n\0f@y[?DG\04Z\0ۍ=ށ,!SI\"ѲF]_%k߹_\r;1v?tT\"^8me^S7!@F	xfБ^#'oqĚwՏE.OY(oqN؇yĤp[nw3:봌;Lہ\0;*P6)*ȎUд=\$\rV%\nRRA}\"fP=14=&:>\$^RMp\$IL\01𥀔}a	Hz		@1V=&L	A	@̔T<\r^jx.%p.\0Q9\n(.	@`(J\0ʦ>\n!@2D֒\$iE\0f@v\n*`dWs\\|>H*@QjP;|<|!I0#@=)kX0W1ݐZ@U,D@ (P_@tp)A/c0-Amk	P2BQ5T1A%{=\$PI=K(TV*@sAҢ7@Y̕\$\0`.9A\$Rp{PV<(O#\$ po*dPNA<` AG@TD\$IQBLNC=\0[<'A	i%У\$BW6%S	\nЙL&@}pA	\\`#tǭ	,p&'z[C	`5B\$`AtBS07ALx	\$	 bBA	/BU,,0\0ޖt2@l\rRBi/L.r._X(\rC\n/B\nA!02C5<,ЇB.ж<x-t]PWoN	ֲ@JF@.<\nC`れl\\\" !D;`3^\n@'	C`((&\$\rL:ðAjC<<vQ0\0CXH\0002^;]	~ܰcD1(5“(49FQ ME1@;?D\$kAD#DsDGDIfDJ#ıTKQ .CHĭ<Gq\0=!jCaq 5	LM=ˍ@O;\r@E\"iqgO49T+D5?02AMDF7đE7\\FRdRQ6DN1ZVrA+vE\r\\MDLV1YkOckYqXE|X@C2ciDlLQ^śY'QoEY,\\1fE\nh]Qd]WYEF)#hp<|*d2x7;G^\"\$h%Jv\0X/+w3Gb3qFq5D9Y\0.@69\nt+SE*4\0DqSx8\r|g@!_1\$4w~1nr\0*\0#E0?	'\0d 	(HxF\$\0H`(xGDtH!\nɁ FJJ|6>?)PBQFq\$`\0>/jT\rZ\\s:	(+ En!Fq^֬s1n2dD1x\0a/~F|xH>4Z\\6П_5z8yP?4 7\0\$y0Z>\0|Gΐs,^DS|s )X5q1(LG#['HLi[H&H	܁1 S[&yK #GfK![i\0#5i+\$N(-Jf&9.E\$TB3!p\$0r:e,[01Ϻ|E!\$,,K@; 0l\\~\0L1Qو\0%x@3 2G`L[ܯBb2dL\0In+r;\n:7H\ri\$lOI4Xd\r)D1r5)QWJ#H0Հ<%hrEQH\$s#	ؙiWfgHa8!q̾D	^HTق9%̏\0H!Ѝ*JGi\"ߌ,M\$M Y\"IIX;ɟ)(@sP\0/a'PO\0!`2Ʊ,Orˀ-Ĝ::LD~-C_FR]HF 	x9TrHb*p[(2B\rT;-(GҎ,:|\0fjD<fp@)(Ói2(O2\0'H1Pg ĕP\nԕ\0ʵ%k]\0(b H(aHH# I@)ҙ\0)+CJ\rloN\0̩	ng,0n+H\"I7\$It\r <a0H@+)d!aTrDrՀ,p\rD`MGXN=5 ZƯ><P/^g`*+ui%m%Ӧe'L ԚҞ\nK.Q),˫.!]K.ԧgK\"4\"݈(\$y-ø )Wr{/MK/c/£R,E QA\0\0HQBL\"Ҥ2/\$%/3/02<L,s\r@	-y`;2\$N|Y.Æo0Ĝc%k˹+@fܲ^s/ŌBi%M\02\"W+A!\$)%L29/0ˠt,33?'̪y̸CfF؀ħ\0T 6pȋ32'Q#H\nUL/۷\\X	jCM\$wT\0)4U\nLkO{\"D!\n\0ۂh>!?G5[%t_(kQL>ȫIə\$,fiǸdڲǹ#sl\n\0IJK\rm%09ͳ*!E9ĭr*i̎2Sw\$|\0Jaj[+)ρdKT#F8(ad/I.,MtH1P!H)RN<coJԨ8j~ɡ,{Z@\n?8qi9ĎJ\$I8S\0)GC9b\0鲦Y%iv\r)00&	TLG|\0-q2+do8KL-DD%<t^s\nk;ĭ&o\"^8:̊P\"	;s[3N5,95,cr_̀Yc-<1\0Fde-,⨨Z-eH-̇=_-̉_-r#<M-B͉>@\rΤd؁:5̚.@9ϭ\rE,`(81^ˊ	P2\"+q-N&D&!9\n+4HT\r|4I#YZ;w.ĚMbKs;@(.Ja\n\0ILsb\$ɆN\nso	_385-t/-pC;A)?S+\$14賑D\r]\0002\\\0L)\$2\\2M2(@G2ăw>dM1P8ms!W(kQQEHT\0\ny`pa'GB'sHHT|u-LCBK\$DvŸ3˰A=W.l;!,BP/bjL/?5T[Qpd[DMQt?^EQQ[D?T_QL)-:QEU!CF\\nJL̕ѐilQl\rG\$rETyFT{Q4gQCG(9xQF=G\\}QH`7mĬ-!\$ 8%TR,R\$lԍmCXdF%\$T̂ɋ g2VT!d4(kT=+4Z %~ɔT+R;80\rL^QZXQ68}I9\"dewK8;tF]-JOJaZ\$`~V\n-0AKap%X\0&)8Z;0A?I#\0GM3 FH\rM'HQH\rxV^3MM̃Do0\$0y“R;0I?!(DRͰ(	GO3\0\r+`RL`QITrQ\0#k@ O(aC` mjA\0>\0F%)]H\rƶ] B\r3f4&\rRTj\"R]/d?\n`Ïğx\n@ r?C@(\nT4\n@&\0@@	r\nx\nd?\n\0PzUO\0\\ (\n'`DHdbaRD)ap1ZF'\0\rO[KRPE@PTU@TT}Ag!@ C_vsjiF?X\"?*0&g!%Pm>O?.=,,Te	b\0^(9qO}uJʪKԟSJJP/Ԩ	JETTeKT7l\0Y'MTPU)\nZMԖB\0x	WлAWkÕeP]U0-*W6ը3\\;F=VYN4=hVZ%V[`6U,A!M3)0^`9F(|WxYUWi<Wڜ5NH^aXaH\0?ebcZXCX3dUV+\rdT-gXyV\\dIVDizYXSHVdAWhgbڀ79+\0EZx}jc@VXiխ\0[XPZjZ5Z:3<VemX[O4Vh<UL[hM\0O&Hmu,j/cr+(\ru\\\raf6VZV@7\0[X,4\"?USZՃLV`\roUH\nM<r`G@/\r]K WlP%C75E&-\r<`+s[j܏W\0^krZ]%^<W^{.5f1W:WZ&9^wq:W^Ruׁ]75Wy_PY׏`Z5`0[Uo_Vilq`=V~@?+_*6X2BߌC=G@,V5^XX`ŅE\rBx!2Y/^=y6_64`my6Dhgiz)5C\nJ[bv\"ؤ֝_v.ح\\[C\nN!%50e}AM	(gb2d &9a(\"QFc6\$X0e\njVVAI sCVE`>|kG5trdVLZvNY\"Ere3\r #XUTZ]e\$^\rsW}y?a`❖VąJrX^]ׅf%ewcxCRSX+fwVi5bU@2Xx6;Y]hvpي,Tfɝ]vlGj~	g\r^^]!jXf}~qY2\$\0 uٱg͛Km}|Yhyv\0(}\0007I+o,\00fU6,	U6[h=Aj@=cqsc쮅5h\n5d`X5Bs5`kaTVQxiP֗aBڣhօ\$6m|Y&}j?J~ֿ73QZhX5eh\r>7-ymWаzѴ]0iYOge˜W\0IDU4EZc(uk\0VųwD9W.k>\r.\0֢}`<dGZlu,m]Z	Wm6EAd2.Zmŵ,Am[#	1d=Vsnt6=!3[nSVeUmeN^ֈkuvZn6ۍo`םóa-rL[couZ[ov\r@[x>q6	\n( МUgw+peYymݿ	n\\U]\\\\ut%c5}fdUz9-p\r?g}J֏B\rN`܉r5%bVom3v)սd%r͵w*axZqV7)Ur\\eƢƴ^vj/a>Gsu_W8\\[h>\\qf[mb=w'X[!W1FV[9Wm]5r`rwmc/u=ϕs:]Gre4YViBAo҇7Z2AsK>>)\ni#&{Q`@%)rN >cV\"q\n]vڅn\ne@\$ޛhB\0集v% >鸧@	]=3\0*R-JT?\n@#>	(]r]vEew0hxx`)Qh)G+1vMJ	ƀ;\\?0@\"ݴ+*>\0g(>-E@!vwv(u@^mx'vm]v	^?\"qWm^v`,7ސX&rJp^zޥx	!3{Wޝvۗeݾ-W\0t-\$v\n DI^wPiWv\0(&\n@,x]׽^|wؕ7\0W׃^W}5w&(|`&]y]ׯ?AxUC޽{uw^/}E7xw\nE{yEWyu\0?]']{7e|j_?}\rwS֞Wn}7y\0_&-Q}k7c^1yIyW`{tmTSQXoF*_)Qg^p\\\0G8ڀ&?m_ꀘ	`~?\nm'|ױ=bUH71.'U`\r!{'x&1=ETai̫\r!\0|]8FTU`|oޕy\0T?G]vס]\\&>뀥v8F!]DWGcP	iOUD^|]Cj^(ݙ}zp^7\nx\$a?cDi\$?&\"މxmlE Wa}~a5Р?HCC?@@(aXjaޯv 8}{*8\n.\r)8mcbfaՈʀ}\$\n5r\0\02jɬ&z#=Cܭ@?	*;_f*+Zn\0\$qQP5\"ݐ@0\\x@Mر.8b|{av\nb%/a~8i>/>8bՇn#WܦP⧅8=|zkjT*m e0uJx&]E)K\\_A~wc?*8ӏ(wTq63~6_`]xq`-I&6وczu帕cw&-݆ݤ?V3*@\nbɊ6v\0<Sx\0V\nc	)ox6>j\rch\nx?z9\0.`#=	bE}>+@rxw0e0a& ׌C]يx_|,|\nbLEU>&o2b֝N)X	\04|&kWbzX\nfvdIw^&ĝna\0!D&y2wX	ҠEDu7у+\n.x-CP0]:s-|\"!`tX@'n?.R`&?grߏ}CcK\n ^SM뀯w\\Ï\"k`y8 /? 7Ia\n\"`	*cBXc^Y@&{wx	Ǿ?>_·ev[\\dƚ>S4\$]e^!eX&S_@(dF]堭:*}zikX_za2\0rCf#vᙘ91we1on5d4_f(^eYFcA0X5`Ҟ.Un`j<D%N⧥6#]Y \$Gbmbb}fCᅓ0UT­x#`kzԧm);^m*_N ᳇(	f-n#co\n)pǛg	+U\0EpNq&5  T\ni {av.rJߓ,?FuXXzp(Rɖ?(y\"SygH\r?T#Sgs	\0i)*\0qo\0Vz\"AjXe>(b?bw0	\0/w	(br\$՜q)rc\r~A~ay5W(b\nɟf׌2hsϦzh`Ly禹0'/G`\"'Z*=]}9jY<5E@+L}?\05\0&Hyfoؠ6jI\0{Xg%~9xg\$hSz!P呀.X^zps'S~Nhz3GVD &'ڢ~t[㊮zc?-{b?&޸V&ɞH4OXS\$͌\\\n ɕ	~ IPYhqVixEP1\"N7hvVhdExj^֗;ϥC@)dZ-/`[auhz|^	饃Py++eFf'F.&zRU;+Z#PYݺ5W|.UhUw1*Q*paCH)'pj@>eɚ#twg#jWՄ	>6@\"@<ʝf`d9[!\0C\r@VO.(b\rl/! ;@ڃ-4ILBTT:o\"aj\r}&bT!RٚNRLG`3jdYj^hzr[J\0IS>z\0۫]\0j?&ψ `.li{C:R%\0003j W泺ʜk3@]3*ѥ<{VcMA[\0y@<?yC㚠\n`++O|bXc^	~Ny)	#F&zXC&	k^QYJcI^N뵍N4`*}k}:kz%wk@H	Ri]w+,C@Ø>HJ0>\0PUT v\0?\njFI.Hж{4ɨ]\"U#)!U)!d\0\"LTJ@\$K,Ӵ%Q5rMӺP#%R	01]+84F@`dؙ<S)C91lDr#\n+ 4kK8K!{\"*>\0번5{%\$kAƼA9TǾTr\0O\0asmhȕ/fO`m		tCz><tD&\rشM@Rur(m )R.bQjZa)Ll/۫%WF;8m/}vGaB|~m+'vm-s'6P1Y\0IB˱l.8o[zR11r\$R@\$S̱\0N!FaXfRVh6s\\P;[G(Jc1j>!Ѷ\rnwV͓:\rLom黤\n˸:=b}V[	_`J{#!?3'ߡ{:`hrZ77vr8紽ATxnJth\nhaV{QW4́F,DC:i[h`Æݼee3σL;IHEl dP/M\$X3|!Us6aC#	6ҡs{\"ZVc!kr_U0Vm%<ez4 d%C?F[+<!,﻽ur[baxg%!#oZX8!F\$M:2mlOX;O#`mwSS>lrNk0@3N3I>nFD`_Z&|C`ImgV6eu>վkjj=AGOsdpE,',t[Q@	_x%[ICc3\n36t!, 	mDXr53J}P\"[4CNL+q	<\$ZX;@I܁.\0<ZVr#\r[	4\n`F\0ɬql\\ k#|Z%K0K.\nIZ̠@܄L-Pd^1SDH.iZì}Z\rͦmھ\r:k,s\0GW\0001\0ȼuݬ_\\xqmZG6\r?'b2r?5G@o\"\\r\"o yqIG!_ǯ#k\0['StEγOK7%2c?n<4'\\urfA\\'H\nWL=/NuNmUwvNEy[GP&2^G?M*fM8)scYuvk[E:\0ǿH9xd`0,hCB){J|2[Җ,Ks	{A1uar>+Vaz#͈Wʭ74`)5+00\$,sE8;\"ta	W[͛p\nFd[`G0& s2\\ſ\\s	\\͒t/5vaN\"V	g`+bMpG<1(<Dsʟ=sϴ),vN\0@\\=ٹxav<O@u:oϗA f6s[>}J\\5֌\r9&G͜Ҋ=G˘W5y;\\Ū˧H<Ӿ7\0SGs-͟H&H!yj{\"B;lk5a8TWZL.5t`LWM\"tMIGMf7tŢu9c'\nW*6&گa\0/!˓\\> YCᆚ?O.l@O=*@Wj@`Ċ|\rp9bN4W9@MPQ|@QO>]RK+Wg[\\|sbHt\\Kr;yt`/^]N]t&gW\$f_qOP9W\\`]CA?FCApj v%BbӾ# q4Y5P4Cк1ToqtAG\\&/k2}<LA65\"Wg,#g Z]1¤IńGS\nHk\\]g=(=C/ւR]9کm24r\\ւ?kwtgPu2uH݉	͓=?X2gkQl5֙ew8l_ܧnMrvw94Ows>a%D]IEe}lt({]__OcvHC9)muM}=\0@07B	_S\\2BݽU e]nBM-v\rv\0pMɕ̤u!@wH&Ӳt֖nu\"_@)NڿoNWs\nQNlw\"|AjF/-w4q}eox\"9=z3_PK:fNhQs_XSjS5%vAFB;RpGG\00063@61{%+LS?+fIu7tat\r70iWi?3@nR@mflg!AF&v-^\$Yaj(_o?ەrKdC3wI̤5\0q۰;wj[a596#Lkvo]d~a\\'Vu4@`{G-_jeI:Qze{y,i:vz}`I%7']]y_gI;R	vϡބx\rc@sk&+On%赵rr#t'϶4WVU=066]觥}kS9wzb9>Y\n zbMUzeY2\\;?x4MӅz?>.鏨>q\"U`Ӊܘ7;2*taa no%?QVzܧKΫ러>5Aq'*>>FơFKс\"m/?<k)ޞtZ|~ɬf~M%=\rt3<g\\yl|lQ`XY\\[m'x\$©\\sCㄺ8Dt\\\$ͯpwg^%aW/w>b7;`[^J	}s{]o>G\\={\$v'A\\g{O`[KsWk5*ϯ{.\0je\0000\\mzp	gAEٟ@VNSϿO,hD*Sz=w+v+|AP6*vgBfŰJWQg²{(Obu1J\$!^!gCT\\ Ԁʱ6x{Q<:~G?{7\rKuM	X\\])w}+)}SI[;J稒?HԿ_IGBvGtM3|C\0pgOR-H @q;^OIPʉ\rfw3ﶟ{!C׵ℏ茜HuڐT8{VvOHb1Gk\nC8Kf'ߪp+׾R>XtL2mU!?K6O2~1ۣ))g2a%O\\wZeȿZei_u?ׂ\nW6}YYڲP_~=7\"+Fg\\'b&hZIϜ֯\nD_~ey;\0BEOU0\$Sz&*oUFH`");}elseif($_GET["file"]=="logo.png"){header("Content-Type: image/png");echo"PNG\r\n\n\0\0\0\rIHDR\0\0\09\0\0\09\0\0\0~6\0\0\0000PLTE\0\0\0+NvYtssuIJ/.C\0\0\0tRNS\0@f\0\0\0	pHYs\0\0\0\0\0\0\0IDAT8ՔN@El϶p6G.\$=>	w5r}z7>P#\$Kj7ݶ?4mt&~3!00^Af0\",*4oEX(*Y	6	PcOW܊mr0~/L\rXj#mjC]Gm\0}ߑuA9X\n8VY+D#iqnKQ8J1Q6Y0`PbQ\\h~>:pSɀGEQ=I{*327\neLB~/R(\$) HQni6J	<-.wɪjVmm?SHvƩ\0^q)]U92,;Ǎ'p!X˃LD.tæ/wR	wdr2Ƥ4[=E5S+c\0\0\0\0IENDB`";}exit;}if($_GET["script"]=="version"){$o=get_temp_dir()."/adminer.version";@unlink($o);$q=file_open_lock($o);if($q)file_write_unlock($q,serialize(array("signature"=>$_POST["signature"],"version"=>$_POST["version"])));exit;}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"];define('Adminer\HTTPS',($_SERVER["HTTPS"]&&strcasecmp($_SERVER["HTTPS"],"off"))||ini_bool("session.cookie_secure"));@ini_set("session.use_trans_sid",'0');if(!defined("SID")){session_cache_limiter("");session_name("adminer_sid");session_set_cookie_params(0,preg_replace('~\?.*~','',$_SERVER["REQUEST_URI"]),"",HTTPS,true);session_start();}remove_slashes(array(&$_GET,&$_POST,&$_COOKIE),$Mc);if(function_exists("get_magic_quotes_runtime")&&get_magic_quotes_runtime())set_magic_quotes_runtime(false);@set_time_limit(0);@ini_set("precision",'15');function
lang($v,$E=null){if(is_string($v)){$Tf=array_search($v,get_translations("en"));if($Tf!==false)$v=$Tf;}$sa=func_get_args();$sa[0]=Lang::$Vh[$v]?:$v;return
call_user_func_array('Adminer\lang_format',$sa);}function
lang_format($Uh,$E=null){if(is_array($Uh)){$Tf=($E==1?0:(LANG=='cs'||LANG=='sk'?($E&&$E<5?1:2):(LANG=='fr'?(!$E?0:1):(LANG=='pl'?($E%10>1&&$E%10<5&&$E/10%10!=1?1:2):(LANG=='sl'?($E%100==1?0:($E%100==2?1:($E%100==3||$E%100==4?2:3))):(LANG=='lt'?($E%10==1&&$E%100!=11?0:($E%10>1&&$E/10%10!=1?1:2)):(LANG=='lv'?($E%10==1&&$E%100!=11?0:($E?1:2)):(in_array(LANG,array('bs','ru','sr','uk'))?($E%10==1&&$E%100!=11?0:($E%10>1&&$E%10<5&&$E/10%10!=1?1:2)):1))))))));$Uh=$Uh[$Tf];}$Uh=str_replace("'",'’',$Uh);$sa=func_get_args();array_shift($sa);$Vc=str_replace("%d","%s",$Uh);if($Vc!=$Uh)$sa[0]=format_number($E);return
vsprintf($Vc,$sa);}function
langs(){return
array('en'=>'English','ar'=>'العربية','bg'=>'Български','bn'=>'বাংলা','bs'=>'Bosanski','ca'=>'Català','cs'=>'Čeština','da'=>'Dansk','de'=>'Deutsch','el'=>'Ελληνικά','es'=>'Español','et'=>'Eesti','fa'=>'فارسی','fi'=>'Suomi','fr'=>'Français','gl'=>'Galego','he'=>'עברית','hu'=>'Magyar','id'=>'Bahasa Indonesia','it'=>'Italiano','ja'=>'日本語','ka'=>'ქართული','ko'=>'한국어','lt'=>'Lietuvių','lv'=>'Latviešu','ms'=>'Bahasa Melayu','nl'=>'Nederlands','no'=>'Norsk','pl'=>'Polski','pt'=>'Português','pt-br'=>'Português (Brazil)','ro'=>'Limba Română','ru'=>'Русский','sk'=>'Slovenčina','sl'=>'Slovenski','sr'=>'Српски','sv'=>'Svenska','ta'=>'த‌மிழ்','th'=>'ภาษาไทย','tr'=>'Türkçe','uk'=>'Українська','uz'=>'Oʻzbekcha','vi'=>'Tiếng Việt','zh'=>'简体中文','zh-tw'=>'繁體中文',);}function
switch_lang(){echo"<form action='' method='post'>\n<div id='lang'>","<label>".lang(19).": ".html_select("lang",langs(),LANG,"this.form.submit();")."</label>"," <input type='submit' value='".lang(20)."' class='hidden'>\n",input_token(),"</div>\n</form>\n";}if(isset($_POST["lang"])&&verify_token()){cookie("adminer_lang",$_POST["lang"]);$_SESSION["lang"]=$_POST["lang"];redirect(remove_from_uri());}$ba="en";if(idx(langs(),$_COOKIE["adminer_lang"])){cookie("adminer_lang",$_COOKIE["adminer_lang"]);$ba=$_COOKIE["adminer_lang"];}elseif(idx(langs(),$_SESSION["lang"]))$ba=$_SESSION["lang"];else{$ga=array();preg_match_all('~([-a-z]+)(;q=([0-9.]+))?~',str_replace("_","-",strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])),$ue,PREG_SET_ORDER);foreach($ue
as$B)$ga[$B[1]]=(isset($B[3])?$B[3]:1);arsort($ga);foreach($ga
as$y=>$H){if(idx(langs(),$y)){$ba=$y;break;}$y=preg_replace('~-.*~','',$y);if(!isset($ga[$y])&&idx(langs(),$y)){$ba=$y;break;}}}define('Adminer\LANG',$ba);class
Lang{static$Vh;}Lang::$Vh=$_SESSION["translations"];if($_SESSION["translations_version"]!=LANG.
196829103){Lang::$Vh=array();$_SESSION["translations_version"]=LANG.
196829103;}if(!Lang::$Vh){Lang::$Vh=get_translations(LANG);$_SESSION["translations"]=Lang::$Vh;}function
get_translations($de){switch($de){case"en":$e="%(n0Q :\r	@a0p(a<MSl\\;bѨ\\zNb)̅#FCyfn7Y	h5\rQ<ΰC\\~\n2NC(r40`(:Bag8i:&㙔yFY\r2 8Zӣ<'Ha2܌Ҟ0\nb豌n:ZΰUQŭwDmfpQqacqw7PX3F/ӗJ6g2qspfoE2& ڵx(\n戎:0c|9hO@;B	c\0x\r\nC@:tt\";~8_\0LC ^&ڳ#p̳͋^|8(ơ3KQ 9ӈ#c89;tM89+#ᠡ*,1,CC8cxؒ?B844S(:17N#\r&ӊrè/-}D3ׯk@c@#пV2'гXIl*8\0003ʭxx( 55ۘ9Ӭ\rvJ0B͡\r>Wuax 2ZB(.][!K[FEC\"<;ɴy|&k^E:]9N1_#rH1/(7(jEZL% @873:7<B@x3\rB:*\r{7(4hWOwHhd}R4`O	YT\n}hhĺ0Mqz:*1ng)0\rQK\\\r6QtaFq7+|}Xn.=**C,=f|܎jH\"8?Tk4j;G!\$5-&BSBieJY1(J`98t\0Q5p81„\\i2;EDFXI!}73?(}~J~P4#``W?EߴgJBD\0yEj\nY16\":ύxȆ&B̩LJ 9z\rY<شJ^A>202Of4J0,>|ϬTZQE1u#G\$}\") eK\nK22dx\"Ho	oR<F4q!3(ZLCBkUهR:HY+e܋ !1&e\\86X%x;ț3Ɓ#WvTii<)E`@R%IFt`\nFprX̻uxcHv^Ј2*\n\nkA\0F\ny0oK39BpIم'|OHO	*\0BEUH@-Y`IJzOځ}O,kQIpo5DFxv\0UI6\\IR-E}ip3j\0AFj:l2oby L\nL\$bM00Dmū>jrĉ\"٢XUÚR5=83EjzntgD\0%m%mY>}&Y9'@SO2Ij,WkX)䅮tbWR=J!ԃ852а\\ʞSOoVK(PcM^>lzΐmBT!\$	_*G k\nn~R(c^V0(7V\"<%Ȼ{J&a\02flasHfy\$6L`np̟/ye}Y%](Y\\[KH؉jNRy!eZo’/VvKLf_	yKAVE\$Jbɝ;+PIXLQ숶H̰k)웲vK{jɯU1B[Y&#WNJqmkq`9 \\%8Q_Q>B͋բӫ2\n^ݎ7;?)k\n  Rb0_\0Q9'V}Ao{ÈgB;%^d7s	t5wS\$\$=\";rUĉy/#/J-L'Wmx#87T:G*'ָ.5QS《NRnU)b;>d5KW(Lsg)|5銋]<\"Q-/2dT˽:8x{C{r߫C\$,?uXm\\Hܼ\$2g˗5<	c}\"'4..;cOƬdqvD2BMlhlH0Zd\"J&*f%h\roޫ*)20x~0BŒ,-,;'vÄo	0NuP/b3<lp`7E=0\n!@=>0(ဎE:@\rRʰQ#nѥh2!n&7h.\"	qm\rOK NhLj\0\r0b0#:p.q\"'\nlDZ59\n~\$Hl͌o=#ieJdˮd@`<,/0(qִ\$k`VCfv^I솢c=cD%ULt]o%!\$nmރ\\2R6P!&6\$cH`F\"l0Yr8q40	YNP2e'r*`\$rV0z*\"`Č~,-\"&riN>:qư\"ʯBкfD\"-L`lC";break;case"ar":$e="%)l*C(Xl\"qd+aN.6d^\"(<elV&,lS\nA#RNd|X\nFC1l7`ӄ\$F`!2\rl'E<>!!%9J*\rrSUTe#}J*d*V́il(nTIdu'c(oFe3Nbp2NSӳ:LZ&\\b\\uZuJ+ωBHdNl#d2ޯR\n)&<:\\%7%aSpl|0~(7\rm87(9\r~€BK\\1 Y3ޱpA/*Qb&KkB,iTOJE#/\"l\"G2.# \07M0: 1C38CҎKz˭L9H4C(C@:t2tA#8^2x9ΣI|6-+3A#kt4px!~&mED`FhZYK!CWLDpU;([0Z	#P0CtƂ\"#a%Er\\DBQseC]6CZY(*E2K\"O6K6+	uRb\$wũUh:ZE)+4abV8[3id)lFKkV+k\$#`ch5 0i/	0(ZV.ek)!5_:Qi1l,Po?vh-,Xźc׬b;eƔֱږ6&l<ȯ\"V&d)@6=S:۳,	nCUթ@9R3\r#?H2vٽ}@\"7#KA0(wav7LUH柔{ۙRsis/,UR)>:\rS<[(0lJ%]B@j0n :\0f`6zÚx	]\\.lSv\n)0ef I|\\f`ZH@R((` I<7 dސiE=\nPD0.R*MJ7B@3*sI/b\\F)\"+\"R /Pr\\ 	e.Ӣv@8ryOq]@(%B1GD Ro9J=ԧHm6@^LMڹXe^d\")r> JB	64 ifrq#RiA>i6Xj3\"%RS3oō\$\$TjC@p\0A#tRa\$7D\"L5F\0ʸwӥٺý/'Ԡ7dBFtxF*fTF35.77\\\\A0:~yVC)?DtY\0FtF躱\$!)?m\"DXaȉ\$\nJRzL	4&)E)K&̸PI aϥ(k\r4Xkؕ)RS@oӑdut4\0P	L*bO0zL\n%#D ZFhGuw/bEqFIdHu.H\nvִtmLڂ--3`2\r2.Uo}Ma qёG\nx}\ne%T\0\0U\n @D0\"攆l{RA[xf\$;\0QDzyDX'zJ}v=T0 _:ji#Kⷿ@TZHfM\$b- ylldE\\kE3v*\" }g̞\\oO%iG	`\0ށiPmC|9eCX'jCvR0M}'Ć0z楆N\ne+#g+ֆPHVHچ#*6QH|:͌;~X]uS@lG`eQJI{Dja4n7*\rlQr,Pe-_LI>@lI^ݳ!zC	\0 `ҕ_K!˜0Vie\"-QK6Qc<B^;.gw	K\"X#~hOYf񛵽:ʤ2 ^&YfB]o.t?\"I.>Ui>{Xxd!,ޫs@w JN8^ĮQyF,(sD[!7	I~Y^.]AVfc2m0d{b܀FGM(gY*\"@'xpXGEPTF<А@%ŞHI\$plq<e-p~<WسÎC Ž>A\n\$'~e	FXlbkD0RO:1\$,A_P;2!l]ODdaz(p%B\n,jzWXv!Ej%Gޏ꾑 B<M kq&Pld-%\r(ВtglB b#O*GO0418'n>VCP)l\\ {N(1ѢŦQDmQIEjz#<l*A0Т/Pl/d@0mlÎfn](@,|)\0?.eF%\"ErE[\rJ>BB4^.6XpY\"*BVXwz1w(bWRR-W}fF?()\"]+&,N*ÔXB\0]Z#;#mzo\0m#qx]Q|ұ\0\"S13	r,\r&\r2v/2R)0\"\\G)2#\$]JB>RV4\$Ԭm@[5D6iRa\n7e6y6i\$\08\\rtg0W,-l2#;*1<E|&*:0p_!:~l:1==9>f.Jxfs!1LNm#<N\0Go,%K3o{+cGRRx.dc%m4(˔-.R:%	ř'E¤hF\rV5Lax\0&M@\$stz\nZ=zPO)zeWB-PH %sКQ0|n`EðLNɚGj6\$\rE@O8-4=\"b,T/dϭkFc0^%FTCS0>ڵP\n6cD4e7IAdBnP!Um\")NcG\0/S	uOc	\$1\r&fW5h\n'+b̀\n@K1\$frjeZ&v:O:UJ14qm8\"LGCP(\rJV7tkg0d&HG,R[ 	\0t	@\n`";break;case"bg":$e="%)h-Z(6Q\rA| P\rAtX4P)	EVLh.du\r4eܞ/-O!AH#8:ʥ4lcZ2͠.(\nY(\$\$1`(`1ƃQp9(g+8]*OqJ_\rGiTh~McN\\4P򂞴[1UkINq呺6}rZ״)\"Qr#Y]7O㬸2]f,D5(7'1|F'7QLs*ns0,{ ī(H4ʴ\0\np7\r7J3H۴Cf>ANԱln:zX Ċ>2*÷\n'hQM2\rH 2a@: 8E@1s /\00#1#H4\r; X90z\r8a^\\0˒JE8^2}9th^+aO\r7^0n+ʛ\$aP+o+O9xNrʩmۭEpM)ӱO\$EyzB9\rӢ\nNɗ+(`{JJjzMs(}4,ΔJH1 )8ۜԤnXAFٍ郰#/'͵0s*'%`E.IhgqQpiJ:4IA,4i9I9hЭh8tQ)龼~.Hnk	di>]\rnt)\"b0;i>:tH7Up,V[orEڷI5vg%}qv.JZZ9\$,hHhB\\GkްR(r׃́B Y7+a\0:sE#Z҃#_0	`!\0C;ʗ39؟ߪ(DBeV'5@9yW4|c7!}qId?.v`Iڰe=c2h@Plɏs.HcA.(5s0N)RD\n\$H#nGÌkA&|RJ0\0lPᓌȨFYrS&9tDzJ:2y\0sȁZHxTdYzT;\$\n3'f@aCɕ] @ Kiu/%xiH&TSjuO,UU*^ tWЯpgy(H0w+2ϸ[I%z%ŲJJĩ])<Fw9F@\\RaM)<T[\n`nӱZDN\"-ZWiG(8=YLwˈ34DF|;GL[%8&=ZB%П|X\n\0004bCf9T0u7x0T Pi`@Ԥ\rӨ0`paT2ٯrHAt4C`ѠЪf(6rH9*\n\n),/bE\r\r|1ΩbzA;V뺈M]2t[\rw9E>x)Oi o=fD2pS .ࡔBQɂpCh~AL}aѢyw!,\"fB.Z1\"8Q\rێ\"2Osh%h3B=ͤs\rCbC)ك.s #HSSY&GIJ5EdV-W;ؘțCdjG8USלRhQCEe MKO.T{'	ϱB-+䶇DdgY㻤bF#)\\iqϬ\rfS[!I/½VS	,EQ[8\"9<UXAW\$RC5`lo1-dR,4eěFl,ْ/R;ռ	>H2OM7gӼzGE*ݮA^A_&s{2~^p؝r!\"BClѬm_5Dd%AʓyJ;Pt`+:ӽ\$o	?ZMvha\rt+Q5˳0zQ\$jU\$#5xRA~!cBE(٪PY8\n\"r9UA1^`nf\0//3שP{eBLHyC	R]@(9\0T tJR)\$cr_^AdUq{w'UpOL_eݹQ)xzHNwGemga5(SͰ !B6.rp'C4\nM/A\\c,X9#8\0'i숋cv|;{+(D  \n`\0J\r\$N(LM\nMdڻN\0B&H~\nA\nd8` ta=Кêl\$(a!Œ)<M	̆\"q%Pd,\r\"\rK0ykFOè3l#\nek<	:Q)g0 6'\"vGh|EȪF%͂I\0001h,n,(}\rL'&,\$fc(>z%pl2.QP1#J2)pl>&-*:cxҍ&&PG-nE~aeZ %;N\$mB)\nE<&0hBBH!4\$F\"cqx6B.н\")z	!N_1&g/#.o&/29&x\"L]-4d`ekdi6D \$^Aor.Am;I,+F|G'DĒNz+=7&@O0Mҁ`\rfho6zH^pҒ(4h2ir n&DQXchg-33ΔBί)')O5,0K7B#56v'()5y*3h\$\n9\rr[\"HҀϭ6)\\M2S10\rQ4	9\n5sw&|4?2:t1\r\r;\r>?@2\"cBޮlx(c{CDd3	gN4R7fcqՁKG'\$ēүGIB7l/3@Nۏ''e0(g\\bҐ\n-&:-(3nN'MT4rq<M'3}I̒x1ԇcrZqIqOS&	4j|U|ht92#PEQF[5y8\"4\"7u:gUP1mU&Uk@<oC hrI!p@xbpǴ\"mnAsQQ@Y_}RS4 sYSNR;O8ZnjO?(9]=ZU ¦hjc?U^U=Ż[u..\"<%/\riOU,V\$ʮ6 vc/nDol)(Ll1x%TwJ^qBM\"oes[7_T\"5\0P__+g%QUIM,>P\\_fTQmp[RkȨu:GKlTvk[UYqBfw aZmBq\r7q.>u%ޒ!Ct:2R?oS@q_&V;?6mr7WM6dv1e낊`bh>E/<,EcBrHb+'E.-~\nZ2k2lb{- j5+w@{n?nT)x\"i(hQYu}(]N^cq/Ȯj>]oG{`OҞNJZ<)̠o7\$O ~~]-`-(3	~TAFm[rC+0}a5Ոw,:F>'om'0S6sx'\$'oEHw&HNl\$hlr\\T,(ؼ1*^n\$o73sO0X]G¡G.(w`\$bp&A}#q['KV#oV3j2lL88-pTx{Fi:-f.M:49G\rDhXB-ĂUZH6KpuBb";break;case"bn":$e="%)Ut<d sNb\nda\n 6#k:jKMŐD)RA%4}O&S+&e<Jаy#Fj4IjhjV\0B`ULcqؽ2`S4C- dOTSTLZ(JyBHW΢Jhj_\rmyioCZNr,N%Dn৮еU8O2nŭr`(:NS7]|􆇵82ɼ 4NQ 8'cIg2Oy2#:\rK:#:E3nm ;KB+M	Ь#G.S9h6ԫmTd\nQD\rIlj'@Ep{LDЦ\r#pΝ2*b+\nDNtɨÄ+H*[;\09CxCJ:v]rl:ҺDX4R	&.S)B*&Q.3Δ<R;(-z# .\07/h: AY1#3\r\0#LY94C(C@:t5AC8^2xqܣK0|6Od3PCl4px! <W5F+mL,'Zu]+u!5CTD0U&/+ܮ5D.{g=ez\"}4L4n\r	JE\0P0Cu&Nӵ\nB\"yr6gl\n\n9:QS:o<G6CYN*k_B%0e;#`2꫎NIٕn>\r\$ؠtԦíYjiFR*L{4d@{Sv3Hp>F.<H/1#pˆL^)Fωݤ:U\rUI&2DPZNeHB'FB=r3ԄJ>\nlgJ+ڒ{F<*1>NC(&>NDC\"}\r V!!;^YA-;EBa˴:VʵSdA<:#s\r`e#P`D@FtKnZLd9x2q~eYK,FHUdP\r5B4\$j\\Z\$*8ISz/ yO;d=3`ذ\"\$Jyb<\0(Z!Ԃ\0:]k:)C8a=P(`SΕR;W3lSMfLgCҞOSi%@g]RȰWQ]x5_&zÓ!ь0PDK.ăNqbCw!)LF<Hͣ\$LEu*mLHRI	iQ\"O8r]tx/%轗`~P:|ÂHm6@\"ݍ[Fؒ	qWj;+nixZbrXڣ*\\19X,xA\r16ՍmA3VU:D~xպh=0@}\r.R{L~2C.v\n (KH)*)^(y(,>J<V>b#!u~tYS|ϩe #Y7|&̪%85\r_S{=K eA:ũ1 (%t\nDm[ۢ{o|!O8 aL)c|w]7̄^O3unvbAɥ5rs6\\+1<ݚte!(ck6MhJQ]k(PU\"R.I'#ct :=\n	\$<eI2[a SC\03(GƩ1tqs?}\"RTU:9@'0FI[hC)5F̫i(h2MFwF}hitFɩ}?ӽ~!\0	赂0T1j֡[zih\nq\0^\\@6gU<HljZXeBtY3>SErR#'OFCu\nvd'|{>dT_jp~nYcǣRdvH6yb&DV-Kj{iTY–7^L\$ùhU:mS1d<QKUS̞ӣN;q5.\"FUcR'Mv(E'#e뽷ȳ~*G?N9N\0\n/l\nF4fJYw-f[Ӿ=;		b\na`&oĢdʉ@\rcu˚ \0`\rJƬmC'HEdA\\v2vP\"o(JiHdN\",Z.D:+\"|:\$/@;@@\rb\ne@,\ngPN;H<|~N-A*3IDbꐙ\"to5C>'FrgNHncpNiZ&|(bV \n 	\0@\$\r%MRY ¤tpm쇙(86om@^vEimCI皢.rq9^wG*&wqEǺ(۪ Ѣp1OqJa{/HJ8L{L7mvMLl0( CBӧEbFѴUqS#&RD<qhCR*QQ#Beqђ?.c.eż\n!6*Ov82d+o\"M\$\npR=JdB\"tI,D(⼑5-ÈFܿz0,izD͢/hLn*/lGj {ш-mAlE2'Ffm\0/CT/zh\$p	+M+ΐ5SRkX) \nD^&nkj\"0jnϷ	Jx8Ã\\R`:0p;&S8M&=:i(O8sg:=Lk4V7:QCU%<\n;@P XS,TOG/B1Bh>Đo1L%.A#%PN0c%R23F3<m=]EqjouڔN}OH4so3#?/EI1ITJsJwjD4g8Ƚ>/-r_L̄:se=<Ne2.*8;>6,/S2 Q9|R./i=)FDTMuuAQQaO1F	hu	;NV5Vq4a+PUk6ҍ	5r3>J3iXH@U=CnD,jhkMSZe`B6DF/jNV4h(g%M[t\$y_WIbEUp˥ED<'4UWpھ,ސR	)&.OUX]/ZMNplTf\n@.&yc\rW>?*;t\0rX8PVd5X6y&wM̆PV*EfmgU5)OBi\0_Da6Uf4>TWVRtV_ֵ44!4i3vmh2z'SN@(oXnpSshR?+',Q.꤄BTiu/O֡\0Og6UTU1[Nri;jt1l֓m6mq)BXi6ArCnGYGc_MWj7otgdfWXds,	w)wuyWiOBzTfV確@\n`\n[L\$q]|=#ZTO?{|w|˯1ZA~j6ƗP`f7jts1/-x6]NufX/U\"uuu?5\rfq1֑u\rh6ھc18˳cJwCktckumUmOD/)[WM{Db3OO^p\r	T	C% qmQ|QqnI?*	7&Sz@%XOҫian8LS%877:nVlyFR5Q7a{\rVנ|KpZXu@[\nf\nZ	0tK-UC#e@gq8CicٷG-3:\rSPD	s`o&5w'iBǚ8Qtpnj@Td6FP 2/\"ҳz9ߦ ń\0A\rKt'\"юTdE_\">!C8cx@&XuרK1>\",3é78j8J:਒=#|\r৅jT_Vgэ8mhFDN\"6آyY</\$Pq[n>2Y탧Ch\"Ѕ\n:\rE@YیwDTPUYbh#/K&:bﴭN(z;6g\rW扫@\r0@VnIpں 	\0t	@\n`";break;case"bs":$e="%(l0FQt7aNg).&0M磱7JdKia20%9IH)7C@iCf4* A\"PCIrGn7+,lbdѶ.e)zCy\n,΢AJ -e3Nw|d\r]ŧ3cXݣw1@ay2Go7X搳\$eiMpVtbM Uk{Cn59.m23O9ɰ֍,`&%iŽJ0\rL\nhԜq,##IST\"( 8)c#i'MKdGpӐ9R42C0z\r8a^(\\0.c8^ㄟ(C ^(ڹ̹x7^046T>&)|쎃58R84Cxӌ}QT;O̪Rи0\n\0đMy_X\r^R!`61 8AL`ܿA/&h>[KZѭJ߈(0dvY	F.P:\rq^58ɂφ!\"S5;#,/\rwB\rl-x84rW40&.C[|nC +I_LBEW8L	OG:b\"S)C|9Z[hZB0RFY\r4[|\0ڍGrSDxWhCQ	93,g \nqΎjh\0@np=G2 Н\n\0]}\n0	k.\"87/PK2`3ɢ	|E\rm7(f:\0x2p9ʔ0<?a(aJ@He=\$\".5ij/?P1PwQV3e-ԾSe4rp2DZ<nle*(Uy 0B)9E9RKI\0M9I Q0\\RKy0&\$șDPLCfiְtsn憆kO'bI.d='IRl@\$:!d{OI\r_b!&#g\\#Ϥd_CAa\0d\r%TN08Gt7#	\r!\0%C\0Rh9*)܄,Hc><3JiJG!՛DhdoXS,2\"Ibd)ViSln'8͘c3;,c#AE8) [4WC04Ԑ0eՏP! E%SLJM%DRNc	\$<|\rN\$CGa\0!	O?DYa;HxS\nԙXq|e<:qK\n;@;ن\\\nm(\r`'US-I#ɡ\"0 sҒ&?8̹j,H ܩI{2Q`'@BD!P\"\0Phɣ2t̒dDB)W4@-Ժ`ʂ\$ARȶWZ!<82XvD)'aˡ>`㬣pmB<mlhfM\"HnlPyn◬FK-9bdF⤳\rf\0#f)\rľbU٫ALR'3s:hC`QQ<zC~V(@%.A=2)7rc3BK=	dΕ9ncLvxq*&KhA*s&#	5m4vU;{71jJ`SXƇ`\0,C<JBKm|z!mRQDUyHٴSQ^T퉔C!2ct Aa VޭYhuF9\0`3h%)\0\nXrc	pYVF**#0Fh@HƺWbk@HU⹄4(M}w㐫y+T&<[~/˸1n\$eg9keP!ƒˏ]'•3~7+>:T^YyB& zb\0;Rr)<B<f2w	;^\0x#.nd,he^D\"0qOqt73)xGiY'		aM=fۓ`m_)|_N]JjXqzarWK/̽\rp|!; >@\0tC\"Bg(p<\0w\0oԊx;#6o1ZP'\rV,.BLRD2^CLzjȀB.plĐcf1rol%4`H:cndy\nb1\nnc\nk|\rvO)r\rx#\"l吊N.b:%YD6ac\" He\nl\"s%1.liMJcR8eRgLbM	PLJ(CLe-z%-BoШ1H\r><pg	jTQo;ﴆ\nnlBQFbCpFb`&q1@f#)(\$Q%Q &CD2žOLfFT3<1o#.Þ17\"A'_.S\rE4cTRe2W&\\-`2e<z!\\-|89	:1\08(:5c)B2*M m\"RE*%+-1{O(.82Gѵ%Hצ]/MBQ܆([ChѰA1ErA1.29ҟW\n'P5N#3V\\46T'BfPE6FBWac~XeiPjn6{9)dz{n9#sS h~=%\0#'\0r\"ϊ4pk\"0\nZR<b@N޻B?K??l;=eL3ko@U\r`.)̔=s!m3n#3c+\0-ُx\r)1TTDD-jXVg&^M\nŬ@]!|·;:0yB\0cTHOű+ETItK0О@lIGKEP=fiv3qdP0\0ddQ	&bsL<F400dztOf*!e\"b~-2L.B3)`,llj01EJD\"M9r\"/|BR8";break;case"ca":$e="%(m8g3IeLa9t<NBQ0 6Lsk\r@x4d	s#q2T\0Bc@n7Ʀ3xCf4(TPfS9?Qi3M`(Q4D9pEΦ\r\$0ֳX~`6#+yedya;D*i+p4(8\$\"M<kXXēYNT^y=E\n)joM|*u4r9]3MPi^2.ڡ:H!0cpȈP %i\n\$H4bfELT&P2%136j6H#:\"-4ȍd(9N420z\r8a^h\\G)\\{9xDj/C2=x!0(n	P	`Nc:-̍2ǣ5:L7JLc0R	+ @1*`v-/\rڽB8AP{A(h=A\$1Ԉ:B\\nx3,\\~;/!(ȬGȱtV!L00`صz86\r}'ώ#Hrt	ZƢd\"Ԗt*j QU|0p@)\"b12T=W5TL1I,MS\"*֭{=+>[]zx(5͂B심ąkC.7l\"@S>tAQ@2 FH04]qc}\r/]F.o2\$ۢR\$kKFh(6p[\"8kq 6S`SH#3Df&#l7),\"\\]:7,M(0-W@e\0r3&\"E T0ȡ(b2 F9%C	K\r04ʙJkM7v\r>4:HI9`Ɯ\0҄ã.FFj3}(UHy!ia;HeC .K~D̚RlM8bݡU2jN(zt.DI(!B#hR4\$׏am0RD-q	-D,7J\"!!6XA3E[boҥn8&r0#DHY*Q`хE(B\n (\$\0((M|p>ZMy	B\ruȹz{8;琇g%4ܸkRC'c\r&UD#0(߭!C\naH#O('b|<sk)jŠ	WbD~	A.&b \\l:b@ɥ\nx!Y\0njPl>uAɲ0˜T \"I2\0)NUlDT̬TsѤ\"*#E&r#o\"I,1~I㪦\0#I1njÑ\$h<-,!Vdp \n@\"Y&[*&|K5gtHyD>WF+ga4la#\\2cSHxg92f4=I*19~ilmڐ徭&!<w	cMaH,\0]J,]bE1]:uaݩ>c/(Nje`zM3,}_msk'\$£~R=/t B Ts\"be-'SfR̫Jh+E~r5;l>[b5;FE	g.58ё_6dB\r6V\0[jG^r|1\nRmӁXG)0nbata\"-nx	~(t\",A]M qAa\"G/bl>GR~il}y\0\nYІUcr%\".(d~%@\\\\z=J|>Fuj	Nv܋58^_@\$VfMy>G.+II<?!݀2*EaL'ĔPվ[/J@-qI>Y\nNp 7[=u䔸䍜u.>l7/oS&ZPt?:0őw27\0s-Jf<5	SE`JrqJy\\,fΙ\"Řґk)>(+\\gV^Zgnf_Iղ]=]Sg<\\1KhpYt_q]}цGoB\n\rVܙuYb#0/xd6Ân锟Hb8ˢP°fp4p-F2אF\\`B,4\nZ.plb=f⪲*(EPDeMnJC9	2/^-0Bp	fp\0N.CC@Ȇf2BZKbP\0=|h0LІ*HGhpp,\rbFC^҆K\n/\nZ	fHlWkp)oL2cH\r4	xoOhSЧhpkWMji>N@JbKt\0xaQd1D~yQ&~1fFjjz5,l9͖Ң:_ #1[PocN(ILFz\r&\"%\"\rr&/7#?\"')%#llN?Q\nq&%&wf\rQm'& #(\n\nMG4\\\nm&\nҨ.Ҵ(0@j\"IJG!\0\"2DEY\r]\"./2p\r.\n08H\"kS`jDDkϡ\nF@Zb&mL \npu1Tnll4S\rnHss	H!n-eB2-#f\nn==XC֤̟41R# «efd6PF|7#=h;1%hBj<oo`h0fV7.<\rhG@	0|HAyB0 >ҥ@.1p6#|(C52@>0=R\"k<tty->a%*T0e+L:deEo̠S-	nYEDE\ndl/g;c\"2\"3]\r;3z9mCAoB@.\\@م\\†Rj	\0@	t\n`";break;case"cs":$e="%(e8̆*dl7qraNCyo9D	m\r5hv7e6MflTLJs!Ht	PeONY0cAn8d:VH+TتX\nbc7eHa1M̈dNA^/J{HLlPDܮZe2bclu:Do\rbʻP.7Dn[6j1F7761T7r{āE3iǓ^0b穦p@c4{4T9&㓞5p	(B#Z-((!H#z9¤0h˴6#t!#\"(s.VC@5[f!\02A\0\rX.2D49Ax^;p0\\x99c@2`Ɖ#2@i`x!D+2ۏ! P74>:(C[^Bx6szmE3Mӭf\rcռ(Kp5Ѣ9UL\$0C\\u_Cx:.o :(\nH%jf:EDA)5<B`#p9ŊzSId\rzQLX:\\r`BEC!CX2i!#G6	;\"\"?A_rP9.wu=īT\\&GDYX@U2:-GN41H=J?3\r)0«@S6X<m:5ٛk@PDoB\r{J3h\\2t*Ea0cp4qq!A\\_A\\򜏸	փӴ!b[]BbYѰ^67:4)rQ29V8jup00̜I2E0#gEjroЈ5H湄QEm46 yںF`	c&?Cߟ!ϥ\0H́	?,\r?B~DFX|Ϣ;\"\\CdEΐ.eI\"d@C~BC[@RzQIK*t_L)/К`d\rT:A'!8Ez#\"y\0RrdDnR|z0Α(O	c(\$IJIC\$adEi4%XKIq/&\0\"24^TPnA:v	5̷ǎBGI\0<<Cȉ\$D'H\r75d\nDYJF>Kv H b>C\\IgXF\rCEmd,5D^KuVnA,rc+ѕ’Q78\$\0 gn\n\n8)dkARd\r!؇PJו\$#*\nKb3D\"ONJN^M^Y9+\rǑ9}e(MΞr@RL\"kX= 3A%0@˜RҵSL*~M	a!\"A63 %~<T	{!6fu[+Bw;NI\"WAzc,AĚN`  \r|'a[*i\nosxBO\naQ ;P[QZ*z(nEɹS#ii]ZWnc	3~GmcґR.FgPm\r@`LM'm'\nD\$_\$A4we-dՓD򭋻HҚD.H!ؠVd*Py'cr\\\nR\nDc	b\\!]ӳM1}6l\0HSAP\$bl*>H9K\ruHMfe&\na\n{gB(t[z͡<d{~읕U:\\baYr4zAԺS%5G((FQo'+ \$4\$e[Fa/9'd1K	Ϝ\"ŖъR2H\$õ\"dZF2ZFu\"\r@(!^L87@+N\"ӎjPL9h=KC95J9N ;3\n!uh@r30Rs!)'6ݠ\rY[!`]\nP 0S8XC9ȿTyVX=ePX}o@ֲ`T<^\$6r\"weU)?%Y\\Ya3B;dJ7@Jv+Wi	;\")N\"<~A.t\\əX\n@nGZD=?j#w wGljO5|r*سw>S0#}qmIm(*}g\0eThC{\"h4ᔏ*\na!@B'p`?R-@D\r\"z\$=ÉH7C6h(nS%^77Mh&&V47 5JT1`opF&p&jirE(΅;8ţKK(:<z:T\\7V^gߥ \\ms\nE4H')d,@'\\:!Pတ_\\*	\$EG*YlvBb`Ь,I,\rEq>q5	\nJl\"NqB7	g@,b=\r-	D<U貐@-r5w	|&1QcJ	̂.OBlC+/7e1L6ì>ÈGSMnqޑnX&g@ ާx* \"\n%OioZ%Z'Xp\"^2.rdoH:F*~̩jrH^¡)1!ޒ<e	iHɲBYKbaqMS) nj@)p*`IC1Į,72x.2\"\rxp#i-#ZdYtnc2\"إ<A.Lq,L3)35	\ng@\0@9i'\r3',UR+SL`L\n.5s\$/#'5.\\@EVEq;,s7-\"E83sCSHSUDDg-RᳰQ6\rFi/+-⳼@rx+x\n+;Q*#J0AS<=s<@B\r\n5!3vS'T2'B\\=&1aa'>46:mZHUCb#DGCD3\$s\" oF^%9<246#qKHF\$α'I(\"#WIo=yFޅ(\rV;tcL\n'dR\\#p'.`)O!\$\\fLN\npQJ%qJJ\0ؚCcO4[J2XmO/?H\rF!6D	Ro&U:R\n/E,8ZtB?@ҏ[\0c5/~GD8O/\"<\$@+`%!\$5nbq\"\n&4IQ+,h[ѠvXV]i]u5<sU<fjp}^an&Qd&9CAP#P'u,ҍu,ZY &)\"&x1d@z2\"_b…:U2\0\"`C,u\\2%\\B}gc]LˆzBl,_#afc?^vdEB1g SM|";break;case"da":$e="%(u7I:\r	f4is4N2l\"ц9Ü,r	Nd(2e7Lo7C\0(`1ƃQp9gC9GCyo9Lq\n\$	)36Me#)76遹NXZQ6DL7+dtD 0\\AΗk6G2ٶCy@f0as܁[1Z7bm8rGS8(n5z߯4k1Nnvv{i7ŭ@QB)&8c(&74H# ڶ) 2ahܴ\$@ӿH4\rD09XЙD43x%Ȭ&1@|l9^'Aڴ!kcp92I07x#b\n66#\n*:;cX:@QC4X4@3Vp6(P+#ܶ(J224;OXމ P<+6e*n\0V0d7ƙV,8264C:qM8B2=\r3;0\n:R@k+6:bB-1uTcH3C&2\rţcӔZfc&\"`Z5T-?QExh{\$	cxc\nMl\06U>j,F?袁I@%.ɴ	<3Z7ˢΌ˪2lLz/;(B-P<%CrA3h؜8L\ns€\n4!-,,Y(X3\n}y!Q cr9sR0ɲTR|d2S8\n\r`ب42ho+mv1J,GbHR #IT'B)ʰ3\r}44Ū8tk\\sDA7/2h11\$l~C)dp/_sJ|ITRXwII䤕sn6%PNd\"L4dh\rg%昋%Z<D<nn9/aK3hZT)njⳭKϻ\"Qy%al~g`i-GFȱ4UĚC%@@P2jNA:0pDL\\#mhԆ2L\r,258Cf2F¨g+\n`)=ktF\"C4hxCppFHh\r!44rԑ#Lꔳ0 g4A) K!(0 -Pl5pDI3ᘙ}LtA Y@\$@˘/r]Yӱ2+1cI12k6.pRp£F 7*(gh /qڽDE	䔊1\$Ɂ2E4(.|+X7ځ\"dTZB	`Ϩ4hPp\$1.])t=NXT.VlMO	*\0BEdL\"PlU.pc7>&U[J4A8[\rGw3PQ51좓bpCL<ӍU\r&0hoDa~Ьd:&=3Q:mUKə6\$DmЗ8!2(mDO)(T^/k*}\na=*t	[%l;с#A/*hxEOY/C\0	RvQļ5{_lMl1ɑP5\n+&\\p\0R-̺_4+D&PA H>[ dF1+UrAa R \rr+OC(j3u1˜hpDb1JT*sT[d9!\"(0Ch		z6l5՚iK+ر.w**лv޴,jAdrh:܂?ZΨo9y2\$\$9X DeR~W;k\\K6d@Fh-m{(ШK5K/fB8ꑰDxnnB1HK ^O/2trU;eFQ%IWڕ8\0[bESԩ&~'Λ>||q&_icZ2\$mZ.@^A:]oL=qʷN-XJn]<XtFfk͞uL9Wq=ޭ,hz&QC-}w枯 .5OȬ2-{[B+uZ.C|h\r.Gcɤ,zX&D23Eb9\0f&L\rfɯL\$N\n\"pϯ`O0k^.FbP+f9W-,4ϫF}\n0|G\n#C	\n6\0%OBh	\r/lp\"~44ìBkШPîDbOfl\0ˏC\".Z(.f~ z\$蠂Y4ΰ-L\r`\"dB7\0DOO?\nccz#qQ~%G\r(8ifF\\'cMZ\$2EGTPidH)Q	ePbJb@\"Mz\r'\rd\rV\re\rp..\n	?%0#mr-v)Bgnzܲf19&+T&jJ\07Wc~&Zs0	N(Rr8/\n2oC:):9&b\"!O*(6x/ :Q.+/6aQ001K/KvL2K'#d5P6v J:bL.E?6eUϞ\nJB\\\0Cd3:-Š0\0l\"yL/l&D r0Q3T0\n&-+qi%LȀ@-j!CO";break;case"de":$e="%(o1\r! ;C	i9	MQ4x4L&:Xg904@i9S\nI5eLn4NA\0(`1ƃQp9& >9M(e)V\n%⡄e6[`rbQfa\$Wn9ԇCіIg/* )jFQ`M94x 0·Y]rgxLSڸ@wŎBx(6nBh:KC%-|iz9#A:W7/X7=p@##kx䣢pk0\n\\;.,(:0o9S/X&\r:CC6p3(,8!x:H́#@7AQ @*Mhx0.\0C@:t!c8^A,xDj6#pC҉!^0c?/H:C+)@,0NRU.'ˎh\n<672a*!(a\",	Z-U#7ðt8ΎHẖ阩h7(Z(:n(+{&˄\nD\"@PTZ3:eZIn`RK%\r͵U6U߷{ \rz;S8'%t\rV0z(hj%K ߋc14\0JUBY\nn*UW.>0%hJ1J>@SRՁBH8F\"dI1]L!WТk9\07<ȌcZ:u pØ}ɽ<2G,oG)mU4\rz|\"Ng\r'\0007=8-4Ɯݍc-:>ԇ4;&(C#M)u4K7cdz#6Hoհ	]C87!Xp-\nu\\LQ3fHh?! &48Oq\rJG\"4'(q`;z@ӀC,eT6	>`#8РMaOn#䁉(F@tC*cL4ڛӊ=N;'DIOsI\rmBgS2\$_0#AֱfqB@o\"IranI./&\0И\"fM	6&j;P^LYiI6[ktt1P:\0^hxD:\"pÓE!8ZH\"2dNP	@2=.ÁpnE?DlKGuV[,7vLD)ҳ0`B4L#@w<VuJ✔`ŀiAD\$hIVկei4T.&hLL	\$?Ȇ\r~teX\$(rT,4\rzFHW\0UJG\"Đ!0\0T\r\nU	'#(BOJTld'ĨAꞓIUc;VΜ2,ɱGHD3p4I?ڲ/6*-9A	M'>}9\$\n<)@Z1e7jbHzvtrrN@b6_{w&\$w)iCbgSՂ@\0-!ײfyd4@*C\\w;I/Ǔ9E@`dll^\"\0\r`.A:\0BEd\"NθAA+<d>	 \"JKpQJ0m1	)1V„Yŏ&I!Hwyf(~xfr\ru\r%A0EOΐk	у_AiP-M}}A5:6Nnil'Wl  t>䎩bY1bOlIt3CDYMSQi*ZARq)эHRw	\0Pecfdq,\r}'&[  !O@T.\"nGNc	\rMf:OpʁD`އjc@=d\0BHq!ySnDmv!Oފɖ@/*!\\+YUCߢ\\}C艑f4rgI,ٳiN،qSORR @֪ڜIV~{F~О~bcjDduO!|~V{ߛaΉC~nfL߁/pmn&\r\$#'%QE߉йq!ou9H#?֞\nF:z\n7Uļ:	%gV͍rb)o\n}\"IcϽgjB΃0WG\0n(nK̓0e[HegC̰Lր]^-#\"<dfom-QMluF1H	c`Ex\rH\"#Md Z\\eY1ɬ[CcE#Ir=	\r-.yNo\nP4C=\0JZn\$`aP?5/b'o\n\0\rd\$\0006\"YPuI@k\0QZ0_zV,lB\rF4\"y'y~1`Z*,cZ'D.@#pz9LL\\MIjBŨo1f!Q\r0\r/MBfLFTob	\rM2!poGpiNSO!.&33 r?梒:悀U%23cH=@6v#4Ky]\"}!M2jj)#R#1R`\rm%d-\nc_S*`13:rZ\0gG\nG rPdD<Nr1n@F\r2\$2/*MB2Un&5!p1d\r\$b\$,⃧\"2 :s2-'1@*\$[(~[(\$;22sPSaN\$DGJ\nje6`Yʜ0( 9,m9e9(	gbɄJ/;qE4Yo82S@sy#\n:-@eNp\np4\\10nڗ/RŅ:)o)'L0*#B8b-ml\0ŴCz\n60wn	?<\$\"!*Z-Ǿ{r\rO	*(@PSCd3(̣J^!!J+sYK@@LkJl%4j40Q~I!Ř|t=0VE7.'\rv'd5(~Y(-O_Bm > Oxm23\"VBm5\$\\	Ҧ\rԼ\"Rݏjc,iLbFk(ZtkgY	N\"4\$!cH>&ywX0JJK\".4h";break;case"el":$e="%)g-Vrg/x\"ZАzgcLK=[QeDXŢJr͜F1z#@Cf+Y.SD,ZO.DS\nlΜ/*	D+9YXfad3\rFqck[)>Hj!uq*?#BWe<\$]b^2n>z< TM5'Q+^rJU)qs+4,er5-3J7g?g+1]_CFx|-UtLꢻ)9n?O+;)IjtP#0\nQ!s'\n|W+IHsH<?5RP9~%3ٞG(-4COT\np7\r7K9FgRPCZJ=P4L@fq4AtD\\9u;*%^(̦gbE-IR\$ h7K\07A, 8b0cZ98@0C0C2:\rx[9\04C(C@:t5-O.\0p_ivK |6EN3Lm4px!bٜ΢-Jf& %;O>%c(%0[6푥YCǕ@cO>cX6&)Ȳ80Cuz @1#:V3&U9Lr_:2_(Zӹ;¸vxӒ9(۔0(נ1qMBL.LJںt_4ժ9[JNGHq</j!d37fqAJJR\$DjV;foH@)\"b\rNB} l\rGRe/.Vghg?Y˓y0?3Wk2D\0l7gPH%6CHgq8maM\"܋别=Dd@AbN=#@@CsV+i-ZjKm09i66Hg(ƫ<_&45D>L	p7Fxҫ\\>xCw-%kS>B\\cH hB\$S1)a(:F\$2w\$yH&M\0006@A9(JOML)VvsPjK6QbP(҈J4PyF{Q-yaw]iՅ\\|#JSD\"kLrQ-4K2Kn >}3N)+')JtYM޷y\\SQkd`\nVU9ATʠ9-HdU+h-ż\\ˡuuػKzWC^T<],]ɂBD'JIIuv^P#{a=,!.EzL&Lw\$\$l\n\\tLׂ^9XT&F,E8bo%D'eȱ>HG~B!DM\$/;)'0<X\n>G2@#̝cn3CFH=՞&LkG6*	Y!6Ʀ]2 -a\\o0l\r0bȌװ5NuQ!<ȴJD,(A|*,\"r.|tugf\\f=!&8TJ€H\n\0@R΄>s	;+PXh  ehhfޑ E8Kяb\0sZJFCppYEiPԃh\r!4C>\00Y24'8SC\naH#(qY2IG>2<H\nL.qJ]^31CH\$J<E+BZAT~݃wydV#uqOg_6P~\"JRZ0%!GGϑjK?\\lXqs\"61Dd\0¦w51b{#-v\rV(6	rFWvʊLͮZPdM	IW\$yR{	:beD\01iG'J:	5{hf\rp6:7kŷ\"S{N!Hbq !Ih%Qh gU&\\4.}wSf?'N9)zMqH'+u?92tQx_>і6^~*|ɢrgJ'w%\n'7b\r&5)>+*4O3RYCߝzpp(c&vKPpL(*bbkc#H\$W>gNJ4Ħμ hMg0x\$ml9+hoGdHO#8`\rʀ\r꿈@^YfйGgd\r8gpdyD>òtŐJk;gDI6\$oX@3aF&OZO>&OoHbܧC\"hk` [Y\rx8LN>o#XlQ7&q/v\nizd@)w`#c\"#gih) !M%nHr\$@\n 	\0@ KU~[^\rbehV̺koCOk ^\0k,\\(k㖀EDIBOn#\"ϠIR,Z悎Q%ܫbbL]!D!!bB\"ip .lBzH(+ \n:kZB:Ck,W(RE!J#\"p98\"(-C)\$\"*DlXeDl\\`P#\":oR>08֍¶!b|G'2*O#\$g/ዸ-cMn\$<-t-I23Y Cy,28+*̳..@\$>o2\$(1kƅ#hb\"BNNGt3t,n\$3,0\"sb~67IM^hĉFHů?<ri&H)\"ak>'=9#&oذFg4S589(g:@@dMd8&8SC|-C~ &\rYp)*I5'\0:Tr\n/H(+:4hp\"H'Ϡǐ:p~0CTNGlG0\"X@p<M4ozϤqAu?J+]ER#\$1?P4FMC!<NiD\nAP3R(R̛Se-i_ ҽPk%%B%\"\rZSSR++]T\"I\"gM%O`uQb'P3A%AW^DbD.Q0!TY,oUuB'DOWK%,Fܕ2>B8I\r7-1P'/^'*4-c9c<mf_K|,l.p-+Π\$m^A3o3u,3/2XO4Y\nUďǔFD1X0bMPby/\nd{ABC5Yn\nD=iuh\\[H5PVfhNQ*Q>rYNQm0Qg]Kp\nR5#KRpsm	\\\\L6~pooilWVԸщq讑F)+Csl0b0b,'Nyo,zN\$kRoS6mldQ}aiuCwqkgUkp6D	x0Qq4j(Qy	GԹH֏0Cpr\$ƺpo\nVr,#{(6H;!^ϊ*\nlq֧UTz ȗE\\PiJ~-*Q\$j8+d|SY6j:QiF,KdSn8Oy[H=qßʕGH=rNT\$ўgL5Efnͅoxn%Aw|62i x6hv=\$7nGfuO+/StjJq1MrZ9},<cq\"46.2R;QUk%rT=0w#)TTs+b?tr=F=`\r#KVMoWw>K>m2ua#fD,BVPk\0wq \np&I&Ν@H)@-U;O@s9'LRjKb*HWBf|hRnJCNI;o[XPN()K#kz:<\$(D(陏WJ>Gj-Y!,&0E{AvQrI'#\$\"d߃5V\0HIp,7f6lvfi9%2B3r(GtbR9MT]ZW'TY,d\"nu=ILH)J8ݭZB-FvqbtE|Ӧb\"9BJwSFxG}&zuܙ&TR,1KvG&; dَI;e\$,=:y\$RCg;\"!vGC.um-T(Hu:Hfk1Qh0_Y\$	sv@ĺj<<qMd]k\$smEImm`¸";break;case"es":$e="%(oNbi1gBMi;,la6XkA<M\$N;abS\nFE9͎Q 2NgC,@\nFC1l7AL%\0/LS~\n7M:8(r4FdJx#&̆1*rL+Z	oX˕.ifS {4gCcpt:\r'*O{0dd}ɎE!(o7-[NNn2\\AjH}C2f5Hl\\S9㈧+/js1\r3OG\0007x@c(:,C4ލ. Pp@B`޹\rΛzL4ÌH6Ps<cz51H752qTC`@5C3:x1gAr3^8/ØxD´lb\$9x\$b9/Ch?/L,ڲë^C°L,#+䞃*r),T<2# //<Ms׈P\"B҆os\$¶M&-Gh@:\$6@:)qB? P28:S˥SH#Hoa1L̇Y4eR\$>\rg\"cҦDB3\"<@,La@U?70R!&M,nMTt?#2RSTiꁥL#AH(4=[	#lvi-J2s/\\!nSDj<1\"88,C`@i<Bs\nC	'3\\ϡhG,(}	urnb0ʏ50зâ͉ĵun!=V2ɆV÷\$ͳlֲA7mIr+\n\"m-ۡkRƉ5h7]rGxPAk6MRLP	#\n0B2[3brRQ<DK)m.˜úeLQ4{DhV }\nQkro̅2f)IlBqR\"DDCUD %&ز\0PoPa+bLBR/	k\$2N<MʐȀNCPa Cs3ch2'\$F4s~By(10kQGаǰH9RB\$1DGc1ICVxqDk\$3Z%\rP\0\":-8\0POI:+rZYs_ՑNk42gzFHК!*?!D k	#	8\"[I9\$蔣cQ3\\פkHܡ+\$7˜R\\7b^z\"VU!c\$iˆ\rhuI&PIR~gWQ1j%=*sACs'4z8)8-bˠBph֧QH€O\naQ\$rk-ly1p@ uDUmrRJBXb9Q=Lǹg̬^L-#9;O\0 Rh2dÔ> [޴Gs3)6 0nIA)dxR\nWpcEX kЁ\"pr%ܲ#CdA<8/AX	1YB,\\2qIOKCȁJ\n['\$maSTOCFa&NrI)6ScJ\$C@(V[ͱar~a/Y̾pN̬&t't~I:?\n[3fxYcٔ1\nK{[;Q1ۇL#AӵECNdCFgξڤ8G,&\"\\L6Ũ4\$bL^,+Tŭ=FjTB,P)uo\$9X6FRZ70hrPKaA>j#QjT\"##nOv'Wt~LoWw|*\nwДjj%-wٵ*ݼpm7\nE@\\Ou!	Op9DwaQ[ɦǠZATgiNQHeID\$1h(w inQ@WLGD NHrXsGMI%? 2pMr;\\z!Y![z\r{a\\KJSLUUW#@WnDQ4xeraZy_|\"72E/:=^Ky͝Tt]<!4TqeԳ;i1s߸iWi|.^9\0Hҟ4fA\\5d\\a6H^ a1jrʼnni\n5Bf\"* IR1 ێ^*r..0.~@ߣ.P@~EGwzBFp`5h0\nPf\"i.X@8.А;*z&c@!&2\\/O0E̘	L#pӃ[PT!At0}K,g\r˒ԈԹddbQYƐzG.%1,zͬS/@/]1M#1Xd\\8f:ET-E#l\0f/\$ʩoH1ّ[oahb8_;hѾ\\)Q%toI\0mRU\"1MT%	#\"=g\rp\$JsMc\"C\"Q^S;\"2?E\$I\$jBh+0|lBB\r2]`޶Wl|/.ҕrr^3@\$Q+\"4jG6\$Nl\",Z3\0C d0ɢ@^%c,p~#n!zU*<?1Tͮ\np\$ny3\"g2|!\\,,Lr5v/@/#C\nݍxCZi\nQB0DDd;8C<%at^bd:EX,=фdefeV<B&&cLAÐ̃0f?(oX/=ǢGCF3~f=ؚ~[;\0\$f@\rtD,Vڔ\$c(@HH\n\"=p\$\$|`?f,1\0HzV1LF0_DP\rG0(GTp\r\nc2M.f\n~zpDx5j*\0";break;case"et":$e="%(a4\r\"e9&!i7D|<@vabQ\\\n&Mg92 3B!G3u92	apIdCf4(aLA0d2ࣤ4iF<b&l&+\r\nBQ(ԉDa'89\rfupNI9du'hѸ&S<@@tϝNhgP9NI9;|)@jjC,@m\"ٳq|F=ZqF̶`*y㹸@e9Rr4e1DyP90/9\0*\rȲ(/:>#\0P7#BS;\n\$>\075H#ƈ%@5(ƈڰ9P|4C(C@:t㼼\"-C8^2x##I|J!03-Ch:\r#x|țBK'8j+|ܦZ-j2h\"J͒…\$p+Ð2B(J?*(]\nh\rk70k.^!2B=C0d^&@;B\$0>00cۂ`Ң@P|Mj5ųH'qB90ʕψ5i\\6\r:c\"`Z(:ú7QŌ'r\n9|sKT?T.'VSUІ\n% QJ\$*^Դjjخo !Y&'n;&3Os#@PI<9sͲ<`|'(0{foSߣsAo(֍Zè۝%yN諫\n\$09mψ!-֐2ٯ4\03j4722c;<]hG5ڼ&j?@3w5`;8\n)P\rG☈`\rdܓN+&3`@Q9I01XX3)E)TR]K\$u:iEm>'{fXڣ;4ܣ-/He\$ܢbSiw4RJY,%`)2CN	ɴãt׆j3_Nȼ8FV=10~fȣH::;p\$PHԅI9rC1\$Ccɖ}\0cɡ>@I)C(E켐H<Yj5\nm=p@@Pc\nA;@)&ഀњS9EV\re('lҔI|LѺv=ƾ!!bJܳ0qbVԍ2zmCzOE04F^<c\ry42T~y/|8CtԒ^c_(\$0eRk3Rqȼ3 \\!1	Uk4(ji=QB\\D=HȻBdǩ.8L\"V2j7h3\0I#@`6Bvm,2A\nAcX̲Br3UeS\0\0U\n @@D0\"刱	\"UF\nb}U\nIJ;:0N\r!̎09\$JSl/{)@>mȀVQ\$EMRy]kY<P>KS۴N<-J2'(\r}'taZlMn7'f\rb[KB Uxԅpt.)<Cm/\06V\r7H]M[]h\neF80J\$,DCPe\0cXTeV(cT%i_[jHl1ȔsӁ3	\\<3P䨴RjI\"%D,{z+@@ՁH2yPWeYilӀ\"`STHFSaRN\n@@@ L8=jpFF3KͷE̶|+b֎息a!Y2!\rg1k5EJB1s29:KngR/>A܂P/\"-5|BAD 5Ågٿ[ZӘ4vL/jbGs^fMw#9s'3V*LB%vÕÅ`G	ē`WZ.7B{/*By~~\\Z^<ϾcȮc(7o\r4~AMu\\c!`fQq	/O.)=f\0R5a=4Τs\\YS,\"	׋nbH]vdRkO?P\0'\"UUF!bjP.كl4,:I:Ethl\"Lfhpjذ}o/8dZwXJ8>	 .ﺊOGx[ĖioI:Ne0I\$}o,Э\$t4Eoк=aOH	0-\rZ\"B>XúP4<T\0S	J/P&:SC7pb59_	RȚqYQLT@\$\$q)axJq~p.g	ixѫz' Pڭ\n\n!jt	'BCK&R8CQ\"@ĉqQ\0E, RMg qUBi\r},TЉ j:(=#2k\"\r%i.EO%:3\"&\\J	&G'r.bNğ!'BZ԰,*d2)_cYl-i)	Nc%#)rmzgѾZk8 0x@!@rf	\rN,\0+~ٲ\n@h.2	Wh,0H0SE3/^\rŘ.*\$hY4bVe\$fg9N҂@j `\$Pw'E^. ZF*;N(X/Tʥ!Hi0D	\r \$\rlR0*ӄ1BrK8#jjÉ\"N4G\r;c	`J!û	VQN#N]\0L1	Tʰ0HVqBRk,!TG\0ސtV[F/<sr3C9'GN\"6&kFj/E2ކ`C0\"9xOo\nc \"CnvB\nP^@&	\"Ō-\0OƢ#kBHY-Ak/DPk@#Z,>k_<4oOb@`-cZB1f>Z¸.\0	\0t	@\n`";break;case"fa":$e="%)l)\n@T6PD&چ,\"0@@c\$}\rl,\nB\\\n	Nd(z	m*[\nl=NCMK(~B%	2ID6MB\0Sm`ێ,k6Ѷmkvᶹ![vM@2ka>\nl+2H#0\n]SPU!uxd)cZ\"%zB1C2o\r*u\\o1g{-PsW㤵>--#JK<֋TsFT/\nS0&>l`Q\r{US!\\8(7\rcp;\09Cx䬌T*(2r\"&\"_)k\n2E{3	# \07A 8T0c9c8@00C2:\rx%9P4C(C@:t1yC8^2|9P^&AKX\r7^0J~MT<6.hHSRs\$jP;9]i0QX%zZ\n7J((J2<nTv	?62KV-LZ\\\n\\I,BBy]uEq_X\nc.[]%L0,U*\\Ldȑ2XlaN5-Q\r\r¶)kO:;l@_94/(\nb\"@n|W&3RUZ5_7UzY%hcLVl%m7*UyPTgw^E,8llʫ*V\"X/I@67R3:gCOT	0983\r#?82c!=}^\"\r#6K\r{!w<DNuI[.U\0˖clN41{nYÐ60ZIHR!K3<K2FR\$SJ1EE5&ylHrYB1!\\dQt}P)a^(pHAEn@U\$!#H:^ƸVT\r\0\$%.J ܁`cy2#rN<'PQ}B%z?x!MDҚ=ĥo6Ổ^.&Β+.!5^,M\"!-V\\p{r!H<@TU{87SyOi?rP%㼐_+ G]mZ?B,ѳ#͜?,3\$?f9+[H8ڔdHO,&)%ę]\r!6\0ė2@LXa&gl\rڥ\\wT4Ct|!rRc	VfD<'GU|S*{ (\"Lmʒ&\n	)f\r%ߕ)%7Ee\r9=L)\$\$:{I546:Kq)D̓68&4ʙHrZ4N.X0\\eaL)jD	ڷʲW+VnR eD<O+(&`a!˲?\$Fr6%D<D	\$<\$}oHl7-D_q\"dbsGe:\$ōHIlIEeXJ72K^?z۳țN3\\]l_f*<~KDh[M)м#JjROZJy=2M ؈f	w#M8\0('@BD!P\"L(Lq7YJeCw¼K&>f86L<vŸUB'nS\nz%:R(ޫc i3U:b\$/hpIW@ra͐ߔ\\n_sV\rdCR8E!([ER\"nHa%Tmi`lS}2 1rO&Q̥.Qn%le\$XmF?G\rb:I)0EY<*#Ԩm>Fቼפ/@w!_Sb7Hq-.z13\n@ea4╒A(;ɗB|7q\nq3ä#Bv7Ni.:T!\$āJAJuд_V4\n\$)ZASLCV7U\0>VlcmWIХOj[Qʘk5)gƍ9.l=/f.eB/^Y]-9Y9,PS,}& {\"Sim%H8`/ox\\jjA^^\$C.N0P.R4pÀeof݆^p.dD)83\ng힥PrBFf0GN&\$4r0xnB T3n4.J|pk>iLN6'AfGT]-.In-(3\0km\$֧23oՆn\rm#4k)2NC!o)tVL*&/~m+m\\1\"Bpe]Q\$(y-0glp@.l)<waR|G¤UQd~\"*;?bF{\$ʢ3iϰC8- l/5	`lΥ<f0;Pq'j+u\r1Qr7 Fr\nz\raUE(![9VD\n+d?A	)+L \"2?%?qe\nm.U'vC#&Ǥ>(f'2Bp#:C'\n¢.phKK( .w+\$Bj2,h,~y2\0ء*;,N8JC;\n/Gp7/&c'.4R#!s\r/fzZ. ce'%3r_7r@^Lۢ<m8)2'„t:f%MxԱ.13\rS\nCaW	Dl'\0s|7GX\$610(33ő;S;C^CU4f.!ʮ@kܱ?;	3i,\nZ	LNi7SlFC&]/X>Yrx4>g<Ϥz6<nA0QtC{=EE(隶	πzMΨ2h(<&ϞsG#\0001B8ChC,DBV^ZnIRT8TTl0c\$GK_\n@p*ԣMT3EM.1K-7\nLV&lP8dѠ:q:bF5gL'B3F1L\02Q:A^ㆂңfΆoJj워O-znT2ϥKIl+pFh0\rO	T(.s%1h:|Xڵvoy#2l{\\ׯ\nF*";break;case"fi":$e="%(i2\r3 2Dcy6bHyl;MlegSnGgC@tB\\ 72	aR,#!j6 |=NFt<\rL5 *>k:+dnbQéj0IYa\r';eHmjIIN_}\"F=\0k2f۩4Ʃ&ånap0i݈*mMqza͸C^m6>㞄;n7F,px(Ea\\\"F\n%:iPn:lنhVÑʆ\$Ck(#\nF=%#2crH4H9σ4:BB>&9-p0\r2@29&\rLP'xɀ6,(09\r@!@2D4&x5jx3^c9xDb6=^0H@s@݌S!r50h^ر9ptQc*n#^;Ms]P-L87+q[0Z5[-æ`H*k)XQ2#=Zp78/xD#\r23Z>	Ӿ):挮\nXp2֩Jӥ(u2S6Z/doS\nb;,B86EJ0ĈIeLf,K	('9[\nqX!>*%Nf@ᡒ@K;45˔\0HΖ|(a_iK,֖c]ImowUz\$\"pU-˛4J\r&GIE|I{R;2َ\\P(0jq&BK@lH4nǥ\"!{ESU7E~jE	rzHY<{m~Y. \\LS&y\rK4dŚ؋\r1a\"s3W\0F0[EiޔwCK{d49cޔT7ؔl/&ęfM	6&sNn\"P!4C\\FKRԻH)	/O=Rm	w0HL ZКGqsRDz1.&ƙS:iMa6HSvXPSbN7I)\rH[Udr5Z`gGŒ	y\r i\r7!5F>L^G3.)i\nC&M\\ڵD>?JK #,*M<G+\0-nh7FҩAC2,j!O38CO\"ԊDwIi\r8''mJ:və50\n)M.i2.䓕eV25Q\$~-':D&!TCdʦd6\".N)F1o\0F(:G^\0L-JCh\${RQ2`ػEDb5Ҁ\\Z;*sJBQy҇zr9h'J̾BuJ%0%ZDO\naP)T 	0ɐ*C	=\r彫)i1;)YϢ4p}KN P(`a9gHګ%@\"9Omfrzso+8PT,@.XA@@\n@^X>U`( jw^5GTRTÕ1S,1 d.iL42Ύu5((QrjJg9!4<@PVGU<w_98&\\8:sй0Cxvr>%Z}e96IYx /siA>1(L.fhU101tg%94]Øh_47tcU\r)P* &1؀Vl	tLlsHU24^j4A\0cA<b.TsuXx%3ݏgALAJNmdty\"^'n!P 0	L2&Q9\"<\\YXO:v~WFD4WlCN5vNaeJ__3<sf\\/4ǥ\"CMNFmd*JU}tz봤CNbk[#%A	+4 w}䏼ܧ	lru kb\$We~Szm29IA[ņ?|Z5L{5PD/j|uK5.ZzH9=Lc0~Dzɥnu2'00*W4'3^mP(d}IL/\0͉0A/K5BȊ:lþ,,\$+NV\n^\0:.o͌EY-3FZ*P츫JL@c/0WgQ`4KX\rAģvWXߏ	BJpty\n*\n:ᆬ0ڋ(M\rBlzAHZuBzÇcl/`8bX咈\"U&NGn&ذ*\"C|v-TH=Xb^٦`*pҭpM\rnT.?Uoܶf֑\0B]r)3oym#,6\$d( 8.O?D%Bꫨ?	c#P4%1ѭ\r{z؀]ޟ|#!\"Xxn!']CnD\$E  h@VE!\"S\$RH\rL.rXۭ\$\$ՠ% P-ܭplڹ-\r P62!Ҝ1'G+/\0ur5ҔnZ*02c]-ԝ_-R!1	\$ 	7m<8?!ʟO<;y1EX#g'^2\r.xg\$t?DHWLF`\rV6̃+CgükqMq@p!gN/r\nP:o\"H&&fm!T>0y.8B^u־,8̂5\\f1k?M&2xk\$&>/eӈl4D-b6Q06D<'	\"*uQTOr_E?EN/	ΦN\n#&&WtT ɢnH:(i`EB*6Ƞ6IJCz-KI0H̾gcO=CEf#|%`JQ`ЩGVC&L㯞0\\";break;case"fr":$e="%(m8g3IeAt2c4c\"Q0 :M&xcC);fSF %9ȄzA\"Oqo:0,X\nFC1l7AL4T`-;T&8̦(2DQ4E&zdA:Φ脦\$&̆fn9',vnG3RtBpv262S'I\$6N\r@ 5T#VMKxrrB@c7iXȃ%:{=_SL\n|Tns\r<36΄3P\"Ln7; <P܁B26(:ħV֎c(!5L2;#s\$4ҍO/v-Z20lT j 8!( 501ɰ:\0tcØh@N420z\r\r9Ax^;Ёp&,3_,c,2`\"cp̋% |/pTƕJ#CbN0#o1,[0h\0׬b2	ʃP6;H>â\"Sj(\r0:6q7H(7T*#UuTWF\\A:L6A/}B40[XC,qG##;8㲂#>3Ǐ2Z4\\s|J@#dv6qP(:(/)sZ|*l8VWeVh)\"b.r>u_[|m:89x#FsSU񠡜֙P3ƈ>gۡveEBE8ݬM{;Rt93#IS\$]t]aA)8UyO\"ޖ2faC(\n G\0004&\\ KB;%2JrD4Jl6\"jA5<\$!0<aPsZ\$&MSPy5'x߆RMds\$ Fp	\"h1d!VQ4HV.FT4(Z_ +M!\$\\FS!Ѝ'hS}@5\nJ1G7VR>DŽT%sD8Jy-0#t&*0:2 '!d@!IԌ2PC(<ZmòTZl Ck(<f12إt	b2\"WQI{Đ!hR*)Rt<@l9Kxur2L277&ȦY9->ZSs]F]@yhY \n (%\$Eh\0#JRXs!!JIἁK酙W(J̑|3fѱz=%U	Uh̒X8 pT	jojAhi5g\nq3f'qn-UMZ9) \n&P+M2YYiJԢ:DaIr^EmﰄDL2UһHp֩(JHliM<#O3`8Set``9E:qs2~ ¡(&h\0R;[>Xbe\$ť5wY(;\$y\0N:P4&TjpfanQd	`ENhT-\r.ɳg?˕Z('@BD!P\"<(LXxm\0ŤE100EA\$ !О\$81.\n`\nyL\rq}c%2nD\"tcEW``;@sO_3Q,TLy!WStDC?feuI)f#.@Sg-t3>+3]8lHAy֢RSjx\01(% džVA_:SaG\0Llc+K=1f\n)C)LCS!ԾPσ,+X+k%BdzE\0Jxo)c*S78ERUydcAyvJrkUy|_z\r}6ׁ5deu֥F\ntaPuYIa셌\"Sf|uMT!\$B |4wo\$5\0\n\\3Eʷ#3F9ʰ)%;V+cgs眬s+C=vϼvMr2n17pBH灐]tx~<\\1`'=&I{p7p͝\nWv<9J73-N\$8ǻ3]ЮC|PO)&a2uoiD\$haTˣ?k\$Z,.Ϋ&\$f\$\0%ocP)	=\rk.:K\$Ƹ*So\"Xʈb#1KL`nY\\\"I0iM\"bn6n.Zڌ@.vcv\n,f\n{	#05R{E:%S@bi\$;pФfP\"oUpVf\$nPE|2Q5=J!ndJ158	\n6P0`)\"o;n \r~l\$NQ*хL&aPQO&(jP‘oaS(;b~nìEx/\rEƘ#r%NbZ`ʐ4tD\r8]ܟˎ:[4`sP2~cp-Bf2b!P3%Me)K\0q%q:|'@V%p(2Nnsm‡R(ma2]('#(rv(R>%ή:\0H}`\0\0dl#F.S0hY!(%I}/3(2FVNSTMEX\$\\+_jN{'~J2vC}fX\rh5)V&5f6SPk573úe\$\\\"ro/\03\r9)ӨS1s::2Ky:5αҶO%:o&c*MF&:SC>3;	qAR3\0,&ZV-*M=Knv4lK&-4461̅&%-6(Z0-*[;4=x)op֛\rV;U 3>#Cm1\$s'E]|lJ\"#j\nZ>&d\nC}/B1~sB!dDuF;2pr\$eem\\1_˚D\n@OPAu:XT6gnsSR瀆},%\n0gb263>tz\0lJtVqng&d\\cV-)Xis\"GX5wY\$JNh<\$gq&#'V Ve^XMDhǬq~,x\r:*D?c\$1x,Ìh-ޯ\rdBLvun;ʥlQ0ړ`\"\0,a<D`g1/uΦU0ʨ";break;case"gl":$e="%(o7js4Q9'!@f4SI.iXjZ<dH\$RI44r6N\$z 2U:c@59\0(`1ƃQp9k38!uF#N\n73Sue7[ƃfb7eS%\n6\n\$s-]BNFS z;bsX|670·[VpL>&PG1\n9llhE]PӒq^k0&uQT*uC&&9J\nfɖZ\niROk:/:  ).臁PX2LxƟ42(08: FF98@\n7]\n43c0z\r8a^\\0Ŏ~/#8^&9ɮ(^)aڼp̼|1+^0(;9	{7\rKtS4B7 =B.\n (CʴtC#x:*\r(u6Cd!2pVj+L\rO\"1v`Hޙ*L\n˪P45107QfB͌\$0![c),	+\0ǧF(&ej	Bj*V\r4rӋ<#*=\"03e90(T@+#M8P)\nѐƓ#=6zjHz~P*J\n\$5pC-H޽ 2w)a\0mƒͶc<Qa4-*)M3Х#!\"}\n;I/).P\"@3bLc\nH<32oX gBefANDkD2hZ!tW\\֩>ۖ횛T!5[sOK_:\"q(~0?Dd߹)J׺:\"JddcCi[g\"ZO҃\"% @*VK	i.%\$/?)5^QK~Dz(iJ~[_\n^p3TGeg%BBTPjyaӝuc\nT:䢔ҪWK)m.eEɠ9&̒Niո&ӟ#vLSq#B%AZ(bJL@jqv\r%(l(RahTv1d34A+\$d0Jf\r%Yb}ߋ,'a\nB*ӅA\$H\n7ydAK&RCy\"qH\"\"`I\\mdL3(Fh]0\n 0Κ	*+F6BJ#3dTA܈O!\$h\$3DtЀ\rS\0C\naH#@:V(ii7RZ٠{}~gqƳI1&d;4K5VcbY}'fV;p3:yߟ8W7k P	L*6863gr;(MZU+Ti @r-bge|*!%@~+4T\0AW(F\n72I#L9 2 vF.!0xg(\"~AB&Q<JC\nT R<'\0 A\nTxR\nX'ЈB`Ewfq~\"ĵ(f	3dE:R.\0ܜDlLzt/g\"Zcjl6g\$Qi\\c3e XLi!n2`ͤ	2;C:ZJ'ЃTn=+6u+ Rg)k0h@6ͳ\n/5Nϋ/nQPu	z\n. U1Z\"-puhâx>CjmS#Ny!X\rMQ;Q)/A>RuܾCV'!0.o+H{?z&X6\r,=2(NS6D#'ƢIyd\"ި\nBkdpRT	\0bFߨoFu*0Z\\S0Ax WߠnH5GC#!:gֆ0{\rf	{PILV	QMzF@ӥ2PyPOlۯΥاVD֮z5s׺F#qsyvÜ:S9xm#T;]%#\\1:<xqEJA/H(Hx.]i9Md̶U ԓUBnr\\}dF;\n]\"߿ʧ%{웶FY&.vcN.@[-J|LB.Oxҋ`bB\niҞ6\0Q>'v(51vVEXe \rFƦ4olmP¨Yފjo00j^%DD~p\n-꺄\$\"N4/G쎮d&1o	(e4iBC)ؽIf{)ԼM/@Bp8!Ġ'	xmιB~*d̃ZJ_P,g\$\r你TNͅ&\r^1v9E0<#Po+q\nQ,#\"/WI	\nPDoB82f^\\m&f\\CpD)Q4ޭM!\"5F_Ql|m7/#>_ms%RO#1ZleT3ߨnIT@>C'l\$.(\$\\+R\"iߒ!@r+,.\0<\$\rLnG-%?ŕH+R8\n-P/eA27[P	&\$`Ғ @\\UMW^>\r'4.2Z\"3JPn1zD.#D\"|4ĀbNO}pPA`ƥƞĦb=&h1Ų)Ζ'bdk7SL{,\np*\r;o!BZ*\"/PQ8@८“88d\nfs?'&j<t`<X03l8 l<o'NCe2L#MDA`eCE(7Em[[D4U\0	f	(bcGCk?X7Ga#pgGL\0lehBΌfd\$FeBnޠ']BO1yGlo\$@B2\0CJ1Nb:I)5	d id\n@;܃U<+FpX`*";break;case"he":$e="%)kƺAAvUkb*m(]'mu]2וC!ɘ2\nAB)̅E\"ш6\\׎%b1I|:\nh5\r;*bJu<UBk0i]?F'1eTk&G~_&0EAd4U¤MBi~ŕ\"U hn2\\+][vGbҥE(ŷMƳqnNG#y]ο񯸫_A_0il[*Js8r,)#cք@h⚚36K h7<A\07@ 8,B0c:98@0C0C2:\rxl9(`4C(C@:t㼴0.(p_!r\$I|6.3<ld4px!:9\n\$C6#F+\$rAH2l:k2	9R\n7E(J2,5=ҊY\"hI\"N,	**;0*.zLN\$)%%]:u`%JjZn*H0푮ܡ2(![O\"U4i,Τ+ )\"e\raL%OB@Kj< Ԝ8FY<O\"Ȳ^WI+֗/U6\"'^h92T&O003Ø|!#03C.'/ 9ƃdq<ݼp2œ?㦽;3u<ܢG%T\nJ[̲=h^rIrFO?#6+RJhWvu޸a<`B?mYi:%!{GP\"!n-V/.LIt)J\\K0\$ƙAzo<&`D\"ub|\rQ*1&QNsAIrJ\$W3d@YR%%ԞRUJe-ydLÆs%f%BFȉ8Z*\r/3xaaQD0rN\\֑Ca鐦vPyQD`rB8E1<` H8\$heU38wê)Ea:ǐ;sGH#p\$ i42&XCc14hl e\0\0('Ɨrrp07\"r\r!;P \n&nHy\"wq]4	\$GĜ0i	%0n 4`w\r1ҔzG1S%(UW9E\r{AXCj3D6Z.U`>4an&((iЅEZz\"Nܒ<a-l0YH5%QQP#L_?\0¥\"\"DPTQa©d\$gjV\\x&Id%A[`,	)1_=4͝4h\rRXԕ׵FT,NfV%\$`IU3N<:n\\an)\"MHIQ8:\"XEC?OUݟ	`qPS)2+UiReWy]KYj1Fzl\"N2Wʼn``\nj\\N'-f&ۙ[+Y:	\0AM\n#䕰K*Qsu'2\rhQM:``oK 8\$b0\nrl2z GeR\nDG	:rEdw/51Ibrѱ:Ck \r&\$q=C.a9єm[ISBpL0:m\"Qc,Ք.qC	(JdD/LU`\rW&bR5Tȉ\$j@󕃬RJ)\"'LQٲqKZO_S6H)=BkTQ9.[^VQk@{s'#4lݑ\nRݐzA6FWQQc@^Pv,:Gi _NKs.+)Cܔ\rQ#xn%n\rEwbrOݰZQ%E\$vG\\8iayq-8(47\\hXqd쓔+>5lJiÏ3hain]!.-v+2k]̣|	˦ fٟf_uEFޚt%51u%J*b\\YrHM~Օ!`yx8E\\s-m	e`	y=\$%g͊Ӭ?>l*Ĵo,E~0R>Qyw˰X%Q쮷tR\$W.wFToZPP Ѧ3\$N+:\"8Y<?lWnJ:\$]n#|1oDbS@\$.vY0#:1ТC\n.0aoVW'f# \rgFL4d<p	0\rƌD&\rQv%V(.Я-\nL॓o.+=AD#/q\r!pL>0T[.æЏ~&-\$:\$*|%\n6<ϋz\rbEQq+	^إ#IvHdCtH	j*(-(hnR~Z@e秕1BX^W>U\rQ֢@tJ!H4\nȈ<1/&.%P!L)\0L04w]4P[ΐOp(N\"Y<%2%r(h!)B2KxTf2,665E\\:*AL4쎗^ou2b_FnⰫ\"Pg\"]f˸ѐ!.\"(…qJ0ŒZ%+~â\r<@G1X‚&jR5";break;case"hu":$e="%k\rBs7SN2DC3MF6e7DjD!iMNlNFSK5!Je@n\r5Iz4B\0Pb2ar\n!OGC| L5\nLL<n1c*))`žk56Lԁ:'Td2ɼ 4NZ9@p9NƓfKNC\r:&hD7, *msw&kLxtl<7cVAgb=U\n*GNTT<;16B5x73Ð7Jx:H2(cVƈRf	H0|\"PlC8:\0P6 =6mot8A1l(\$qz῍`4-4׿`@\$Bv3:x7tA`x,cI|6b3Akz4px!T*#6\"P:C֎10I\nYÛ.=SUM\rH@*::N:6%TN5PS\\V28>\rOe\$Hm%cE[跈(0@;#`2B[dì10֕:v3è>\nON9\r5I\"v7.w޼[73P)e\rެPX~c7SB,ZZ2#;E*jDr	VlkM)VT,\n{*HS.Bmz!	88\n\rfHBbbH\"R\"E]{\"Ya5`{0PI(9AZG#H] th4wׇjP8m|Aⵝœ7Ithn\"4p[5ox;K6+x2b#lkJҭ`3ɚJ2+EP7hHI!%eR{zyNFx(6uA@s&\0@͡LE)IMT@r)-`KS^oY#jeL5ӊs!;'ȳ^*5@袢885\"R	\rO:%(mNj2FN1)=4\r\$2侘b\nfM	6&K7p9J!'B 'JARR\rrSO5p4XHN)3D14cE,9C\"Cfm :x	L̛XwL qqyPCsI52PX@f{P`&@@Pqw0+dD;PR&*LCl\\s&\0̔\\P!;D	#AἩL\"(	\$i\$fT0n[\$:ta;ye8KGIEM'2 !0zQ8`l5):JeKɉ32<B	'E:>Fjx@\n	\$<dz\rjA\$pRvXs'(n8ALP~pSܶRf-֓BO\naRB̸9'.]\0I5sR)ԴnrI\0Ӊ-_`@Z&:PY:KE[ ֿZ,xYhff4ct0Z8pj╋ zZA1&\nC23d>(&/]EI)1٪vջhxU7&1^NƉr>&ʆB11xd1B͉12kXoZ.=b	^C8^ά1	V'\rWV&v+1K0\"\\{E@\n	Nbf`)܇FeFVk\";aU{,lqJolM=bvc\re!I8\nŊ%2٘260l3JIAIw|hY-ن!Xčg*ЂAa YJm͑RY*M6{2YbQeV/&\r!bYJyIfRśaZ/rW=NM\08Nlspjya缧O+oE#KPG7r:s}!@9`:9Zp\$Ly*|`ʉV`=?ba(PXw-R5q` u^3\0Ӳ4`!Fq^Pt2(*ֻd:AV05\rSぎL`U{-'y\"ViWXW)J\$U>^1'#rDx~\$*B(ΆU\"\$#Z\"e,#C\"TzÒ0&~-@RbqK0D,\r,:̌#R *֠F\\j#l;JZ	-f[%Zv\rjhEGVLOokj8't00o\0000Mr\"R;\$\r.?-^\$j|.n0x\r.00YcKlp\$OHP-\0;cbjipyHo]eTQd6@KIRhEm>t>TI`BHyq…\r#X0%QAڑZüdObQ܌^RT:IM\0,\nqGK	q,n\n1i!s !#!#r\nU)`@122Top8B;iM&q<djޤ\"fa\"R6ƣ،aBFS)k@;);&)ο9\$l9BEbm5\nR2!hm.R`(-7.KF(B>J-&G'O1e#q2gp2n2\0Rs)2G,Kf2</E='15C'.(mCR\0c\r#\\X)o#eL,U&4YE; ʹ/W9^:bd:蓜S;s3	n@4#X]<֓q>h?V/?e8\rVPI\0`J\r ̂Ĩ%@OJ@\nZ`=KHV@pT&TY^qV \"B(\"\$f\$BHǸ;#Bm枡C 0~\\c<Q2K2/'j %@P}4NCC7\0]îUD>o:I䏍TψO\0\rJ\r<<\r<fl3IrOQOQ&\"е'2/R&RbΥ,^(:\0m/&<Qf'\$b<TSAB\rfJiNZ	Z0|vJddb`Hpl7T,C&s)#9\05EVߵ٦KPqQR¢dž&J-a\\BƆ4\r.b)\r80\"|8lt\r";break;case"id":$e="%(i2MbItL9(g0#)a9D#)rc1M'I>na&ȀJs!H\0Na2)b2ar\n 2T~\n5f*@l4цa\$E8S4'	ldu'c(oFe3htƝ\ry/s4aUU/l'Q!7nS>S/W95&n/x\n\$NX)\n3 Щx(6ǝӑ9\r0\n(DSw0/2Zz=Ә&@ȣj^ ښ`182 0cJ&s>\$h4L<6Ȥ`@-@2D49Ax^;ȁru\\z&Ü]~\r34^0\r(F	J:x#OT;z. P7N#J6P\nP	cx7bR&Tp=	)oO0:S}8\"G6\"6+4\r\0PҰ3Ō!`Ss\n辷,IxΣZ\nNY345\0002.#4)\"`1@NbړMs49c,~>lXɲ_	-SA\\!b(6B \0.!J9'\rN9#2\$Yk 4'bkB\"2@h2\r\0ܽ,\nz9Č^(Jp;S[B 3T	kf-02РUpBNƍ0̴I)xb/x7Sr\"4;ս7N#rjz aJK׉:D*1IY.x0t 9FC҄B11{2#rX&\"Y,}>ϧi-Ke]V*E	DÒl@\\ѫGH\$FyI\$Ĝse\"m%fCS=\$RUa 战tj	b>^J%4g~jL\r/9!R-@ғ^*]CDQ\$H8CJmAs6hpQJ9@P+HhLA?%ƢDCrIo͙8eeR,:5\"XIlRE h)\$4C:!zDq\"@c#H<3ShcV}߆NS\nA>F9Xi2a5U.aԄ.SPu\r'\"1QqfMI:-\08CY7j(\$0aɊ|EHÊ= 3YRB1v?? a3-Un\0˜T\\Ȟ+RI8 	iq(dFNOTȎRbYG e74gΩrtNT_2H@eKpF\nBD-`ԔHcPʴxxNT(@(\n \"Pk@\n	lU1\\,hhR?--6f>h&˯-XtNUɢ1ܙbbbfXb- ?̶&yX(\n\n/CΥ#\\P\":|Oa(JmYaxJd{G@[Ԋ2**P,\r:\\KER&T2r\rىTw15XZ}}O“Ӓ9D!\0ǁ7! 3R։<ǪXAHUc\rczl7R.vT\n!A@Wqf:D0\n7JfjDơ̙k+:0Ykd~)%/z]P9\\&t|dno&:P	M<PAN'r(ͤK覈c2TQuY2hqy	yN::',<\r\nAPh/B<v>XP\"ck?ycPuWèi\$J\rBMg/z͠:o}~Cxߛwy\"l]\$+|aЈygi?+@xpVߪy''=O#\$QN[lpXMfX͛w7ZiO/cj4K??SDǙg8EDžrM̶qR9?3#o\rYV;vR䔵T@87(IND 0jS} `IT30ysȋMbRೃ֓^HGjޫǒ|\$FpǮ`q']ߛѾ/avU;?\"O}F<W'ur0&yx	/\nn0cT8A/-.joE\0/`0n\$Ot\"(X2K`Ne*XȉV<?H>F0B;:>\"X#0TPSgr%/Wg0j!poCA`W\"PTT/N\r0zŰQ08A\\QFQ #	;pm=\rp\n\0LvǣX(k9nx?`?Xm/^-˂NLd\rV!bȨtWBs ? uDP\$@Ͱhj`\npk1cx\$L0p[7\$LnR4l	mv^ZDڢ;CC\$\"ԧ@p\"QVMR\$Ft9'4G!CF=W),ox,f\rqx#-߯\$! ( oq!AMb߯OO5\nNɘ᠚}`C&n \\H%+dCK\"v/Lmev\nR 6V..V]rr5=2cA\"tnXザnb1l4T`";break;case"it":$e="%(a9Lfit7S`i6DyA	:fL0č0qL'9t%F#L5@Js!I1Xf7e3M&FC1l7AE8QoS|@o&dN&(fLM7\r1xX(-2dF}(uG&s4M\"vZgZ-(J.WCa[;fʒ 1Ņƭg<	 gJerKDSd׳&ZQT\"H&9:k|jlʷ;`{yP (0i (svIx	zԏ3eP2\r[:#88-\rH1l2\" p9`@%#CH3:x#1\rAr3 _I|8\r&t\r2ЙA(|\n3zQz%\0000k3ROH6k%,™@+kf',\"b t @1*hN\n\rb:BUm,7յ{&rI[`O°\"!0m%f\njЍ2-pJL`Z 4el\n7csL	/I®2@4TV\r-䵩Ո7(P0kDPt\\\0UE!o-m\$1mQJP>2	#l@9.N9(˃s!N\"3ji@6#n0M\$9#[<#5\$Ĵ!ka|9:L\"8˚0%:TN1mN֔!tjEM9𓽏b87KfO}n<Zh7+V&.M10쀲%PAUAcf\\CT\0H˗:uk_[?vg-}+nvO\"֟S4FԌ02+̂\$L\n5%p0(& GO*G%%y4:NeMIG0`°9v%荩@Iт2?lFJ002B\\R;!\$DT(% ~\ra-3PFTl9BbB\$}w\\f\n@8\n17RDpCFqu1Дb>SoD ;Gl\rV;n\r\"A)Д)@aB(.iPH\n\0FA?\$f]8Anz-H6Vc2#%_r=0ƽJ Ҟ&ONR(DYaLmGҲ`8\$Բs(b.yB	\n5@˜RӆLe-f`IO ɐl%IH_O!?jU'DO̔pFT9`̍@f%rܒy(ȉ.xS\nB̚'p(SBTԝSٓm@HzT}	!\n,a(itC	!R])GUI̊9I7M5CnMlS`('@BD!P\"K,(Lphʪr.6wSsBb_	2e-\$ANL9[椵PZ0R‘Ch{\$\$J:\ne42f6\\ف!K\nEk&)hl2QHaLdC\rml_Q9<18svH\0VP*_<#HCAeY&7*Y8`Ƃlz\$lyDDbOvQ>T7D9/.?)+Hb9S|1\n܃r\nɏ8 Y>\$>LJa\nP 09	)S9e),dtAYQR@!i*O(cA\0O	hPR#4E@U'n:,f)<eId ÿ'?6d:י66;ryY1A]ޤ.{YmED>l5\"'Mn̜NSI{U\$G-{V@:WGXHn0o)pӡ=EN3\"\r(SՍo/`q]\\kYQDtB}J!2gvV]!̰pn> ~k{m%0dC!f*\"ZU.l/6^YЎ깞8C)ae賧s4_Ipݝ1kMK]vSlrw^s4/)]u|YC5rYe9A0L\\nl}M)_`G'&rϚmz\0B%pO\$&n0xvܔnO/Z@\rH\0RM\r6l̫ UcfNRV/ _NdLg\nŌϐnXpHo\"\"B|h4[B*`kwˎnj/lCOBP_BRŰp̼J\r+'Y\0+<3 ցBfSʠyF.\rBÖ3V4;.pxpvg-,pq1@s0V!,7uhxp	f_\n%\$/Hwѯb0\"mSѬ0^>+SǾ\"-`\"ܓbgT(Vmx(cꀩ%=iZ\$2J9`:⃒\r,qNHoC</.\np^w\"Vgvԍ8Fl͖Zl0h	ڕB@0fs5o\";(\"R.1P\\\"2(ڭc6KEX\0V\"1CTϼ`,bʗR   .,-).rK,Φ(-RM007d2ORbec6^FBAs30/^d䩅h3N-nJC&:pk,g`\r&F!ꀂ`\$KF0\nrg /&ҷ6>Ӟ\rUh`M\n	WLCڒePZ #";break;case"ja":$e="%:\$\nqҮ4(b*JqTl}!Mn4N I*ADq\$]HU)̄ )dt'*0N*\$1)AJ堡`(`1ƃQp99UB[Hi[x9+AFCw@~UM^_PPU! F^!UМR<I'2mhK,/P[PtRW^XEvu:kL[&|	W~G*)Am4TO;%~sC\\10G\$%ReK8myCd~\\A\\t0C lrkHI^ŐdKC9,B8A8IYpD\"R@2\rH2JAq\\@A0B\\\$%qG_Z@c,@x0@2D49Ax^;Ӂp,KR\\7C8^2x0cRxDARY`|sj^SgI\0)YR\$fDڶyg|%\nsmdrDEgAZS\"*DBD<EfAL[MRrv\0QTr@1\0\$DsRDeB{^In)[W\$\"^K/+*[\$E!9i+Se\nb`dۄ.ӯ`dztv}~̚pOoV6=c;X;_o9|S:<V\"VA@\n,WuBb&y_O)S.c\"ɲbA / c)\rZ9֥A[\$%53R&s2(\$;y\0@_^1Re㲤8\"_{%qA!e1J9.8\r\$Vbss-#3( عN	6\"Hb6@a)B.Dsl9+oB%2*C;u\"f,Y@f< PbxB	x!9EcCl)30@BL=!(wJ\\E+!TBS(@Qc`JJ\$r9ؘ(J-F\"ԪS*mN쨕\"U\02CibNKX0]r5N	А.䴍Ʒ\"V\0Q3FS^Mɉ24m8&LLD9)(RYL)8RuRCtUU*fAr.BA|\"K mS:|\r2VN^{HKIl ĺ\"d\0#،\"g`d\$8PH0lP\r%)\$\"ЊTap_~SH\n	֧W/ G`0\nP@\"EBNe':_XQ<߮4n(|M:M4\"Lxw(=\n5ə(!t9;\"1>bOgMQ'g`Mf <4 {#NPC\naH#PS%qC\\&4\\uJ\n`LO!F\rƮS^yDhA(ZS3PǂC91˵٫\n\r7\\9E\0eG#L3#Jk,a@'0BQqCvJ)6r~ y4FJ![oN<jI)UdSelب&KF\n@sQISRI=G/\"AP+㛙xRH%HkQNZ\0L'@BD!P\" E	J/vKP-#!ډɇÞ|y_䙉kNnF<nBf52׉ž~cݜa&D!dyƍHcvr#RLgaN\\V00/ŠBN^!!2	Y\nvkޥ^+(4ChA[XE+Y~䍐ibmP9L+G@%eb#|/A1\rΈ5\rw-R\"`EIU+\n!^ܜE9[m]nq\$%ވ\"jF1=Agtu#˱,By%`]>\\x.\"3]_mQb.\"n0BHy7!#SUPfA!\n/܂L}'N5 mR*ɕRﵟʵ'>zO<`u@[q~WnB*W>җhE1@vn̛',Hg|JLHxP6k~\nL|E-˯&r,6\\ZfoboL\\A~.PH0(lv!p|3C83ź[H\"C1	ex7À8Pp	v@4EiBŨ1>䯏箌7E[O\r=8ΐb\"԰HGv6c	/b/fGFrlbFS218o	n8?Nl޾m<[PF\"\neMG͜װ\rnbbJξ,b-o%bD-pZ1A\"ザ16\"ŝBҿ1PL\r!	m1nŚ1ʬ Gۥ!#^N؊z0_\naB_p2/P#Gd|hlh*°\$2Rx:2/Pb`07-<vc΄!.a MY2 !+J:һ!ѵ,,r\" *\$(mj}./&׊lr/aXt3\0.I]F*G/+.32!423rDw5m/A]0Hiq6b6\0\\QVkf\"a-K9Ṇ/2,퓩3GE/9*.NQ_Ӽl.*c=!Ԉ_<sBsw-B^&Jr/,`59<a o3A;	X\r\0M4\$J\\i\">aq9F-n_/\0sbMnhF0+o`FeCTeF087/\0nfб\rc6P\nZ2LL{(46W4 6Z<hv<sp:	;bt\nO43	Gual̮vaT#nT\$!~47TRa~>c!,A6b^&40j <jPG2)7b\najWmvMWesYX>aRp\rB\$!-q\$JFfeQ\nIDn0#\$ڛFRv%*>Hg\0GZ[\rm;^\rVV:a(']F͵FAX5OXF_YOpzN[Q*F Fj6P";break;case"ka":$e="%)ƒRAt5BPt2'K¢:R>5-%A(:<PSsE,I5AdNi=	  2i?cXM\")v@\nFC1l7fIɥ	'\"1UdJ	.eiJ\"|:\r]GR1tYg0<SWµK{!feMs'Im&K=e\"r'Q+˿}-<^}nnZ,:K<թ;SV\"zq=o۳*#\0LDζS:-JsL,ӭ)[xbdER>B!Ȼ1	%iR.\nr4Ol=B*\"kJNS6/|6.4+rń6#p90'N,-7TSt\"\\̛!\0x0@2D49Ax^;p?4\\7C8^2x0c\\xD=^04#){K,jO/CCd0ǐ3.[;'\r1C%w4ȼp+o	#/\"+r&Ze46%q5LQ'lL-ß*I7\$n[KS*Gΐ3)MJՒm\rAPVCr_-^Jl3 NRry5./*k壾jNŵK znKJQM(锨i{*\$Pڄ4Y\r7)^1&P{o.z'VAS}oW*m{w7z_4ܸQ髸wt=7<S!l<dc\$0>Sw%mBhâ+!Q@p 0\$0 CZOpf\r!X\$s\ngnVqb\nҝ.WVs5W:h24t\0ppƈ| ϻM\$*:Sdrj,F[9 ݐWɵxҿpbgX^u\")*<VY+H:\$ES9H03M+b)EeF#^|U89,\\Zi#-Ne\${4\"3CFaZ~P\n	BJdcd-RtD6>Rɘȝ	9SQUNUZUY˵lҼ`Y2}nF]cI0}d`Yj~FaL-|d۳2c)^-5#*Yf̒)0٢m3A'\$1Du#3.t<FMQ*ELRU;%i/Wj2W9ηo@̊\\+0}C-\rg.ՖSXtNIwM%+N,JM̔;ua(\\gp{-?X}UeO\"+.˘))R\$k&22QI~:JP`kyĜU)O\n]]\$VVɤ8a\$R?DŽ\nM2`Ԧ'P8 f*D\\ZhdH!6RyZDY܋n*z1\$z.46搷kGd,&JHi{DZ&Y\\pVI\nLtqh!0mIBeSoҮ>Y&5V.Fb[(bisJ|]_#n2^*Iƴ(U	Ix:c\n;]&˄MŒ7AtAJiIP	L*Uˣ;fqTle:x'96f֣A4+3\$n[dJ̀YGVdT°v&\$zD*%Ye[P1%d߱7ӕ;G&KON`qbrvĒy;d޼	\\M\\*vùζ2OkB.5	C3oEfzJI!Ѧ~ˍkKK䜵ԛtl\\4}pyʡ:@\$ku!Z-U̩#bWƬ1Uκ/?B\$цGѻl8VRVzɶ:	YV\$`u0ƨ\0h\rmJ&`K,sPeV_[72by76q@2Inj,ܲl\$\rM6knõ@(c\rd!9A\0cD>&7\rSI=fc6zbM|+H_)q3(ZÑ }r(]\rW( @ 	b|0ll7B1HHyNL5dK\0`^-6ȯ\0|hE\"~&@:2x\n)>dhm ͿFŋf̋2f\$p,d,c@\"7t[X\\ܘ(>pF=B.ć VbNح.g \rZNPPPg\"ؐl&MFtjH0Fߑ&rn\rv&'\"Jd)=^kso\"t^v~{<gj&Jn[0,ʮ0xMgxK'npSj1ђМEtۈRz8hz+legcu@dCž6Oqho-Y\nKmq\0ڋ>'\"0\0FBʒbO-B/ĈFD.?x4fn\r Ng*c.(=C.*o&q-\"2\\/Υ%q&/C*Q-nLhV784*PR~eN+Ra'1)\$\"DD(Ҟ.~pY\$\"i-R4)LrvBnV*\$(\n,aMO),fv\"e\r36ms:#3>rJ:+2#3؇0-hQB2ctR-\$Sُ2f5.7QX^Sbό&Z^M9v=ɂ,'o2'=A5^4dl(sdM,t%F/vv&/d/'2#:HwB(S[=swMAQR.QC9\r14U3\\o1 Moэ	pv	~'*8J:,4(#0NGI̙DE=+gmfR7KK24WQmMMbN%KTFK-Pm\r&cb\reBX\0@@W@\r&5 U&U-S\0ŒST5\$\r)T& U\0/v\ro{tS|G%T046[X7DqXupEXMLBaE1@Q:,54JdK\0\$CPe^ULH&A`:ı#4+O,4xC4\\dSE]PиHNG4\\ra4_^r#c&О\ng~\n@:h\rWlPgL\"&4Ec6Bu\r+\n\0p4#'\$cYiAGȦH6	xp\\bfN[ocƪ85A0N9affd6?aOm4Xxjpr4OIpb68DsK\$R;1z[/~&0wѦoVhvL1;S5t!XH{w?h&tMh-DjvF7@3ml䂼>oEF*e9W;er3B%\$8'6R\"V7L&Vl/oæ{:.|o!Krw1Yj~o&w,B)E\rj=<N wi\rP`@ҧ6.1r,b>l8yN\"hԮLH";break;case"ko":$e="%b\nv%Ю\nq֓NU)ЈT2;db4V:\0BapbZ;aا;O)Cf4)؋R;RȘVN:J\n\\ZKRSȈb2̛H:kBuY\r֯h!a/\"]dێri؆&XQ]n:[##i.-(Y\nRO)igC#cYNw	NL-\0S0&>yZP',l<VR\np7\r7IY7D!`uj*FR#D*1D#\0*Q ؔ2Bol0D	-iC[\r[dv	Zv(r# \07A\0:!2#0o2:#9\04@:́\0=c 2\0y:3:xO.B0p_CtMI|63Bl4px!%\nGQJ^ !@vdꚳ널RR\\\0Pi\".fZ'I@.EǶO!grW26VeQRb.R\\6\0PJ2<fZ7r9.Z!Q\$B*σ@:#³IL1:=%&0d;#`2V]A؏9\"kA+TT\"JeX?!+sec7J`'R.+X#df'<1#s(!TΑnjb`3PrAYND]We\r|/on0Ęv[گk\\ d!o7{}9`[fD)@6GT:P^:A_)_9z3\r#?2{1>~V\"\r#>Є7|Aw(:U3z9yW,˃؋*jTDB:&\\%5PɃftôJ#	9)U\"\"&\n\n7A\0u\rɝ7'\0A\0l\r5(!0¿P0R|A,N-FԙrUCi\ri\\1'YKaHdK<)&TSjuOuB\"JTU@Gv}lBZX^@	xUA*<HxZ'ߣU90JG)\$SJqO*Eh.TʡU?'\nVA\$6UHt{h(%WA[&V,d\rEHbTaðA FHJKԶXJ hO@CcbIo٠f):[2-?'>0a\01)YK!ej\$)A@\$5Ih('҈AH;ȘrPba\n*gս`>N\0Oeᕀ&bLҀD:BR4JH>T虔:o-@`\"Q\n*VCh!K\nEhx!V*\$C\naH#	N{ɺn\\QuC-	:ȠC]t&DЛ`F:XAy!{ࠇnu:QZyJI*\r/F*|\rb%\$Y[uAa'/[=S%a@'0y;BP+\rpjM#*I v\nBkGPB;MN#esmM[ɰF\nCh[0\"\$Lq8ľ2萿tVâlLc>AL-9M4n)<T& ˍ̂8:Yu2cj\riS{T_\$Aa8fc3\\pՖe7xa--&tGi饔%ZnOQ9t7\$\0H^`(D+7a Vaw` Om,ö)zJ	HI>C\r薒l F_Te6݁2D#_;;N.i(&EU3*a6u\$TtRT\0C\0>A;\\Nf{|D}R3pCByl򋅷cgЇ>[A\rI'{Y7p0<D\$vJk`-9v(@mo3\"o5bޓ\"`PA\nP 0/\r\r)'ڶJk_,:֝Aa-Lvx^	-OOR]kGDNZ (ۛ(\"A<͖K=?4e%݉fEc4JtK{DE>;^\$G11CY~)|D0.T҅ K\rim^&#f`^aӌnO]p\"YpVw!#h >4/~Cf6iB5n22\$G#cdE^LoGdEL4&,B=\$w/bCr		Жp 0I<fx`e@څlΐx'*fL;L\r\"\n\"b=a|3o6-Ԑn\r\\ԫeF6j!ipz`Cp̠#GC1(._űNfX1qkqc1Ap&\"\"jlf6%ÆѬ@CC*I*D Hё\")BiV\\ZtXfχ\$1N/%QSQNgQA ŐmpBAn\\Q\rqB5qsr2!N \"\"<3B&RJod /\"4cjn.i,%#5'M 2'9b6fL'8EfL;O*r:b\r\$DvOkRKЎbg,2LJ-fR/\rr-2֣&LK/n˖1`\r pTsR!3\$.nj=3.*4\$NaB`N@DU1e2\\c3+29)؝S6ˑ\"\" 	@'6sÄ#c9QnfNJ#H*Jl.3q YC X3)09BAf ;o\"t3S%m:6E0;p+`\0kذeTOw\r ̅\0%`xİ\nZ֌NOjo dF 22sn5TL,>he:\0TtrBh\n#]H!XSh-RȮBo^p!KJ2\\ G)\"\$g\0h&KayEX6oKȴd6.[\\.BPaEE=)O0v\nLH.\r\$2q^p6Q\"uRvG[Nfv/]O(5r5ؿB\"@8_d>cVkVFm&w=eW-OO_\"RK-6&65!\\RBa\\k+A00fO4.3R/l";break;case"lt":$e="%(e8NǓY@W̦á@f0Mp(a5&	scb!iDS\n:Fe)zQ: #!j6 rT&*4AFi7IgPf\"^ 6MHC	1Պ\0NE\r:Y7DQ@n,h(:C@t4L4:I'S9P춛hb&NqQ}H؈PVuof,k49`\$gYnfQ.JbfM(n5rGJt,ϲ`\nд**\n):&)|7(=\n*D5\0('M쓄`4ĎF# ڴ>`ϲю #ϤN09û422C`@JC3:x7mAr3^rԸI|63,\"*7^0:<C[2C)B	JUN/@;##S8Kh6pS-b7-:\n3`Mc,͕b(C`ຠ-p,(*ЄH1*0:ZJ:U'J4J5qނ#;3ȱ\$39B4\"I	-RF`5BbFbʐ݈΂*9.6\r[Zc7;4.f<:\rõ8h4?اP&ϴ\rv4<K{,ⳍX;60:\"<-m:-Z.en\"@T<@6A8hr#04u |!у2͋P|GpX9C(\r9Y@ү/ &e{n]y@#P-2t\" @̰3dqIJ\0T\r8huH 3/;KRtZ7\rˬ2\nHJTd&[M4!ĈGB>DNA5G/7`2i2tҚjo9n簴Ti}>CEi\"BciW\$p\"rrX(8b^4&؛rq<9'cΊ\$B⼝C&\nxH2CZ !/l5riعJc\0	0m	1`@2ҎC1t7ZHL˳dA/rǠ[rWHKPo'X\"eY!\r\0l\"\ri\0S\r^Å؋X)ܓ|IHwEEt&,8\r7PАѨP8.Rz16Y<šYpGH9tE|\0FH\0@-\06EKx5@9#XU\"\$n\r|-w/&^|ɖ&\"K=Hi@7,SPj0q_bj9G15MQ	#m#`O\naRH-Nֵ^CYtǡ,Wg`j,ʌ0WNM-݀6])#i%\"F\"uU@4\$*P5 \0YI8\0V`e_дVDZK+\0/0kK\nߤPV\$i!W@YU|:dDFp9է98H\n%-6m[\0andJIicetoȭհiS{#+tB8sCa!BZ^;(2 r,Ni\0\$FAq{ϘPZ-4[PyJN\0/-a2S+fwHz_A\\e{0zr/s\nN1riQy7tΫ*At6ƽ<֕ؤ(	,@eT'F+tVm1qm<܁d\"ϺѪQ_o3\\\nlD8d(-ƜFL\n!!P*@Hؤ~U	ol4D_,b1:Yw1p=ܼٛ#Éj^nu9!W4ގC:IF2UCnM&k:RH[mLp\nY}׻n;7`}wa;\rnXeivtJq\"]abpFi-vYn/pa:p)C )#i\\Hhi\rN!\ruK)E\n65=0J3	)cbaMKjXԙ-'JVr#O윌!L(X,d¬Mf+ڍ\$MÉdPn#p+@;ÃBJ;<e:7LB%b؀0*5#N\r%vL\rj0@dQ-n\"n,O^	.E\0	km\nm\nLʌ	qpnx0P0EI\r^쮕ھB\r\r̕P+XP\n!/[7許)r316o.+'ҝ~@ԣT[	`,83&G\r&f\\f&'ie(^-j\$/J7C@#'c<Q4R[\n ̝M>l\n-~U8-Jɾmo|;n!C\\? cﮖ! .D\$E,C KdE9L%#dJp:lbF÷'R0?{/'a)223L\reH;`T\nd|-m2jBz>%;+2,d\"E-\nr--.27k+\n޲0MDQa0d\"'os0qO2.	-r@etj	\r4Bbs-z\\dr\r\r+/&RlrT#\0Yr*e(6qS(τ\"ӌ+nw8c>Cs9e%&*\0]s7QPp\"<Π2Rk:\r2Q6Bl&s),JP>\npx|#ڨ4B=æsC4A\"\n[rq`@@&2\"z8P ,/n8bk!C3#ضt98TRX8ĘB\0\nNA \rf} EB\0000 @f)4/E\nb\"MbH\\P!^l\n~G(@).AVR\nr?\0w#~U bEU5Pp_\$D6fD]џ`2t%	O|mz`@RoMRVie-'YN{`j`N<aDTā\nC̭[,d<R`->,R 2IX2pz";break;case"lv":$e="%(e4SsLq:I :SHaa@m0fl:ZiBf3AĀJ2WYCf4(#Y9\"F3It9GCF\"67C8'ab:ǥ%#)DdHobٸuN21	i@ S0Mө_ni2|9q#{o5Mat5_6̆Q32b)V\"\rH/h+2y5 9\r`0c\n@P8B1\$&pjڒ1#+1#cܗ5[TO+ Xp90z\r8a^\\01/C8^2xَc2\rh3/I6H^0H=!(EaB*bh9.L3c`Ҩ#ºBj8T,s BP'):dBmTd\$.\0M{_#aWŋzd\nL	cx2BIģ?;\rre7Vp5Û2H䧕q;Dv2ȕ9C\\ģ<3JQo;5 ZC?>u6bib<.հ0z:7u[f=)∘\"Cҕ\nL;EKS҈0}Om_z'L# hp#hV*e{eT޽BU\$3|N[њYAPL7c|4hriH1D/AԌ_[2&|6,9C&x4CZgO\rkBd\rVHȌ#֏B\0V]!B!b.-Z>9!2@&p[Lf\"ጡ+dw`%p%ܿtL\03Q 4B(IŇP?`ؓy*%	8Yg4bHJ|+2j*9L	nA̔`e1%A\0AK(9\$t\$\\@jOJ)M*ts\$9&\$ɊXi6`@4׈G		4G:=hF@lQ.%=Rq\$\"FBջ&@\$䠔VK	i.@Sev7;ʛ>m\r.yiЃ%@GɺC>sDI9#\\ϙi6L7G(6j,3Sj%PyIAQQȦ,34{\"Kbk%Ħ \n (u>M3~zEI!20S/b=6'ݾ`l1{;*j1F0^cId!D\$\"Iq\r!2,eHh\\q\r)e\$F\0T0Փ+E9aL)cp/\$Ո9m#x Ga	\r(Ċ\n	3OD,@#Y\$\rbТ\$fPVljh'fw#|\\EGSvwzdd0؀\rv2'ljZ@(N#\$ÈxV<gu Oq':_gf)21 \nl>HI%\$+h%3bp-R)/*Dqg˫(}\\=l5(#|Âu2uCB\$*]P'*<CbWPL(ɔrC膄6\$@%1GuC3SQ^۴֋‚EfAU2l) AB\$Wi]-Ķ-zPvF}-6,4Q[\r-nm(wΤ]|#{q\rpʖb=(si1ViG\$\$ѵF6fFl26b-,8dJ\"[:mFɑ|/x~#d!xCI\r؆={@,޸Wq@*A\"D2yGKzFUM3FJ Ƃ`{o\$f&BT\n!w|Nbl@([wX`,3J|AfϬ|:¡\"Ϥxب\"O8A7𤋮Ht<vm'6VGN}.rnsŭ\"gk+2k9WrRAxQE{`1*{FQRlT9\"T-GR2V:qBQ'!k|\n HY0TUՄPa(\0:̌;8\"2 ɽQ>I.X?\"{9863FPT;mL|l\0oT.\r\0`p,R\nb%=C\"%p,fHC@%8J\\,u0:\" ]]htB8\"B@eRTBІl+L`emm܂`ۢde 2#ښd0k	fRB1ޥ2Glj\rzY6x,v0#l\rL}FJL1 Pm\rQVgmX!!1/\rnì>\"ࠐ07cjM@EJ%%0G#*P\"HC\".%^\\D\nP0\nvÌ=}HTnp.inJP6a~J\n\nq\rpE.fΆE,Tl匄\"xQri r}p>\$L 04\nd@J0e9\$g8:>3Q#e6#^*#Rio ƪ\0_:k-(&}RlSr(U#nf28D\"@PM\rfH\$Q0\02S+\0)g{I-R-dlv% .H\0'8J\n\"Aj1bq'jq61!*N!0ƏZr2AŸBs\0щ4\$)1!4BSNp*gE*JDD\\1%})-|O8I9bf% >\"#\rXn7('2RjNG'\"^0m@E7@{\0V,&l؂ݢ%ğ`@\nZ\"&WCPn2҅|P)B0.sBpCCLN\\>#(TI3ECh('OG\0C3=% /CeLT'!14R'2REYc10.)%\rL+M,bNXd=7>Ö`I&?SB9=`\n lRIJ >mD &,tړJG\0J1BO6uK*5H\$=UgL\rt:-~e]D|bldjH";break;case"ms":$e="%(u0	 3CM9*lpB\$ 6Mg3ImL&8i1a#\\@a2M@Js!FHs;MGS\$dX\nFC1l7ADt@p0Qs7VaT4\"TLS5ki9k-@e6Q@k2()6ɝ/fBk4S%A4Jr[gNMC	œofs6!e9NyCdy`#h(<H>Tk7rf\0w*33Pi؄;IXΚmr::`ޖ+	BA6.\\77NP8=P1q*H&tc(@;#7rc2\0x3:x-@7:s3^r,I|6R3=\nx#\"Ҷ{	l:#[D9/.Btjx.\$C:B95Ib\n\0<MISU,7蔙1{8VmTL&Hk #x'OhA!43>-'\"!r^%cZ⛤ɁUBBq`6X9K|uꞵ9<\rئ(S~I#p/TkN<!I'0DSA!f,lĒ}EcMJ {%uݦ<33aL'j!}5:2\"16GZ#X;>mz <9rH68=}5.C:)8\"ݜkp2ns\r*qt0̶0˾E*:0S%iRCYp!ZJHe̲rJUE3=?S:T:Bˬ6I!#XpB9I=6\0!XA&*̶;˿4|e\r2KJlM2BM%2<dY.Hi@hA=#vO N\\bNJ	I*%d^|9&D۫wi2`ZS-F8eA YG\$VKEtӹGr30c uF3R&aGFcxg\nN\\7d&EMP	@@\n	)%\"+ZcI;)E1>y,p	+NC4*(Ҥg[F89t&s%vn	\r4`Ch\r!\0ΔޤGA0 \"2) 0L\rټ\0JЄxGO#eg6'ydœnQRfq%ewR_)'s(:~FBQ.dK'zn/ll\"'Fu͊I@\"@'0BCzRPD:6(9ڶ'.aUex\"<ꌰF\nrIiC	u2Dd7Fa5`NH\n	8PT*@-X+6|mٜFRPROHI,9H\0gBʙd^H\"ڃQ\$>y'ɐuBj4SD&{N\\bEfkVV+JIAXE~o&Zba&d_B\n^ȨiR+{-)Z@PJRJK-A3|N\"'R@\ri84~\$K7tM[,f.A*,JR D1:V)ߗ=\rv\0=0c^\r'ǘCX\nd\"k]\rٶPn>>\0	AI aYUQ@<CU˔e,r2\n,x80@RTStXvH	I*Wh)uJR\"qĊbzAD9kIGi\"3f.r RY!D3sK\r-n`hيgH4n8fґ	b\\5pAuz0sI1SBYGd6@ƍm00F\"|q*%txoI?OmaeOɠTaGd;lwrA=r:J_\$>u:&V\$dI>13Jvn#q?owYݛr*<~L/%WSO<Ercl:5#`l*D]52=FB%`IR\"bUy2fTw;Z8aI9;%rxs9Am~/:%,J^~\\\n:Β~\"RFΆ8k\0f箮r|2\0\rrj#%\0O}\0&06B`>v4@ :ܡ\nqy\nDO2DR-p&PTBɂLX]pP.p5W#\09[lЧL&)ElX#,\rBtΞ`'*DILl{ܕ:͑%I\nEyf:ܱ7B>(m!+!z<0-,(Bn8rcB8Uk,K\0(	i\0000EVG)`HG\$:*Rd(GH~\"\n\rVbo5Bv2͒,\"#8edmx\"̡\0\np#-xPd@v!օs\r8KKވQ3+YNbbpYl{#^-Ey\"\$IQN-K\"u\0b4dozh'0ȣ\\牊tPpz\r3bND4ҁ&j66R%JxzRtf^BZх%rM脀ƃKE?ҙ)ú>/R\"t1j;-&j 'Koq;Q86t\0\r:\00*l8;byJG#~fpt";break;case"nl":$e="%(n6Sak3do0p(a<MSlde1tF'#yNb)̅%!MуqtBK%FC1l7AEs->8 4YFSY?,pQi3MS`(ebF˔I;ۍ`0߰\n*͍\nmm0K`-Z&.O8Qh6w5m9[Mֿ5!uYqoEkqȕ5u4.T@f7NR\$YbSh(8c\$=h9{+-C O j9b5 ns?\r ڽ-c6c^3:\\(cWh X\n90z4crx+NAr3^ٶ|\"J(}\rE+94\r |FːƍI[ ?+)û\\L!xH\"r:J5;EN/NJC4TBXޏ8PLCJܝ̽\r&V#coX/\rd4ˠG## b 4]?܌b|0PKv?˵\0Ȉ#2?\\\"8\\9,b؊(΍BEas0XĹ x)\"dT8ߌ9МtRÖ)C+@;P29Bӕ(؎f0B&P6ȈƊ9^Zf!C]Ң	^	\$R`E&3냘}]8ENs|(kC\n6n=8ÛER(w&7z<)e\n%\rPP?p02da=\r*өr6P4qP0`N*>JsKwC&)8'S\"/i[-/9xz7ԾPA\rsStp8>21h4F(T\rX54GJ\"Tq'\$\$ГrP'M*p`j\\K0& U	i*BtifNaGcjS	C@+CN}bPٗ\$\$-ATRzQY,%(nL.=¨Ě[SC#̨kh:{9h,\0=RP?܉^M4(a e5R*߃R%E3!ũ0s~7It2HcB\"@-7 p\\3)H\0P	AFGR∓\r@\n\n()\$p9>.I	-Ky,D!	PN̥bJA,IjIB+\"lӑA&D3,ښ\"Mcv aL)b\\rp QDj{˱+8=>IA*r8Æ	I\"SwBᰡYW\$T,}%@ĶKHb*-nL^5&0L	7GP˜TØN=7c	-!VĔ\"r98\"KŠ!lp'[2V#ĂOT@844pM_H\0P])x&\0\"a!IT 8PT@-V*ͣa9FɸND++3{֝,'Ai.QE,K!P\r8\nk\"m8C	CPR`ىk A}S\nLl.5TL2QN}E]ۄc2!RRb/?4%{G9a2,W 	&'I:\$4CQ\"I2cOXD%)shUaنP02-!L)φ0r!xxci!ŅU<cr4`C#p ᙲ\nE8xBH:'N	vU\\-q*\rZh/ UYHq\n:9gz&\"GUUKMhƓae\"L^V>RLu[vdMm{~~ڇ}?)cKɳ\"5\"Lx(R\$&G-f5e8HIHPʐ	6_q1Y7'FA~=0J\nQ'.U1\"PAETHDUW}^Y5 ̸Qa\"\r6gj!V뢃	\\2J)p\r1OFl4ouPb9nrWJ̖:u@NAX	s7Gl䴇 KoL}q0:s;V+p{rMΌz{Z{P|&N?@w+c8esv!fZ娆k\rw06)`\r\\C#%	,8,&/BDdm	VF-kf !\0Y歫09ϾBl0B&4׃\"VEh:2%lƿpQziQi\rJNmHY	E#I	J\nX/\$>hNIH%Vdd\rTtІϩ,OBtк\\̰pj2%\rʓ	cgƾ@b n2f2cpqBgF6l̇`hUBǜ&4nP\0@C\n\np1qQy/|18%141TW0sʞS \$\rULE%B@N1\$g-UД`\">{Qv:!-͘Dn<p\"U<n\"`(r*݀Pj=&.jh5	X1C.	ni\"@\np\"8K\"9\$Fh(iz)f,!*!RnjͬgdV`1\$Cb \r`NERP5RLY6e_(bLpRIB&Gxͨ*2+5?cVb#(\"`ve\$&b.n#\n\"=122|8c4Ҡ:\n.0s;aT]*e#A2;\0% nDEn`PW,[&92z,e?7\"6mViB\r<\\װf	 4\"f(iPm/ofW)>`)^E4C*Գ{\"04'P##B\$`";break;case"no":$e="%(u7I6NgHYp&p(a5&ө@tNHn&\\FSae92t2Y	'8C!X0cAn8!	\r࣡\n7&sIlMzb'ґkfY\\2qNF%DL7;g+0Y'qH16:]40gۈHr:Mqt醡B傽JG\n!n7S:S<3-cp(3Ðnj-ĉӘ-蠜2HP獎b# ڶ# 2oC9#\$K@0*:\rx\0;# XЙD4%cx)d6Ar3_cv\rJK\$\rpx!:+&B:526Cb'.+\n7-:\n\0<MAQT7­x*#%jغ cz5u&nj0:x췎L6P\$#TccYC8I4K<6IDPHb2h}^\"kƁBC&2\rf\rIɰBu7M8HyG5h\\AX9cPBz.yNV0\"meY`QK#hxe{!O0	\"'\"3;/BL^#:,!(B|4kn2nJ^(\r9rK[:\$\n7MQt\n7J2(KiS7\"8ʳ0PpZ\rhИ-ȳk3`Sk^7*DTX3Y*pJTv2R7ϵ\$<c:*\rG6#ZC2q!|8Ƨ2(A#2TrPJIQ+!IJnx'@uц&{8Z@n`y\n;N nT'6ST%%8I&úUCP-\$p=3^3mƥ@cMy}pL\ra99!otaИN vsbPȨC|i8IJ!q+eBC3 &^[rF淈Xc84bBGj(ƓT\\\n/ƴqP	@7M	\n\0N]d^rk\$@zKxDPI~{<kSB%H!4|4Ma8#z\n5\r1fNyx@ܛ(!0Xo^3Tt#22FL)J)\$\$Lة\"2Ma?&Q& (0f\\HyvP\"PU\n8O8i&~0y ƅIOJD+#5іrL .b0g5ٓlKɉ3\n<vIkP×fua1x5\"Q`6\$H	QH#@HcBhԉN)iZCe@Rsl'@BD!P\"\\(LU%JrlИ\0V-Vw\$F\"X6B.!H#27B(QF,ڃ.I9L‡3E!bOHfw]Fwٝo{SRvbsdRvuapʏAEpZ#\nF0KhhO]>ܵiAF0#^aa̠4r-r~+aeB`T;!0Zb6i.djC+\0f!AY31)j9{K[AɫwPW}D5dݣB;i9j\rڢWg^م@@ EYO\"&8ik[M \$ěNr1aS*v`BYoa(3FZCF2\nU{;lM6F]H.Uorq61PI	`^\r۰~t%bP=܂*E9(\\D\\JI`6b0!\\2*Kl0xm2T!Wh9mҢy0\$ᙀ`	A!Ks{]膺_vFp=ϋIe#gэK!cpa`򒸠)4`SAp,giRO-i(W\0HUjV;rHN^[Ҩb#\n_Lɧ0}Gei]s&f.Gu۾wR~\"|~hiiK_7}i>l&'_t,9W1W|)(5 V HhPG@&-ٰu*HoO\$]cY\"&cFu(b(fL#i\$dXN&8O@kQp9x:|(V*|\nOt̂nҫfG*SE\nl~;@ǩ\rJ/:BOPE#%z=lbA&]ÞyPƿ#.|0\"I.VX1J\0.sqW@#YZ-)\nCUΛ	OCApU`*? WC'0#	/wfA 	~:ਯ@T6Tv dX)*U Ж	eZjjfC\0!oϴ\rXe\rV\rf\n!(.8|>\0(@j\npui<ȮS;#N\$fsm#Pz'2hk\$ER(0e8΁+B%Q&#\\5dD6Ʈq:P0In,E%!oNdnE\0bVra0C\nwV00l1&ί134\"P2F\nX^U'/\\¿BaJ#ɬ[,f\0C7D..a\"i3Fl\nfT!0-˪ˢGr3\nD0H2pOK;%V,0 ޥ-K\n\"AÈ-";break;case"pl":$e="%(g9MƓ(l4΢劂7!fSi̢Q4k9Ma ;\rmD\"BdJs!I\n0@i9#f(@\nFC1l7AD35/8Nxp:L =M0Q\nkm!y:M@!aݤhr20gy&*u8Blp*@do3Qxe5^of!hp[73qiy7pB\rHL>\ry\r+ry;¡\\b@t0.\"D)HR#\rt)D9;\03o(0h޺{ڌcC6\r;9.C0N@c(5Cȹ\r\nAҘ:D\"	B(D!`@%C3:x-V4ţ\\7C8^`;̃ ^'bmB7\"V\r!^05(>-b9[C* ۮC+:@#G;J	x1x	KK*0A(C[W\rw[\$;BX6j\\\nbmeVe;S!t  Vߌoz̫ޤ䞘p\r6փBP:[H(@38=Q@3\řC1`ҹ\"/N0*ں7,n%xE0ţ:3tD\"t&0)\"`7%jMO=9<)j<9¨ÒnFŒ{\rԂ3#7Y.am6\$B*QcNYZ<!=^3\0ڴd=\$1éDnD@\$\nm4T`Շ2;CH+>6@Ę>d-\ru\0[_⎾:~	L=X5YrS-ySB8hZ\r[6xfAC\$FHuHT:!fB;I\$\$gl=5n	&H\nH0V2JSPZD\n1wP0.\nl/0M!A/\rVp'CAj\"H\r\rS;Z+ؖH\"E1zV\rEH\0KI=(4[2z:&\$șA%4ń#8eD\0za\\W%4+b*GD3uH̚AGTJa-%\ncL6nC98:\\yZf	<VqsO5~)-҂nK\"#\":\naIɓdJ3\n (Bp%;*KENoHQ`KxU	c\"kl gHD\"BhȠΡĴ.<碫՘\n/\"I^zR(7:G	sE*[\rCdyGA?(s?pBxzŎtE,xSOhen2 Dֈm.nTHRtC0u8y/ĊUE)>`V[H§'\rY\0FN*5O'RyNl6.۹BUu.XFIY(m:p2E&ICw쏩#MAsxsR^-`~hk!fѓZOu<@^<bqIpRm;'hHHc!lWz]!<fV7;ʧB%@H}35gM3`m\$-dT	K:da\\Wt8%vlk;#2 [V8@Iʑ.@Tc&FuXQrF#yR3=/Q3ȋ2.w3=1%mۂ?HTʣ(\"(\")zpk114QOhY\"8*Өsou(F`H(WS6ރ{u88x\n&^&رAC3kq'oP)\"~2B	mDZk\r )dCLR\02!@`S*lߝvVP@#6uKnPa5\$95RތpR7˩ϕ‹XyG[P8kT(+\"_c_g\rPhA^40\"y=(~}fâ[ѢPVBT!\$IFú=* ʼnEJ[JmW0&ɐfjDW܍#ogxB\$xN]2xC^J#-|9qf=9h0Ə=LP^.24Og#pf{ˡ%Z\0|7G! 50lwUp\$„HyY\$:kH\"@jСo-aUF!UQb%cRw(Ƞ'`>a2͖_e7f#0xP6)zGx\"̧\n/4&t\"MlXroC!dDT.\\\"JQ%d>Xs-\"A9Ā\$RB_r%KPpIV`%Дڰ	ĐoFLʢ^TK݀I@%]jt#eB~,]ȫ~h͗Ì̊]\niKJnS\nOPXŐYClQQVB-HP0dF{1SOCNJ=pc\rMGnO\rRxoO\" M]sZ/ .2J0q%ѯqen<0`ҫiN>L! QM~6H\$2N(L4CBk\"Tt %#~-_Bb#`(#fT+#ㅎ\"LsRFP9&\$@%dL)yrYBN#θT\r}9 8ѣ!QSNǒ\ncE,2ߒ%\"Pq.rX.z(Ib3,\r 00}0K\\.L2#م><#`<z8f@bP\04Jg@\$X--,y823\0@n0kOC:;:t&BxYDP\nS47Ѝ	ΤS+NPnV9.Z;.^6Q1hyqW8(<@!?r't:q0%4+x@d(/A~\$D,ED!#HB9,Vrd~R03T^04T#XԛJJ2h3tpxwRJ6CzՑ/fX1Q`n:\"+&e!*ɴ8z;\"nc'LrCeBDbbt\nZHdGZp,^WT!,]F\$o1Nq\nѓ\\oCA\$b!&Ufs1aUphhlLv8Q-Nk#w:NRӀܴYp\\)Q<-+R;p!V+މ?^]66j_ h6}^ғ_a79?U4-R6ǀ7F\0悐,v0RPjy]Sf-g%*\rF} \\Ol{f`bw4t[iʊ-_tM*@NZ5&Fk6^%6%j@AkV=n@C9Z";break;case"pt":$e="%(Q5Ho9jӱ 2Ɠ	A\n3Lf)oihXj\n2H\$RI4* R4K',t2D\0d3\rFqTe6\"P=Gࣱi7#In0 Ը:a:LQc	RM7\r2tI7k&i#-ڟMQŽHٳ:e9al])#cs+Î,qX̸q9W|=:IE==\n\"&|q'o<qTk7N90{f(@!04\n6\n)rτsԴo2PC%AC9&Ҵ(\$>0B647\rH6zαk*\",PcpA!\043\$(;c XD49Ax^;́tM\r0\\z2ʨ9xDɻ8.2方`x!S5@2 1\n|T62:TŤNJ6ƌC94O0\nL0فB:7<(J25a\0P7\r(}9踊!\$5\"ͤ5+ 1j2ل2&npƸ(0d~٣,=Hlpg:kdNN1p\rt6\rj'ψ\rc֨%Ib\\Gm\\8*`cb.Mrƍ֚Z7'!\0(SC;ub=BTOUTm89ψUF.D<4bK#l(8g \"@S86ub6|0P?r#F2erخR\"3\rmѯ#Iuu\$(%IB!,iU(˃2\n8_N+D#03T┊4H*\r\\<p:ȭ3_!022#8]*Nd2\nT{/@9>3nrH̔L}͊#%\$#dYv%JdLɡ5&9@	;^NK‰Cpy	|XL\n[H@{7\\xZVf	״)L4ڛsI;2Ԛ~P\r8s]]IDě'2P\\4.RM\"L1R§NL?-*DpifR!+A(&t=(}Qd3H9\ru%(\"P	A 7nlAAA\$`z\"pn4kst]1*dBv&g۾HcCdn	M<t#3I9+\"2O7˜R}\nJ\0E#MHp5%;RNABlXYnKnO@ԠVM,)Ek_ؒ@ɣA!#&nb(3r?\"4og* ((QD8)`@S@* Z@Ziig청U5ց\\9ŵ'<gO^j2IEա4H9,a*L\\	sPd\0YFU4KG ͛CxNT(@-ȹA\"t2IG-f+,PXP#QGJYq	a5cYRnWEE߄tobหRonQgD~|ϺIKP6-KLS,	`ŧতj\rW^Yc/KjbLȩ=\nY( U>N:Ac2aAL4MJ.<C`anPYtV\r &:Vk ͐`2yT=;RC(wael߆hdFBnH W w.:9RV| v*QѦ˞!\$aiZ.`-[j)~ZB&m٢7ŇbMTE\"5KO`C@BHX#׳W_xpns\"^Y_&,`^T3Vb\rgi}!d3V|``I..sעI(^)aA^jb\rДhEhq\"_ăT\\o3\nA9} د>qby)ndp8w йKNH9qꅟ-c,a<wY8QB[pz{UHvs1:3:gW[3c`e,ljLȵ\rσR![B]1NmxL糈LZjϺød+˧K͗&7	,篻M6/%ڤ8:2x9\"d;n}{H/Yu㋘ 'I#nZ=?ʴhm2 *2J#•'j,J3b2Bo[e, H¯dimFeLNj6> %',2Nbn@v4J0_cPbj^rpE?.)44;Z]@&d[D@n/L}ԤRYp\"],2RJMKuɩT/l&#TP 1tÐYVxUf=o]qP#Nލ]o5E,M]U;CPx#PW\r1FBflYHB)\"!L@8bm\"+S%1*ӆ)OQ(`1[/AevdpoĂvcJ#\$<@c'\"_Prd,!\0 <\rf֢Gע=h#T92C\"}C\$⾨ccE#/\\&'qM'tvq% 0\$=\rʖX\"\"iaX62Grf0RX/O1ŌJ5P?*f<%< j\r&, ϩ\rPb<0(Pq0j`Z1)EFN[P\"߰8ԗ\"|!HFL6\"Ri~cGc':B/(#RͫBPDJޓ1IĮfhat_Bl`̜>Wa+E_)N\0PS*Fc;\\EBT6-I!\r茞Po=bY&Έ|Q >G!k\$i=D\rc\nu%*[=#0\n1OC^'\r\rd:d3<b\n K@ij/61k0\$%j;2pe.1Y`6l,.P0J.j\nf";break;case"pt-br":$e="%(Q5Ho9jӱ 2Ɠ	A\nN\\\n*MqmaOl( 9Hm4\r3x\\4Js!I3@nB3'h5\rQXcach>#Qz4Fi7MjblLQc	NE2PcI>41e!',΢A+O_cfkNC\rZhbL[I9OvqŸnD,\\(ǵGM7k]3c/_4Iț`&U7094Ó-#i4\nhZLk2B\nnɉz'XP2(r|&`: 9FƷ/@@0\rƎc2\0y \r\rC@:tCQj|/8^ㄙ'C ^(j;p̾%j|⽃6	6\$:PثC6!41H4*'\rp(B\n\0<MaYV!`J]QD({o!ȳr9\rD6P\$I1OX0@W,P{&#WNaV4t(4(ɤLE;	2lp(7rR ߴ6\"cYbc (SOɈ4|Bay>6;!/\"\0V\0\r#b\"HP<l#SYCj8@60έJ?d\0#A\$^OK(2A03Si#C8̵ˠո \$ԨUV.cB8b5.5-Z:060\n̥z^!jGm3]!r#8[\$@\n&VMj-N*5nyGȭ3\$2#L%d^L	;DXPiMas\"xޞ\"*a̡”Q \\䔏=AkB?en1RNLjIdE8+VfC(dTR]K1X0jM5ӫbG\"t%ő7pAZ(nH^Mz:15\$Mh;\$VE\\sqX<{ouT,%Gu!Gc0gKyBAԕo6@\$jM+Ls!@bNpc:!dMlrI\$˙)\n0ؘJ\$Rx817(SpI1\r&phn-?Y˛\n8FO3PL:*Ixl!(yDuwI2&T@(Hl?c\0PtP.wJ< a#!\0ۚ&ރ1-JKBG7wxS\n2W\n|7! u.D|ı\\G4H7IK%!YΗ,j*+.?鄡!f3	l.80T`68wQ>U\$9Ti攖UZAW#('@BD!P\"l(L,TsTq:0i<l~EFEx0ř3&1RuJ%GɭB:iC%)FxiGv(EVj؂\nvV#PS<ٝ\nNCT.1-9Y\"*s((詿 \\Ҽ\r{Rb\nxw+xeQ%`C4PI!3%IptQcePbx4<Ιن@zdlLݼ\0C'ukA,[Pc\rdz*Qi|։Exi0FOB):\re(GcEAP*/ԅ\$l\0eIJnh!\rXR\\bR<e\$UcZAp	;gvno7{m8Ner3xGw=ĝ[YZ*{?xPۮN>uf[+hiQ^8Ȇwϴy0!GTS	RTpgxJָH5ʣmak%/Dfr0F'OM42-oL<7)Ӧso(OϿxEzL;\$>hd6jȌa&ۦ4K5F]u?(S\"yY@UTY==]̚e\\ꗯwӰU8OVJhD?eoX+q\0j\"Z>0O%C&\nMl0\"\0rn\rL04>PD..5 /dj0Z(gmonZ:jF\"<[&X@J\$0#)h!aZ0C	#9'2Po*d3)jRjp/E2)gbWͣ9od20'k\nƚSQ4/O\n%ZHJ18pQ:\\ew1r[\"e@&vT!NmOAx6B|9;L0xB<{ȭh,&d^*l\njtJZo?kPcX#\$`bzRR6p-M%\"[\"!\$̒\$h^-&\0ӭ?O%\"%qmq&\rMqy	\$2TDlP4fD\rZ%%nZ?&d?*A/	\r\0qc4V-B#lSZ\r0>-fQ\rV0dC0onbc\"p_.nc#,RG/#\rV\0`\rO o2@Za\"O6o'*\nZ\\\")-.0rO 8!\"\$.2^B<Hj 21 l(O0y\rX?3B=ΞHki>]oV\$C-=kBbDdatRhl߂odcn\$[.X)T7ھ+r6o.9X@Al-Q-g4FT-#\r(B\$j&:AFebHOjΥj\$^b4S`IhaX&b#4#y3EN'%%GKE̯t4U:@/R*.5D|";break;case"ro":$e="%(uM0r1DcK!2i2a	!;HE4v?!\ra2M'1\0@%9dtˤ!eұ`(`1ƃQp9Φ㡕4\r&sQFsyo9Z&\rن7Fh&2lAH:LFSaVE2lH(n9Lf;̄+,o^NƜ :nN,h2YYYN)Xy3XAK׬eNZ>A#\ry۳qLYN[Q2lBz2B5x#k(ڰ	L6	2\r,+9B\r!03@93`3i0cpʲ3\nr!\07J#9k΄LS\$0!\0\r\rK`@#CC3:x;uAr3^8L32\rLf:\r.x!6@#(<ḥO%UV\r5sɍ\rbA.J+ct @7(ٶ} PΊHm\r#p̅\rRd:/ȆF-F҈(0j@쾎 NZ.vŲ hHì2^8õoVCl?Λ_k(׸\",p&6\$ʠܰ\"`@8#dn[5k|Zc@ʙOg;Ίzvƍk*p 7._l#l9<o:(вm@&C34[ƇL\rUK)\\Ecr8<} |`ۖrArRVh+=KM)Wґ]ۢ3QZ8c`P2ܶZ\rxء3הt+2?\n{q!cqFaf{2/;'dS9 ; 1xXT6)咐 G쐦c9LM\050\$ڛӊsN;~P!2ډ%']I\r\$(0ZHPL&dÙZ#ɁX&Yi\0\\!k9'D@O!fҌIQA7eW0tuuVpa\rj<#pU)\"  X#b,!lD%O<To	!\$!C4o	>X`R8ͨ@k\r%gv܇xsmfb7Ye2nI!8\n\n\\KS&\ri7h\rg8WbO1	g*;!u8֐C騐\"b5؏'h9BL	QḆ\niȵI`04f(8dw\nOz^8uy\$2jBۡX&ꓴ&#JE׌#hj/@ɲHAgPBq9'bqr\ner'FŒCQ1\n<)I<q*tY`3-\$5l#A!2\"P/ujl7*x)-5֦zݗ})6RZ#A*\\ ~IpfגNJ}[MΗ:%[m`Fjzo)ݕȠJRO0@,tbCg:IW5\\r`&+?\":,yJ->VHi@f	=-a7VTQұZAo%ZQW@N͗HP	 0^yY/*(K,(w.ZJ˜ae!4\$B]pѴM:e*ʬ>hWzڶZ:Ç.XKla47=3QGJ(ClA5\\cvqu<.\${Az_S1֓ҁ04 gJH\"QC&ym1+@y`\neI7Nl%yAa!AFn8nu&Mlx>Ax :2U8XFJca3-^+jlj BjK-<Vʓ\$|=72M`5%kW.hbwLqtFIl(_cQA`=utG0/WR{I2R3uFĘ]XRSF?8>i+< ak?Gbp@A#%)ܐL\\!y⎽Q0C-X#ÌÆXY*3V&&l9w~`=b}\$ED+m)\nA\$<uzI>E9`tc3Ϗw:ﺔ\\yvGKA}3`\\k.EoƩO\$YEDED3:ď2%\\BbӍ,fȩLWCL\\ WNŬDrNDoljĮš/ȝW\\pNHEpM F*: ).MUJ,4P_Vp\"*``jM<R#\\_0\$F)s0R-\rIBrk\r[oGP)LB\r \rʁ#N;1p\\n5F:ðxҠ\$( [̱W8;MM\nT[:ѥdV*-\rK#f4p-j#QqCV\$dvf`j2Fi\"\r)#'4F)\"pPZOn\"!@nS89\rYFcmTQPT?	EOS	ܯ&k@U4\"['	\\\\(\$6-`/%`ֆFȦ*x2j/*S6&*\n@H ]m-r&.14q&.-CEDo @ޢ./d?I\n\"j\$q293S(\0%`Kr[\$#:\np3DZ,B袊@0?DE(A\"l|70 t:%\"5uP%o.4-7:Gq\nP5EmW2cpÏ2b\$Dr%bZh\0rGd\nZv\">YE\004T,!\" dpjlʊ<4c=\"[r욱3iP8\"f@AW,Av%lY#tJDBF\n&>\rVF\n1E|\nr:F,}e9{tTJJp%JEyJ2QA2x6m+ԧ͒mq-/%`./{PAZ%RkP,b\">,%[^C&D\n5:@	O%f:'RE`/:-Dc:TJ	g<}&'J@tȋc\rk>b!#+R-h@	\0t	@\n`";break;case"ru":$e="%)h-D\rAhX4mEFxAf@C#mE#i{a2fAZH^GWqh.ahhh)-IhyL%0q )̅9h(HRDLD)Cf4%Gf\nb֬{R\r%m5!s,kPtv_hn]#Pօ'[\$!&chK'FAIE\$e6jllѬ2\"\\횩mKV7ťs6PhNCh@zP<l:\n,c;jA0p9m#)Đ~ZĎc(1^Ӕ07Ϛ8ŪGHE y4̢L(h:𪈎=:(dzO\"\$\n\"=Pr\\1=(0oB|Gx h7f4mlq\nE~MKVPMẕoP<\r3:xg\r3Mӡp9x79c2\rTF*+~%H2~\\x-|%H&0O3T(k3:FQ\"ʡcDQ4#QðC!d)T\"9>kB~#5A(W.	0gKwJV S_ؠ3l>m:ҟd]Auy=+kD8<hѡ-8fg#7ϕ6*ݶ#8R\$Iz{{>e\r#f4zOdvXD	84\$RJ9MK̤ڷ:Xwι̗=oª?mɣ`P(k6BHBEi@9Kc{U?\\˶8v;	ChdtG\0PjB{\\|\$ٍH	1ATN)C4g\n	ϕtyYe~EzW:e&Arɒ_+윫B{u%W-\n-4*?ysϤ8\"]tDS¾]`)\09	-9\$uxViJMIҐ8\r9\$u>_JBm+9DWQ	d\nzE_\"\n|k6ދ%9iHl>Q,hI.)WFWHV×TKs._Az*LEÂ)B&\rh,D9.mMñ+ڜ%r)p'Tk`O	1Yř\r	9g30V\0`\$eeA+w!fcRn4͔juXBV+>d)L)8J\"ȠI3GN4)pI}*2Xd,ҨUk o\r:ԹWDBPHZ|U?w3f&EBz{WPc!CfCA;(=p\n1R:VX%e՞֊ӨYl-Ct[aη-A24钏/+ԑ#i҉L^}B~/Py6KEGO.2Qy&c('YG/J#di,w^w8M4Bk\02H;p\$-LԥQZ:f&ejU5.Z*kIb+ PRZ&)cF2?y,aˡOw%Є^If)2KDD6o>vY %dN)l#25E,+W--wXHFZ2t'ٴK#\\ﻲf3Q:I RS\nA<QhiPFbDdZHs\$5q^k%v@L&ixQS},JJ,29\\S-D)#dPAQVHHu=Or~PbKB&Ok+9\"H \n<)Gh@)]UaXO(P\"hG]1'\n/~G,8rY[J2NOU=TV[oB^{0T\nu\\;	YiN4J~Z%@)cb\rvdc\rC2ҋtDR(7i/˚?yDy\nx<S|ţG5Ttun|0mf-6P\\5>b>\\IYNП҇&D7Q_iD!A#~|n-)vL9\$lLrwL=IQjc*`޲	\n (iՇ;%)roQ]E4iFJ<8>C4-Gdb\0\"t\0H辿*'2O}\0#*\$JڤDz`XKv\r\0tND>kIʂPbnF`-&cN7y#D7B a^Dž:fn{&6&o|'~OmFlG%o\\lΨLLjd^'b-&-.NN-̂дc^\"\"l45)4^d K,zaqHiA+mh8PH(TlҨNdN\n 	eM	>LjLp\$.h{rg`^0FF.`qqs>:-ֈBB*Bƪ椑efܦT(a>.fhspKPMƎô*h~EBϋ\"s#\0P24\0&CCڛR]\"B|=M%(.Z*W\rb)'RqDbK(Rk(S(	Gnw\$1 #\"#\$%~\"rA,(.r)\"=ң~qfmU.δL͜I+/-q/HU0ebnJK&-Fn0341NsEIa\0E,͐9a#1VR2GI69dbid7vHE8Svkp	HۉrJB\\dh9#/9M:1\"oG9~z?i=ВzoMzbDpPv9R,35bo*k O(p=nm[=	g6,pMx#1!+枌T>2Dž	`\r\r\n5C\$4g%h7:\rGHG;&`t\nOkG.9ج0T};;u*t:R|*	K1Jb@ey'szeSMƛa#NMg'R\")#WKDduIOsM\"Oܕa#%I	Qg(\r\rNk.ȆN\"p/W\"λTCTURTu^&uJPU4\0@ּd,23~䤛RF(mfU2]ՌUH\n\"5#kYvuGWUb VDW[k/&P^}w=SQ+9n]=U}QAh\"l[J*l7-e[cZ+:RSfpVueucuChahOdnK;6iJf06VvtI@Xj.X*\rl\"f.LK(&ڍ\nD5POPsGb`GRhVoopiԟj`V!Jvqo-\rKp6s&\$-IV)TxdGHcvHpTv-rrn&ir\$WdUא+L.Wuih-~3oyBot(Y|#5i6)JͮzۗOw~qu6~Wzi~wUwV\"5a7Sz0=\"21R v h,QymjJSXNOXV{	*Msd=jVXE烔ngSi=wGNSSQ845!'NH؜s>q}i8\rVSd}]G?0˜̺֋#00RI^5g+\r!@\n8;[PnѾI	h:((M-.bؐ\nM9v@gqM!6Y7rPa\r{xd#m)5=6|8XeNlʔJ/(:I\nxb+\$o:X6\$q&ADSiVc,5t6`.:`=4Q\"+54	v\nT4FO~a# 'a7DGho.;#\0\$uiDLSi+(d9v8+>EWH^N(4¨IDDj4rKGWNC!x7Z:Tw`6w<yp;YLг&b&4uzt6txa\"<.dBjP\r@Z:sA\nsNtp5ժu9KuqTl#*";break;case"sk":$e="%(](!@n2\rC	l7&P\rl25q\$\"r:\rFQ\0B0y%990cAn8yj)AB&sLR\nbM&}a1f̄k01QZ0_bԷ  _0qN:Q\rA n4%b	a6OR5#7\n\n*8	!\"Fo;GA#v8.D8ܞ1*͗ə\n-L6la+y5O&(3:=.ϐ@1¤*T09&(\r -\nn	(B -x\rbP9p*B\rEQB9-H jȉ(\nh#\ra)#҈1@4CXXr82D49Ax^;́r\"\\x59c21C.2϶8x!B+#IB\r<!\n6)\$4&OTmNȫ0xJ2:6c6Mc7.:2q}*	c}P7D\$*l2Ӽf:Rv:A\07c<2%ɂ+cpMҔZ107\rm/oX_/5*rȵ(Ct\r7ȉj@Џ\rḬOl\r2VnVl\"(9[]K\"`2oa'DlZƒտXZҚ{,Z{t'ҍ'MH\"_\"(?[VXj\"@PJblꌸ0w9\rg:H2!p̹F(Ψ֥Cص:zoݎK+Bɶ/ځF!\$=q\r4:K=BʏcwKĸ-2XQZm36(B'LV96'.XXug@_7G!-tTK@\nb[\0UQFAPB 7L\n섐B1 T8mpD.	GQIH!x!a|8 W^Ʌ1TΚSZmM9'D#DaԨ}Ú7!בh0.\rE%\"RMr<0aF󽘦Й4RbIh)],C(X.r0&\$șBjM7#ÒuaBnP*\r`ʔBQـ'*Yr2J#q>H:Z׸n.RUS_,zCS'+X.+{2.!ZA%p^c-r@ԏ	y]⇧+^J:	#HQ2+\$\$ɐ@fj`LO8 NHCyI2`d,=i/e>{W:pʤRD\"R#lfIšJt\0AZsytɈ aL)i1)f%E&΍d\$!mHPbPJY9/UPAhBQ\\e!@^ɹ+c\"IrM\"LccN28hBQ-B5\0\\)&\r\0¢45yl/A{oo`eC\rh̝{*E:ހV]p6A?rjx74*0T\n\$8~O%* =\0kr\rd܄[2Bѥ,>\\Mb}RF|,E	R1W!f^<!|uO\"^!E'\$6+[0o&7@ĉI\n\"JuD(4hj#L%j	]xg.V1<=OJ@\$b[K >TZFA<1C\r6ByHē݄:1N_`O|T?#y@L\rN]&\nmؘ6I3&ŕhdBaੳU\n^lt<.r↠J35)ǎ\rq]U/s/\"3EZ|	|<633&)\n-M/Jɕ*\nPҼn!`g9@BH!9FQ=c\"KRK(efdHkYb2N	;B/%Fd3QbVLu6iGP2ϟ1/nbۨL,%|xo8<Aiop|\rBRӚ5t*E<Gk+8Ii.%su|b?NLT?}li,ds!Җ];v_*UpB |)&5`\\{/B,ڈ[\0d\$v1#S:բx\r.@]\r\$c2?KÈ:~ret!,ϲfl%5^ފ0y'h8J͘7DP\$-\nm	OE\ni0~=i@pмdd7!NIh,]5x(\nBc`Ud]ޮyR	`ebѢ^j0Rfju\rľvFЕ\np\rJ0%[&1UjK\nH;Pv(nB;B_\$цON|,TfѠ.ѧoq'giϺ,n*lz@BCn2Ix2\n!# '>\rVH!&8L|IE>Bxx„VV]KbVX>\\̬Z̲*,d-n)\"f/I\$)LgC!R\$2lfCc&Z[\rߥшy-\")-ѩ\"}\"G-鍤:qWca/0Κ'.cx4mc2k,7C[[ #};D(Iu-\"@~_\$OR0%6701JQs#_Cg>leU8JmpA96䳧7V:gNw&>\\S s%4QӅ=3S y3,V`.ni-T\0H-pt,m:Ne@%/34fBG{/De@SB>\\ι4DD.\"@n\r<2_PvoC\0@6+VYKԏ6RId</#4\rԐԧH\\\$ #xcE|@'\$\n4%Jpz2&=Hɼ&\$	 D\rV=@\rcPwcV+rt-H@woD2BRK':ni(j.\nZZI%/*/FRJOMUOQT5qVO&()T\"\"ܔaBCJ#eIB:1Q6Z,`Exܿ25>3>0,()6,c\\zE0f=\$ޓhv0qq-]\0^W|\nI\r\r%Na7T.6(f\r= Ò0G-1]+;%\rV)jVv'(m̟d|Ct{pW\rd\"L-c@&\"V\rjvZ&P``\0b2G\"&L2eb-EX4\nl\rE:\r|{b\ny@";break;case"sl":$e="%(eM#)@n0\rUi'Cyk2QF\"	1k7Αv?5B25fA2dB\0Pb2ar\n)DŽep(0#Upz7PI6AC	laCH(H;_Iуdi1ȋ&aCl2̧1p@u8FGCA9t1f\$E3A}kB|<6?&Ʒ_7K08ʱDы*PIFSԼU8Bҩi;L#/Wq+0ȥV.h6P͢@P PʥL\n	\0pԈ2L# ڷhͲI?)1l	[D#;C+q;c X[Z2D49Ax^;so\r\\x7uC ^'a926cH7x\$Nʫc{DACz#)l<#;02+L\0ٵ'\r(2C(\n\r:\n\0ĒMQUU\r]TcR/Y2#`2`P4\0P7k<Ov#`0C 	o\nLœB\$0bgo\r;=k:-\0C :	B5#`+Z/	,H7ۀP4k7(\ro7x630k7˜&-c\"n2H1UT=%EB\n<f9yK;\r=j:hkK\\\"4h#e 3*:ZMp8i2sx̶.#j6D3XA-9qX\r\\9F)A}\r#dsj )7-gfw5ű3r	\$FV̓pQ(@-ܬ~:^X3-Tʃ<aJÊWW \n{M\\C2|ҵA11\"tjOJ)M%ddM70}Tձ@NSAs bz?<%;^\$A5 ;GH8	 C!%\$ĜRCP5+\$ӓKnY.&@Hmad\"\r\"z3 0hLry)l:>t~IXz%h&vE\rᝆ-d]7hQ/\0*yȦ@\r44v@5B{C\rOjLc.D\\4!V%	@v\nHyB@܆DCqDh.fTyfp\"ZxwSQM\$+	&)9p9L\n;P-PgI&vJ٧.5-2@rBS\nA&(M!1r @vB[\rf62JII;p!NK<&H[Д\n U!:0c7*I5H`q]M3`l9!#)95R|00(! Zy!S.(i%_]FSA9kޒ,&~-nUQm&	+R^R,g9\"L#܇U>c<X\rI7VY<p@^KnRaϱF,BiŤñ24o+ҏ8Fey|YwY6]<\\^	26F	n3 J@ŜZaijiݛvЕg%aԭC(䢻Q-\nͫ\nǬ?Ҫ.r\nAB`0;A<9e\0bWMa50Vo1i Pf\$@95 aaP(C,SF~CiHK0!;T\$\$Slٳ-X5SXCs(f+mP>y<7(3w)Οb.y+6dzXn&nDleB.H#&6IoCǴ{<<}T\n!ARj wU\r0iHB%e\n_Ux/)˜vJ6i^[@m ˵6r}تqU@+2{l29~\r(%pfmSRMܛvmѸE.ܛE`KlCU;D]C~t}mߛRdn\$<#m8~;tk81%ϲ3_xPo'HA0\rŁp-T.h/[9<#\n>z׺tDIB=\0p~HMuz}aDH&pr\"s&RB-\$^-r{(|΃0;> 5D\r#r胊1%'*A\"zG\$`H}_4\"LҜgߺS'~\nc1iv簂9_}wwIݩ\\^S~2DU9s=Jk%>\"L	,k\nˬEbńXo%\r*H\$b* ,,irx+@Jb\nd[ϽOᦰTOfJ%N	b\\dTd\\#~\rnH2M\rb0	pvg	\nOy\nЎB?E&E0+;\njS	R7nPKu\r\$jJPJn\0!#?<#னnR(%B/]6@ҖBW䖣j(‘02h=dvH0\$\nΫLBVlԭ~X*RKq*PNIF&k\$&?OQϺ'L̏xl'1f=C >0[XX\0ic&Q%*\0fOH&0MΡб/	K\$\$O 1 fxz%Bt\$Ղ1&^Q;yZ/\\LXX18.\n^DWȘ1b*\n\"(lr)쒪l#Ҫ@\\:f>xOKce\0Ѣ_Q-.b'r;h\">cY/Š%<\r_/2`/d-RM\$&&x 'VXvslb7ڒ7Ι8#6h, \$PMT̀7Q\"j\$3Sod|̄/hʥČ=M<%E2\rVp\$`od`s\r\0j\nZ\r/J/&\rC1x<Kn/\rT`D\"XIA\"!zD\"@RmPo2C+T%; !	sb@:!\$L~!^à:%x6LwJTM>Tq\rtBJھT.NRHNfF`eO,]D5\0005\$@1#*	^.Cl,XiQeOi2q\r,%`lb%wTjl9\0K\"\r\nN8Q l+>/.a\n,+\n6\$͋N#%`u!OӼ *#þTcSB4'H3Z ";break;case"sr":$e="%)h.i4	|Ez\\4S֊\rh/PHPnv0G h\r\n)EȄ:%9>/M}H`(`1ƃQp9WhtuO`J\re;ьF\rgKB`X42]nG<^PdeCRFtɼ 4NQ 8'cIg2N9d08CAt0ոD1%Co-'3Do8eAZA)@{b0*;p&\0\r#p΃4\rY] s(>X7\rn07(9\r,\rt1\n+Nĩ(.5z'QƎ\rB/iRtڬо1D=O\"IB6±@2\r7#8F1n\n\09/97Ecj2\0yC3:xU8Ѩp^8R2\r\nѨ#x|2\rGA,*7#4%L;]\"J1{+0r%t6蕾hMh&	3\\+#B (ȈoR*Bc~;EL%ĥ~hDPH0wbfٚL!FD:0Z8B?rBG\0 }1OÜ]&.?S&2DB(1'2HJ=7\$S٣3Tr^9FptԥHS`#BBRKB2C`T=\"o:/yK:hwM\ruRmmJCǓ^^B4ԯ}xZn/=xAcu&ߴC}] 0rԫ\0:s7_à20`!0s`!C;`s%A5F!Geh7(5َ-/e,x5l\noP\$4rdѯ\$C7OBbq+bx%,yX<\0CPA\0:jd:(C8aa\0N(`PJ)ZEKEIb(̠а M)HdNJl)@\"U\nV*8CV:B@U\"d!h(VhC\r!S>K,6M/\$dF{&%sR]TdiNJeB*U*;^.VJ[BYʿ	!8ڭCH0skXi8#(B\n؜mnDtaI16\$,%ućZJ]!\$AOe` G)+A8a}=F)o(GçLH a1ΚZ\$0qM\n[_92\",]1yє\nH\ny%n\n\n)#Ւ.J.|9o&hy9g4Vt:Gy;pý+dR\$Q:J9 Xa8H'8t1:;u@1f՞03h%F	Cw͢|_#\$n<(E,A'DQ͓Hy\$׾4J ԖR#F)бBI1L2J*A;IOA\0fFMOtlc2Ept/#(#Р˜T--]L\0.XAAR2Ȼ1VI)ut|MTև+ĉet!&XGNx42Iq7hޫ5:\0)3cP*W08i'4G\r/&Y<([ǨP*P@\n&Kȉtf!`i`@(LwOR7CI5VKY@X^v1 wqpƸ\n_@6TKiu콙tN]\n29g3P@+Մճ-n3kq~4O&1eh?%Sxo<ݫ;THuLͨgwywL{c@I0O-DD z	k\\kkY%Q(~rV0ihfw,PQ>8iMI\0˜e9>vR	WXjYuT2P\n~E`eqۙ}֑lDeRHP 0)g;M~UrhL!PC!5PķuZS0/YvU8D0' A3[cƑIZf\\.#`oS8Q{p*FA;0qsOi7eҘNa^f`|\"6`!plwcZ!B\"ʑ#\"\0@S&p0-?wʤpJ0&H{jN(0EL&ǫAaPY_I\0\$@)s_PxP~+2\"v؋pkAj%Fk	P;p	{P\r9	p\rL|7	Ph~05BZnLQ@F  z*)b(x0^\"(?w18,0@)cGpp\"n~V(4*XGik|16p%('}\rlōrl\rF.B瑠?qj0NIJ\$^1\$(>fJKn׎߮\\AC>e7.6+n\"Qފ (,U\"\$}pr'|r\r'!cCB­QA+	R6`F#%!%J^mN\$c^Rj%RqrpE,}\"5BcfZE؁\rZ @cRcZ.\nRC-R0|ŒQ=1./R<^2A0-\$0#+am2<p	Le\n0IESm272lH-P34#05'!_3̻43c\nN_sH1(Mђ29F/[92Q2)c:_'#So<ml[(t&3=.xN24l|>qbf}&Z!e2pFLHش>&pa+Ҧ,S5S7(B@x)bȯH#\$3شVtяC?B2)ؓ^Ra9Q+&A2>]iG:K%l7#\$Ol:'W;`2&4#wJKQ<rI/Jv*KPm͑Ie74H.jJDT ѐn#oJG2j5;3.3>R+Cs2sqP51\"{cpͭL`\\F1njKSjN&+KMB#JM3_&r3~cd8EjNrx/gX:JwY&XoiXդBYh\$ozQS\\]4GT]@U/<w\$>bu^n)\$_]\"\r)tGMFKUd:V#^5%KH-q^</R~(T`'6fVЎlm;fK0zApjqggWh׶o>s9\"\0lN\0p`ǽiCg7S6I*M6 U3m8H\rVHGbT&)/-(+@\nv`\nZFB6TOpw6@Q7#pQszBSRK\"gT`\r̚,=2CbL˱tD.3Wxd0}\nk)˩%#-箬Gz7GTG9vTZ͹TlOD(}8N\0@\".)pއ[!v6uKl\r}l27-#l]E#g9}t1@x!t1>+gw(oۤ<.oE\$EtBCa%J%oQר͡u,Tפc#FZ/waAB@OeW\$NyRf#Ŏny_~#ox6N	x3BuF&}XmrQ''5)Ѐ9C)-]yP+kj7Vc";break;case"sv":$e="%(e:5)@i7	 6ELp&)\\\n\$0s8t!CtrZo9I\rb%9iC7,X\nFC1l7AL4\$8uOMfSt7ASI a6&<b2\$)9Hd7#qu]D(ND0(r4\$U0!1n%(Ɖ:]xId3O\r3Dpt9tQN!ݾr#-+/5&d~hI<Ldy<ѳ7BbT9\"4+‚;B6#rJd726`&l 8L*9\\Dc`@4RBC \\D44Cx'ȬA/{j9cJ\0|&*q\n&x|550H+\r#l:C:¸򭐔\".\"p/Ë&<@M2Sh\n%k#R\rl/Ko)HcR1r)H9,T%դ{YG,9\r@P:5W8.L\0)O\nT7#/=!9N<f3\n:!igQ\n\"&Z\n<zK#髼QT`R>mcFJA#9䐤\"3I#8	#hr\"(M>L0\r~@Ue9\nP:\018\rȠ3dܓ35\$C=2@){Xَ0Ίtfء	Hf3db͐'kPktFK)ϛ.&O+C!\"\rm#JCd,\rkt3dB9Y@6o<ŃǃJ\\5kXLXÓ['lhHw/uKg}\"p6GnSN)@7,wKRX]D8 B<uϨTj4\$% R*GI)-&`2TY,^RMIB[Iqi\$C:@3#A`CuB GP#+H)&\$䠔<#I],2\$Ra`LL8E\\ScioeW.!F|B!!d\0n[\$~TXs4\rGјf4ͬ~E^.ܿ[sXADcLPpbk8[\n (vZszB\n\n\0)'	'<h,'\"L3a<KsDMR\$	8O-Θ	deeϼEDJ38j\"2LS>FXKk2<!RHD70F`@Xi94b)&%\"&2\nGM4H\\G~U@ĩ:	KE>	H2լ՗r *S3R\n\$#q^պ䐩'\n<)@ZZ˪#D5l!.\0mSCw\r'iy+29#\$YّMs\na8Pq93Hj>Œe)%z~o|AVdCX\$@@BP*PBpGN T!'\\5\0*']\$Aֻd  %z̧❋̵:dg=EeUPF@whnh՗6X!HQH\npYmOYk\n4XL3ܽCBl,5Ø	\r4GJTfܙar\0k[Ra_Po1^6RR@S08Ĕ9޸iE<Y²;J0C!\"U\"2i.*<;э'^@PCeN3\$w;'ǾdV3OJsd\n\"(YBɜб]PE>G6Q\0Oޠ<WD 0k^dҕ:y!bU0Ex ,.c {y;*>jS{3nxg!Gw\\Tb>IڻSwْxpgr\$nˏ햳8K'F\$~SB6PIg`%gv}y%FG/.)=*sЉC-q<q\rdk)Y^DŽ^NQG\0٩l	!uvְ}_02\0m,`Ȳ\$-jr.@-^9j~<0[K-\\wv4;u/ESU+ۗ8{p)gu~cMwpbж=#od{E/EZn7KۙswN*B_\"}׾h߼9gZDs]^4_=wUflB/FFv\$!2I\\B(VxCJ0ضTr,FB&o.-F/L9-D0HT/\r/QhМrb	PBlP	5\0\neBL\0E@]`/YK:rB	\r`а0p\0/b8ŠZDnÀ/62:+_c?igM\"nF8#\$\$2N.OKObm.\"G'L34< Ӡ	/nӍJ`иQB'F-MLY@rPׅb1@u4!.\r/!/E#!	2CD!Hq9dY\rL<3\"p4b%~S-8S |rR2=`=?b\$\rV\rg\\k&gCR!(Pਤ@p\rh\"\r+Jh#4\nR)Qg\0@8@\\<t.X<J))\\+('2%fLE\"rnh#\$A&u8%2	Q3U.o6ba1\nfb0sR!Ú}X0rĠcX_>=\0(cXz#c҇r\\˰.\\:J5^&*;>kSh\\PfxL8vD&Q-\nFR";break;case"ta":$e="%)J:‘:u>8@#\"\0p6&ALQ\\!_ FKh3Xҽ.B!Pt9_`\$RTmq?5MN%urι@WDS\n4;(pP0cAn8U_\\dj?&JGFMSIXrJ΢_'JuC^ʽp i4=xS/Q*Adu'c(oFe3NbNd0;CAt0l,WKɨNCR,H\0k7S*RޢjMY`,#es‰rʢ\rBB4;2)(|\nD@\0P7\rn7(9\r	:D P)#6cVZ+j	(1;ꮵlت2:M¨1Pd8j-jRMYj/4WE͒tFn<H>1<?쪶KWUdBgJWu0 l1 ;x\$g#r 6K4x@;/j<7;̣ X90z\r8a^\\tL8^2xu]K`|6̮3Lk4px!w͔Ok\\ާnsAk6)NU5\$±[6t_2])-Ϊsm#*\\6hyʹK8\\w]1Jve]’V\"9\r\nv~W6hpJ6Wyʇ{6WydFiӈu#뵸lDV\"w,l\\qg ~֪}:x0˦Ľb~ٲgè1\0܂Ur~`P =3\rqILv7owP/1\0,ѲNq\npT)tRIe~+Z\0l=@CrA\n!08\nk۞{((e&wR:w-6\\\\R;h.86p[+Wm\rhWD؝3ζ( q(\rfT&\"58;wc\nY5I /yjȢٟG)FF\0ȷ\\[##\\\\@{1&=Vƈ` \r9/\0ŗtn&ydl/,f\r!]YYHDCL7M&ܱ=wHH⁉m5xњy0N9?ht<iAf҆:G\reZ5FWEBbn7@0\nx!co6,svfU	D*ǃpyH9U33@|Ni\nO(`o%Uꔃfp(Vq&Mm% *zrke\"SllEN^}/X附d,PY>fzgӕRوf+d<\nh՜]A1+l`+\$<|kvJ/5_vl[L)0͓bHPh`t~.g{ea\rligN/M3vpգ*frXܛ9W\"ՆT*\n}l\ruj\$dGv*GahSP`Dk&A\r^'A+RQ8(sHZU\r4\0((KEc#\nl{̎+D:*d<c\\\nAi0o̭q9-˿;a79&4zsa\\M3ƃppϨc\reAq݃2F%EnGMZ\\W8G!'Af-`=Di,EZҵvM5CVpF1x]r1~6zulskVeĶ/FZܼ_GŪXTZy퐲ZMosh@Y!r/y=k8ij maW-.)\\G.n>Y9CO\naQ6tA%D{{iqL,\nэ(aeLɁs/ú1P}0rRJ槙`)0A2[*d@CLzUg;Ò6ItEAK+9	8PT+т\0B`ENEɣj)@ij|;#mqgh?H!'{Q~2\\grY&1+eS[?*x:1CHq3܌3\0(,ELy\n{.'NfVm\0-ϞBP\$h\r&0hĆQM@Ȑ}*	X&n~\09)<BFmBImJjk\$`&\n=E1mNk\n\ne?	t`	'DCI>l쀼'JP:lg-8^`R\$67v\r4H GFOz)BC	Txzlh\rK|np#nHTo\0\n/bJ	 ܯ%:4	,IBz/IhȖl2̌͠&` ^Q\riQ	.q7b_'XUD~nLl08trdVǔD\$cPfdC/y!W%r\"pM0uDmp,ņ\n 	\0@\r%Yz>KG´/.F̷'pbPp2j\$pq0v)c+\rJ00~nߍ],Fh\0@ &O/\rm1\$+1kY,!0R%jѨl/-gH(@2A\\EbHK3  (s2+`6s053VʳA4r1:O/nӛXP]2;r5s6%BBI4\$8y	`zL%se/<6f+jP95}9']7\$\r\nEAE.SRy@&+Ddv\rhGI\$TB4T`Sx\$h1o,0F`\"`PcoegE-sG\"I''Jo^T+\"sx#wM<\$DkJZR3R摤C:t&mPjl4N%N1ROR)3CSSLB7SIT1pMQtl#:33US'EDw9t>}B`gn2rGoAz~x.ڒk@	JL#0. Ej&F6}\\.Ox.uZcZdG/4tFqМ\$G7].-ȢKщ@\nN\rE!#\0T{;Xii-:~7VU<aW2_/9=_-Vԇeu\rd=;VG(%JVs;Q5Y`Ãg9\rwfMTe5ogU,z)2OMӸBIwg8Cq4]D2?rjkjGDP66N\0~VPCCmCmSs(AnHn*'A(jsWu\\S 7-\0Votet5.G4rs=<өglNOjV\n\n=^0VPiRuq6Zv\$zlR,q	LDW_vIU7rIן}3(15x4W7Hi}~\n)HEYb \n\0}L(L	~+s-;8sw!wuxlAos&GmrmGRt}StwUA`?֣DwSF@؈j8hhpWjUC}ϿMq։VR\$;s׫BUcob厘Wsg3+v+`uW6-#wBۑ1!q\nY\nɔYXϒCzC#(T\$	Px6-QwkÏV^UufM{\\e/kYۖXhjثkwNxqWy%9&Yzٵ`znќmCgr0UyCvI	Mc:'h.uBXq;%LL\0[K*,f[A㵤6q*:RMEQGUu5eŋ L~q́9qux@w{YPytXC7c_HYOڋzkVIhRY_/5JFH#8lX7z:'SY\nr<nEѠ:@\\,&I%GLq^J1\"f0G9?=J,GZ&7m(mi4:H鶾u6IeWECQd0\$d PdB8ȶGjӷpe,RhOU.grUCQϕ5&VŽ.bB\rV Ӥy[xt\\ܖIhYP`\np)V{N!9N*\n18]G5q0Q|Xl.k:C;ruj)\"FwMCmsJ1.SU|(L{w||w{8m&_-@u{Jy'g\rjJQ80^?\rKZUi}zFi5AfxG򨪝AUEsC#y{}uɯɄ4Ox҈Gx9(ȸ`;CZN\rI>Q_THZwEVz\$_y\$G]ChqK#BUX\0H|Cւsadi[@xDp`JxwP	Xl)r%vh\\3g0xUؽΞJ\nq{8{g[9ggs1^NUr\0P <csA}}=U5d嵓\0=D`	\0t	@\n`";break;case"th":$e="%OZAS0U/Z\$CDAUPȴqp*\n*\nW	lM1\"T!R4\\K3umpPUq\\-c8UR\n%bh9\\EY*uq2[S\ny8\\E1BH#'\0Pb2as=UW	8{#+&\\K#[[=-O5,%&ݶ\\&TJ}'[AC\\k%'TLWȽg+!'MbC ɼ 4NQ 8'cI3@:>2#:\rL:#-ڀ EM˘a9~NsL^\\.-R\\\"CCEÚΩMR:()E<)CH3srR7!pbLB5ø7P²Zjr4\"@Li\n947R>Q͍.#).R#u On*g(=|(utwXϰ/<*e+# -N\07/:8O1p-\0gA09=sc2\0yq3:x\rfO3p^8^2\r-#x|:RJ3dgS:&\rarN:اPU	DJ5R|.豒!(6KBFRH\r0iLsI,\n7\\#B\n<>ej\$z;A.)pՏ\\L1	qGF4&R\$n[uS@\"_c6Z6.+zCcQI4mՓ;ԠM0\\2R#RѪ{(nmԲr{[J\ry[(ourG9VLْ`\n6 4\"c!WHSQ|)A/GM\$6i&]4@YjT=„dՒt,5\r0+#'^#\"Sqf[	Tp*K\"t)<\r.=Mu\\hH{va	ߚHmj/v6um9C(eD?0|0f\r!AYKRdDϡt	:A&er< ܷ0sBtdt\n>l3@((cW%]%SYSz'2deN9ܸԣ6,(y/&KdoBo>7@exu[x3;p@xgKAz@=g2nM@@puA@9Q3s}h/ŤC>OM	ʨɢ	z9bC\"^}/`!S6{>SFJā>-rxO Tg2ĻEžѲd㓌3IWM;ˈQ!?C<	J(׊N8r_~+%sbRWK\nHm6%E]P	zZigh̩FYdԢ . S0 ]A#lÕ-0jgݰ\nR@w9J#KClnt\$/7#}WW娝H\n\0@SV8o؏rE&\$u֟Oen`9I4ڹ;(̡13%PgM-w:Û[M>]7Pak\\} {GcTyer5b03v;Hcn S{c\\o|u҅ XMT3p9)\rE/Ry\n	,&bXNՖ)C\\:IHyᒜ-%uA	}{\0fNᶘUcހ1f\0+TE⋧[rzU\"AfN(n&	f\"H↱ڥT?H/4gC)WlI=I9j\0—]prlPS6mɋSaO0T>l+kLEhq^}rɬP*^{ E	5ߣ}B\0tj_!ԍ.#4sNlдDoeYoO\\[B)W>wʇSg{)/>4vѓ@cl3θgҢ<b w?&Տ2v1Ⴛr:FDRizX;N	BL8{D\$50\0M,4Q4xg`u\\-]>	e46U2?ӥtjUik)串ND7	aLT?xb \rJ؜n5⢀\$,QB\"(lhvkH\"g\$? fΌffhhU(lF݇„Pf\nsޫd|)d&b>\0\rfeA,\n\0'89Bx%pEtC@c\0dj\"\"JGTOjz\$FhέP%U\rst4GC2oj^os\$TsdT@耨 	\0@\r%m+XAKJlnjg^0Dƚd;~ 0Keh2FHʶ;j.fĠEtc\$屆Q</O\"ʻ\"yނѵ=	oi )*de0x\$?~4O7\0*kiP&R\rvl(Ȥ\n4WE꠮T ,t:()Dr6ī2Fr2^6:C:IWC4Hg\r:CpIrrrrr\nOkhhdjC0d\"&B~+\n~n\"(DD6|v~&q<\$)IEª	qO01/I+R9?-1.ʹ-2t2N\"*(1m%=*P;RN ~'\"+y#.'rS}s3ΰK7zG*60}+k(v5\$@iΝSVs9wڕXd`<RG^Pa*4pO;-?#(p4S2Q6@Ǵ!<\n/ӻh\\/5t)SJ90Б&;'ʿјn;4\0003Bp0QFO@t#.[	.`Pr&tRQw<7EYF-	tώK2tgTN9C;!ЗjrpԬX\$dv.)n<S޴?&g4j~:C2Fum=p`JM4HIM\r<FFP0sOT|4JPMQJSN#_M}P,WJDNirnj	IK>iYJ8~4-՝LIZ4BS7ZKaXƥ{2BZtL/K'[532w@']#j]fT;t=^sKq\\M1_Uk̚~F,&:p(\"'Padphg'M/ckœi.\nEYթ]@fJ%fKu6YqgJk#][vqCU`@@`fM`hN+3UAj)j)[V? k.:G*+6Rfr\$.Zop>ˠb%7Kg6o\0wjПpqp wp@h]4s@Y{^춂qs't5i6iu@ֱYa\rlwO\rRHD_5\r!%!sSev}wYk+~s[zwKlzzL7t\\4a9x\nbKPքGoyD:ryZbtw'q\$cpfwP-,,Bl{W3kէH#=lHڠm\r7sPC;2dV'`\nplքi}_-mɤ[Ri4/;@ր3#ú)H:  oFL7TSdy&U,M AV؄=uL%V&:\$B\0KF\0%<v@ǡ|PprrUPR֍t\rlpσVZnlzIՊ=5Sa:9SfI3\n@@C>w&N`\nYp.薈S+T*;;6:m-PLƒ\"<{-+t/>>n9me#]9.GcSny\nŶ\r|IDaegkrςTx/X50o\$s8:P+k:9~qg짋?tFSFscYVx'Ձ@@?Dx)]x#T3H4Bp	\0t	@\n`";break;case"tr":$e="%(o9L\";\rln2NFai<BS`z4hP\"2B!Bu:`Ehr2r	LcAb'\0(`1ƃQp9b(Bi=R*|4&`(a1\rɮ|^ZɮK0fK\n!Lx7̦ȭ 4k|\"tit3-z7eLlDa63ڜI7FӺAE=FqH7PuMn7Q#j8S4ΑnYu{4>_(x P4k+@:&2+h7@080l\r8@z0mh4@ޣ!c`94C(C@:t㼤0B|uǣI|6MjB3#Cl4!^0+4#0E[=HL6\n8ʤ+(-b\\)\nU%J0`@5,'9A(Ȗ0#UUP%듶*/@kŋA*Bx7ԛ. PcT\nPœSB35b4[&9V\rN1A\niw#퉃J.	8!R:X,*ܱkŸsp\nbOى3@7s\rMPbȵ9m)fAj:C\0eR˙b*<642<@׊ ɢ:v.Yٞe!QhH#\"#Em?n9N3n4˺4'i5\"4\rG\\x<=cro=SҨ툋\0`4-`c=d\rPa&6>hw	]g[m{Su7]?&gzX}V\"8M@8H[5|#-\n9egޜԣϠ9/ MBD53I4xF`XkW&舑3DDH!%\$ĜwJYp/%.5I	%ܠMp,(^\0ޑjrR@\r:bN[!!X\0\\h ,3\$SHHj#@\r؜V,NWi#RzQJiVr^P!B%1?nܑ\n\rџ3GF[\r\"\0@]q^3b&kPXuI\"M0䩲&ELOAp*ܴC/D@P9UIrB\0('`%\nD(dU(cĿb'<S=7!eIE̠|E)I,\"ojCD,9\$f	5MA8d 1.Q,5O&HiʇNFrl@2aNhWs_l4TVYe\02&DDoA2='L@\$<!>\nȢ0N1Dk:ZRIwy/\\(\ra+e{eCS\"Np[\"VEe֝pRm-etIȱ6JJ^BIVM=%kN#.B?&+q(@RD7,P*YrF}gҘ0@{,eq(Lߐ~J0jxp2VȭhPó45rc9*đ	~pN9Ad:rrbLjp(s;w5+AaSA'-p2l\\m|`@)^J@\$U(j0xAӂH\rlM7I\$٭[C/+PM!IS=,Y2ػųŌ\$_ށy\0ҩ`:,CE\$0DIKa`ADC}n\r-J&D*hsud{`.I&1.7߂\"R^ yw9A5EnpYnF=	I'Eb#Wi9}%?Y]`F꨾P 0p#ؖ9BB1KA\\UX/)7Ň\\kwRi^0XC<I>O!Ofyz;nNɫMM\\czZTypL!u#re-.2ӭnOθ}ݣ͟X}1TεX4u׽<!Wɓa=Î(b L/rOlju*eg\\Dh1y-AUQN9A[3|<&\"ti#zdA[(Mt;;ͦ?W!#YJ4,ڭ!GXn%:%OQgW\0lrd\n\rD,\"؂\"W\"v\rNĠ)&>Bch^eL̤&3\0\"m8O(knEOw\rхtGpd).`L\0dZ70.pEꎀ(pX'ͫ\r-μ0\rozHiJ~\rclTVbrȅC \"&MH\0H㣞iX;,|~#\"08ܼ\r\r*̊.Mf\\5%j8-\rtQp/Mm\r{OPs1U\r011{R}gkq`281^r'DMP7̍Pp*1in~\\C!\$=zO,2\\Px!71v/i,\r4@ʉ<@98ۀHH*2[\$d\$N\$MR_&v,^qqmRi1)ePPQ;qWѢn	+r,dXr*\0?gF;NL\"Ŧ0Hq\ncVf*}`?UN4\\/Ы.άNO3#^!,6\$C^\$\0ve/Ű\0Z8L]Up)i1>3k>צʂL\r5ag\\̩\\R8/,\$*V\"Q;dU;Ex\"r\n&|y!lc!yρ0#Om#Ȗgj.A\rF92ӱC-b*Plp,r#~qv\rF.:ȋh@H60F?&CHPH1\0ކLzsY Roz55\0{\0/p!\0O~7Ktjgj1>|HC-rV<?ޠ\"cRuЁ\nC+dZ-4z";break;case"uk":$e="%)h-ZƂh. h-mhĆ& h#˘.(.<h#v_Ps94R\\h%p	NmcL4PҒ\0(`1ƃQp9\$&;dH5}Q\$C˩ZB	D8(iyA~Gt(‹ygY1~Қ(BdׯKmJI\r.(VV1>#\$:-r%CǴ)/tp^\r>[73'6SP5dZ{h>/Ѡz0)28?v(P|\"oKB\"i{* 5ϲ:㹉вPPD#h\"#N!J#\"JB#䎾H14ǹ͋X5:OJZ4#LzJFhh\\Ȏ;w\r?p h7h\n2h#54_#\rؽSPżzLȋv\r3:xa\rEѡp9x79c2Fnh+%L:ʹj{|&iԪ|Ɵ0k\nӄXTAs8'W7qdM%\rJB16-/\"3v%P NS=ePWJ8N}j_hr,hH'24JAS F!;\$Z3\$ڲ	 ^Vsp/\$Nh:\$ôNd@Cm, WlOLyהIkzZʲ,2P/JbAİfO'\"v9MIW!2@LGḽ,Wtb&n析zK˫'qdQ#*5x~!\nD&B\"ڗ_gqrDINxr!*.}#a*#IU%Y]*\"'W+Dat)dJhsb%М9Grl'AYdQR2!!R%0\n\$8FzF \"`AvX\\ H07oM:IIpIAƣ\00/x`tM풘HGf/i:bL`U:9Xw\n.#	Q-\$;t;ج6DFJ*~Y!KlK8MPH)SU[+ّ#RKS#-S/d=ف0kM<M͚ҒSM)5#Fh*l4?-#kU2>y9EGB-вcwڔrrM2-D_+\"IQRLBQXBqƕYUnUڽWauZY9h@t\r5l,`Q!7t]l\$Rz[+檝!P^,i	ӮE0O	*va!5-'+ElҼWa,EJJY=gÝKZjNB~!ITzJ73༐!6L@8p	bR!uTCXˮz:IO^}(\"\$]KYIj_PTQ#ª)6IGwuHHŐc\n (ر~\\' Sk	֘#]ԥޘu8+}I3q&nHtTsV\rRgDŽ_3<''[t'Q\\K,~U6)[)d8U\na2(wFơ;+tRBS\nA&***D\\N\0u7l,3(_LC#W~fvwa\nᬬ1A\$Z2gru!+ݵ?hr!~q*%JVE,S.ɚ_]oZXb@'0:Sn)6Lj#luV7S![/\0ht*\"%yq/B%!څ&GRdBJ#@K4	WIfO/A4JY+\$nDj/kkvA<{q0F0 CsѡƁzGD60l^PM#{DhM*44e+cR8YDAZ(kid(g.H}m%y5䝸SaATEI%%^ y\"~4ұ22|]es-X|\n\nLA(@uVoLo6ZFQ+F}nxI9qu4',qgF\rC༳A&K̘5o0V0\r\0\\_ot8B84@Gڦq'aƂu,|!Mbb:`DHgRM)JC/b0P2N2TBDr1d0]BFGJ(|},(gc伷+Ƒo,+\0kDBF͂9\nRb`x&}*~D:D@\n 	4׋bÌ\$\$2FGx\nz^^ڜEafuHd\$+C벙CNNJ	,:7:@^'b;fR1j;oQu*gq<ױgdžFeTg,־4@SvlT%_i1\"/K!	yoqgaQ\0ǯ uNuq*vr0\$fA>LpvlCwVHHܡb^NT1Xr<(1d#b>:짼IE\\'\"%\"PHwDbjK<@U*C'dCB	xxтԡ=û.Z(C;!.*/Rޮs=0) <.]0h30/F6n3f&x\rmlGNA,(o@0¿*x!7En6U585#\$0+w'2\rCi08n@\r\r,vF84LI<oD.by-;)NԊSQ??3;0/>|3S.6)jH\$#X1I+\r`hVrA2s4@smDE*	 h_@1FFTCF;FG0df{/w -H1s?NgH+?rqK+qKq#K]2TL4LqKLML3-1pkye'hO=&DҪʲO#On\rc&P73j3km\\\$8&ԱMN,Q0buBP5\"А4`(aMSMa{K!uTNNC0,w0ԧKNH/HT3]e比Nz].w™|KS&]0`Kb1B~\0r_DbBĄItP`u15J<1NNYsduI4[KC5a*vbr)[dT`uGgghR?e&}!@HT1\nT'I05_\rHS#e2	\"l)k^Jփ`llwE	Et3ol]	e10W&*UnUnpadN#W'qh2H)rq\0jdb)-ԭt01Y]C7Tjhy7]]nt\\56;j4vp9,.(gGFr֫*mff.9z6/Rw({\rIqgfz@Fk/achWPd|a04E|ti]֌&kJHJ\ny83ȑ@t8LD=5SSZBy0+&*]OD;\$\0T\r\r\nqu1z8EOF1w	/@{|')VkP_)z~+oW3H/gyD75d\$ED~(v⟎TjoRDK]E}'`A#0F/\rن:\"(DFf'2uOT\\0Ԭ/Wk\\3{ZI_\0XQi,Il1[4I@' (#KR0Ɨ7p!<RVf/0OP9-S=J&RÏC/`1Pѥ.AAx‚6c	OkqbUF2Ҽme+\\f0IAd磆\$l1Ep3C8tQ\r`p+1qR]2̦4";break;case"uz":$e="%(a<\rƑk6LBNl6Lp(a51`u<'Ai6&%4MF`B\"u2Kc'80cAn8'3Ac4MsI@k7#**''3`(;M6,q&ƙ}ģ+77:B:\rW.3b\r4q/|\0(a8ۍ :`*{VvN-o)dgxiw7MX('b%Iyawu:D5+*Fς\rH\n޺:6C=.p ޑ#;Ȟ\r(@8BcR>c7Ì))W3Ê,Ak`;/12\r!`@5 3t#Q\n2#8^2|h9c\"2|-89<q5x#u\r77B=&KO#TBZ,¾cC<IRN2/(RPTU\",`6l:<84>UuxɁA*#aG*\nӁTpUr\n#7h9[WQR:Cv3C*d:\$C\n#J7IڌO{ێPZ52}J\"βc@ʈ\r<{N,IhH3(F.#)\"b(:)8c{ҸNCGqDV,|g5Yj#LiD}D(&bHڗ՗p\";Ff:WREI0ZD;]C\r4\r;3|9sAPiM83A2W,|RHɬHc+w,hb[n758yb2iJX#J\\@P:Zb\r2\"<[Rv%)\rd8(h3&v{j/jpq#D̂bV)D-܀_{///YZ]\0Du\nE8u+ؕ@zO!,u&by5d30`ad1мT5,%b\$ΚSZmy=_H7@9	\"Kr:*pa^	JD 攡!Hpp9ѫ؆,G\0U8Ȝ\"ᤈчPOIZ&RaLi+\$RlMa:&EsT\$ WYct8XI)D0&DзɅu\0eEcLGt@H߬mC\n	<&&_\nDH	i,VeMH*f\$ZLi`(_.|\nMhe,t£R\nQs#9\\ݚRB\r\\\$\"NJIY@2:}W'gt>Ҁ>2[j=`9% fIR\"sURNnS˜RȘ) H(+PR%\n\\T\"hȀ~`3' 	/l6L5&	5JZIJOAi&xʇ		q+A@'08ZI|\rq3/,u25\n[cyyiς`W\0jc8gD؄P@20\n Dh)HDdȳUz`N,,\rY!8#~=pHR'`5:BHPɱWL	͟gXdE5F>,Y	<8/zSj9- %KH4c\nG>C8mR?iY5ׅLzO!3PiYa!Do,\$@NPD'tmCld59П\0aMҚSNh\n	\nH7%Lϔj, 0ƿe]xE	Jjˢ	:ܐZ\ryT0+Yjf_&(d'x*k\$;\\z(geMø,%\"TNNAA9O\0002Kb_9Fq<Ѝi[{yL;dɐ&ZKμe\0cóy_^SD\\acTd] Otx\\PqѲ^O'C\\!dˌe\0Nm	u=}@\rsN~iyKW.@l7I(	u1G_B=wˉB\$xx\"ΎMSέ Da.u!vFyR%s[X2fEAQ?J).8FUhq,/j&߫w_PzxUs~P(}Ia	[-KS]MJ2ܣȄ=lVT7wZ\r.\$o`ޠ`dU̡Mp[d.?  LQ:>2oLI5#\0Aᏹ&ƴc*a\0k\"z\"py+갎H-\r\r=	Pse%).D<7X#-#CHi	Z%r	JPYs\"bBc\$5%C̐(Xo\"P\rmر3o?͒bY]PcSLS.M`4oQp\rd.,#bUpuHNd1%E>Pooǃ0\$N4ƀ7Pߐ\n\r\n1^ɍ !Qd;\r`Q.1 pc1D\0Z-E\r\r	3 u\$\$d\nKMFRU\$r2'j@!&m'.;>x%Q)Ű\r&P2%WP#FJf.2-\rҌYr!8,#Zf\"#d.\r7B'8eO.Yf10Ҳ\nI+|C\\&{b*; (\"n ZbJRNrnnQ8|.Gr]/f/t^jH2#qc(<4~\"Povf3'^24>84\$I܇jrS%O_ƒ\0ӯ<#aB&\r&3jx^ϼCnoof#dư#GҬc>OA}pA\r4Q|`t1*eC3=̒Hk`Vnb'\"vm-xttl0Q>yms\$;CbGC%0Ex=c'GrSGl\$LiBcf	=B%\"RVcChxk\0`e;e|";break;case"vi":$e="%(ha\rq]Ҍ]c\rTnAjhc,\"	b5H؉q	Nd)	R!/5!PäA&n&0cAn8QE\r Y\$Eyt9D0Q(Vh<&b-[no\n(U`+~daH8iD\\Pnpu<4k{C3	2Rum]/tUږ[]7;qqwN(a;m{\rB\n'ٻ_2[aTk7)o9HI=&će;)ZR \\Z:\n\n(TP>22AytV\0P<g066(A4#p kCx9c|(9B1c& :#9\04x*9j4C(C@:t2,8^2|9^'AL\r7^02O[,6F;p\$V*(RKA],#Ra|/Kzú P0Ct\"<(P9 Pޮ\r6]\$JFr1\"crL!RŠx^Q\"OC6B6(UBeRQŢ\rn~/e,(1MaM]EV<hTс2.;FJ		퀗d(Sjscof؟b&CX\r40g\"\"m>՗7%CoV]k\rIvաPFUBT1Ÿ)\\Ca[nޝh9“3<H=BCaRH|ɎנH0/`I`2-T<AgE;st/r\nL9c@@&q&[hAe5;0fV2wE\n+e(1jA	܋\n\\\r3YC٣6fzh	8!Zs@eC	!D\0¤Y Ð vil\$Dto4DxOI?(0wQ\n*,ԈdTR)p}r!o8\0PA6HZL\$a:F\$WsmВB2hd:tP*\rBuϬnJ9H(ʤBSÞ(I,\r9'e`-QzB>&Aʣ\$\r2`60i\r&P}bmX0eRWK!ޏBg!ĝ2yX^\r}hai#vKU-nEзB@\$NɌd@J	TP1@pA콐:jTz)0Y|Y=CI9S8&ڛӈrZ?埅&BC\0:E\0iI#ho%3H]\n22ɢR:\$\0QvAbQG&-Nfɉ^Z4@tĄ\n}˽GU.bE+)\$!\$\"MIAkɧIhP3s\\+7J>u7zXE@'0\nN7bnR5Έ\$]DY2XK\"ܖؔPilaXLGRJ[жF~PDn\"'R@9C=#Fkd\nRj!\"/a8Dj#\$Q G'gXXHK0ĝ3Bh5rrȣRC%\\s \\f{O,v\"%f\\>vro婿Ɂ{5q-aL(#G][OBQ<4dnbz\rAlntu3\n<DK]Xg\$DUx3\"sQ480A\\y]pԾ}RTPb!6<DM8 =3~ ޳ЯۙĐ3u˔C(cy<CX\n+h_f(C\"n^ i~A^LhU.I{xV%V&\n\rȈCYC	h\$n\"QJalLX[;V6[!;; dĖ2R\"IN(kd<]۹)𢡄E/'VL^U!\$0쯳E&hpЄ5LW^㓄ґ]KBYX|.H98XaJ^枃,X(P@yC^iAeܠ_{uBb' VnɩEL]\0qBBD7Xtr&ņS{@-8~CE?n=|T͢faFM @\$8,c#-*E\0C ^)^n(>6'@~BB^\"b-fB]fD*EM¡Í\0#\0C5jm,ǎa|IA2Ȇ4;ր.&p-D,l\0qNoo,\$ P\$N\r52.1h0<pĭG\0-o\0l60B P1\0R\"Zii։\"nL\" N0P!ЉLuO&UD:BJJŒ/p`g\0\\XQ1K\n/%K\\'X1HN,6kPwÑjY.cgSr(!N7,8\$v\\	 \" :xNsetCMdѡ\r0%)\$D\n1F&DB0.Zqo!\\(,*9T\\\0\$Ɯ =P<)*@*f+\0+R+B&IRKZnk..+a(r࢔}er0R;z~D|H`\r\":AUܮ`Gg3#c2:g1;梐mE>n#cNrV0%b5Di:bLcsH:0Z'Osꥭq\"B	TbМ&e)2kb.հj\"#HD.)\0\nqOа:UW\n\$mxW c\nkz@R.6EvIb%:2Y;#fUEX],>VLH#d+ZlFk\rn.tHK#0F/j1(A8mc-i1.&.6qCI'ѼۆDHd?ICP7jH<f+D\n	k\$k094*ޙnNRlrd+@	js#pI5e\nT!.-b#49?NK4IL^E8H\r>eJ2O<3D~wN&\r!k]T@";break;case"zh":$e="%:\$\nr.r/dȻ[8 S8rNT*Ю\\9HHZ1!SVJ@%9Ql]m	FU*qQ;Cf4usUUt w:t\nrU:.:PǑ.\r7d^%u)cxU`Fjrs'PnA̛ZEf]EvitUλSծ{Pg5	EPN1	V\nW]\n!zsΟRRY8r{}CrzP(+e&%^)F'<6#p9%0JzLWI.W1ˉ8Dg4Ĝ2F@4C(C@:t㼜03\rx3(9I|1B:LΝ\$<x!tIE1ģ|s^Ińs6)6_Q`re9iLr\$PKR8rXDseDS>nsև-lQE)DON\$xqHr<eJCM\$ZHAv]\"h^9zW#s\0]Y̢|9aI5BL!XErB\r	Dm)\"eHnv.I4O6T\\C^YՁ7NSٖKge-SGAM\0,*r>m40ZSa\0:cA:Cp@09#y:pa703.:3G>p!K?%qDA-IX[\rUe*<OĹm`5YVIdU]nDaaA}#`9*LE^C<APbBX<V.,38C\$vSXI\$t⅕adQ?	AZkBA`QbõCx\0A2\$IV#~REH%%Ԟ_TJa-t\r-2e`,\" tbKGHN\"\"[v.DML-œs\0[s4H!() \"\$2HII1'tUJe-Psim2W\\.PK3f%I;sp9ȅ0K/,1ABAy%B,VA\$kHgر>M#	PiDX.0Ř_oE\"iRH\n(Dg09D|CxB\"'pOa)U%!*|f,#a*!*QK*Q@ #>YTĺ^C蘜\"^-P\"LOԤ0 00 \"mB6\"2E<b9Dk#[&~ٚ\$V9pO4Ŕ'8p2(8cIE]Õ#X(I*V8jRO\naQ#r)0\0L=qpA,GH^+͏ѹԲfI<\"\"\",!a=%洋ڱρF-&wHaH%€\nrxNT(@-A\"l@Z2~<Jr)1\0K3z`'q(\"d:&QȓX3%5Na>^\\@siۙafAorlD0B&hhI%p/1\n+hDciڍ&g<W\n+OIDypL\rD2gC!0ƐcHh\rвLY^:Rg?\$8d4(srB@	X(;/#g\na20׏A!<ٛbDߡmY6.\"L_Mc;agm%[!}ou5%A|1WHFMk Aa s(^I!2H/K2;epFgҎF\"2d	t,G,(ȉ[,l\"\\v*am׶\na80\"}b#PmqVᐉ1btRaUe~}A\\2.fO'L	´΄[QQj\"(5)hDG.\$M/Et 9g6JC]3\\/^1es<^ShyUR#s-\0.e++%rCȁj-ny?9JDF(ei#hKD@J;,ucκ2VlKA:~(\"˯ކzn+H}|.gc6azP1H~im0D~gd*g~g@%9B+{kCz/-߁\$F^oaXy(PPhRJa!*fV9R!:EOQppXݐ)Nԩ\"Eg-Ю̿ wOhRojM6'Β-1e;B2p0Q<9NfJ\$,vQ:=^f\\ءag\"24nO(M.Qz~!N_!riݰ1q\n\n86϶Xl͠G\0\0@\0ƦlƳ\r0'|CpLl~0L&kJFϰaNq(0&>P\$nq0Ю(tM8vd,*D>	̀Ѐ_\$-t#>^2‚v&zJ{UM/bGZg~\rvr 3vIf*C\nZhfۯ\\px!X[#ߧ]	&a!(4!^cl:+j/ѩ\0^z[0{&za%l\\h]\"<\$#PnN/%AXIm)1Z!x(	(bfe4/v0\$B2^n+a+-KgEGVݏFh V\n`چ*l#G'eˌ\$#()9{(\nS)2˭29L?6Þ.Г{.`/=!";break;case"zh-tw":$e="%:\$\ns.eUȸE9PK72(Ph)ʅ@:i	aJe R)ܫ{	Nd(vQDCѮUjaʜTOABPb2ar\nr/TuʮM9Rz?Tא9>SNeI̜Dhw2Y2PcмW*=s7B9J\"XQ2M/J2@\"WrTD{utspS\\=\0Vp\"R )ЪOHΔT\\ӊ:}JF+JV*rEYYg9jXtdrL)^C+c@ZLhJ\\<AB6#p9% J4yhG)*G-N*M\r\nF@4C(C@:t1|cx3(9PI|t(B1֯B|\$	psd<%	^sHˋWGe*QP\$mO2eNѬRM1ZS @1#aJVJ\$O.Ivt>A\0BҶU	JѶSJF`Q}\"^6Cfvs}sGP▨d1T	\\vZ\0P2@t\0S#N#+6A})\"`AZs\$K.NkyT̙6X;tVimOh4b\\?1a˰=T^t=p9h9Ҍ*7\0000C<P\\oC|!p4ć\\YS/yQ1KHDEtķXI\nsB3\$p.RLY&Y<\$Nr8iec#|P:K6teMz2D;,>]\"`Xĩ.ҡ}G&Ԟtjit9D@\"@:D8Ö^\"R+ldB	+YZ#djBl@6E(4[K}04BjMG\"Cir)a`, t%8\"\\J\na9'\09ET\"9M[DE(.cbpOZXKIq/&\"f5nqy<'\"ԃ\"U:,hLJ+cj.H\"0Q\nRȭ@Frf!9ÖAD9ۻ a\$T}ra'Ź3`읣EGhZQH\nkWf]K'Q^6H\rlR`9J4<P>rDDDt\nfLهwbRdHx2GXZG0=B# !݊CR&,ԠV`@˜R:֛쏁64xkI	XWl#\$\$<+ Q8 	2-u%)x(JAa<'Ш:DL=S8rEU<@9äK~\"G4N\"xS\nDLIdΆ4Z	s.b耨40T\n:Ҳ[4	Ȃ`AԶ52`% B4Z1@(I	8PT*\0B`EK\rb҆\$h\$dxGtod]2EҫQ1PJ(+\n|O!tB5V[r0\0`ۂ͝5ChPH!P\"T\0yͲMwtBX\"DAwMcZ#߼S}\"ej8Ey1&kđP\\c'P(eWA6PΌC\na*xt!\$T%JQısJS*lh[`w/EZP^ik9А!\n	kpHt@@ea<4( zYaN.,Ak\"&EMaxU!x,`.:[6OI=`!P 09|x\n]`x?UUrx W\ni4<%4X>/|BEII|20U\"4/2*wB1J\0-F7'䨈[JJ=\"q)	1+G(r\r>1J*\nq_Q\\DeC@]}1kDy?U.w\$F@\$ iscCb\"ΪtqNH,A1j`U[U`¸qepchȹWF˱_e_\$T\\T\nϛ#zn|kk#ч*7_>ҫgdRd,{[煰ߍ?+q~0;LG(n2/\0N(0B˞+sX-(BACԁP5IRF#n2IJhIY/*ԬdRj6\n6/ӣ!(ҩ~IfpV(rMU\rZo<\\4R4XNBTeJ6Ifp002İѰȹa\rA]ʹ_mphې0#~<i:,\"L%7cw\":[L^aHp*]i\$j%q\\^k#ynYB'b\rd\rdNEv\0@\0GMgQpgFqyѭ,p1Mu5HZ\rͅRAJ6QqqY\rom.gx°Mۯͩ|Zr !\r\"#	 !R̂4L\":iJ+8?HRAFb:!k&%Cbo\$..3!z{::è^6%zI2\"	R0\nZiF¢XJ!b%\$!e\n(RÖZi~9Cفj!,\$D'Rs ֊:0gt/4bdR-/F3N#lrv@\$eM7OdiXPEEN,,_b<ӯs8o%k:2!p.a*Z` \r3\"ӀADޯD	.453V#lG@<g'c&k<)p,!)\0";break;}$Vh=array();foreach(explode("\n",lzw_decompress($e))as$X)$Vh[]=(strpos($X,"\t")?explode("\t",$X):$X);return$Vh;}abstract
class
SqlDb{static$Ld;var$extension;var$flavor='';var$server_info;var$affected_rows=0;var$info='';var$errno=0;var$error='';protected$multi;abstract
function
attach($P,$V,$G);abstract
function
quote($kh);abstract
function
select_db($Db);abstract
function
query($I,$ci=false);function
multi_query($I){return$this->multi=$this->query($I);}function
store_result(){return$this->multi;}function
next_result(){return
false;}}if(extension_loaded('pdo')){abstract
class
PdoDb
extends
SqlDb{protected$pdo;function
dsn($ac,$V,$G,array$nf=array()){$nf[\PDO::ATTR_ERRMODE]=\PDO::ERRMODE_SILENT;$nf[\PDO::ATTR_STATEMENT_CLASS]=array('Adminer\PdoResult');try{$this->pdo=new
\PDO($ac,$V,$G,$nf);}catch(\Exception$wc){return$wc->getMessage();}$this->server_info=@$this->pdo->getAttribute(\PDO::ATTR_SERVER_VERSION);return'';}function
quote($kh){return$this->pdo->quote($kh);}function
query($I,$ci=false){$J=$this->pdo->query($I);$this->error="";if(!$J){list(,$this->errno,$this->error)=$this->pdo->errorInfo();if(!$this->error)$this->error=lang(21);return
false;}$this->store_result($J);return$J;}function
store_result($J=null){if(!$J){$J=$this->multi;if(!$J)return
false;}if($J->columnCount()){$J->num_rows=$J->rowCount();return$J;}$this->affected_rows=$J->rowCount();return
true;}function
next_result(){$J=$this->multi;if(!is_object($J))return
false;$J->_offset=0;return@$J->nextRowset();}}class
PdoResult
extends
\PDOStatement{var$_offset=0,$num_rows;function
fetch_assoc(){return$this->fetch_array(\PDO::FETCH_ASSOC);}function
fetch_row(){return$this->fetch_array(\PDO::FETCH_NUM);}private
function
fetch_array($Ke){$K=$this->fetch($Ke);return($K?array_map(array($this,'unresource'),$K):$K);}private
function
unresource($X){return(is_resource($X)?stream_get_contents($X):$X);}function
fetch_field(){$L=(object)$this->getColumnMeta($this->_offset++);$U=$L->pdo_type;$L->type=($U==\PDO::PARAM_INT?0:15);$L->charsetnr=($U==\PDO::PARAM_LOB||(isset($L->flags)&&in_array("blob",(array)$L->flags))?63:0);return$L;}function
seek($af){for($t=0;$t<$af;$t++)$this->fetch();}}}function
add_driver($u,$D){SqlDriver::$Wb[$u]=$D;}function
get_driver($u){return
SqlDriver::$Wb[$u];}abstract
class
SqlDriver{static$Ld;static$Wb=array();static$Dc=array();static$Vd;protected$conn;protected$types=array();var$insertFunctions=array();var$editFunctions=array();var$unsigned=array();var$operators=array();var$functions=array();var$grouping=array();var$onActions="RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT";var$inout="IN|OUT|INOUT";var$enumLength="'(?:''|[^'\\\\]|\\\\.)*'";var$generated=array();static
function
connect($P,$V,$G){$f=new
Db;return($f->attach($P,$V,$G)?:$f);}function
__construct(Db$f){$this->conn=$f;}function
types(){return
call_user_func_array('array_merge',array_values($this->types));}function
structuredTypes(){return
array_map('array_keys',$this->types);}function
enumLength(array$m){}function
unconvertFunction(array$m){}function
select($R,array$O,array$Z,array$s,array$pf=array(),$z=1,$F=0,$bg=false){$Qd=(count($s)<count($O));$I=adminer()->selectQueryBuild($O,$Z,$s,$pf,$z,$F);if(!$I)$I="SELECT".limit(($_GET["page"]!="last"&&$z&&$s&&$Qd&&JUSH=="sql"?"SQL_CALC_FOUND_ROWS ":"").implode(", ",$O)."\nFROM ".table($R),($Z?"\nWHERE ".implode(" AND ",$Z):"").($s&&$Qd?"\nGROUP BY ".implode(", ",$s):"").($pf?"\nORDER BY ".implode(", ",$pf):""),$z,($F?$z*$F:0),"\n");$gh=microtime(true);$K=$this->conn->query($I);if($bg)echo
adminer()->selectQuery($I,$gh,!$K);return$K;}function
delete($R,$jg,$z=0){$I="FROM ".table($R);return
queries("DELETE".($z?limit1($R,$I,$jg):" $I$jg"));}function
update($R,array$Q,$jg,$z=0,$Og="\n"){$si=array();foreach($Q
as$y=>$X)$si[]="$y = $X";$I=table($R)." SET$Og".implode(",$Og",$si);return
queries("UPDATE".($z?limit1($R,$I,$jg,$Og):" $I$jg"));}function
insert($R,array$Q){return
queries("INSERT INTO ".table($R).($Q?" (".implode(", ",array_keys($Q)).")\nVALUES (".implode(", ",$Q).")":" DEFAULT VALUES").$this->insertReturning($R));}function
insertReturning($R){return"";}function
insertUpdate($R,array$M,array$ag){return
false;}function
begin(){return
queries("BEGIN");}function
commit(){return
queries("COMMIT");}function
rollback(){return
queries("ROLLBACK");}function
slowQuery($I,$Hh){}function
convertSearch($v,array$X,array$m){return$v;}function
convertOperator($kf){return$kf;}function
value($X,array$m){return(method_exists($this->conn,'value')?$this->conn->value($X,$m):$X);}function
quoteBinary($N){return
q($N);}function
warnings(){}function
tableHelp($D,$Td=false){}function
hasCStyleEscapes(){return
false;}function
engines(){return
array();}function
supportsIndex(array$S){return!is_view($S);}function
checkConstraints($R){return
get_key_vals("SELECT c.CONSTRAINT_NAME, CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS c
JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS t ON c.CONSTRAINT_SCHEMA = t.CONSTRAINT_SCHEMA AND c.CONSTRAINT_NAME = t.CONSTRAINT_NAME
WHERE c.CONSTRAINT_SCHEMA = ".q($_GET["ns"]!=""?$_GET["ns"]:DB)."
AND t.TABLE_NAME = ".q($R)."
AND CHECK_CLAUSE NOT LIKE '% IS NOT NULL'",$this->conn);}function
allFields(){$K=array();foreach(get_rows("SELECT TABLE_NAME AS tab, COLUMN_NAME AS field, IS_NULLABLE AS nullable, DATA_TYPE AS type, CHARACTER_MAXIMUM_LENGTH AS length".(JUSH=='sql'?", COLUMN_KEY = 'PRI' AS `primary`":"")."
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = ".q($_GET["ns"]!=""?$_GET["ns"]:DB)."
ORDER BY TABLE_NAME, ORDINAL_POSITION",$this->conn)as$L){$L["null"]=($L["nullable"]=="YES");$K[$L["tab"]][]=$L;}return$K;}}class
Adminer{static$Ld;var$error='';function
name(){return"<a href='https://www.adminer.org/'".target_blank()." id='h1'><img src='".h(preg_replace("~\\?.*~","",ME)."?file=logo.png&version=5.2.1")."' width='24' height='24' alt='' id='logo'>Adminer</a>";}function
credentials(){return
array(SERVER,$_GET["username"],get_password());}function
connectSsl(){}function
permanentLogin($h=false){return
password_file($h);}function
bruteForceKey(){return$_SERVER["REMOTE_ADDR"];}function
serverName($P){return
h($P);}function
database(){return
DB;}function
databases($Qc=true){return
get_databases($Qc);}function
pluginsLinks(){}function
operators(){return
driver()->operators;}function
schemas(){return
schemas();}function
queryTimeout(){return
2;}function
headers(){}function
csp(array$xb){return$xb;}function
head($Ab=null){return
true;}function
css(){$K=array();foreach(array("","-dark")as$Ke){$o="adminer$Ke.css";if(file_exists($o))$K[]="$o?v=".crc32(file_get_contents($o));}return$K;}function
loginForm(){echo"<table class='layout'>\n",adminer()->loginFormField('driver','<tr><th>'.lang(22).'<td>',input_hidden("auth[driver]","server")."MySQL / MariaDB"),adminer()->loginFormField('server','<tr><th>'.lang(23).'<td>','<input name="auth[server]" value="'.h(SERVER).'" title="hostname[:port]" placeholder="localhost" autocapitalize="off">'),adminer()->loginFormField('username','<tr><th>'.lang(24).'<td>','<input name="auth[username]" id="username" autofocus value="'.h($_GET["username"]).'" autocomplete="username" autocapitalize="off">'),adminer()->loginFormField('password','<tr><th>'.lang(25).'<td>','<input type="password" name="auth[password]" autocomplete="current-password">'),adminer()->loginFormField('db','<tr><th>'.lang(26).'<td>','<input name="auth[db]" value="'.h($_GET["db"]).'" autocapitalize="off">'),"</table>\n","<p><input type='submit' value='".lang(27)."'>\n",checkbox("auth[permanent]",1,$_COOKIE["adminer_permanent"],lang(28))."\n";}function
loginFormField($D,$pd,$Y){return$pd.$Y."\n";}function
login($pe,$G){if($G=="")return
lang(29,target_blank());return
true;}function
tableName(array$sh){return
h($sh["Name"]);}function
fieldName(array$m,$pf=0){$U=$m["full_type"];$hb=$m["comment"];return'<span title="'.h($U.($hb!=""?($U?": ":"").$hb:'')).'">'.h($m["field"]).'</span>';}function
selectLinks(array$sh,$Q=""){echo'<p class="links">';$oe=array("select"=>lang(30));if(support("table")||support("indexes"))$oe["table"]=lang(31);$Td=false;if(support("table")){$Td=is_view($sh);if($Td)$oe["view"]=lang(32);else$oe["create"]=lang(33);}if($Q!==null)$oe["edit"]=lang(34);$D=$sh["Name"];foreach($oe
as$y=>$X)echo" <a href='".h(ME)."$y=".urlencode($D).($y=="edit"?$Q:"")."'".bold(isset($_GET[$y])).">$X</a>";echo
doc_link(array(JUSH=>driver()->tableHelp($D,$Td)),"?"),"\n";}function
foreignKeys($R){return
foreign_keys($R);}function
backwardKeys($R,$rh){return
array();}function
backwardKeysPrint(array$Ba,array$L){}function
selectQuery($I,$gh,$Gc=false){$K="</p>\n";if(!$Gc&&($_i=driver()->warnings())){$u="warnings";$K=", <a href='#$u'>".lang(35)."</a>".script("qsl('a').onclick = partial(toggle, '$u');","")."$K<div id='$u' class='hidden'>\n$_i</div>\n";}return"<p><code class='jush-".JUSH."'>".h(str_replace("\n"," ",$I))."</code> <span class='time'>(".format_time($gh).")</span>".(support("sql")?" <a href='".h(ME)."sql=".urlencode($I)."'>".lang(10)."</a>":"").$K;}function
sqlCommandQuery($I){return
shorten_utf8(trim($I),1000);}function
sqlPrintAfter(){}function
rowDescription($R){return"";}function
rowDescriptions(array$M,array$Tc){return$M;}function
selectLink($X,array$m){}function
selectVal($X,$_,array$m,$zf){$K=($X===null?"<i>NULL</i>":(preg_match("~char|binary|boolean~",$m["type"])&&!preg_match("~var~",$m["type"])?"<code>$X</code>":(preg_match('~json~',$m["type"])?"<code class='jush-js'>$X</code>":$X)));if(preg_match('~blob|bytea|raw|file~',$m["type"])&&!is_utf8($X))$K="<i>".lang(36,strlen($zf))."</i>";return($_?"<a href='".h($_)."'".(is_url($_)?target_blank():"").">$K</a>":$K);}function
editVal($X,array$m){return$X;}function
config(){return
array();}function
tableStructurePrint(array$n,$sh=null){echo"<div class='scrollable'>\n","<table class='nowrap odds'>\n","<thead><tr><th>".lang(37)."<td>".lang(38).(support("comment")?"<td>".lang(39):"")."</thead>\n";$lh=driver()->structuredTypes();foreach($n
as$m){echo"<tr><th>".h($m["field"]);$U=h($m["full_type"]);$db=h($m["collation"]);echo"<td><span title='$db'>".(in_array($U,(array)$lh[lang(40)])?"<a href='".h(ME.'type='.urlencode($U))."'>$U</a>":$U.($db&&isset($sh["Collation"])&&$db!=$sh["Collation"]?" $db":""))."</span>",($m["null"]?" <i>NULL</i>":""),($m["auto_increment"]?" <i>".lang(41)."</i>":"");$k=h($m["default"]);echo(isset($m["default"])?" <span title='".lang(42)."'>[<b>".($m["generated"]?"<code class='jush-".JUSH."'>$k</code>":$k)."</b>]</span>":""),(support("comment")?"<td>".h($m["comment"]):""),"\n";}echo"</table>\n","</div>\n";}function
tableIndexesPrint(array$x){echo"<table>\n";foreach($x
as$D=>$w){ksort($w["columns"]);$bg=array();foreach($w["columns"]as$y=>$X)$bg[]="<i>".h($X)."</i>".($w["lengths"][$y]?"(".$w["lengths"][$y].")":"").($w["descs"][$y]?" DESC":"");echo"<tr title='".h($D)."'><th>$w[type]<td>".implode(", ",$bg)."\n";}echo"</table>\n";}function
selectColumnsPrint(array$O,array$d){print_fieldset("select",lang(43),$O);$t=0;$O[""]=array();foreach($O
as$y=>$X){$X=idx($_GET["columns"],$y,array());$c=select_input(" name='columns[$t][col]'",$d,$X["col"],($y!==""?"selectFieldChange":"selectAddRow"));echo"<div>".(driver()->functions||driver()->grouping?html_select("columns[$t][fun]",array(-1=>"")+array_filter(array(lang(44)=>driver()->functions,lang(45)=>driver()->grouping)),$X["fun"]).on_help("event.target.value && event.target.value.replace(/ |\$/, '(') + ')'",1).script("qsl('select').onchange = function () { helpClose();".($y!==""?"":" qsl('select, input', this.parentNode).onchange();")." };","")."($c)":$c)."</div>\n";$t++;}echo"</div></fieldset>\n";}function
selectSearchPrint(array$Z,array$d,array$x){print_fieldset("search",lang(46),$Z);foreach($x
as$t=>$w){if($w["type"]=="FULLTEXT")echo"<div>(<i>".implode("</i>, <i>",array_map('Adminer\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";}$Pa="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"],adminer()->operators())))echo"<div>".select_input(" name='where[$t][col]'",$d,$X["col"],($X?"selectFieldChange":"selectAddRow"),"(".lang(47).")"),html_select("where[$t][op]",adminer()->operators(),$X["op"],$Pa),"<input type='search' name='where[$t][val]' value='".h($X["val"])."'>",script("mixin(qsl('input'), {oninput: function () { $Pa }, onkeydown: selectSearchKeydown, onsearch: selectSearchSearch});",""),"</div>\n";}echo"</div></fieldset>\n";}function
selectOrderPrint(array$pf,array$d,array$x){print_fieldset("sort",lang(48),$pf);$t=0;foreach((array)$_GET["order"]as$y=>$X){if($X!=""){echo"<div>".select_input(" name='order[$t]'",$d,$X,"selectFieldChange"),checkbox("desc[$t]",1,isset($_GET["desc"][$y]),lang(49))."</div>\n";$t++;}}echo"<div>".select_input(" name='order[$t]'",$d,"","selectAddRow"),checkbox("desc[$t]",1,false,lang(49))."</div>\n","</div></fieldset>\n";}function
selectLimitPrint($z){echo"<fieldset><legend>".lang(50)."</legend><div>","<input type='number' name='limit' class='size' value='".intval($z)."'>",script("qsl('input').oninput = selectFieldChange;",""),"</div></fieldset>\n";}function
selectLengthPrint($Fh){if($Fh!==null)echo"<fieldset><legend>".lang(51)."</legend><div>","<input type='number' name='text_length' class='size' value='".h($Fh)."'>","</div></fieldset>\n";}function
selectActionPrint(array$x){echo"<fieldset><legend>".lang(52)."</legend><div>","<input type='submit' value='".lang(43)."'>"," <span id='noindex' title='".lang(53)."'></span>","<script".nonce().">\n","const indexColumns = ";$d=array();foreach($x
as$w){$_b=reset($w["columns"]);if($w["type"]!="FULLTEXT"&&$_b)$d[$_b]=1;}$d[""]=1;foreach($d
as$y=>$X)json_row($y);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(array$ic,array$d){}function
selectColumnsProcess(array$d,array$x){$O=array();$s=array();foreach((array)$_GET["columns"]as$y=>$X){if($X["fun"]=="count"||($X["col"]!=""&&(!$X["fun"]||in_array($X["fun"],driver()->functions)||in_array($X["fun"],driver()->grouping)))){$O[$y]=apply_sql_function($X["fun"],($X["col"]!=""?idf_escape($X["col"]):"*"));if(!in_array($X["fun"],driver()->grouping))$s[]=$O[$y];}}return
array($O,$s);}function
selectSearchProcess(array$n,array$x){$K=array();foreach($x
as$t=>$w){if($w["type"]=="FULLTEXT"&&$_GET["fulltext"][$t]!="")$K[]="MATCH (".implode(", ",array_map('Adminer\idf_escape',$w["columns"])).") AGAINST (".q($_GET["fulltext"][$t]).(isset($_GET["boolean"][$t])?" IN BOOLEAN MODE":"").")";}foreach((array)$_GET["where"]as$y=>$X){$bb=$X["col"];if("$bb$X[val]"!=""&&in_array($X["op"],adminer()->operators())){$lb=array();foreach(($bb!=""?array($bb=>$n[$bb]):$n)as$D=>$m){$Yf="";$kb=" $X[op]";if(preg_match('~IN$~',$X["op"])){$Bd=process_length($X["val"]);$kb
.=" ".($Bd!=""?$Bd:"(NULL)");}elseif($X["op"]=="SQL")$kb=" $X[val]";elseif(preg_match('~^(I?LIKE) %%$~',$X["op"],$B))$kb=" $B[1] ".adminer()->processInput($m,"%$X[val]%");elseif($X["op"]=="FIND_IN_SET"){$Yf="$X[op](".q($X["val"]).", ";$kb=")";}elseif(!preg_match('~NULL$~',$X["op"]))$kb
.=" ".adminer()->processInput($m,$X["val"]);if($bb!=""||(isset($m["privileges"]["where"])&&(preg_match('~^[-\d.'.(preg_match('~IN$~',$X["op"])?',':'').']+$~',$X["val"])||!preg_match('~'.number_type().'|bit~',$m["type"]))&&(!preg_match("~[\x80-\xFF]~",$X["val"])||preg_match('~char|text|enum|set~',$m["type"]))&&(!preg_match('~date|timestamp~',$m["type"])||preg_match('~^\d+-\d+-\d+~',$X["val"]))))$lb[]=$Yf.driver()->convertSearch(idf_escape($D),$X,$m).$kb;}$K[]=(count($lb)==1?$lb[0]:($lb?"(".implode(" OR ",$lb).")":"1 = 0"));}}return$K;}function
selectOrderProcess(array$n,array$x){$K=array();foreach((array)$_GET["order"]as$y=>$X){if($X!="")$K[]=(preg_match('~^((COUNT\(DISTINCT |[A-Z0-9_]+\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\)|COUNT\(\*\))$~',$X)?$X:idf_escape($X)).(isset($_GET["desc"][$y])?" DESC":"");}return$K;}function
selectLimitProcess(){return(isset($_GET["limit"])?intval($_GET["limit"]):50);}function
selectLengthProcess(){return(isset($_GET["text_length"])?"$_GET[text_length]":"100");}function
selectEmailProcess(array$Z,array$Tc){return
false;}function
selectQueryBuild(array$O,array$Z,array$s,array$pf,$z,$F){return"";}function
messageQuery($I,$Gh,$Gc=false){restart_session();$rd=&get_session("queries");if(!idx($rd,$_GET["db"]))$rd[$_GET["db"]]=array();if(strlen($I)>1e6)$I=preg_replace('~[\x80-\xFF]+$~','',substr($I,0,1e6))."\n…";$rd[$_GET["db"]][]=array($I,time(),$Gh);$dh="sql-".count($rd[$_GET["db"]]);$K="<a href='#$dh' class='toggle'>".lang(54)."</a>\n";if(!$Gc&&($_i=driver()->warnings())){$u="warnings-".count($rd[$_GET["db"]]);$K="<a href='#$u' class='toggle'>".lang(35)."</a>, $K<div id='$u' class='hidden'>\n$_i</div>\n";}return" <span class='time'>".@date("H:i:s")."</span>"." $K<div id='$dh' class='hidden'><pre><code class='jush-".JUSH."'>".shorten_utf8($I,1000)."</code></pre>".($Gh?" <span class='time'>($Gh)</span>":'').(support("sql")?'<p><a href="'.h(str_replace("db=".urlencode(DB),"db=".urlencode($_GET["db"]),ME).'sql=&history='.(count($rd[$_GET["db"]])-1)).'">'.lang(10).'</a>':'').'</div>';}function
editRowPrint($R,array$n,$L,$ji){}function
editFunctions(array$m){$K=($m["null"]?"NULL/":"");$ji=isset($_GET["select"])||where($_GET);foreach(array(driver()->insertFunctions,driver()->editFunctions)as$y=>$ad){if(!$y||(!isset($_GET["call"])&&$ji)){foreach($ad
as$Mf=>$X){if(!$Mf||preg_match("~$Mf~",$m["type"]))$K
.="/$X";}}if($y&&$ad&&!preg_match('~set|blob|bytea|raw|file|bool~',$m["type"]))$K
.="/SQL";}if($m["auto_increment"]&&!$ji)$K=lang(41);return
explode("/",$K);}function
editInput($R,array$m,$wa,$Y){if($m["type"]=="enum")return(isset($_GET["select"])?"<label><input type='radio'$wa value='-1' checked><i>".lang(8)."</i></label> ":"").($m["null"]?"<label><input type='radio'$wa value=''".($Y!==null||isset($_GET["select"])?"":" checked")."><i>NULL</i></label> ":"").enum_input("radio",$wa,$m,$Y,$Y===0?0:null);return"";}function
editHint($R,array$m,$Y){return"";}function
processInput(array$m,$Y,$r=""){if($r=="SQL")return$Y;$D=$m["field"];$K=q($Y);if(preg_match('~^(now|getdate|uuid)$~',$r))$K="$r()";elseif(preg_match('~^current_(date|timestamp)$~',$r))$K=$r;elseif(preg_match('~^([+-]|\|\|)$~',$r))$K=idf_escape($D)." $r $K";elseif(preg_match('~^[+-] interval$~',$r))$K=idf_escape($D)." $r ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+\$~i",$Y)?$Y:$K);elseif(preg_match('~^(addtime|subtime|concat)$~',$r))$K="$r(".idf_escape($D).", $K)";elseif(preg_match('~^(md5|sha1|password|encrypt)$~',$r))$K="$r($K)";return
unconvert_field($m,$K);}function
dumpOutput(){$K=array('text'=>lang(55),'file'=>lang(56));if(function_exists('gzencode'))$K['gz']='gzip';return$K;}function
dumpFormat(){return(support("dump")?array('sql'=>'SQL'):array())+array('csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
dumpDatabase($j){}function
dumpTable($R,$mh,$Td=0){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($mh)dump_csv(array_keys(fields($R)));}else{if($Td==2){$n=array();foreach(fields($R)as$D=>$m)$n[]=idf_escape($D)." $m[full_type]";$h="CREATE TABLE ".table($R)." (".implode(", ",$n).")";}else$h=create_sql($R,$_POST["auto_increment"],$mh);set_utf8mb4($h);if($mh&&$h){if($mh=="DROP+CREATE"||$Td==1)echo"DROP ".($Td==2?"VIEW":"TABLE")." IF EXISTS ".table($R).";\n";if($Td==1)$h=remove_definer($h);echo"$h;\n\n";}}}function
dumpData($R,$mh,$I){if($mh){$we=(JUSH=="sqlite"?0:1048576);$n=array();$zd=false;if($_POST["format"]=="sql"){if($mh=="TRUNCATE+INSERT")echo
truncate_sql($R).";\n";$n=fields($R);if(JUSH=="mssql"){foreach($n
as$m){if($m["auto_increment"]){echo"SET IDENTITY_INSERT ".table($R)." ON;\n";$zd=true;break;}}}}$J=connection()->query($I,1);if($J){$Jd="";$La="";$Xd=array();$bd=array();$oh="";$Jc=($R!=''?'fetch_assoc':'fetch_row');$tb=0;while($L=$J->$Jc()){if(!$Xd){$si=array();foreach($L
as$X){$m=$J->fetch_field();if(idx($n[$m->name],'generated')){$bd[$m->name]=true;continue;}$Xd[]=$m->name;$y=idf_escape($m->name);$si[]="$y = VALUES($y)";}$oh=($mh=="INSERT+UPDATE"?"\nON DUPLICATE KEY UPDATE ".implode(", ",$si):"").";\n";}if($_POST["format"]!="sql"){if($mh=="table"){dump_csv($Xd);$mh="INSERT";}dump_csv($L);}else{if(!$Jd)$Jd="INSERT INTO ".table($R)." (".implode(", ",array_map('Adminer\idf_escape',$Xd)).") VALUES";foreach($L
as$y=>$X){if($bd[$y]){unset($L[$y]);continue;}$m=$n[$y];$L[$y]=($X!==null?unconvert_field($m,preg_match(number_type(),$m["type"])&&!preg_match('~\[~',$m["full_type"])&&is_numeric($X)?$X:q(($X===false?0:$X))):"NULL");}$N=($we?"\n":" ")."(".implode(",\t",$L).")";if(!$La)$La=$Jd.$N;elseif(JUSH=='mssql'?$tb%1000!=0:strlen($La)+4+strlen($N)+strlen($oh)<$we)$La
.=",$N";else{echo$La.$oh;$La=$Jd.$N;}}$tb++;}if($La)echo$La.$oh;}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",connection()->error)."\n";if($zd)echo"SET IDENTITY_INSERT ".table($R)." OFF;\n";}}function
dumpFilename($yd){return
friendly_url($yd!=""?$yd:(SERVER!=""?SERVER:"localhost"));}function
dumpHeaders($yd,$Me=false){$Af=$_POST["output"];$Bc=(preg_match('~sql~',$_POST["format"])?"sql":($Me?"tar":"csv"));header("Content-Type: ".($Af=="gz"?"application/x-gzip":($Bc=="tar"?"application/x-tar":($Bc=="sql"||$Af!="file"?"text/plain":"text/csv")."; charset=utf-8")));if($Af=="gz"){ob_start(function($kh){return
gzencode($kh);},1e6);}return$Bc;}function
dumpFooter(){if($_POST["format"]=="sql")echo"-- ".gmdate("Y-m-d H:i:s e")."\n";}function
importServerPath(){return"adminer.sql";}function
homepage(){echo'<p class="links">'.($_GET["ns"]==""&&support("database")?'<a href="'.h(ME).'database=">'.lang(57)."</a>\n":""),(support("scheme")?"<a href='".h(ME)."scheme='>".($_GET["ns"]!=""?lang(58):lang(59))."</a>\n":""),($_GET["ns"]!==""?'<a href="'.h(ME).'schema=">'.lang(60)."</a>\n":""),(support("privileges")?"<a href='".h(ME)."privileges='>".lang(61)."</a>\n":"");return
true;}function
navigation($Je){echo"<h1>".adminer()->name()." <span class='version'>".VERSION;$Ue=$_COOKIE["adminer_version"];echo" <a href='https://www.adminer.org/#download'".target_blank()." id='version'>".(version_compare(VERSION,$Ue)<0?h($Ue):"")."</a>","</span></h1>\n";switch_lang();if($Je=="auth"){$Af="";foreach((array)$_SESSION["pwds"]as$ui=>$Qg){foreach($Qg
as$P=>$qi){$D=h(get_setting("vendor-$ui-$P")?:get_driver($ui));foreach($qi
as$V=>$G){if($G!==null){$Gb=$_SESSION["db"][$ui][$P][$V];foreach(($Gb?array_keys($Gb):array(""))as$j)$Af
.="<li><a href='".h(auth_url($ui,$P,$V,$j))."'>($D) ".h($V.($P!=""?"@".adminer()->serverName($P):"").($j!=""?" - $j":""))."</a>\n";}}}}if($Af)echo"<ul id='logins'>\n$Af</ul>\n".script("mixin(qs('#logins'), {onmouseover: menuOver, onmouseout: menuOut});");}else{$T=array();if($_GET["ns"]!==""&&!$Je&&DB!=""){connection()->select_db(DB);$T=table_status('',true);}adminer()->syntaxHighlighting($T);adminer()->databasesPrint($Je);$ha=array();if(DB==""||!$Je){if(support("sql")){$ha[]="<a href='".h(ME)."sql='".bold(isset($_GET["sql"])&&!isset($_GET["import"])).">".lang(54)."</a>";$ha[]="<a href='".h(ME)."import='".bold(isset($_GET["import"])).">".lang(62)."</a>";}$ha[]="<a href='".h(ME)."dump=".urlencode(isset($_GET["table"])?$_GET["table"]:$_GET["select"])."' id='dump'".bold(isset($_GET["dump"])).">".lang(63)."</a>";}$Cd=$_GET["ns"]!==""&&!$Je&&DB!="";if($Cd)$ha[]='<a href="'.h(ME).'create="'.bold($_GET["create"]==="").">".lang(64)."</a>";echo($ha?"<p class='links'>\n".implode("\n",$ha)."\n":"");if($Cd){if($T)adminer()->tablesPrint($T);else
echo"<p class='message'>".lang(9)."</p>\n";}}}function
syntaxHighlighting(array$T){echo
script_src(preg_replace("~\\?.*~","",ME)."?file=jush.js&version=5.2.1",true);if(support("sql")){echo"<script".nonce().">\n";if($T){$oe=array();foreach($T
as$R=>$U)$oe[]=preg_quote($R,'/');echo"var jushLinks = { ".JUSH.": [ '".js_escape(ME).(support("table")?"table=":"select=")."\$&', /\\b(".implode("|",$oe).")\\b/g ] };\n";foreach(array("bac","bra","sqlite_quo","mssql_bra")as$X)echo"jushLinks.$X = jushLinks.".JUSH.";\n";if(isset($_GET["sql"])||isset($_GET["trigger"])||isset($_GET["check"])){$xh=array_fill_keys(array_keys($T),array());foreach(driver()->allFields()as$R=>$n){foreach($n
as$m)$xh[$R][]=$m["field"];}echo"addEventListener('DOMContentLoaded', () => { autocompleter = jush.autocompleteSql('".idf_escape("")."', ".json_encode($xh)."); });\n";}}echo"</script>\n";}echo
script("syntaxHighlighting('".preg_replace('~^(\d\.?\d).*~s','\1',connection()->server_info)."', '".connection()->flavor."');");}function
databasesPrint($Je){$i=adminer()->databases();if(DB&&$i&&!in_array(DB,$i))array_unshift($i,DB);echo"<form action=''>\n<p id='dbs'>\n";hidden_fields_get();$Eb=script("mixin(qsl('select'), {onmousedown: dbMouseDown, onchange: dbChange});");echo"<label title='".lang(26)."'>".lang(65).": ".($i?html_select("db",array(""=>"")+$i,DB).$Eb:"<input name='db' value='".h(DB)."' autocapitalize='off' size='19'>\n")."</label>","<input type='submit' value='".lang(20)."'".($i?" class='hidden'":"").">\n";foreach(array("import","sql","schema","dump","privileges")as$X){if(isset($_GET[$X])){echo
input_hidden($X);break;}}echo"</p></form>\n";}function
tablesPrint(array$T){echo"<ul id='tables'>".script("mixin(qs('#tables'), {onmouseover: menuOver, onmouseout: menuOut});");foreach($T
as$R=>$hh){$R="$R";$D=adminer()->tableName($hh);if($D!="")echo'<li><a href="'.h(ME).'select='.urlencode($R).'"'.bold($_GET["select"]==$R||$_GET["edit"]==$R,"select")." title='".lang(30)."'>".lang(66)."</a> ",(support("table")||support("indexes")?'<a href="'.h(ME).'table='.urlencode($R).'"'.bold(in_array($R,array($_GET["table"],$_GET["create"],$_GET["indexes"],$_GET["foreign"],$_GET["trigger"],$_GET["check"],$_GET["view"])),(is_view($hh)?"view":"structure"))." title='".lang(31)."'>$D</a>":"<span>$D</span>")."\n";}echo"</ul>\n";}}class
Plugins{private
static$ra=array('dumpFormat'=>true,'dumpOutput'=>true,'editRowPrint'=>true,'editFunctions'=>true,'config'=>true);var$plugins;var$error='';private$hooks=array();function
__construct($Rf){if($Rf===null){$Rf=array();$Fa="adminer-plugins";if(is_dir($Fa)){foreach(glob("$Fa/*.php")as$o)$Dd=include_once"./$o";}$qd=" href='https://www.adminer.org/plugins/#use'".target_blank();if(file_exists("$Fa.php")){$Dd=include_once"./$Fa.php";if(is_array($Dd)){foreach($Dd
as$Qf)$Rf[get_class($Qf)]=$Qf;}else$this->error
.=lang(67,"<b>$Fa.php</b>",$qd)."<br>";}foreach(get_declared_classes()as$Ya){if(!$Rf[$Ya]&&preg_match('~^Adminer\w~i',$Ya)){$sg=new
\ReflectionClass($Ya);$nb=$sg->getConstructor();if($nb&&$nb->getNumberOfRequiredParameters())$this->error
.=lang(68,$qd,"<b>$Ya</b>","<b>$Fa.php</b>")."<br>";else$Rf[$Ya]=new$Ya;}}}$this->plugins=$Rf;$ia=new
Adminer;$Rf[]=$ia;$sg=new
\ReflectionObject($ia);foreach($sg->getMethods()as$He){foreach($Rf
as$Qf){$D=$He->getName();if(method_exists($Qf,$D))$this->hooks[$D][]=$Qf;}}}function
__call($D,array$Ef){$sa=array();foreach($Ef
as$y=>$X)$sa[]=&$Ef[$y];$K=null;foreach($this->hooks[$D]as$Qf){$Y=call_user_func_array(array($Qf,$D),$sa);if($Y!==null){if(!self::$ra[$D])return$Y;$K=$Y+(array)$K;}}return$K;}}abstract
class
Plugin{protected$translations=array();function
description(){return$this->lang('');}function
screenshot(){return"";}protected
function
lang($v,$E=null){$sa=func_get_args();$sa[0]=idx($this->translations[LANG],$v)?:$v;return
call_user_func_array('Adminer\lang_format',$sa);}}Adminer::$Ld=(function_exists('adminer_object')?adminer_object():(is_dir("adminer-plugins")||file_exists("adminer-plugins.php")?new
Plugins(null):new
Adminer));SqlDriver::$Wb=array("server"=>"MySQL / MariaDB")+SqlDriver::$Wb;if(!defined('Adminer\DRIVER')){define('Adminer\DRIVER',"server");if(extension_loaded("mysqli")&&$_GET["ext"]!="pdo"){class
Db
extends
\MySQLi{static$Ld;var$extension="MySQLi",$flavor='';function
__construct(){parent::init();}function
attach($P,$V,$G){mysqli_report(MYSQLI_REPORT_OFF);list($ud,$Sf)=explode(":",$P,2);$fh=adminer()->connectSsl();if($fh)$this->ssl_set($fh['key'],$fh['cert'],$fh['ca'],'','');$K=@$this->real_connect(($P!=""?$ud:ini_get("mysqli.default_host")),($P.$V!=""?$V:ini_get("mysqli.default_user")),($P.$V.$G!=""?$G:ini_get("mysqli.default_pw")),null,(is_numeric($Sf)?intval($Sf):ini_get("mysqli.default_port")),(is_numeric($Sf)?$Sf:null),($fh?($fh['verify']!==false?2048:64):0));$this->options(MYSQLI_OPT_LOCAL_INFILE,false);return($K?'':$this->error);}function
set_charset($Ra){if(parent::set_charset($Ra))return
true;parent::set_charset('utf8');return$this->query("SET NAMES $Ra");}function
next_result(){return
self::more_results()&&parent::next_result();}function
quote($kh){return"'".$this->escape_string($kh)."'";}}}elseif(extension_loaded("mysql")&&!((ini_bool("sql.safe_mode")||ini_bool("mysql.allow_local_infile"))&&extension_loaded("pdo_mysql"))){class
Db
extends
SqlDb{private$link;function
attach($P,$V,$G){if(ini_bool("mysql.allow_local_infile"))return
lang(69,"'mysql.allow_local_infile'","MySQLi","PDO_MySQL");$this->link=@mysql_connect(($P!=""?$P:ini_get("mysql.default_host")),("$P$V"!=""?$V:ini_get("mysql.default_user")),("$P$V$G"!=""?$G:ini_get("mysql.default_password")),true,131072);if(!$this->link)return
mysql_error();$this->server_info=mysql_get_server_info($this->link);return'';}function
set_charset($Ra){if(function_exists('mysql_set_charset')){if(mysql_set_charset($Ra,$this->link))return
true;mysql_set_charset('utf8',$this->link);}return$this->query("SET NAMES $Ra");}function
quote($kh){return"'".mysql_real_escape_string($kh,$this->link)."'";}function
select_db($Db){return
mysql_select_db($Db,$this->link);}function
query($I,$ci=false){$J=@($ci?mysql_unbuffered_query($I,$this->link):mysql_query($I,$this->link));$this->error="";if(!$J){$this->errno=mysql_errno($this->link);$this->error=mysql_error($this->link);return
false;}if($J===true){$this->affected_rows=mysql_affected_rows($this->link);$this->info=mysql_info($this->link);return
true;}return
new
Result($J);}}class
Result{var$num_rows;private$result;private$offset=0;function
__construct($J){$this->result=$J;$this->num_rows=mysql_num_rows($J);}function
fetch_assoc(){return
mysql_fetch_assoc($this->result);}function
fetch_row(){return
mysql_fetch_row($this->result);}function
fetch_field(){$K=mysql_fetch_field($this->result,$this->offset++);$K->orgtable=$K->table;$K->charsetnr=($K->blob?63:0);return$K;}function
__destruct(){mysql_free_result($this->result);}}}elseif(extension_loaded("pdo_mysql")){class
Db
extends
PdoDb{var$extension="PDO_MySQL";function
attach($P,$V,$G){$nf=array(\PDO::MYSQL_ATTR_LOCAL_INFILE=>false);$fh=adminer()->connectSsl();if($fh){if($fh['key'])$nf[\PDO::MYSQL_ATTR_SSL_KEY]=$fh['key'];if($fh['cert'])$nf[\PDO::MYSQL_ATTR_SSL_CERT]=$fh['cert'];if($fh['ca'])$nf[\PDO::MYSQL_ATTR_SSL_CA]=$fh['ca'];if(isset($fh['verify']))$nf[\PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT]=$fh['verify'];}return$this->dsn("mysql:charset=utf8;host=".str_replace(":",";unix_socket=",preg_replace('~:(\d)~',';port=\1',$P)),$V,$G,$nf);}function
set_charset($Ra){return$this->query("SET NAMES $Ra");}function
select_db($Db){return$this->query("USE ".idf_escape($Db));}function
query($I,$ci=false){$this->pdo->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,!$ci);return
parent::query($I,$ci);}}}class
Driver
extends
SqlDriver{static$Dc=array("MySQLi","MySQL","PDO_MySQL");static$Vd="sql";var$unsigned=array("unsigned","zerofill","unsigned zerofill");var$operators=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","FIND_IN_SET","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");var$functions=array("char_length","date","from_unixtime","lower","round","floor","ceil","sec_to_time","time_to_sec","upper");var$grouping=array("avg","count","count distinct","group_concat","max","min","sum");static
function
connect($P,$V,$G){$f=parent::connect($P,$V,$G);if(is_string($f)){if(function_exists('iconv')&&!is_utf8($f)&&strlen($N=iconv("windows-1250","utf-8",$f))>strlen($f))$f=$N;return$f;}$f->set_charset(charset($f));$f->query("SET sql_quote_show_create = 1, autocommit = 1");$f->flavor=(preg_match('~MariaDB~',$f->server_info)?'maria':'mysql');add_driver(DRIVER,($f->flavor=='maria'?"MariaDB":"MySQL"));return$f;}function
__construct(Db$f){parent::__construct($f);$this->types=array(lang(70)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(71)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(72)=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),lang(73)=>array("enum"=>65535,"set"=>64),lang(74)=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),lang(75)=>array("geometry"=>0,"point"=>0,"linestring"=>0,"polygon"=>0,"multipoint"=>0,"multilinestring"=>0,"multipolygon"=>0,"geometrycollection"=>0),);$this->insertFunctions=array("char"=>"md5/sha1/password/encrypt/uuid","binary"=>"md5/sha1","date|time"=>"now",);$this->editFunctions=array(number_type()=>"+/-","date"=>"+ interval/- interval","time"=>"addtime/subtime","char|text"=>"concat",);if(min_version('5.7.8',10.2,$f))$this->types[lang(72)]["json"]=4294967295;if(min_version('',10.7,$f)){$this->types[lang(72)]["uuid"]=128;$this->insertFunctions['uuid']='uuid';}if(min_version(9,'',$f)){$this->types[lang(70)]["vector"]=16383;$this->insertFunctions['vector']='string_to_vector';}if(min_version(5.7,10.2,$f))$this->generated=array("STORED","VIRTUAL");}function
unconvertFunction(array$m){return(preg_match("~binary~",$m["type"])?"<code class='jush-sql'>UNHEX</code>":($m["type"]=="bit"?doc_link(array('sql'=>'bit-value-literals.html'),"<code>b''</code>"):(preg_match("~geometry|point|linestring|polygon~",$m["type"])?"<code class='jush-sql'>GeomFromText</code>":"")));}function
insert($R,array$Q){return($Q?parent::insert($R,$Q):queries("INSERT INTO ".table($R)." ()\nVALUES ()"));}function
insertUpdate($R,array$M,array$ag){$d=array_keys(reset($M));$Yf="INSERT INTO ".table($R)." (".implode(", ",$d).") VALUES\n";$si=array();foreach($d
as$y)$si[$y]="$y = VALUES($y)";$oh="\nON DUPLICATE KEY UPDATE ".implode(", ",$si);$si=array();$ke=0;foreach($M
as$Q){$Y="(".implode(", ",$Q).")";if($si&&(strlen($Yf)+$ke+strlen($Y)+strlen($oh)>1e6)){if(!queries($Yf.implode(",\n",$si).$oh))return
false;$si=array();$ke=0;}$si[]=$Y;$ke+=strlen($Y)+2;}return
queries($Yf.implode(",\n",$si).$oh);}function
slowQuery($I,$Hh){if(min_version('5.7.8','10.1.2')){if($this->conn->flavor=='maria')return"SET STATEMENT max_statement_time=$Hh FOR $I";elseif(preg_match('~^(SELECT\b)(.+)~is',$I,$B))return"$B[1] /*+ MAX_EXECUTION_TIME(".($Hh*1000).") */ $B[2]";}}function
convertSearch($v,array$X,array$m){return(preg_match('~char|text|enum|set~',$m["type"])&&!preg_match("~^utf8~",$m["collation"])&&preg_match('~[\x80-\xFF]~',$X['val'])?"CONVERT($v USING ".charset($this->conn).")":$v);}function
warnings(){$J=$this->conn->query("SHOW WARNINGS");if($J&&$J->num_rows){ob_start();print_select_result($J);return
ob_get_clean();}}function
tableHelp($D,$Td=false){$re=($this->conn->flavor=='maria');if(information_schema(DB))return
strtolower("information-schema-".($re?"$D-table/":str_replace("_","-",$D)."-table.html"));if(DB=="mysql")return($re?"mysql$D-table/":"system-schema.html");}function
hasCStyleEscapes(){static$Ma;if($Ma===null){$eh=get_val("SHOW VARIABLES LIKE 'sql_mode'",1,$this->conn);$Ma=(strpos($eh,'NO_BACKSLASH_ESCAPES')===false);}return$Ma;}function
engines(){$K=array();foreach(get_rows("SHOW ENGINES")as$L){if(preg_match("~YES|DEFAULT~",$L["Support"]))$K[]=$L["Engine"];}return$K;}}function
idf_escape($v){return"`".str_replace("`","``",$v)."`";}function
table($v){return
idf_escape($v);}function
get_databases($Qc){$K=get_session("dbs");if($K===null){$I="SELECT SCHEMA_NAME FROM information_schema.SCHEMATA ORDER BY SCHEMA_NAME";$K=($Qc?slow_query($I):get_vals($I));restart_session();set_session("dbs",$K);stop_session();}return$K;}function
limit($I,$Z,$z,$af=0,$Og=" "){return" $I$Z".($z?$Og."LIMIT $z".($af?" OFFSET $af":""):"");}function
limit1($R,$I,$Z,$Og="\n"){return
limit($I,$Z,1,0,$Og);}function
db_collation($j,array$b){$K=null;$h=get_val("SHOW CREATE DATABASE ".idf_escape($j),1);if(preg_match('~ COLLATE ([^ ]+)~',$h,$B))$K=$B[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$h,$B))$K=$b[$B[1]][-1];return$K;}function
logged_user(){return
get_val("SELECT USER()");}function
tables_list(){return
get_key_vals("SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ORDER BY TABLE_NAME");}function
count_tables(array$i){$K=array();foreach($i
as$j)$K[$j]=count(get_vals("SHOW TABLES IN ".idf_escape($j)));return$K;}function
table_status($D="",$Hc=false){$K=array();foreach(get_rows($Hc?"SELECT TABLE_NAME AS Name, ENGINE AS Engine, TABLE_COMMENT AS Comment FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ".($D!=""?"AND TABLE_NAME = ".q($D):"ORDER BY Name"):"SHOW TABLE STATUS".($D!=""?" LIKE ".q(addcslashes($D,"%_\\")):""))as$L){if($L["Engine"]=="InnoDB")$L["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\1',$L["Comment"]);if(!isset($L["Engine"]))$L["Comment"]="";if($D!="")$L["Name"]=$D;$K[$L["Name"]]=$L;}return$K;}function
is_view(array$S){return$S["Engine"]===null;}function
fk_support(array$S){return
preg_match('~InnoDB|IBMDB2I'.(min_version(5.6)?'|NDB':'').'~i',$S["Engine"]);}function
fields($R){$re=(connection()->flavor=='maria');$K=array();foreach(get_rows("SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ".q($R)." ORDER BY ORDINAL_POSITION")as$L){$m=$L["COLUMN_NAME"];$U=$L["COLUMN_TYPE"];$cd=$L["GENERATION_EXPRESSION"];$Ec=$L["EXTRA"];preg_match('~^(VIRTUAL|PERSISTENT|STORED)~',$Ec,$bd);preg_match('~^([^( ]+)(?:\((.+)\))?( unsigned)?( zerofill)?$~',$U,$te);$k=$L["COLUMN_DEFAULT"];if($k!=""){$Sd=preg_match('~text|json~',$te[1]);if(!$re&&$Sd)$k=preg_replace("~^(_\w+)?('.*')$~",'\2',stripslashes($k));if($re||$Sd){$k=($k=="NULL"?null:preg_replace_callback("~^'(.*)'$~",function($B){return
stripslashes(str_replace("''","'",$B[1]));},$k));}if(!$re&&preg_match('~binary~',$te[1])&&preg_match('~^0x(\w*)$~',$k,$B))$k=pack("H*",$B[1]);}$K[$m]=array("field"=>$m,"full_type"=>$U,"type"=>$te[1],"length"=>$te[2],"unsigned"=>ltrim($te[3].$te[4]),"default"=>($bd?($re?$cd:stripslashes($cd)):$k),"null"=>($L["IS_NULLABLE"]=="YES"),"auto_increment"=>($Ec=="auto_increment"),"on_update"=>(preg_match('~\bon update (\w+)~i',$Ec,$B)?$B[1]:""),"collation"=>$L["COLLATION_NAME"],"privileges"=>array_flip(explode(",","$L[PRIVILEGES],where,order")),"comment"=>$L["COLUMN_COMMENT"],"primary"=>($L["COLUMN_KEY"]=="PRI"),"generated"=>($bd[1]=="PERSISTENT"?"STORED":$bd[1]),);}return$K;}function
indexes($R,$g=null){$K=array();foreach(get_rows("SHOW INDEX FROM ".table($R),$g)as$L){$D=$L["Key_name"];$K[$D]["type"]=($D=="PRIMARY"?"PRIMARY":($L["Index_type"]=="FULLTEXT"?"FULLTEXT":($L["Non_unique"]?($L["Index_type"]=="SPATIAL"?"SPATIAL":"INDEX"):"UNIQUE")));$K[$D]["columns"][]=$L["Column_name"];$K[$D]["lengths"][]=($L["Index_type"]=="SPATIAL"?null:$L["Sub_part"]);$K[$D]["descs"][]=null;}return$K;}function
foreign_keys($R){static$Mf='(?:`(?:[^`]|``)+`|"(?:[^"]|"")+")';$K=array();$ub=get_val("SHOW CREATE TABLE ".table($R),1);if($ub){preg_match_all("~CONSTRAINT ($Mf) FOREIGN KEY ?\\(((?:$Mf,? ?)+)\\) REFERENCES ($Mf)(?:\\.($Mf))? \\(((?:$Mf,? ?)+)\\)(?: ON DELETE (".driver()->onActions."))?(?: ON UPDATE (".driver()->onActions."))?~",$ub,$ue,PREG_SET_ORDER);foreach($ue
as$B){preg_match_all("~$Mf~",$B[2],$Zg);preg_match_all("~$Mf~",$B[5],$Ah);$K[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('Adminer\idf_unescape',$Zg[0]),"target"=>array_map('Adminer\idf_unescape',$Ah[0]),"on_delete"=>($B[6]?:"RESTRICT"),"on_update"=>($B[7]?:"RESTRICT"),);}}return$K;}function
view($D){return
array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\s+AS\s+~isU','',get_val("SHOW CREATE VIEW ".table($D),1)));}function
collations(){$K=array();foreach(get_rows("SHOW COLLATION")as$L){if($L["Default"])$K[$L["Charset"]][-1]=$L["Collation"];else$K[$L["Charset"]][]=$L["Collation"];}ksort($K);foreach($K
as$y=>$X)sort($K[$y]);return$K;}function
information_schema($j){return($j=="information_schema")||(min_version(5.5)&&$j=="performance_schema");}function
error(){return
h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",connection()->error));}function
create_database($j,$db){return
queries("CREATE DATABASE ".idf_escape($j).($db?" COLLATE ".q($db):""));}function
drop_databases(array$i){$K=apply_queries("DROP DATABASE",$i,'Adminer\idf_escape');restart_session();set_session("dbs",null);return$K;}function
rename_database($D,$db){$K=false;if(create_database($D,$db)){$T=array();$xi=array();foreach(tables_list()as$R=>$U){if($U=='VIEW')$xi[]=$R;else$T[]=$R;}$K=(!$T&&!$xi)||move_tables($T,$xi,$D);drop_databases($K?array(DB):array());}return$K;}function
auto_increment(){$za=" 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)){$za="";break;}if($w["type"]=="PRIMARY")$za=" UNIQUE";}}return" AUTO_INCREMENT$za";}function
alter_table($R,$D,array$n,array$Sc,$hb,$lc,$db,$ya,$If){$qa=array();foreach($n
as$m){if($m[1]){$k=$m[1][3];if(preg_match('~ GENERATED~',$k)){$m[1][3]=(connection()->flavor=='maria'?"":$m[1][2]);$m[1][2]=$k;}$qa[]=($R!=""?($m[0]!=""?"CHANGE ".idf_escape($m[0]):"ADD"):" ")." ".implode($m[1]).($R!=""?$m[2]:"");}else$qa[]="DROP ".idf_escape($m[0]);}$qa=array_merge($qa,$Sc);$hh=($hb!==null?" COMMENT=".q($hb):"").($lc?" ENGINE=".q($lc):"").($db?" COLLATE ".q($db):"").($ya!=""?" AUTO_INCREMENT=$ya":"");if($R=="")return
queries("CREATE TABLE ".table($D)." (\n".implode(",\n",$qa)."\n)$hh$If");if($R!=$D)$qa[]="RENAME TO ".table($D);if($hh)$qa[]=ltrim($hh);return($qa||$If?queries("ALTER TABLE ".table($R)."\n".implode(",\n",$qa).$If):true);}function
alter_indexes($R,$qa){$Qa=array();foreach($qa
as$X)$Qa[]=($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($R).implode(",",$Qa));}function
truncate_tables(array$T){return
apply_queries("TRUNCATE TABLE",$T);}function
drop_views(array$xi){return
queries("DROP VIEW ".implode(", ",array_map('Adminer\table',$xi)));}function
drop_tables(array$T){return
queries("DROP TABLE ".implode(", ",array_map('Adminer\table',$T)));}function
move_tables(array$T,array$xi,$Ah){$vg=array();foreach($T
as$R)$vg[]=table($R)." TO ".idf_escape($Ah).".".table($R);if(!$vg||queries("RENAME TABLE ".implode(", ",$vg))){$Lb=array();foreach($xi
as$R)$Lb[table($R)]=view($R);connection()->select_db($Ah);$j=idf_escape(DB);foreach($Lb
as$D=>$wi){if(!queries("CREATE VIEW $D AS ".str_replace(" $j."," ",$wi["select"]))||!queries("DROP VIEW $j.$D"))return
false;}return
true;}return
false;}function
copy_tables(array$T,array$xi,$Ah){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($T
as$R){$D=($Ah==DB?table("copy_$R"):idf_escape($Ah).".".table($R));if(($_POST["overwrite"]&&!queries("\nDROP TABLE IF EXISTS $D"))||!queries("CREATE TABLE $D LIKE ".table($R))||!queries("INSERT INTO $D SELECT * FROM ".table($R)))return
false;foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_\\")))as$L){$Wh=$L["Trigger"];if(!queries("CREATE TRIGGER ".($Ah==DB?idf_escape("copy_$Wh"):idf_escape($Ah).".".idf_escape($Wh))." $L[Timing] $L[Event] ON $D FOR EACH ROW\n$L[Statement];"))return
false;}}foreach($xi
as$R){$D=($Ah==DB?table("copy_$R"):idf_escape($Ah).".".table($R));$wi=view($R);if(($_POST["overwrite"]&&!queries("DROP VIEW IF EXISTS $D"))||!queries("CREATE VIEW $D AS $wi[select]"))return
false;}return
true;}function
trigger($D,$R){if($D=="")return
array();$M=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($D));return
reset($M);}function
triggers($R){$K=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_\\")))as$L)$K[$L["Trigger"]]=array($L["Timing"],$L["Event"]);return$K;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("FOR EACH ROW"),);}function
routine($D,$U){$oa=array("bool","boolean","integer","double precision","real","dec","numeric","fixed","national char","national varchar");$ah="(?:\\s|/\\*[\s\S]*?\\*/|(?:#|-- )[^\n]*\n?|--\r?\n)";$nc=driver()->enumLength;$ai="((".implode("|",array_merge(array_keys(driver()->types()),$oa)).")\\b(?:\\s*\\(((?:[^'\")]|$nc)++)\\))?"."\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s,]+)['\"]?)?";$Mf="$ah*(".($U=="FUNCTION"?"":driver()->inout).")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$ai";$h=get_val("SHOW CREATE $U ".idf_escape($D),2);preg_match("~\\(((?:$Mf\\s*,?)*)\\)\\s*".($U=="FUNCTION"?"RETURNS\\s+$ai\\s+":"")."(.*)~is",$h,$B);$n=array();preg_match_all("~$Mf\\s*,?~is",$B[1],$ue,PREG_SET_ORDER);foreach($ue
as$Df)$n[]=array("field"=>str_replace("``","`",$Df[2]).$Df[3],"type"=>strtolower($Df[5]),"length"=>preg_replace_callback("~$nc~s",'Adminer\normalize_enum',$Df[6]),"unsigned"=>strtolower(preg_replace('~\s+~',' ',trim("$Df[8] $Df[7]"))),"null"=>true,"full_type"=>$Df[4],"inout"=>strtoupper($Df[1]),"collation"=>strtolower($Df[9]),);return
array("fields"=>$n,"comment"=>get_val("SELECT ROUTINE_COMMENT FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = DATABASE() AND ROUTINE_NAME = ".q($D)),)+($U!="FUNCTION"?array("definition"=>$B[11]):array("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 = DATABASE()");}function
routine_languages(){return
array();}function
routine_id($D,array$L){return
idf_escape($D);}function
last_id($J){return
get_val("SELECT LAST_INSERT_ID()");}function
explain(Db$f,$I){return$f->query("EXPLAIN ".(min_version(5.1)&&!min_version(5.7)?"PARTITIONS ":"").$I);}function
found_rows(array$S,array$Z){return($Z||$S["Engine"]!="InnoDB"?null:$S["Rows"]);}function
create_sql($R,$ya,$mh){$K=get_val("SHOW CREATE TABLE ".table($R),1);if(!$ya)$K=preg_replace('~ AUTO_INCREMENT=\d+~','',$K);return$K;}function
truncate_sql($R){return"TRUNCATE ".table($R);}function
use_sql($Db){return"USE ".idf_escape($Db);}function
trigger_sql($R){$K="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_\\")),null,"-- ")as$L)$K
.="\nCREATE TRIGGER ".idf_escape($L["Trigger"])." $L[Timing] $L[Event] ON ".table($L["Table"])." FOR EACH ROW\n$L[Statement];;\n";return$K;}function
show_variables(){return
get_rows("SHOW VARIABLES");}function
show_status(){return
get_rows("SHOW STATUS");}function
process_list(){return
get_rows("SHOW FULL PROCESSLIST");}function
convert_field(array$m){if(preg_match("~binary~",$m["type"]))return"HEX(".idf_escape($m["field"]).")";if($m["type"]=="bit")return"BIN(".idf_escape($m["field"])." + 0)";if(preg_match("~geometry|point|linestring|polygon~",$m["type"]))return(min_version(8)?"ST_":"")."AsWKT(".idf_escape($m["field"]).")";}function
unconvert_field(array$m,$K){if(preg_match("~binary~",$m["type"]))$K="UNHEX($K)";if($m["type"]=="bit")$K="CONVERT(b$K, UNSIGNED)";if(preg_match("~geometry|point|linestring|polygon~",$m["type"])){$Yf=(min_version(8)?"ST_":"");$K=$Yf."GeomFromText($K, $Yf"."SRID($m[field]))";}return$K;}function
support($Ic){return!preg_match("~scheme|sequence|type|view_trigger|materializedview".(min_version(8)?"":"|descidx".(min_version(5.1)?"":"|event|partitioning")).(min_version('8.0.16','10.2.1')?"":"|check")."~",$Ic);}function
kill_process($X){return
queries("KILL ".number($X));}function
connection_id(){return"SELECT CONNECTION_ID()";}function
max_connections(){return
get_val("SELECT @@max_connections");}function
types(){return
array();}function
type_values($u){return"";}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($Fg,$g=null){return
true;}}define('Adminer\JUSH',Driver::$Vd);define('Adminer\SERVER',$_GET[DRIVER]);define('Adminer\DB',$_GET["db"]);define('Adminer\ME',preg_replace('~\?.*~','',relative_uri()).'?'.(sid()?SID.'&':'').(SERVER!==null?DRIVER."=".urlencode(SERVER).'&':'').($_GET["ext"]?"ext=".urlencode($_GET["ext"]).'&':'').(isset($_GET["username"])?"username=".urlencode($_GET["username"]).'&':'').(DB!=""?'db='.urlencode(DB).'&'.(isset($_GET["ns"])?"ns=".urlencode($_GET["ns"])."&":""):''));function
page_header($Jh,$l="",$Ka=array(),$Kh=""){page_headers();if(is_ajax()&&$l){page_messages($l);exit;}if(!ob_get_level())ob_start('ob_gzhandler',4096);$Lh=$Jh.($Kh!=""?": $Kh":"");$Mh=strip_tags($Lh.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".adminer()->name());echo'<!DOCTYPE html>
<html lang="',LANG,'" dir="',lang(76),'">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>',$Mh,'</title>
<link rel="stylesheet" href="',h(preg_replace("~\\?.*~","",ME)."?file=default.css&version=5.2.1"),'">
';$yb=adminer()->css();$nd=false;$ld=false;foreach($yb
as$o){if(strpos($o,"adminer.css")!==false)$nd=true;if(strpos($o,"adminer-dark.css")!==false)$ld=true;}$Ab=($nd?($ld?null:false):($ld?:null));$Be=" media='(prefers-color-scheme: dark)'";if($Ab!==false)echo"<link rel='stylesheet'".($Ab?"":$Be)." href='".h(preg_replace("~\\?.*~","",ME)."?file=dark.css&version=5.2.1")."'>\n";echo"<meta name='color-scheme' content='".($Ab===null?"light dark":($Ab?"dark":"light"))."'>\n",script_src(preg_replace("~\\?.*~","",ME)."?file=functions.js&version=5.2.1");if(adminer()->head($Ab))echo"<link rel='icon' href='data:image/gif;base64,R0lGODlhEAAQAJEAAAQCBPz+/PwCBAROZCH5BAEAAAAALAAAAAAQABAAAAI2hI+pGO1rmghihiUdvUBnZ3XBQA7f05mOak1RWXrNq5nQWHMKvuoJ37BhVEEfYxQzHjWQ5qIAADs='>\n","<link rel='apple-touch-icon' href='".h(preg_replace("~\\?.*~","",ME)."?file=logo.png&version=5.2.1")."'>\n";foreach($yb
as$X)echo"<link rel='stylesheet'".(preg_match('~-dark\.~',$X)&&!$Ab?$Be:"")." href='".h($X)."'>\n";echo"\n<body class='".lang(76)." nojs'>\n";$o=get_temp_dir()."/adminer.version";if(!$_COOKIE["adminer_version"]&&function_exists('openssl_verify')&&file_exists($o)&&filemtime($o)+86400>time()){$vi=unserialize(file_get_contents($o));$hg="-----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"]),$hg)==1)$_COOKIE["adminer_version"]=$vi["version"];}echo
script("mixin(document.body, {onkeydown: bodyKeydown, onclick: bodyClick".(isset($_COOKIE["adminer_version"])?"":", onload: partial(verifyVersion, '".VERSION."', '".js_escape(ME)."', '".get_token()."')")."});
document.body.classList.replace('nojs', 'js');
const offlineMessage = '".js_escape(lang(77))."';
const thousandsSeparator = '".js_escape(lang(4))."';"),"<div id='help' class='jush-".JUSH." jsonly hidden'></div>\n",script("mixin(qs('#help'), {onmouseover: () => { helpOpen = 1; }, onmouseout: helpMouseout});"),"<div id='content'>\n","<span id='menuopen' class='jsonly'>".icon("move","","menu","")."</span>".script("qs('#menuopen').onclick = event => { qs('#foot').classList.toggle('foot'); event.stopPropagation(); }");if($Ka!==null){$_=substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1);echo'<p id="breadcrumb"><a href="'.h($_?:".").'">'.get_driver(DRIVER).'</a> » ';$_=substr(preg_replace('~\b(db|ns)=[^&]*&~','',ME),0,-1);$P=adminer()->serverName(SERVER);$P=($P!=""?$P:lang(23));if($Ka===false)echo"$P\n";else{echo"<a href='".h($_)."' accesskey='1' title='Alt+Shift+1'>$P</a> » ";if($_GET["ns"]!=""||(DB!=""&&is_array($Ka)))echo'<a href="'.h($_."&db=".urlencode(DB).(support("scheme")?"&ns=":"")).'">'.h(DB).'</a> » ';if(is_array($Ka)){if($_GET["ns"]!="")echo'<a href="'.h(substr(ME,0,-1)).'">'.h($_GET["ns"]).'</a> » ';foreach($Ka
as$y=>$X){$Nb=(is_array($X)?$X[1]:h($X));if($Nb!="")echo"<a href='".h(ME."$y=").urlencode(is_array($X)?$X[0]:$X)."'>$Nb</a> » ";}}echo"$Jh\n";}}echo"<h2>$Lh</h2>\n","<div id='ajaxstatus' class='jsonly hidden'></div>\n";restart_session();page_messages($l);$i=&get_session("dbs");if(DB!=""&&$i&&!in_array(DB,$i,true))$i=null;stop_session();define('Adminer\PAGE_HEADER',1);}function
page_headers(){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(adminer()->csp(csp())as$xb){$od=array();foreach($xb
as$y=>$X)$od[]="$y $X";header("Content-Security-Policy: ".implode("; ",$od));}adminer()->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$We;if(!$We)$We=base64_encode(rand_string());return$We;}function
page_messages($l){$ki=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$Ge=idx($_SESSION["messages"],$ki);if($Ge){echo"<div class='message'>".implode("</div>\n<div class='message'>",$Ge)."</div>".script("messagesPrint();");unset($_SESSION["messages"][$ki]);}if($l)echo"<div class='error'>$l</div>\n";if(adminer()->error)echo"<div class='error'>".adminer()->error."</div>\n";}function
page_footer($Je=""){echo"</div>\n\n<div id='foot' class='foot'>\n<div id='menu'>\n";adminer()->navigation($Je);echo"</div>\n";if($Je!="auth")echo'<form action="" method="post">
<p class="logout">
<span>',h($_GET["username"])."\n",'</span>
<input type="submit" name="logout" value="',lang(78),'" id="logout">
',input_token(),'</form>
';echo"</div>\n\n",script("setupSubmitHighlight(document);");}function
int32($Oe){while($Oe>=2147483648)$Oe-=4294967296;while($Oe<=-2147483649)$Oe+=4294967296;return(int)$Oe;}function
long2str(array$W,$zi){$N='';foreach($W
as$X)$N
.=pack('V',$X);if($zi)return
substr($N,0,end($W));return$N;}function
str2long($N,$zi){$W=array_values(unpack('V*',str_pad($N,4*ceil(strlen($N)/4),"\0")));if($zi)$W[]=strlen($N);return$W;}function
xxtea_mx($Fi,$Ei,$ph,$Wd){return
int32((($Fi>>5&0x7FFFFFF)^$Ei<<2)+(($Ei>>3&0x1FFFFFFF)^$Fi<<4))^int32(($ph^$Ei)+($Wd^$Fi));}function
encrypt_string($jh,$y){if($jh=="")return"";$y=array_values(unpack("V*",pack("H*",md5($y))));$W=str2long($jh,true);$Oe=count($W)-1;$Fi=$W[$Oe];$Ei=$W[0];$H=floor(6+52/($Oe+1));$ph=0;while($H-->0){$ph=int32($ph+0x9E3779B9);$cc=$ph>>2&3;for($Bf=0;$Bf<$Oe;$Bf++){$Ei=$W[$Bf+1];$Ne=xxtea_mx($Fi,$Ei,$ph,$y[$Bf&3^$cc]);$Fi=int32($W[$Bf]+$Ne);$W[$Bf]=$Fi;}$Ei=$W[0];$Ne=xxtea_mx($Fi,$Ei,$ph,$y[$Bf&3^$cc]);$Fi=int32($W[$Oe]+$Ne);$W[$Oe]=$Fi;}return
long2str($W,false);}function
decrypt_string($jh,$y){if($jh=="")return"";if(!$y)return
false;$y=array_values(unpack("V*",pack("H*",md5($y))));$W=str2long($jh,false);$Oe=count($W)-1;$Fi=$W[$Oe];$Ei=$W[0];$H=floor(6+52/($Oe+1));$ph=int32($H*0x9E3779B9);while($ph){$cc=$ph>>2&3;for($Bf=$Oe;$Bf>0;$Bf--){$Fi=$W[$Bf-1];$Ne=xxtea_mx($Fi,$Ei,$ph,$y[$Bf&3^$cc]);$Ei=int32($W[$Bf]-$Ne);$W[$Bf]=$Ei;}$Fi=$W[$Oe];$Ne=xxtea_mx($Fi,$Ei,$ph,$y[$Bf&3^$cc]);$Ei=int32($W[0]-$Ne);$W[0]=$Ei;$ph=int32($ph-0x9E3779B9);}return
long2str($W,true);}$Of=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($y)=explode(":",$X);$Of[$y]=$X;}}function
add_invalid_login(){$Da=get_temp_dir()."/adminer.invalid";foreach(glob("$Da*")?:array($Da)as$o){$q=file_open_lock($o);if($q)break;}if(!$q)$q=file_open_lock("$Da-".rand_string());if(!$q)return;$Od=unserialize(stream_get_contents($q));$Gh=time();if($Od){foreach($Od
as$Pd=>$X){if($X[0]<$Gh)unset($Od[$Pd]);}}$Nd=&$Od[adminer()->bruteForceKey()];if(!$Nd)$Nd=array($Gh+30*60,0);$Nd[1]++;file_write_unlock($q,serialize($Od));}function
check_invalid_login(array&$Of){$Od=array();foreach(glob(get_temp_dir()."/adminer.invalid*")as$o){$q=file_open_lock($o);if($q){$Od=unserialize(stream_get_contents($q));file_unlock($q);break;}}$Nd=idx($Od,adminer()->bruteForceKey(),array());$Ve=($Nd[1]>29?$Nd[0]-time():0);if($Ve>0)auth_error(lang(79,ceil($Ve/60)),$Of);}$xa=$_POST["auth"];if($xa){session_regenerate_id();$ui=$xa["driver"];$P=$xa["server"];$V=$xa["username"];$G=(string)$xa["password"];$j=$xa["db"];set_password($ui,$P,$V,$G);$_SESSION["db"][$ui][$P][$V][$j]=true;if($xa["permanent"]){$y=implode("-",array_map('base64_encode',array($ui,$P,$V,$j)));$cg=adminer()->permanentLogin(true);$Of[$y]="$y:".base64_encode($cg?encrypt_string($G,$cg):"");cookie("adminer_permanent",implode(" ",$Of));}if(count($_POST)==1||DRIVER!=$ui||SERVER!=$P||$_GET["username"]!==$V||DB!=$j)redirect(auth_url($ui,$P,$V,$j));}elseif($_POST["logout"]&&(!$_SESSION["token"]||verify_token())){foreach(array("pwds","db","dbs","queries")as$y)set_session($y,null);unset_permanent($Of);redirect(substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1),lang(80).' '.lang(81));}elseif($Of&&!$_SESSION["pwds"]){session_regenerate_id();$cg=adminer()->permanentLogin();foreach($Of
as$y=>$X){list(,$Xa)=explode(":",$X);list($ui,$P,$V,$j)=array_map('base64_decode',explode("-",$y));set_password($ui,$P,$V,decrypt_string(base64_decode($Xa),$cg));$_SESSION["db"][$ui][$P][$V][$j]=true;}}function
unset_permanent(array&$Of){foreach($Of
as$y=>$X){list($ui,$P,$V,$j)=array_map('base64_decode',explode("-",$y));if($ui==DRIVER&&$P==SERVER&&$V==$_GET["username"]&&$j==DB)unset($Of[$y]);}cookie("adminer_permanent",implode(" ",$Of));}function
auth_error($l,array&$Of){$Rg=session_name();if(isset($_GET["username"])){header("HTTP/1.1 403 Forbidden");if(($_COOKIE[$Rg]||$_GET[$Rg])&&!$_SESSION["token"])$l=lang(82);else{restart_session();add_invalid_login();$G=get_password();if($G!==null){if($G===false)$l
.=($l?'<br>':'').lang(83,target_blank(),'<code>permanentLogin()</code>');set_password(DRIVER,SERVER,$_GET["username"],null);}unset_permanent($Of);}}if(!$_COOKIE[$Rg]&&$_GET[$Rg]&&ini_bool("session.use_only_cookies"))$l=lang(84);$Ef=session_get_cookie_params();cookie("adminer_key",($_COOKIE["adminer_key"]?:rand_string()),$Ef["lifetime"]);if(!$_SESSION["token"])$_SESSION["token"]=rand(1,1e6);page_header(lang(27),$l,null);echo"<form action='' method='post'>\n","<div>";if(hidden_fields($_POST,array("auth")))echo"<p class='message'>".lang(85)."\n";echo"</div>\n";adminer()->loginForm();echo"</form>\n";page_footer("auth");exit;}if(isset($_GET["username"])&&!class_exists('Adminer\Db')){unset($_SESSION["pwds"][DRIVER]);unset_permanent($Of);page_header(lang(86),lang(87,implode(", ",Driver::$Dc)),false);page_footer("auth");exit;}$f='';if(isset($_GET["username"])&&is_string(get_password())){list($ud,$Sf)=explode(":",SERVER,2);if(preg_match('~^\s*([-+]?\d+)~',$Sf,$B)&&($B[1]<1024||$B[1]>65535))auth_error(lang(88),$Of);check_invalid_login($Of);$wb=adminer()->credentials();$f=Driver::connect($wb[0],$wb[1],$wb[2]);if(is_object($f)){Db::$Ld=$f;Driver::$Ld=new
Driver($f);if($f->flavor)save_settings(array("vendor-".DRIVER."-".SERVER=>get_driver(DRIVER)));}}$pe=null;if(!is_object($f)||($pe=adminer()->login($_GET["username"],get_password()))!==true){$l=(is_string($f)?nl_br(h($f)):(is_string($pe)?$pe:lang(89))).(preg_match('~^ | $~',get_password())?'<br>'.lang(90):'');auth_error($l,$Of);}if($_POST["logout"]&&$_SESSION["token"]&&!verify_token()){page_header(lang(78),lang(91));page_footer("db");exit;}if(!$_SESSION["token"])$_SESSION["token"]=rand(1,1e6);stop_session(true);if($xa&&$_POST["token"])$_POST["token"]=get_token();$l='';if($_POST){if(!verify_token()){$Gd="max_input_vars";$_e=ini_get($Gd);if(extension_loaded("suhosin")){foreach(array("suhosin.request.max_vars","suhosin.post.max_vars")as$y){$X=ini_get($y);if($X&&(!$_e||$X<$_e)){$Gd=$y;$_e=$X;}}}$l=(!$_POST["token"]&&$_e?lang(92,"'$Gd'"):lang(91).' '.lang(93));}}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$l=lang(94,"'post_max_size'");if(isset($_GET["sql"]))$l
.=' '.lang(95);}function
print_select_result($J,$g=null,array$tf=array(),$z=0){$oe=array();$x=array();$d=array();$Ia=array();$bi=array();$K=array();for($t=0;(!$z||$t<$z)&&($L=$J->fetch_row());$t++){if(!$t){echo"<div class='scrollable'>\n","<table class='nowrap odds'>\n","<thead><tr>";for($Ud=0;$Ud<count($L);$Ud++){$m=$J->fetch_field();$D=$m->name;$sf=(isset($m->orgtable)?$m->orgtable:"");$rf=(isset($m->orgname)?$m->orgname:$D);if($tf&&JUSH=="sql")$oe[$Ud]=($D=="table"?"table=":($D=="possible_keys"?"indexes=":null));elseif($sf!=""){if(isset($m->table))$K[$m->table]=$sf;if(!isset($x[$sf])){$x[$sf]=array();foreach(indexes($sf,$g)as$w){if($w["type"]=="PRIMARY"){$x[$sf]=array_flip($w["columns"]);break;}}$d[$sf]=$x[$sf];}if(isset($d[$sf][$rf])){unset($d[$sf][$rf]);$x[$sf][$rf]=$Ud;$oe[$Ud]=$sf;}}if($m->charsetnr==63)$Ia[$Ud]=true;$bi[$Ud]=$m->type;echo"<th".($sf!=""||$m->name!=$rf?" title='".h(($sf!=""?"$sf.":"").$rf)."'":"").">".h($D).($tf?doc_link(array('sql'=>"explain-output.html#explain_".strtolower($D),'mariadb'=>"explain/#the-columns-in-explain-select",)):"");}echo"</thead>\n";}echo"<tr>";foreach($L
as$y=>$X){$_="";if(isset($oe[$y])&&!$d[$oe[$y]]){if($tf&&JUSH=="sql"){$R=$L[array_search("table=",$oe)];$_=ME.$oe[$y].urlencode($tf[$R]!=""?$tf[$R]:$R);}else{$_=ME."edit=".urlencode($oe[$y]);foreach($x[$oe[$y]]as$bb=>$Ud)$_
.="&where".urlencode("[".bracket_escape($bb)."]")."=".urlencode($L[$Ud]);}}elseif(is_url($X))$_=$X;if($X===null)$X="<i>NULL</i>";elseif($Ia[$y]&&!is_utf8($X))$X="<i>".lang(36,strlen($X))."</i>";else{$X=h($X);if($bi[$y]==254)$X="<code>$X</code>";}if($_)$X="<a href='".h($_)."'".(is_url($_)?target_blank():'').">$X</a>";echo"<td".($bi[$y]<=9||$bi[$y]==246?" class='number'":"").">$X";}}echo($t?"</table>\n</div>":"<p class='message'>".lang(12))."\n";return$K;}function
referencable_primary($Mg){$K=array();foreach(table_status('',true)as$th=>$R){if($th!=$Mg&&fk_support($R)){foreach(fields($th)as$m){if($m["primary"]){if($K[$th]){unset($K[$th]);break;}$K[$th]=$m;}}}}return$K;}function
textarea($D,$Y,$M=10,$eb=80){echo"<textarea name='".h($D)."' rows='$M' cols='$eb' class='sqlarea jush-".JUSH."' 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
select_input($wa,array$nf,$Y="",$if="",$Pf=""){$_h=($nf?"select":"input");return"<$_h$wa".($nf?"><option value=''>$Pf".optionlist($nf,$Y,true)."</select>":" size='10' value='".h($Y)."' placeholder='$Pf'>").($if?script("qsl('$_h').onchange = $if;",""):"");}function
json_row($y,$X=null){static$Nc=true;if($Nc)echo"{";if($y!=""){echo($Nc?"":",")."\n\t\"".addcslashes($y,"\r\n\t\"\\/").'": '.($X!==null?'"'.addcslashes($X,"\r\n\"\\/").'"':'null');$Nc=false;}else{echo"\n}\n";$Nc=true;}}function
edit_type($y,array$m,array$b,array$Uc=array(),array$Fc=array()){$U=$m["type"];echo"<td><select name='".h($y)."[type]' class='type' aria-labelledby='label-type'>";if($U&&!array_key_exists($U,driver()->types())&&!isset($Uc[$U])&&!in_array($U,$Fc))$Fc[]=$U;$lh=driver()->structuredTypes();if($Uc)$lh[lang(96)]=$Uc;echo
optionlist(array_merge($Fc,$lh),$U),"</select><td>","<input name='".h($y)."[length]' value='".h($m["length"])."' size='3'".(!$m["length"]&&preg_match('~var(char|binary)$~',$U)?" class='required'":"")." aria-labelledby='label-length'>","<td class='options'>",($b?"<input list='collations' name='".h($y)."[collation]'".(preg_match('~(char|text|enum|set)$~',$U)?"":" class='hidden'")." value='".h($m["collation"])."' placeholder='(".lang(97).")'>":''),(driver()->unsigned?"<select name='".h($y)."[unsigned]'".(!$U||preg_match(number_type(),$U)?"":" class='hidden'").'><option>'.optionlist(driver()->unsigned,$m["unsigned"]).'</select>':''),(isset($m['on_update'])?"<select name='".h($y)."[on_update]'".(preg_match('~timestamp|datetime~',$U)?"":" class='hidden'").'>'.optionlist(array(""=>"(".lang(98).")","CURRENT_TIMESTAMP"),(preg_match('~^CURRENT_TIMESTAMP~i',$m["on_update"])?"CURRENT_TIMESTAMP":$m["on_update"])).'</select>':''),($Uc?"<select name='".h($y)."[on_delete]'".(preg_match("~`~",$U)?"":" class='hidden'")."><option value=''>(".lang(99).")".optionlist(explode("|",driver()->onActions),$m["on_delete"])."</select> ":" ");}function
get_partitions_info($R){$Yc="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($R);$J=connection()->query("SELECT PARTITION_METHOD, PARTITION_EXPRESSION, PARTITION_ORDINAL_POSITION $Yc ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");$K=array();list($K["partition_by"],$K["partition"],$K["partitions"])=$J->fetch_row();$Jf=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $Yc AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$K["partition_names"]=array_keys($Jf);$K["partition_values"]=array_values($Jf);return$K;}function
process_length($ke){$pc=driver()->enumLength;return(preg_match("~^\\s*\\(?\\s*$pc(?:\\s*,\\s*$pc)*+\\s*\\)?\\s*\$~",$ke)&&preg_match_all("~$pc~",$ke,$ue)?"(".implode(",",$ue[0]).")":preg_replace('~^[0-9].*~','(\0)',preg_replace('~[^-0-9,+()[\]]~','',$ke)));}function
process_type(array$m,$cb="COLLATE"){return" $m[type]".process_length($m["length"]).(preg_match(number_type(),$m["type"])&&in_array($m["unsigned"],driver()->unsigned)?" $m[unsigned]":"").(preg_match('~char|text|enum|set~',$m["type"])&&$m["collation"]?" $cb ".(JUSH=="mssql"?$m["collation"]:q($m["collation"])):"");}function
process_field(array$m,array$Zh){if($m["on_update"])$m["on_update"]=str_ireplace("current_timestamp()","CURRENT_TIMESTAMP",$m["on_update"]);return
array(idf_escape(trim($m["field"])),process_type($Zh),($m["null"]?" NULL":" NOT NULL"),default_value($m),(preg_match('~timestamp|datetime~',$m["type"])&&$m["on_update"]?" ON UPDATE $m[on_update]":""),(support("comment")&&$m["comment"]!=""?" COMMENT ".q($m["comment"]):""),($m["auto_increment"]?auto_increment():null),);}function
default_value(array$m){$k=$m["default"];$bd=$m["generated"];return($k===null?"":(in_array($bd,driver()->generated)?(JUSH=="mssql"?" AS ($k)".($bd=="VIRTUAL"?"":" $bd")."":" GENERATED ALWAYS AS ($k) $bd"):" DEFAULT ".(!preg_match('~^GENERATED ~i',$k)&&(preg_match('~char|binary|text|json|enum|set~',$m["type"])||preg_match('~^(?![a-z])~i',$k))?(JUSH=="sql"&&preg_match('~text|json~',$m["type"])?"(".q($k).")":q($k)):str_ireplace("current_timestamp()","CURRENT_TIMESTAMP",(JUSH=="sqlite"?"($k)":$k)))));}function
type_class($U){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$y=>$X){if(preg_match("~$y|$X~",$U))return" class='$y'";}}function
edit_fields(array$n,array$b,$U="TABLE",array$Uc=array()){$n=array_values($n);$Ib=(($_POST?$_POST["defaults"]:get_setting("defaults"))?"":" class='hidden'");$ib=(($_POST?$_POST["comments"]:get_setting("comments"))?"":" class='hidden'");echo"<thead><tr>\n",($U=="PROCEDURE"?"<td>":""),"<th id='label-name'>".($U=="TABLE"?lang(100):lang(101)),"<td id='label-type'>".lang(38)."<textarea id='enum-edit' rows='4' cols='12' wrap='off' style='display: none;'></textarea>".script("qs('#enum-edit').onblur = editingLengthBlur;"),"<td id='label-length'>".lang(102),"<td>".lang(103);if($U=="TABLE")echo"<td id='label-null'>NULL\n","<td><input type='radio' name='auto_increment_col' value=''><abbr id='label-ai' title='".lang(41)."'>AI</abbr>",doc_link(array('sql'=>"example-auto-increment.html",'mariadb'=>"auto_increment/",)),"<td id='label-default'$Ib>".lang(42),(support("comment")?"<td id='label-comment'$ib>".lang(39):"");echo"<td>".icon("plus","add[".(support("move_col")?0:count($n))."]","+",lang(104)),"</thead>\n<tbody>\n",script("mixin(qsl('tbody'), {onclick: editingClick, onkeydown: editingKeydown, oninput: editingInput});");foreach($n
as$t=>$m){$t++;$uf=$m[($_POST?"orig":"field")];$Tb=(isset($_POST["add"][$t-1])||(isset($m["field"])&&!idx($_POST["drop_col"],$t)))&&(support("drop_col")||$uf=="");echo"<tr".($Tb?"":" style='display: none;'").">\n",($U=="PROCEDURE"?"<td>".html_select("fields[$t][inout]",explode("|",driver()->inout),$m["inout"]):"")."<th>";if($Tb)echo"<input name='fields[$t][field]' value='".h($m["field"])."' data-maxlength='64' autocapitalize='off' aria-labelledby='label-name'>";echo
input_hidden("fields[$t][orig]",$uf);edit_type("fields[$t]",$m,$b,$Uc);if($U=="TABLE")echo"<td>".checkbox("fields[$t][null]",1,$m["null"],"","","block","label-null"),"<td><label class='block'><input type='radio' name='auto_increment_col' value='$t'".($m["auto_increment"]?" checked":"")." aria-labelledby='label-ai'></label>","<td$Ib>".(driver()->generated?html_select("fields[$t][generated]",array_merge(array("","DEFAULT"),driver()->generated),$m["generated"])." ":checkbox("fields[$t][generated]",1,$m["generated"],"","","","label-default")),"<input name='fields[$t][default]' value='".h($m["default"])."' aria-labelledby='label-default'>",(support("comment")?"<td$ib><input name='fields[$t][comment]' value='".h($m["comment"])."' data-maxlength='".(min_version(5.5)?1024:255)."' aria-labelledby='label-comment'>":"");echo"<td>",(support("move_col")?icon("plus","add[$t]","+",lang(104))." ".icon("up","up[$t]","↑",lang(105))." ".icon("down","down[$t]","↓",lang(106))." ":""),($uf==""||support("drop_col")?icon("cross","drop_col[$t]","x",lang(107)):"");}}function
process_fields(array&$n){$af=0;if($_POST["up"]){$ee=0;foreach($n
as$y=>$m){if(key($_POST["up"])==$y){unset($n[$y]);array_splice($n,$ee,0,array($m));break;}if(isset($m["field"]))$ee=$af;$af++;}}elseif($_POST["down"]){$Wc=false;foreach($n
as$y=>$m){if(isset($m["field"])&&$Wc){unset($n[key($_POST["down"])]);array_splice($n,$af,0,array($Wc));break;}if(key($_POST["down"])==$y)$Wc=$m;$af++;}}elseif($_POST["add"]){$n=array_values($n);array_splice($n,key($_POST["add"]),0,array(array()));}elseif(!$_POST["drop_col"])return
false;return
true;}function
normalize_enum(array$B){$X=$B[0];return"'".str_replace("'","''",addcslashes(stripcslashes(str_replace($X[0].$X[0],$X[0],substr($X,1,-1))),'\\'))."'";}function
grant($dd,array$eg,$d,$gf){if(!$eg)return
true;if($eg==array("ALL PRIVILEGES","GRANT OPTION"))return($dd=="GRANT"?queries("$dd ALL PRIVILEGES$gf WITH GRANT OPTION"):queries("$dd ALL PRIVILEGES$gf")&&queries("$dd GRANT OPTION$gf"));return
queries("$dd ".preg_replace('~(GRANT OPTION)\([^)]*\)~','\1',implode("$d, ",$eg).$d).$gf);}function
drop_create($Xb,$h,$Yb,$Dh,$Zb,$A,$Fe,$De,$Ee,$df,$Se){if($_POST["drop"])query_redirect($Xb,$A,$Fe);elseif($df=="")query_redirect($h,$A,$Ee);elseif($df!=$Se){$vb=queries($h);queries_redirect($A,$De,$vb&&queries($Xb));if($vb)queries($Yb);}else
queries_redirect($A,$De,queries($Dh)&&queries($Zb)&&queries($Xb)&&queries($h));}function
create_trigger($gf,array$L){$Ih=" $L[Timing] $L[Event]".(preg_match('~ OF~',$L["Event"])?" $L[Of]":"");return"CREATE TRIGGER ".idf_escape($L["Trigger"]).(JUSH=="mssql"?$gf.$Ih:$Ih.$gf).rtrim(" $L[Type]\n$L[Statement]",";").";";}function
create_routine($Bg,array$L){$Q=array();$n=(array)$L["fields"];ksort($n);foreach($n
as$m){if($m["field"]!="")$Q[]=(preg_match("~^(".driver()->inout.")\$~",$m["inout"])?"$m[inout] ":"").idf_escape($m["field"]).process_type($m,"CHARACTER SET");}$Kb=rtrim($L["definition"],";");return"CREATE $Bg ".idf_escape(trim($L["name"]))." (".implode(", ",$Q).")".($Bg=="FUNCTION"?" RETURNS".process_type($L["returns"],"CHARACTER SET"):"").($L["language"]?" LANGUAGE $L[language]":"").(JUSH=="pgsql"?" AS ".q($Kb):"\n$Kb;");}function
remove_definer($I){return
preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\1)',logged_user()).'`~','\1',$I);}function
format_foreign_key(array$p){$j=$p["db"];$Xe=$p["ns"];return" FOREIGN KEY (".implode(", ",array_map('Adminer\idf_escape',$p["source"])).") REFERENCES ".($j!=""&&$j!=$_GET["db"]?idf_escape($j).".":"").($Xe!=""&&$Xe!=$_GET["ns"]?idf_escape($Xe).".":"").idf_escape($p["table"])." (".implode(", ",array_map('Adminer\idf_escape',$p["target"])).")".(preg_match("~^(".driver()->onActions.")\$~",$p["on_delete"])?" ON DELETE $p[on_delete]":"").(preg_match("~^(".driver()->onActions.")\$~",$p["on_update"])?" ON UPDATE $p[on_update]":"");}function
tar_file($o,$Nh){$K=pack("a100a8a8a8a12a12",$o,644,0,0,decoct($Nh->size),decoct(time()));$Wa=8*32;for($t=0;$t<strlen($K);$t++)$Wa+=ord($K[$t]);$K
.=sprintf("%06o",$Wa)."\0 ";echo$K,str_repeat("\0",512-strlen($K));$Nh->send();echo
str_repeat("\0",511-($Nh->size+511)%512);}function
ini_bytes($Gd){$X=ini_get($Gd);switch(strtolower(substr($X,-1))){case'g':$X=(int)$X*1024;case'm':$X=(int)$X*1024;case'k':$X=(int)$X*1024;}return$X;}function
doc_link(array$Lf,$Eh="<sup>?</sup>"){$Pg=connection()->server_info;$vi=preg_replace('~^(\d\.?\d).*~s','\1',$Pg);$mi=array('sql'=>"https://dev.mysql.com/doc/refman/$vi/en/",'sqlite'=>"https://www.sqlite.org/",'pgsql'=>"https://www.postgresql.org/docs/".(connection()->flavor=='cockroach'?"current":$vi)."/",'mssql'=>"https://learn.microsoft.com/en-us/sql/",'oracle'=>"https://www.oracle.com/pls/topic/lookup?ctx=db".preg_replace('~^.* (\d+)\.(\d+)\.\d+\.\d+\.\d+.*~s','\1\2',$Pg)."&id=",);if(connection()->flavor=='maria'){$mi['sql']="https://mariadb.com/kb/en/";$Lf['sql']=(isset($Lf['mariadb'])?$Lf['mariadb']:str_replace(".html","/",$Lf['sql']));}return($Lf[JUSH]?"<a href='".h($mi[JUSH].$Lf[JUSH].(JUSH=='mssql'?"?view=sql-server-ver$vi":""))."'".target_blank().">$Eh</a>":"");}function
db_size($j){if(!connection()->select_db($j))return"?";$K=0;foreach(table_status()as$S)$K+=$S["Data_length"]+$S["Index_length"];return
format_number($K);}function
set_utf8mb4($h){static$Q=false;if(!$Q&&preg_match('~\butf8mb4~i',$h)){$Q=true;echo"SET NAMES ".charset(connection()).";\n\n";}}if(isset($_GET["status"]))$_GET["variables"]=$_GET["status"];if(isset($_GET["import"]))$_GET["sql"]=$_GET["import"];if(!(DB!=""?connection()->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);}if(DB!=""){header("HTTP/1.1 404 Not Found");page_header(lang(26).": ".h(DB),lang(108),true);}else{if($_POST["db"]&&!$l)queries_redirect(substr(ME,0,-1),lang(109),drop_databases($_POST["db"]));page_header(lang(110),$l,false);echo"<p class='links'>\n";foreach(array('database'=>lang(111),'privileges'=>lang(61),'processlist'=>lang(112),'variables'=>lang(113),'status'=>lang(114),)as$y=>$X){if(support($y))echo"<a href='".h(ME)."$y='>$X</a>\n";}echo"<p>".lang(115,get_driver(DRIVER),"<b>".h(connection()->server_info)."</b>","<b>".connection()->extension."</b>")."\n","<p>".lang(116,"<b>".h(logged_user())."</b>")."\n";$i=adminer()->databases();if($i){$Gg=support("scheme");$b=collations();echo"<form action='' method='post'>\n","<table class='checkable odds'>\n",script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});"),"<thead><tr>".(support("database")?"<td>":"")."<th>".lang(26).(get_session("dbs")!==null?" - <a href='".h(ME)."refresh=1'>".lang(117)."</a>":"")."<td>".lang(118)."<td>".lang(119)."<td>".lang(120)." - <a href='".h(ME)."dbsize=1'>".lang(121)."</a>".script("qsl('a').onclick = partial(ajaxSetHtml, '".js_escape(ME)."script=connect');","")."</thead>\n";$i=($_GET["dbsize"]?count_tables($i):array_flip($i));foreach($i
as$j=>$T){$Ag=h(ME)."db=".urlencode($j);$u=h("Db-".$j);echo"<tr>".(support("database")?"<td>".checkbox("db[]",$j,in_array($j,(array)$_POST["db"]),"","","",$u):""),"<th><a href='$Ag' id='$u'>".h($j)."</a>";$db=h(db_collation($j,$b));echo"<td>".(support("database")?"<a href='$Ag".($Gg?"&amp;ns=":"")."&amp;database=' title='".lang(57)."'>$db</a>":$db),"<td align='right'><a href='$Ag&amp;schema=' id='tables-".h($j)."' title='".lang(60)."'>".($_GET["dbsize"]?$T:"?")."</a>","<td align='right' id='size-".h($j)."'>".($_GET["dbsize"]?db_size($j):"?"),"\n";}echo"</table>\n",(support("database")?"<div class='footer'><div>\n"."<fieldset><legend>".lang(122)." <span id='selected'></span></legend><div>\n".input_hidden("all").script("qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^db/)); };")."<input type='submit' name='drop' value='".lang(123)."'>".confirm()."\n"."</div></fieldset>\n"."</div></div>\n":""),input_token(),"</form>\n",script("tableCheck();");}if(!empty(adminer()->plugins)){echo"<div class='plugins'>\n","<h3>".lang(124)."</h3>\n<ul>\n";foreach(adminer()->plugins
as$Qf){$Ob=(method_exists($Qf,'description')?$Qf->description():"");if(!$Ob){$sg=new
\ReflectionObject($Qf);if(preg_match('~^/[\s*]+(.+)~',$sg->getDocComment(),$B))$Ob=$B[1];}$Hg=(method_exists($Qf,'screenshot')?$Qf->screenshot():"");echo"<li><b>".get_class($Qf)."</b>".h($Ob?": $Ob":"").($Hg?" (<a href='".h($Hg)."'".target_blank().">".lang(125)."</a>)":"")."\n";}echo"</ul>\n";adminer()->pluginsLinks();echo"</div>\n";}}page_footer("db");exit;}class
TmpFile{private$handler;var$size;function
__construct(){$this->handler=tmpfile();}function
write($pb){$this->size+=strlen($pb);fwrite($this->handler,$pb);}function
send(){fseek($this->handler,0);fpassthru($this->handler);fclose($this->handler);}}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"];$n=fields($a);header("Content-Type: application/octet-stream");header("Content-Disposition: attachment; filename=".friendly_url("$a-".implode("_",$_GET["where"])).".".friendly_url($_GET["field"]));$O=array(idf_escape($_GET["field"]));$J=driver()->select($a,$O,array(where($_GET,$n)),$O);$L=($J?$J->fetch_row():array());echo
driver()->value($L[0],$n[$_GET["field"]]);exit;}elseif(isset($_GET["table"])){$a=$_GET["table"];$n=fields($a);if(!$n)$l=error()?:lang(9);$S=table_status1($a);$D=adminer()->tableName($S);page_header(($n&&is_view($S)?$S['Engine']=='materialized view'?lang(126):lang(127):lang(128)).": ".($D!=""?$D:h($a)),$l);$_g=array();foreach($n
as$y=>$m)$_g+=$m["privileges"];adminer()->selectLinks($S,(isset($_g["insert"])||!support("table")?"":null));$hb=$S["Comment"];if($hb!="")echo"<p class='nowrap'>".lang(39).": ".h($hb)."\n";if($n)adminer()->tableStructurePrint($n,$S);if(support("indexes")&&driver()->supportsIndex($S)){echo"<h3 id='indexes'>".lang(129)."</h3>\n";$x=indexes($a);if($x)adminer()->tableIndexesPrint($x);echo'<p class="links"><a href="'.h(ME).'indexes='.urlencode($a).'">'.lang(130)."</a>\n";}if(!is_view($S)){if(fk_support($S)){echo"<h3 id='foreign-keys'>".lang(96)."</h3>\n";$Uc=foreign_keys($a);if($Uc){echo"<table>\n","<thead><tr><th>".lang(131)."<td>".lang(132)."<td>".lang(99)."<td>".lang(98)."<td></thead>\n";foreach($Uc
as$D=>$p){echo"<tr title='".h($D)."'>","<th><i>".implode("</i>, <i>",array_map('Adminer\h',$p["source"]))."</i>";$_=($p["db"]!=""?preg_replace('~db=[^&]*~',"db=".urlencode($p["db"]),ME):($p["ns"]!=""?preg_replace('~ns=[^&]*~',"ns=".urlencode($p["ns"]),ME):ME));echo"<td><a href='".h($_."table=".urlencode($p["table"]))."'>".($p["db"]!=""&&$p["db"]!=DB?"<b>".h($p["db"])."</b>.":"").($p["ns"]!=""&&$p["ns"]!=$_GET["ns"]?"<b>".h($p["ns"])."</b>.":"").h($p["table"])."</a>","(<i>".implode("</i>, <i>",array_map('Adminer\h',$p["target"]))."</i>)","<td>".h($p["on_delete"]),"<td>".h($p["on_update"]),'<td><a href="'.h(ME.'foreign='.urlencode($a).'&name='.urlencode($D)).'">'.lang(133).'</a>',"\n";}echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'foreign='.urlencode($a).'">'.lang(134)."</a>\n";}if(support("check")){echo"<h3 id='checks'>".lang(135)."</h3>\n";$Ta=driver()->checkConstraints($a);if($Ta){echo"<table>\n";foreach($Ta
as$y=>$X)echo"<tr title='".h($y)."'>","<td><code class='jush-".JUSH."'>".h($X),"<td><a href='".h(ME.'check='.urlencode($a).'&name='.urlencode($y))."'>".lang(133)."</a>","\n";echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'check='.urlencode($a).'">'.lang(136)."</a>\n";}}if(support(is_view($S)?"view_trigger":"trigger")){echo"<h3 id='triggers'>".lang(137)."</h3>\n";$Yh=triggers($a);if($Yh){echo"<table>\n";foreach($Yh
as$y=>$X)echo"<tr valign='top'><td>".h($X[0])."<td>".h($X[1])."<th>".h($y)."<td><a href='".h(ME.'trigger='.urlencode($a).'&name='.urlencode($y))."'>".lang(133)."</a>\n";echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'trigger='.urlencode($a).'">'.lang(138)."</a>\n";}}elseif(isset($_GET["schema"])){page_header(lang(60),"",array(),h(DB.($_GET["ns"]?".$_GET[ns]":"")));$uh=array();$vh=array();$da=($_GET["schema"]?:$_COOKIE["adminer_schema-".str_replace(".","_",DB)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$da,$ue,PREG_SET_ORDER);foreach($ue
as$t=>$B){$uh[$B[1]]=array($B[2],$B[3]);$vh[]="\n\t'".js_escape($B[1])."': [ $B[2], $B[3] ]";}$Qh=0;$Ea=-1;$Fg=array();$rg=array();$ie=array();$pa=driver()->allFields();foreach(table_status('',true)as$R=>$S){if(is_view($S))continue;$Tf=0;$Fg[$R]["fields"]=array();foreach($pa[$R]as$m){$Tf+=1.25;$m["pos"]=$Tf;$Fg[$R]["fields"][$m["field"]]=$m;}$Fg[$R]["pos"]=($uh[$R]?:array($Qh,0));foreach(adminer()->foreignKeys($R)as$X){if(!$X["db"]){$ge=$Ea;if(idx($uh[$R],1)||idx($uh[$X["table"]],1))$ge=min(idx($uh[$R],1,0),idx($uh[$X["table"]],1,0))-1;else$Ea-=.1;while($ie[(string)$ge])$ge-=.0001;$Fg[$R]["references"][$X["table"]][(string)$ge]=array($X["source"],$X["target"]);$rg[$X["table"]][$R][(string)$ge]=$X["target"];$ie[(string)$ge]=true;}}$Qh=max($Qh,$Fg[$R]["pos"][0]+2.5+$Tf);}echo'<div id="schema" style="height: ',$Qh,'em;">
<script',nonce(),'>
qs(\'#schema\').onselectstart = () => false;
const tablePos = {',implode(",",$vh)."\n",'};
const em = qs(\'#schema\').offsetHeight / ',$Qh,';
document.onmousemove = schemaMousemove;
document.onmouseup = partialArg(schemaMouseup, \'',js_escape(DB),'\');
</script>
';foreach($Fg
as$D=>$R){echo"<div class='table' style='top: ".$R["pos"][0]."em; left: ".$R["pos"][1]."em;'>",'<a href="'.h(ME).'table='.urlencode($D).'"><b>'.h($D)."</b></a>",script("qsl('div').onmousedown = schemaMousedown;");foreach($R["fields"]as$m){$X='<span'.type_class($m["type"]).' title="'.h($m["type"].($m["length"]?"($m[length])":"").($m["null"]?" NULL":'')).'">'.h($m["field"]).'</span>';echo"<br>".($m["primary"]?"<i>$X</i>":$X);}foreach((array)$R["references"]as$Bh=>$tg){foreach($tg
as$ge=>$og){$he=$ge-idx($uh[$D],1);$t=0;foreach($og[0]as$Zg)echo"\n<div class='references' title='".h($Bh)."' id='refs$ge-".($t++)."' style='left: $he"."em; top: ".$R["fields"][$Zg]["pos"]."em; padding-top: .5em;'>"."<div style='border-top: 1px solid gray; width: ".(-$he)."em;'></div></div>";}}foreach((array)$rg[$D]as$Bh=>$tg){foreach($tg
as$ge=>$d){$he=$ge-idx($uh[$D],1);$t=0;foreach($d
as$Ah)echo"\n<div class='references arrow' title='".h($Bh)."' id='refd$ge-".($t++)."' style='left: $he"."em; top: ".$R["fields"][$Ah]["pos"]."em;'>"."<div style='height: .5em; border-bottom: 1px solid gray; width: ".(-$he)."em;'></div>"."</div>";}}echo"\n</div>\n";}foreach($Fg
as$D=>$R){foreach((array)$R["references"]as$Bh=>$tg){foreach($tg
as$ge=>$og){$Ie=$Qh;$ye=-10;foreach($og[0]as$y=>$Zg){$Uf=$R["pos"][0]+$R["fields"][$Zg]["pos"];$Vf=$Fg[$Bh]["pos"][0]+$Fg[$Bh]["fields"][$og[1][$y]]["pos"];$Ie=min($Ie,$Uf,$Vf);$ye=max($ye,$Uf,$Vf);}echo"<div class='references' id='refl$ge' style='left: $ge"."em; top: $Ie"."em; padding: .5em 0;'><div style='border-right: 1px solid gray; margin-top: 1px; height: ".($ye-$Ie)."em;'></div></div>\n";}}}echo'</div>
<p class="links"><a href="',h(ME."schema=".urlencode($da)),'" id="schema-link">',lang(139),'</a>
';}elseif(isset($_GET["dump"])){$a=$_GET["dump"];if($_POST&&!$l){save_settings(array_intersect_key($_POST,array_flip(array("output","format","db_style","types","routines","events","table_style","auto_increment","triggers","data_style"))),"adminer_export");$T=array_flip((array)$_POST["tables"])+array_flip((array)$_POST["data"]);$Bc=dump_headers((count($T)==1?key($T):DB),(DB==""||count($T)>1));$Rd=preg_match('~sql~',$_POST["format"]);if($Rd){echo"-- Adminer ".VERSION." ".get_driver(DRIVER)." ".str_replace("\n"," ",connection()->server_info)." dump\n\n";if(JUSH=="sql"){echo"SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
".($_POST["data_style"]?"SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
":"")."
";connection()->query("SET time_zone = '+00:00'");connection()->query("SET sql_mode = ''");}}$mh=$_POST["db_style"];$i=array(DB);if(DB==""){$i=$_POST["databases"];if(is_string($i))$i=explode("\n",rtrim(str_replace("\r","",$i),"\n"));}foreach((array)$i
as$j){adminer()->dumpDatabase($j);if(connection()->select_db($j)){if($Rd&&preg_match('~CREATE~',$mh)&&($h=get_val("SHOW CREATE DATABASE ".idf_escape($j),1))){set_utf8mb4($h);if($mh=="DROP+CREATE")echo"DROP DATABASE IF EXISTS ".idf_escape($j).";\n";echo"$h;\n";}if($Rd){if($mh)echo
use_sql($j).";\n\n";$_f="";if($_POST["types"]){foreach(types()as$u=>$U){$qc=type_values($u);if($qc)$_f
.=($mh!='DROP+CREATE'?"DROP TYPE IF EXISTS ".idf_escape($U).";;\n":"")."CREATE TYPE ".idf_escape($U)." AS ENUM ($qc);\n\n";else$_f
.="-- Could not export type $U\n\n";}}if($_POST["routines"]){foreach(routines()as$L){$D=$L["ROUTINE_NAME"];$Bg=$L["ROUTINE_TYPE"];$h=create_routine($Bg,array("name"=>$D)+routine($L["SPECIFIC_NAME"],$Bg));set_utf8mb4($h);$_f
.=($mh!='DROP+CREATE'?"DROP $Bg IF EXISTS ".idf_escape($D).";;\n":"")."$h;\n\n";}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$L){$h=remove_definer(get_val("SHOW CREATE EVENT ".idf_escape($L["Name"]),3));set_utf8mb4($h);$_f
.=($mh!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($L["Name"]).";;\n":"")."$h;;\n\n";}}echo($_f&&JUSH=='sql'?"DELIMITER ;;\n\n$_f"."DELIMITER ;\n\n":$_f);}if($_POST["table_style"]||$_POST["data_style"]){$xi=array();foreach(table_status('',true)as$D=>$S){$R=(DB==""||in_array($D,(array)$_POST["tables"]));$Bb=(DB==""||in_array($D,(array)$_POST["data"]));if($R||$Bb){$Nh=null;if($Bc=="tar"){$Nh=new
TmpFile;ob_start(array($Nh,'write'),1e5);}adminer()->dumpTable($D,($R?$_POST["table_style"]:""),(is_view($S)?2:0));if(is_view($S))$xi[]=$D;elseif($Bb){$n=fields($D);adminer()->dumpData($D,$_POST["data_style"],"SELECT *".convert_fields($n,$n)." FROM ".table($D));}if($Rd&&$_POST["triggers"]&&$R&&($Yh=trigger_sql($D)))echo"\nDELIMITER ;;\n$Yh\nDELIMITER ;\n";if($Bc=="tar"){ob_end_flush();tar_file((DB!=""?"":"$j/")."$D.csv",$Nh);}elseif($Rd)echo"\n";}}if(function_exists('Adminer\foreign_keys_sql')){foreach(table_status('',true)as$D=>$S){$R=(DB==""||in_array($D,(array)$_POST["tables"]));if($R&&!is_view($S))echo
foreign_keys_sql($D);}}foreach($xi
as$wi)adminer()->dumpTable($wi,$_POST["table_style"],1);if($Bc=="tar")echo
pack("x512");}}}adminer()->dumpFooter();exit;}page_header(lang(63),$l,($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),h(DB));echo'
<form action="" method="post">
<table class="layout">
';$Fb=array('','USE','DROP+CREATE','CREATE');$wh=array('','DROP+CREATE','CREATE');$Cb=array('','TRUNCATE+INSERT','INSERT');if(JUSH=="sql")$Cb[]='INSERT+UPDATE';$L=get_settings("adminer_export");if(!$L)$L=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");if(!isset($L["events"])){$L["routines"]=$L["events"]=($_GET["dump"]=="");$L["triggers"]=$L["table_style"];}echo"<tr><th>".lang(140)."<td>".html_radios("output",adminer()->dumpOutput(),$L["output"])."\n","<tr><th>".lang(141)."<td>".html_radios("format",adminer()->dumpFormat(),$L["format"])."\n",(JUSH=="sqlite"?"":"<tr><th>".lang(26)."<td>".html_select('db_style',$Fb,$L["db_style"]).(support("type")?checkbox("types",1,$L["types"],lang(40)):"").(support("routine")?checkbox("routines",1,$L["routines"],lang(142)):"").(support("event")?checkbox("events",1,$L["events"],lang(143)):"")),"<tr><th>".lang(119)."<td>".html_select('table_style',$wh,$L["table_style"]).checkbox("auto_increment",1,$L["auto_increment"],lang(41)).(support("trigger")?checkbox("triggers",1,$L["triggers"],lang(137)):""),"<tr><th>".lang(144)."<td>".html_select('data_style',$Cb,$L["data_style"]),'</table>
<p><input type="submit" value="',lang(63),'">
',input_token(),'
<table>
',script("qsl('table').onclick = dumpClick;");$Zf=array();if(DB!=""){$Ua=($a!=""?"":" checked");echo"<thead><tr>","<th style='text-align: left;'><label class='block'><input type='checkbox' id='check-tables'$Ua>".lang(119)."</label>".script("qs('#check-tables').onclick = partial(formCheck, /^tables\\[/);",""),"<th style='text-align: right;'><label class='block'>".lang(144)."<input type='checkbox' id='check-data'$Ua></label>".script("qs('#check-data').onclick = partial(formCheck, /^data\\[/);",""),"</thead>\n";$xi="";$yh=tables_list();foreach($yh
as$D=>$U){$Yf=preg_replace('~_.*~','',$D);$Ua=($a==""||$a==(substr($a,-1)=="%"?"$Yf%":$D));$bg="<tr><td>".checkbox("tables[]",$D,$Ua,$D,"","block");if($U!==null&&!preg_match('~table~i',$U))$xi
.="$bg\n";else
echo"$bg<td align='right'><label class='block'><span id='Rows-".h($D)."'></span>".checkbox("data[]",$D,$Ua)."</label>\n";$Zf[$Yf]++;}echo$xi;if($yh)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":"").">".lang(26)."</label>",script("qs('#check-databases').onclick = partial(formCheck, /^databases\\[/);",""),"</thead>\n";$i=adminer()->databases();if($i){foreach($i
as$j){if(!information_schema($j)){$Yf=preg_replace('~_.*~','',$j);echo"<tr><td>".checkbox("databases[]",$j,$a==""||$a=="$Yf%",$j,"","block")."\n";$Zf[$Yf]++;}}}else
echo"<tr><td><textarea name='databases' rows='10' cols='20'></textarea>";}echo'</table>
</form>
';$Nc=true;foreach($Zf
as$y=>$X){if($y!=""&&$X>1){echo($Nc?"<p>":" ")."<a href='".h(ME)."dump=".urlencode("$y%")."'>".h($y)."</a>";$Nc=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(61));echo'<p class="links"><a href="'.h(ME).'user=">'.lang(145)."</a>";$J=connection()->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$dd=$J;if(!$J)$J=connection()->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_hidden("db",DB),($dd?"":input_hidden("grant")),"<table class='odds'>\n","<thead><tr><th>".lang(24)."<th>".lang(23)."<th></thead>\n";while($L=$J->fetch_assoc())echo'<tr><td>'.h($L["User"])."<td>".h($L["Host"]).'<td><a href="'.h(ME.'user='.urlencode($L["User"]).'&host='.urlencode($L["Host"])).'">'.lang(10)."</a>\n";if(!$dd||DB!="")echo"<tr><td><input name='user' autocapitalize='off'><td><input name='host' value='localhost' autocapitalize='off'><td><input type='submit' value='".lang(10)."'>\n";echo"</table>\n","</form>\n";}elseif(isset($_GET["sql"])){if(!$l&&$_POST["export"]){save_settings(array("output"=>$_POST["output"],"format"=>$_POST["format"]),"adminer_import");dump_headers("sql");adminer()->dumpTable("","");adminer()->dumpData("","table",$_POST["query"]);adminer()->dumpFooter();exit;}restart_session();$sd=&get_session("queries");$rd=&$sd[DB];if(!$l&&$_POST["clear"]){$rd=array();redirect(remove_from_uri("history"));}stop_session();page_header((isset($_GET["import"])?lang(62):lang(54)),$l);$ne='--'.(JUSH=='sql'?' ':'');if(!$l&&$_POST){$q=false;if(!isset($_GET["import"]))$I=$_POST["query"];elseif($_POST["webfile"]){$ch=adminer()->importServerPath();$q=@fopen((file_exists($ch)?$ch:"compress.zlib://$ch.gz"),"rb");$I=($q?fread($q,1e6):false);}else$I=get_file("sql_file",true,";");if(is_string($I)){if(function_exists('memory_get_usage')&&($Ce=ini_bytes("memory_limit"))!="-1")@ini_set("memory_limit",max($Ce,strval(2*strlen($I)+memory_get_usage()+8e6)));if($I!=""&&strlen($I)<1e6){$H=$I.(preg_match("~;[ \t\r\n]*\$~",$I)?"":";");if(!$rd||first(end($rd))!=$H){restart_session();$rd[]=array($H,time());set_session("queries",$sd);stop_session();}}$ah="(?:\\s|/\\*[\s\S]*?\\*/|(?:#|$ne)[^\n]*\n?|--\r?\n)";$Mb=";";$af=0;$kc=true;$g=connect();if($g&&DB!=""){$g->select_db(DB);if($_GET["ns"]!="")set_schema($_GET["ns"],$g);}$gb=0;$sc=array();$Ff='[\'"'.(JUSH=="sql"?'`#':(JUSH=="sqlite"?'`[':(JUSH=="mssql"?'[':''))).']|/\*|'.$ne.'|$'.(JUSH=="pgsql"?'|\$[^$]*\$':'');$Rh=microtime(true);$ja=get_settings("adminer_import");$bc=adminer()->dumpFormat();unset($bc["sql"]);while($I!=""){if(!$af&&preg_match("~^$ah*+DELIMITER\\s+(\\S+)~i",$I,$B)){$Mb=preg_quote($B[1]);$I=substr($I,strlen($B[0]));}elseif(!$af&&JUSH=='pgsql'&&preg_match("~^($ah*+COPY\\s+)[^;]+\\s+FROM\\s+stdin;~i",$I,$B)){$Mb="\n\\\\\\.\r?\n";$af=strlen($B[0]);}else{preg_match("($Mb\\s*|$Ff)",$I,$B,PREG_OFFSET_CAPTURE,$af);list($Wc,$Tf)=$B[0];if(!$Wc&&$q&&!feof($q))$I
.=fread($q,1e5);else{if(!$Wc&&rtrim($I)=="")break;$af=$Tf+strlen($Wc);if($Wc&&!preg_match("(^$Mb)",$Wc)){$Na=driver()->hasCStyleEscapes()||(JUSH=="pgsql"&&($Tf>0&&strtolower($I[$Tf-1])=="e"));$Mf=($Wc=='/*'?'\*/':($Wc=='['?']':(preg_match("~^$ne|^#~",$Wc)?"\n":preg_quote($Wc).($Na?'|\\\\.':''))));while(preg_match("($Mf|\$)s",$I,$B,PREG_OFFSET_CAPTURE,$af)){$N=$B[0][0];if(!$N&&$q&&!feof($q))$I
.=fread($q,1e5);else{$af=$B[0][1]+strlen($N);if(!$N||$N[0]!="\\")break;}}}else{$kc=false;$H=substr($I,0,$Tf+($Mb[0]=="\n"?3:0));$gb++;$bg="<pre id='sql-$gb'><code class='jush-".JUSH."'>".adminer()->sqlCommandQuery($H)."</code></pre>\n";if(JUSH=="sqlite"&&preg_match("~^$ah*+ATTACH\\b~i",$H,$B)){echo$bg,"<p class='error'>".lang(146)."\n";$sc[]=" <a href='#sql-$gb'>$gb</a>";if($_POST["error_stops"])break;}else{if(!$_POST["only_errors"]){echo$bg;ob_flush();flush();}$gh=microtime(true);if(connection()->multi_query($H)&&$g&&preg_match("~^$ah*+USE\\b~i",$H))$g->query($H);do{$J=connection()->store_result();if(connection()->error){echo($_POST["only_errors"]?$bg:""),"<p class='error'>".lang(147).(connection()->errno?" (".connection()->errno.")":"").": ".error()."\n";$sc[]=" <a href='#sql-$gb'>$gb</a>";if($_POST["error_stops"])break
2;}else{$Gh=" <span class='time'>(".format_time($gh).")</span>".(strlen($H)<1000?" <a href='".h(ME)."sql=".urlencode(trim($H))."'>".lang(10)."</a>":"");$la=connection()->affected_rows;$_i=($_POST["only_errors"]?"":driver()->warnings());$Ai="warnings-$gb";if($_i)$Gh
.=", <a href='#$Ai'>".lang(35)."</a>".script("qsl('a').onclick = partial(toggle, '$Ai');","");$_c=null;$tf=null;$Ac="explain-$gb";if(is_object($J)){$z=$_POST["limit"];$tf=print_select_result($J,$g,array(),$z);if(!$_POST["only_errors"]){echo"<form action='' method='post'>\n";$Ye=$J->num_rows;echo"<p class='sql-footer'>".($Ye?($z&&$Ye>$z?lang(148,$z):"").lang(149,$Ye):""),$Gh;if($g&&preg_match("~^($ah|\\()*+SELECT\\b~i",$H)&&($_c=explain($g,$H)))echo", <a href='#$Ac'>Explain</a>".script("qsl('a').onclick = partial(toggle, '$Ac');","");$u="export-$gb";echo", <a href='#$u'>".lang(63)."</a>".script("qsl('a').onclick = partial(toggle, '$u');","")."<span id='$u' class='hidden'>: ".html_select("output",adminer()->dumpOutput(),$ja["output"])." ".html_select("format",$bc,$ja["format"]).input_hidden("query",$H)."<input type='submit' name='export' value='".lang(63)."'>".input_token()."</span>\n"."</form>\n";}}else{if(preg_match("~^$ah*+(CREATE|DROP|ALTER)$ah++(DATABASE|SCHEMA)\\b~i",$H)){restart_session();set_session("dbs",null);stop_session();}if(!$_POST["only_errors"])echo"<p class='message' title='".h(connection()->info)."'>".lang(150,$la)."$Gh\n";}echo($_i?"<div id='$Ai' class='hidden'>\n$_i</div>\n":"");if($_c){echo"<div id='$Ac' class='hidden explain'>\n";print_select_result($_c,$g,$tf);echo"</div>\n";}}$gh=microtime(true);}while(connection()->next_result());}$I=substr($I,$af);$af=0;}}}}if($kc)echo"<p class='message'>".lang(151)."\n";elseif($_POST["only_errors"])echo"<p class='message'>".lang(152,$gb-count($sc))," <span class='time'>(".format_time($Rh).")</span>\n";elseif($sc&&$gb>1)echo"<p class='error'>".lang(147).": ".implode("",$sc)."\n";}else
echo"<p class='error'>".upload_error($I)."\n";}echo'
<form action="" method="post" enctype="multipart/form-data" id="form">
';$yc="<input type='submit' value='".lang(153)."' title='Ctrl+Enter'>";if(!isset($_GET["import"])){$H=$_GET["sql"];if($_POST)$H=$_POST["query"];elseif($_GET["history"]=="all")$H=$rd;elseif($_GET["history"]!="")$H=idx($rd[$_GET["history"]],0);echo"<p>";textarea("query",$H,20);echo
script(($_POST?"":"qs('textarea').focus();\n")."qs('#form').onsubmit = partial(sqlSubmit, qs('#form'), '".js_escape(remove_from_uri("sql|limit|error_stops|only_errors|history"))."');"),"<p>";adminer()->sqlPrintAfter();echo"$yc\n",lang(154).": <input type='number' name='limit' class='size' value='".h($_POST?$_POST["limit"]:$_GET["limit"])."'>\n";}else{echo"<fieldset><legend>".lang(155)."</legend><div>";$id=(extension_loaded("zlib")?"[.gz]":"");echo(ini_bool("file_uploads")?"SQL$id (&lt; ".ini_get("upload_max_filesize")."B): <input type='file' name='sql_file[]' multiple>\n$yc":lang(156)),"</div></fieldset>\n";$Ad=adminer()->importServerPath();if($Ad)echo"<fieldset><legend>".lang(157)."</legend><div>",lang(158,"<code>".h($Ad)."$id</code>"),' <input type="submit" name="webfile" value="'.lang(159).'">',"</div></fieldset>\n";echo"<p>";}echo
checkbox("error_stops",1,($_POST?$_POST["error_stops"]:isset($_GET["import"])||$_GET["error_stops"]),lang(160))."\n",checkbox("only_errors",1,($_POST?$_POST["only_errors"]:isset($_GET["import"])||$_GET["only_errors"]),lang(161))."\n",input_token();if(!isset($_GET["import"])&&$rd){print_fieldset("history",lang(162),$_GET["history"]!="");for($X=end($rd);$X;$X=prev($rd)){$y=key($rd);list($H,$Gh,$fc)=$X;echo'<a href="'.h(ME."sql=&history=$y").'">'.lang(10)."</a>"." <span class='time' title='".@date('Y-m-d',$Gh)."'>".@date("H:i:s",$Gh)."</span>"." <code class='jush-".JUSH."'>".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace("~^(#|$ne).*~m",'',$H)))),80,"</code>").($fc?" <span class='time'>($fc)</span>":"")."<br>\n";}echo"<input type='submit' name='clear' value='".lang(163)."'>\n","<a href='".h(ME."sql=&history=all")."'>".lang(164)."</a>\n","</div></fieldset>\n";}echo'</form>
';}elseif(isset($_GET["edit"])){$a=$_GET["edit"];$n=fields($a);$Z=(isset($_GET["select"])?($_POST["check"]&&count($_POST["check"])==1?where_check($_POST["check"][0],$n):""):where($_GET,$n));$ji=(isset($_GET["select"])?$_POST["edit"]:$Z);foreach($n
as$D=>$m){if(!isset($m["privileges"][$ji?"update":"insert"])||adminer()->fieldName($m)==""||$m["generated"])unset($n[$D]);}if($_POST&&!$l&&!isset($_GET["select"])){$A=$_POST["referer"];if($_POST["insert"])$A=($ji?null:$_SERVER["REQUEST_URI"]);elseif(!preg_match('~^.+&select=.+$~',$A))$A=ME."select=".urlencode($a);$x=indexes($a);$ei=unique_array($_GET["where"],$x);$kg="\nWHERE $Z";if(isset($_POST["delete"]))queries_redirect($A,lang(165),driver()->delete($a,$kg,$ei?0:1));else{$Q=array();foreach($n
as$D=>$m){$X=process_input($m);if($X!==false&&$X!==null)$Q[idf_escape($D)]=$X;}if($ji){if(!$Q)redirect($A);queries_redirect($A,lang(166),driver()->update($a,$Q,$kg,$ei?0:1));if(is_ajax()){page_headers();page_messages($l);exit;}}else{$J=driver()->insert($a,$Q);$fe=($J?last_id($J):0);queries_redirect($A,lang(167,($fe?" $fe":"")),$J);}}}$L=null;if($_POST["save"])$L=(array)$_POST["fields"];elseif($Z){$O=array();foreach($n
as$D=>$m){if(isset($m["privileges"]["select"])){$ua=($_POST["clone"]&&$m["auto_increment"]?"''":convert_field($m));$O[]=($ua?"$ua AS ":"").idf_escape($D);}}$L=array();if(!support("table"))$O=array("*");if($O){$J=driver()->select($a,$O,array($Z),$O,array(),(isset($_GET["select"])?2:1));if(!$J)$l=error();else{$L=$J->fetch_assoc();if(!$L)$L=false;}if(isset($_GET["select"])&&(!$L||$J->fetch_assoc()))$L=null;}}if(!support("table")&&!$n){if(!$Z){$J=driver()->select($a,array("*"),array(),array("*"));$L=($J?$J->fetch_assoc():false);if(!$L)$L=array(driver()->primary=>"");}if($L){foreach($L
as$y=>$X){if(!$Z)$L[$y]=null;$n[$y]=array("field"=>$y,"null"=>($y!=driver()->primary),"auto_increment"=>($y==driver()->primary));}}}edit_form($a,$n,$L,$ji,$l);}elseif(isset($_GET["create"])){$a=$_GET["create"];$Gf=array();foreach(array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST')as$y)$Gf[$y]=$y;$qg=referencable_primary($a);$Uc=array();foreach($qg
as$th=>$m)$Uc[str_replace("`","``",$th)."`".str_replace("`","``",$m["field"])]=$th;$wf=array();$S=array();if($a!=""){$wf=fields($a);$S=table_status1($a);if(count($S)<2)$l=lang(9);}$L=$_POST;$L["fields"]=(array)$L["fields"];if($L["auto_increment_col"])$L["fields"][$L["auto_increment_col"]]["auto_increment"]=true;if($_POST)save_settings(array("comments"=>$_POST["comments"],"defaults"=>$_POST["defaults"]));if($_POST&&!process_fields($L["fields"])&&!$l){if($_POST["drop"])queries_redirect(substr(ME,0,-1),lang(168),drop_tables(array($a)));else{$n=array();$pa=array();$ni=false;$Sc=array();$vf=reset($wf);$na=" FIRST";foreach($L["fields"]as$y=>$m){$p=$Uc[$m["type"]];$Zh=($p!==null?$qg[$p]:$m);if($m["field"]!=""){if(!$m["generated"])$m["default"]=null;$gg=process_field($m,$Zh);$pa[]=array($m["orig"],$gg,$na);if(!$vf||$gg!==process_field($vf,$vf)){$n[]=array($m["orig"],$gg,$na);if($m["orig"]!=""||$na)$ni=true;}if($p!==null)$Sc[idf_escape($m["field"])]=($a!=""&&JUSH!="sqlite"?"ADD":" ").format_foreign_key(array('table'=>$Uc[$m["type"]],'source'=>array($m["field"]),'target'=>array($Zh["field"]),'on_delete'=>$m["on_delete"],));$na=" AFTER ".idf_escape($m["field"]);}elseif($m["orig"]!=""){$ni=true;$n[]=array($m["orig"]);}if($m["orig"]!=""){$vf=next($wf);if(!$vf)$na="";}}$If="";if(support("partitioning")){if(isset($Gf[$L["partition_by"]])){$Ef=array();foreach($L
as$y=>$X){if(preg_match('~^partition~',$y))$Ef[$y]=$X;}foreach($Ef["partition_names"]as$y=>$D){if($D==""){unset($Ef["partition_names"][$y]);unset($Ef["partition_values"][$y]);}}if($Ef!=get_partitions_info($a)){$Jf=array();if($Ef["partition_by"]=='RANGE'||$Ef["partition_by"]=='LIST'){foreach($Ef["partition_names"]as$y=>$D){$Y=$Ef["partition_values"][$y];$Jf[]="\n  PARTITION ".idf_escape($D)." VALUES ".($Ef["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$If
.="\nPARTITION BY $Ef[partition_by]($Ef[partition])";if($Jf)$If
.=" (".implode(",",$Jf)."\n)";elseif($Ef["partitions"])$If
.=" PARTITIONS ".(+$Ef["partitions"]);}}elseif(preg_match("~partitioned~",$S["Create_options"]))$If
.="\nREMOVE PARTITIONING";}$C=lang(169);if($a==""){cookie("adminer_engine",$L["Engine"]);$C=lang(170);}$D=trim($L["name"]);queries_redirect(ME.(support("table")?"table=":"select=").urlencode($D),$C,alter_table($a,$D,(JUSH=="sqlite"&&($ni||$Sc)?$pa:$n),$Sc,($L["Comment"]!=$S["Comment"]?$L["Comment"]:null),($L["Engine"]&&$L["Engine"]!=$S["Engine"]?$L["Engine"]:""),($L["Collation"]&&$L["Collation"]!=$S["Collation"]?$L["Collation"]:""),($L["Auto_increment"]!=""?number($L["Auto_increment"]):""),$If));}}page_header(($a!=""?lang(33):lang(64)),$l,array("table"=>$a),h($a));if(!$_POST){$bi=driver()->types();$L=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($bi["int"])?"int":(isset($bi["integer"])?"integer":"")),"on_update"=>"")),"partition_names"=>array(""),);if($a!=""){$L=$S;$L["name"]=$a;$L["fields"]=array();if(!$_GET["auto_increment"])$L["Auto_increment"]="";foreach($wf
as$m){$m["generated"]=$m["generated"]?:(isset($m["default"])?"DEFAULT":"");$L["fields"][]=$m;}if(support("partitioning")){$L+=get_partitions_info($a);$L["partition_names"][]="";$L["partition_values"][]="";}}}$b=collations();if(is_array(reset($b)))$b=call_user_func_array('array_merge',array_values($b));$mc=driver()->engines();foreach($mc
as$lc){if(!strcasecmp($lc,$L["Engine"])){$L["Engine"]=$lc;break;}}echo'
<form action="" method="post" id="form">
<p>
';if(support("columns")||$a==""){echo
lang(171).": <input name='name'".($a==""&&!$_POST?" autofocus":"")." data-maxlength='64' value='".h($L["name"])."' autocapitalize='off'>\n",($mc?html_select("Engine",array(""=>"(".lang(172).")")+$mc,$L["Engine"]).on_help("event.target.value",1).script("qsl('select').onchange = helpClose;")."\n":"");if($b)echo"<datalist id='collations'>".optionlist($b)."</datalist>\n",(preg_match("~sqlite|mssql~",JUSH)?"":"<input list='collations' name='Collation' value='".h($L["Collation"])."' placeholder='(".lang(97).")'>\n");echo"<input type='submit' value='".lang(14)."'>\n";}if(support("columns")){echo"<div class='scrollable'>\n","<table id='edit-fields' class='nowrap'>\n";edit_fields($L["fields"],$b,"TABLE",$Uc);echo"</table>\n",script("editFields();"),"</div>\n<p>\n",lang(41).": <input type='number' name='Auto_increment' class='size' value='".h($L["Auto_increment"])."'>\n",checkbox("defaults",1,($_POST?$_POST["defaults"]:get_setting("defaults")),lang(173),"columnShow(this.checked, 5)","jsonly");$jb=($_POST?$_POST["comments"]:get_setting("comments"));echo(support("comment")?checkbox("comments",1,$jb,lang(39),"editingCommentsClick(this, true);","jsonly").' '.(preg_match('~\n~',$L["Comment"])?"<textarea name='Comment' rows='2' cols='20'".($jb?"":" class='hidden'").">".h($L["Comment"])."</textarea>":'<input name="Comment" value="'.h($L["Comment"]).'" data-maxlength="'.(min_version(5.5)?2048:60).'"'.($jb?"":" class='hidden'").'>'):''),'<p>
<input type="submit" value="',lang(14),'">
';}echo'
';if($a!="")echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(174,$a));if(support("partitioning")){$Hf=preg_match('~RANGE|LIST~',$L["partition_by"]);print_fieldset("partition",lang(175),$L["partition_by"]);echo"<p>".html_select("partition_by",array(""=>"")+$Gf,$L["partition_by"]).on_help("event.target.value.replace(/./, 'PARTITION BY \$&')",1).script("qsl('select').onchange = partitionByChange;"),"(<input name='partition' value='".h($L["partition"])."'>)\n",lang(176).": <input type='number' name='partitions' class='size".($Hf||!$L["partition_by"]?" hidden":"")."' value='".h($L["partitions"])."'>\n","<table id='partition-table'".($Hf?"":" class='hidden'").">\n","<thead><tr><th>".lang(177)."<th>".lang(178)."</thead>\n";foreach($L["partition_names"]as$y=>$X)echo'<tr>','<td><input name="partition_names[]" value="'.h($X).'" autocapitalize="off">',($y==count($L["partition_names"])-1?script("qsl('input').oninput = partitionNameChange;"):''),'<td><input name="partition_values[]" value="'.h(idx($L["partition_values"],$y)).'">';echo"</table>\n</div></fieldset>\n";}echo
input_token(),'</form>
';}elseif(isset($_GET["indexes"])){$a=$_GET["indexes"];$Ed=array("PRIMARY","UNIQUE","INDEX");$S=table_status1($a,true);if(preg_match('~MyISAM|M?aria'.(min_version(5.6,'10.0.5')?'|InnoDB':'').'~i',$S["Engine"]))$Ed[]="FULLTEXT";if(preg_match('~MyISAM|M?aria'.(min_version(5.7,'10.2.2')?'|InnoDB':'').'~i',$S["Engine"]))$Ed[]="SPATIAL";$x=indexes($a);$ag=array();if(JUSH=="mongo"){$ag=$x["_id_"];unset($Ed[0]);unset($x["_id_"]);}$L=$_POST;if($L)save_settings(array("index_options"=>$L["options"]));if($_POST&&!$l&&!$_POST["add"]&&!$_POST["drop_col"]){$qa=array();foreach($L["indexes"]as$w){$D=$w["name"];if(in_array($w["type"],$Ed)){$d=array();$le=array();$Pb=array();$Q=array();ksort($w["columns"]);foreach($w["columns"]as$y=>$c){if($c!=""){$ke=idx($w["lengths"],$y);$Nb=idx($w["descs"],$y);$Q[]=idf_escape($c).($ke?"(".(+$ke).")":"").($Nb?" DESC":"");$d[]=$c;$le[]=($ke?:null);$Pb[]=$Nb;}}$zc=$x[$D];if($zc){ksort($zc["columns"]);ksort($zc["lengths"]);ksort($zc["descs"]);if($w["type"]==$zc["type"]&&array_values($zc["columns"])===$d&&(!$zc["lengths"]||array_values($zc["lengths"])===$le)&&array_values($zc["descs"])===$Pb){unset($x[$D]);continue;}}if($d)$qa[]=array($w["type"],$D,$Q);}}foreach($x
as$D=>$zc)$qa[]=array($zc["type"],$D,"DROP");if(!$qa)redirect(ME."table=".urlencode($a));queries_redirect(ME."table=".urlencode($a),lang(179),alter_indexes($a,$qa));}page_header(lang(129),$l,array("table"=>$a),h($a));$n=array_keys(fields($a));if($_POST["add"]){foreach($L["indexes"]as$y=>$w){if($w["columns"][count($w["columns"])]!="")$L["indexes"][$y]["columns"][]="";}$w=end($L["indexes"]);if($w["type"]||array_filter($w["columns"],'strlen'))$L["indexes"][]=array("columns"=>array(1=>""));}if(!$L){foreach($x
as$y=>$w){$x[$y]["name"]=$y;$x[$y]["columns"][]="";}$x[]=array("columns"=>array(1=>""));$L["indexes"]=$x;}$le=(JUSH=="sql"||JUSH=="mssql");$Ug=($_POST?$_POST["options"]:get_setting("index_options"));echo'
<form action="" method="post">
<div class="scrollable">
<table class="nowrap">
<thead><tr>
<th id="label-type">',lang(180),'<th><input type="submit" class="wayoff">',lang(181).($le?"<span class='idxopts".($Ug?"":" hidden")."'> (".lang(182).")</span>":"");if($le||support("descidx"))echo
checkbox("options",1,$Ug,lang(103),"indexOptionsShow(this.checked)","jsonly")."\n";echo'<th id="label-name">',lang(183),'<th><noscript>',icon("plus","add[0]","+",lang(104)),'</noscript>
</thead>
';if($ag){echo"<tr><td>PRIMARY<td>";foreach($ag["columns"]as$y=>$c)echo
select_input(" disabled",$n,$c),"<label><input disabled type='checkbox'>".lang(49)."</label> ";echo"<td><td>\n";}$Ud=1;foreach($L["indexes"]as$w){if(!$_POST["drop_col"]||$Ud!=key($_POST["drop_col"])){echo"<tr><td>".html_select("indexes[$Ud][type]",array(-1=>"")+$Ed,$w["type"],($Ud==count($L["indexes"])?"indexesAddRow.call(this);":""),"label-type"),"<td>";ksort($w["columns"]);$t=1;foreach($w["columns"]as$y=>$c){echo"<span>".select_input(" name='indexes[$Ud][columns][$t]' title='".lang(37)."'",($n?array_combine($n,$n):$n),$c,"partial(".($t==count($w["columns"])?"indexesAddColumn":"indexesChangeColumn").", '".js_escape(JUSH=="sql"?"":$_GET["indexes"]."_")."')"),"<span class='idxopts".($Ug?"":" hidden")."'>",($le?"<input type='number' name='indexes[$Ud][lengths][$t]' class='size' value='".h(idx($w["lengths"],$y))."' title='".lang(102)."'>":""),(support("descidx")?checkbox("indexes[$Ud][descs][$t]",1,idx($w["descs"],$y),lang(49)):""),"</span> </span>";$t++;}echo"<td><input name='indexes[$Ud][name]' value='".h($w["name"])."' autocapitalize='off' aria-labelledby='label-name'>\n","<td>".icon("cross","drop_col[$Ud]","x",lang(107)).script("qsl('button').onclick = partial(editingRemoveRow, 'indexes\$1[type]');");}$Ud++;}echo'</table>
</div>
<p>
<input type="submit" value="',lang(14),'">
',input_token(),'</form>
';}elseif(isset($_GET["database"])){$L=$_POST;if($_POST&&!$l&&!$_POST["add"]){$D=trim($L["name"]);if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(184),drop_databases(array(DB)));}elseif(DB!==$D){if(DB!=""){$_GET["db"]=$D;queries_redirect(preg_replace('~\bdb=[^&]*&~','',ME)."db=".urlencode($D),lang(185),rename_database($D,$L["collation"]));}else{$i=explode("\n",str_replace("\r","",$D));$nh=true;$ee="";foreach($i
as$j){if(count($i)==1||$j!=""){if(!create_database($j,$L["collation"]))$nh=false;$ee=$j;}}restart_session();set_session("dbs",null);queries_redirect(ME."db=".urlencode($ee),lang(186),$nh);}}else{if(!$L["collation"])redirect(substr(ME,0,-1));query_redirect("ALTER DATABASE ".idf_escape($D).(preg_match('~^[a-z0-9_]+$~i',$L["collation"])?" COLLATE $L[collation]":""),substr(ME,0,-1),lang(187));}}page_header(DB!=""?lang(57):lang(111),$l,array(),h(DB));$b=collations();$D=DB;if($_POST)$D=$L["name"];elseif(DB!="")$L["collation"]=db_collation(DB,$b);elseif(JUSH=="sql"){foreach(get_vals("SHOW GRANTS")as$dd){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\.\*)?~',$dd,$B)&&$B[1]){$D=stripcslashes(idf_unescape("`$B[2]`"));break;}}}echo'
<form action="" method="post">
<p>
',($_POST["add"]||strpos($D,"\n")?'<textarea autofocus name="name" rows="10" cols="40">'.h($D).'</textarea><br>':'<input name="name" autofocus value="'.h($D).'" data-maxlength="64" autocapitalize="off">')."\n".($b?html_select("collation",array(""=>"(".lang(97).")")+$b,$L["collation"]).doc_link(array('sql'=>"charset-charsets.html",'mariadb'=>"supported-character-sets-and-collations/",)):""),'<input type="submit" value="',lang(14),'">
';if(DB!="")echo"<input type='submit' name='drop' value='".lang(123)."'>".confirm(lang(174,DB))."\n";elseif(!$_POST["add"]&&$_GET["db"]=="")echo
icon("plus","add[0]","+",lang(104))."\n";echo
input_token(),'</form>
';}elseif(isset($_GET["call"])){$ca=($_GET["name"]?:$_GET["call"]);page_header(lang(188).": ".h($ca),$l);$Bg=routine($_GET["call"],(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$Bd=array();$_f=array();foreach($Bg["fields"]as$t=>$m){if(substr($m["inout"],-3)=="OUT")$_f[$t]="@".idf_escape($m["field"])." AS ".idf_escape($m["field"]);if(!$m["inout"]||substr($m["inout"],0,2)=="IN")$Bd[]=$t;}if(!$l&&$_POST){$Oa=array();foreach($Bg["fields"]as$y=>$m){$X="";if(in_array($y,$Bd)){$X=process_input($m);if($X===false)$X="''";if(isset($_f[$y]))connection()->query("SET @".idf_escape($m["field"])." = $X");}$Oa[]=(isset($_f[$y])?"@".idf_escape($m["field"]):$X);}$I=(isset($_GET["callf"])?"SELECT":"CALL")." ".table($ca)."(".implode(", ",$Oa).")";$gh=microtime(true);$J=connection()->multi_query($I);$la=connection()->affected_rows;echo
adminer()->selectQuery($I,$gh,!$J);if(!$J)echo"<p class='error'>".error()."\n";else{$g=connect();if($g)$g->select_db(DB);do{$J=connection()->store_result();if(is_object($J))print_select_result($J,$g);else
echo"<p class='message'>".lang(189,$la)." <span class='time'>".@date("H:i:s")."</span>\n";}while(connection()->next_result());if($_f)print_select_result(connection()->query("SELECT ".implode(", ",$_f)));}}echo'
<form action="" method="post">
';if($Bd){echo"<table class='layout'>\n";foreach($Bd
as$y){$m=$Bg["fields"][$y];$D=$m["field"];echo"<tr><th>".adminer()->fieldName($m);$Y=idx($_POST["fields"],$D);if($Y!=""){if($m["type"]=="set")$Y=implode(",",$Y);}input($m,$Y,idx($_POST["function"],$D,""));echo"\n";}echo"</table>\n";}echo'<p>
<input type="submit" value="',lang(188),'">
',input_token(),'</form>

<pre>
';function
pre_tr($N){return
preg_replace('~^~m','<tr>',preg_replace('~\|~','<td>',preg_replace('~\|$~m',"",rtrim($N))));}$R='(\+--[-+]+\+\n)';$L='(\| .* \|\n)';echo
preg_replace_callback("~^$R?$L$R?($L*)$R?~m",function($B){$Oc=pre_tr($B[2]);return"<table>\n".($B[1]?"<thead>$Oc</thead>\n":$Oc).pre_tr($B[4])."\n</table>";},preg_replace('~(\n(    -|mysql)&gt; )(.+)~',"\\1<code class='jush-sql'>\\3</code>",preg_replace('~(.+)\n---+\n~',"<b>\\1</b>\n",h($Bg['comment']))));echo'</pre>
';}elseif(isset($_GET["foreign"])){$a=$_GET["foreign"];$D=$_GET["name"];$L=$_POST;if($_POST&&!$l&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){if(!$_POST["drop"]){$L["source"]=array_filter($L["source"],'strlen');ksort($L["source"]);$Ah=array();foreach($L["source"]as$y=>$X)$Ah[$y]=$L["target"][$y];$L["target"]=$Ah;}if(JUSH=="sqlite")$J=recreate_table($a,$a,array(),array(),array(" $D"=>($L["drop"]?"":" ".format_foreign_key($L))));else{$qa="ALTER TABLE ".table($a);$J=($D==""||queries("$qa DROP ".(JUSH=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($D)));if(!$L["drop"])$J=queries("$qa ADD".format_foreign_key($L));}queries_redirect(ME."table=".urlencode($a),($L["drop"]?lang(190):($D!=""?lang(191):lang(192))),$J);if(!$L["drop"])$l=lang(193);}page_header(lang(194),$l,array("table"=>$a),h($a));if($_POST){ksort($L["source"]);if($_POST["add"])$L["source"][]="";elseif($_POST["change"]||$_POST["change-js"])$L["target"]=array();}elseif($D!=""){$Uc=foreign_keys($a);$L=$Uc[$D];$L["source"][]="";}else{$L["table"]=$a;$L["source"]=array("");}echo'
<form action="" method="post">
';$Zg=array_keys(fields($a));if($L["db"]!="")connection()->select_db($L["db"]);if($L["ns"]!=""){$xf=get_schema();set_schema($L["ns"]);}$pg=array_keys(array_filter(table_status('',true),'Adminer\fk_support'));$Ah=array_keys(fields(in_array($L["table"],$pg)?$L["table"]:reset($pg)));$if="this.form['change-js'].value = '1'; this.form.submit();";echo"<p><label>".lang(195).": ".html_select("table",$pg,$L["table"],$if)."</label>\n";if(JUSH!="sqlite"){$Gb=array();foreach(adminer()->databases()as$j){if(!information_schema($j))$Gb[]=$j;}echo"<label>".lang(65).": ".html_select("db",$Gb,$L["db"]!=""?$L["db"]:$_GET["db"],$if)."</label>";}echo
input_hidden("change-js"),'<noscript><p><input type="submit" name="change" value="',lang(196),'"></noscript>
<table>
<thead><tr><th id="label-source">',lang(131),'<th id="label-target">',lang(132),'</thead>
';$Ud=0;foreach($L["source"]as$y=>$X){echo"<tr>","<td>".html_select("source[".(+$y)."]",array(-1=>"")+$Zg,$X,($Ud==count($L["source"])-1?"foreignAddRow.call(this);":""),"label-source"),"<td>".html_select("target[".(+$y)."]",$Ah,idx($L["target"],$y),"","label-target");$Ud++;}echo'</table>
<p>
<label>',lang(99),': ',html_select("on_delete",array(-1=>"")+explode("|",driver()->onActions),$L["on_delete"]),'</label>
<label>',lang(98),': ',html_select("on_update",array(-1=>"")+explode("|",driver()->onActions),$L["on_update"]),'</label>
',doc_link(array('sql'=>"innodb-foreign-key-constraints.html",'mariadb'=>"foreign-keys/",)),'<p>
<input type="submit" value="',lang(14),'">
<noscript><p><input type="submit" name="add" value="',lang(197),'"></noscript>
';if($D!="")echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(174,$D));echo
input_token(),'</form>
';}elseif(isset($_GET["view"])){$a=$_GET["view"];$L=$_POST;$yf="VIEW";if(JUSH=="pgsql"&&$a!=""){$hh=table_status1($a);$yf=strtoupper($hh["Engine"]);}if($_POST&&!$l){$D=trim($L["name"]);$ua=" AS\n$L[select]";$A=ME."table=".urlencode($D);$C=lang(198);$U=($_POST["materialized"]?"MATERIALIZED VIEW":"VIEW");if(!$_POST["drop"]&&$a==$D&&JUSH!="sqlite"&&$U=="VIEW"&&$yf=="VIEW")query_redirect((JUSH=="mssql"?"ALTER":"CREATE OR REPLACE")." VIEW ".table($D).$ua,$A,$C);else{$Ch=$D."_adminer_".uniqid();drop_create("DROP $yf ".table($a),"CREATE $U ".table($D).$ua,"DROP $U ".table($D),"CREATE $U ".table($Ch).$ua,"DROP $U ".table($Ch),($_POST["drop"]?substr(ME,0,-1):$A),lang(199),$C,lang(200),$a,$D);}}if(!$_POST&&$a!=""){$L=view($a);$L["name"]=$a;$L["materialized"]=($yf!="VIEW");if(!$l)$l=error();}page_header(($a!=""?lang(32):lang(201)),$l,array("table"=>$a),h($a));echo'
<form action="" method="post">
<p>',lang(183),': <input name="name" value="',h($L["name"]),'" data-maxlength="64" autocapitalize="off">
',(support("materializedview")?" ".checkbox("materialized",1,$L["materialized"],lang(126)):""),'<p>';textarea("select",$L["select"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($a!="")echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(174,$a));echo
input_token(),'</form>
';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$Md=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$ih=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");$L=$_POST;if($_POST&&!$l){if($_POST["drop"])query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),lang(202));elseif(in_array($L["INTERVAL_FIELD"],$Md)&&isset($ih[$L["STATUS"]])){$Eg="\nON SCHEDULE ".($L["INTERVAL_VALUE"]?"EVERY ".q($L["INTERVAL_VALUE"])." $L[INTERVAL_FIELD]".($L["STARTS"]?" STARTS ".q($L["STARTS"]):"").($L["ENDS"]?" ENDS ".q($L["ENDS"]):""):"AT ".q($L["STARTS"]))." ON COMPLETION".($L["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($aa!=""?lang(203):lang(204)),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$Eg.($aa!=$L["EVENT_NAME"]?"\nRENAME TO ".idf_escape($L["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($L["EVENT_NAME"]).$Eg)."\n".$ih[$L["STATUS"]]." COMMENT ".q($L["EVENT_COMMENT"]).rtrim(" DO\n$L[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?lang(205).": ".h($aa):lang(206)),$l);if(!$L&&$aa!=""){$M=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($aa));$L=reset($M);}echo'
<form action="" method="post">
<table class="layout">
<tr><th>',lang(183),'<td><input name="EVENT_NAME" value="',h($L["EVENT_NAME"]),'" data-maxlength="64" autocapitalize="off">
<tr><th title="datetime">',lang(207),'<td><input name="STARTS" value="',h("$L[EXECUTE_AT]$L[STARTS]"),'">
<tr><th title="datetime">',lang(208),'<td><input name="ENDS" value="',h($L["ENDS"]),'">
<tr><th>',lang(209),'<td><input type="number" name="INTERVAL_VALUE" value="',h($L["INTERVAL_VALUE"]),'" class="size"> ',html_select("INTERVAL_FIELD",$Md,$L["INTERVAL_FIELD"]),'<tr><th>',lang(114),'<td>',html_select("STATUS",$ih,$L["STATUS"]),'<tr><th>',lang(39),'<td><input name="EVENT_COMMENT" value="',h($L["EVENT_COMMENT"]),'" data-maxlength="64">
<tr><th><td>',checkbox("ON_COMPLETION","PRESERVE",$L["ON_COMPLETION"]=="PRESERVE",lang(210)),'</table>
<p>';textarea("EVENT_DEFINITION",$L["EVENT_DEFINITION"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($aa!="")echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(174,$aa));echo
input_token(),'</form>
';}elseif(isset($_GET["procedure"])){$ca=($_GET["name"]?:$_GET["procedure"]);$Bg=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$L=$_POST;$L["fields"]=(array)$L["fields"];if($_POST&&!process_fields($L["fields"])&&!$l){$uf=routine($_GET["procedure"],$Bg);$Ch="$L[name]_adminer_".uniqid();foreach($L["fields"]as$y=>$m){if($m["field"]=="")unset($L["fields"][$y]);}drop_create("DROP $Bg ".routine_id($ca,$uf),create_routine($Bg,$L),"DROP $Bg ".routine_id($L["name"],$L),create_routine($Bg,array("name"=>$Ch)+$L),"DROP $Bg ".routine_id($Ch,$L),substr(ME,0,-1),lang(211),lang(212),lang(213),$ca,$L["name"]);}page_header(($ca!=""?(isset($_GET["function"])?lang(214):lang(215)).": ".h($ca):(isset($_GET["function"])?lang(216):lang(217))),$l);if(!$_POST){if($ca=="")$L["language"]="sql";else{$L=routine($_GET["procedure"],$Bg);$L["name"]=$ca;}}$b=get_vals("SHOW CHARACTER SET");sort($b);$Cg=routine_languages();echo($b?"<datalist id='collations'>".optionlist($b)."</datalist>":""),'
<form action="" method="post" id="form">
<p>',lang(183),': <input name="name" value="',h($L["name"]),'" data-maxlength="64" autocapitalize="off">
',($Cg?"<label>".lang(19).": ".html_select("language",$Cg,$L["language"])."</label>\n":""),'<input type="submit" value="',lang(14),'">
<div class="scrollable">
<table class="nowrap">
';edit_fields($L["fields"],$b,$Bg);if(isset($_GET["function"])){echo"<tr><td>".lang(218);edit_type("returns",$L["returns"],$b,array(),(JUSH=="pgsql"?array("void","trigger"):array()));}echo'</table>
',script("editFields();"),'</div>
<p>';textarea("definition",$L["definition"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($ca!="")echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(174,$ca));echo
input_token(),'</form>
';}elseif(isset($_GET["check"])){$a=$_GET["check"];$D=$_GET["name"];$L=$_POST;if($L&&!$l){if(JUSH=="sqlite")$J=recreate_table($a,$a,array(),array(),array(),"",array(),"$D",($L["drop"]?"":$L["clause"]));else{$J=($D==""||queries("ALTER TABLE ".table($a)." DROP CONSTRAINT ".idf_escape($D)));if(!$L["drop"])$J=queries("ALTER TABLE ".table($a)." ADD".($L["name"]!=""?" CONSTRAINT ".idf_escape($L["name"]):"")." CHECK ($L[clause])");}queries_redirect(ME."table=".urlencode($a),($L["drop"]?lang(219):($D!=""?lang(220):lang(221))),$J);}page_header(($D!=""?lang(222).": ".h($D):lang(136)),$l,array("table"=>$a));if(!$L){$Va=driver()->checkConstraints($a);$L=array("name"=>$D,"clause"=>$Va[$D]);}echo'
<form action="" method="post">
<p>';if(JUSH!="sqlite")echo
lang(183).': <input name="name" value="'.h($L["name"]).'" data-maxlength="64" autocapitalize="off"> ';echo
doc_link(array('sql'=>"create-table-check-constraints.html",'mariadb'=>"constraint/",),"?"),'<p>';textarea("clause",$L["clause"]);echo'<p><input type="submit" value="',lang(14),'">
';if($D!="")echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(174,$D));echo
input_token(),'</form>
';}elseif(isset($_GET["trigger"])){$a=$_GET["trigger"];$D="$_GET[name]";$Xh=trigger_options();$L=(array)trigger($D,$a)+array("Trigger"=>$a."_bi");if($_POST){if(!$l&&in_array($_POST["Timing"],$Xh["Timing"])&&in_array($_POST["Event"],$Xh["Event"])&&in_array($_POST["Type"],$Xh["Type"])){$gf=" ON ".table($a);$Xb="DROP TRIGGER ".idf_escape($D).(JUSH=="pgsql"?$gf:"");$A=ME."table=".urlencode($a);if($_POST["drop"])query_redirect($Xb,$A,lang(223));else{if($D!="")queries($Xb);queries_redirect($A,($D!=""?lang(224):lang(225)),queries(create_trigger($gf,$_POST)));if($D!="")queries(create_trigger($gf,$L+array("Type"=>reset($Xh["Type"]))));}}$L=$_POST;}page_header(($D!=""?lang(226).": ".h($D):lang(227)),$l,array("table"=>$a));echo'
<form action="" method="post" id="form">
<table class="layout">
<tr><th>',lang(228),'<td>',html_select("Timing",$Xh["Timing"],$L["Timing"],"triggerChange(/^".preg_quote($a,"/")."_[ba][iud]$/, '".js_escape($a)."', this.form);"),'<tr><th>',lang(229),'<td>',html_select("Event",$Xh["Event"],$L["Event"],"this.form['Timing'].onchange();"),(in_array("UPDATE OF",$Xh["Event"])?" <input name='Of' value='".h($L["Of"])."' class='hidden'>":""),'<tr><th>',lang(38),'<td>',html_select("Type",$Xh["Type"],$L["Type"]),'</table>
<p>',lang(183),': <input name="Trigger" value="',h($L["Trigger"]),'" data-maxlength="64" autocapitalize="off">
',script("qs('#form')['Timing'].onchange();"),'<p>';textarea("Statement",$L["Statement"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($D!="")echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(174,$D));echo
input_token(),'</form>
';}elseif(isset($_GET["user"])){$ea=$_GET["user"];$eg=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$L){foreach(explode(",",($L["Privilege"]=="Grant option"?"":$L["Context"]))as$qb)$eg[$qb][$L["Privilege"]]=$L["Comment"];}$eg["Server Admin"]+=$eg["File access on server"];$eg["Databases"]["Create routine"]=$eg["Procedures"]["Create routine"];unset($eg["Procedures"]["Create routine"]);$eg["Columns"]=array();foreach(array("Select","Insert","Update","References")as$X)$eg["Columns"][$X]=$eg["Tables"][$X];unset($eg["Server Admin"]["Usage"]);foreach($eg["Tables"]as$y=>$X)unset($eg["Databases"][$y]);$Re=array();if($_POST){foreach($_POST["objects"]as$y=>$X)$Re[$X]=(array)$Re[$X]+idx($_POST["grants"],$y,array());}$ed=array();$ef="";if(isset($_GET["host"])&&($J=connection()->query("SHOW GRANTS FOR ".q($ea)."@".q($_GET["host"])))){while($L=$J->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$L[0],$B)&&preg_match_all('~ *([^(,]*[^ ,(])( *\([^)]+\))?~',$B[1],$ue,PREG_SET_ORDER)){foreach($ue
as$X){if($X[1]!="USAGE")$ed["$B[2]$X[2]"][$X[1]]=true;if(preg_match('~ WITH GRANT OPTION~',$L[0]))$ed["$B[2]$X[2]"]["GRANT OPTION"]=true;}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$L[0],$B))$ef=$B[1];}}if($_POST&&!$l){$ff=(isset($_GET["host"])?q($ea)."@".q($_GET["host"]):"''");if($_POST["drop"])query_redirect("DROP USER $ff",ME."privileges=",lang(230));else{$Te=q($_POST["user"])."@".q($_POST["host"]);$Kf=$_POST["pass"];if($Kf!=''&&!$_POST["hashed"]&&!min_version(8)){$Kf=get_val("SELECT PASSWORD(".q($Kf).")");$l=!$Kf;}$vb=false;if(!$l){if($ff!=$Te){$vb=queries((min_version(5)?"CREATE USER":"GRANT USAGE ON *.* TO")." $Te IDENTIFIED BY ".(min_version(8)?"":"PASSWORD ").q($Kf));$l=!$vb;}elseif($Kf!=$ef)queries("SET PASSWORD FOR $Te = ".q($Kf));}if(!$l){$zg=array();foreach($Re
as$Ze=>$dd){if(isset($_GET["grant"]))$dd=array_filter($dd);$dd=array_keys($dd);if(isset($_GET["grant"]))$zg=array_diff(array_keys(array_filter($Re[$Ze],'strlen')),$dd);elseif($ff==$Te){$cf=array_keys((array)$ed[$Ze]);$zg=array_diff($cf,$dd);$dd=array_diff($dd,$cf);unset($ed[$Ze]);}if(preg_match('~^(.+)\s*(\(.*\))?$~U',$Ze,$B)&&(!grant("REVOKE",$zg,$B[2]," ON $B[1] FROM $Te")||!grant("GRANT",$dd,$B[2]," ON $B[1] TO $Te"))){$l=true;break;}}}if(!$l&&isset($_GET["host"])){if($ff!=$Te)queries("DROP USER $ff");elseif(!isset($_GET["grant"])){foreach($ed
as$Ze=>$zg){if(preg_match('~^(.+)(\(.*\))?$~U',$Ze,$B))grant("REVOKE",array_keys($zg),$B[2]," ON $B[1] FROM $Te");}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(231):lang(232)),!$l);if($vb)connection()->query("DROP USER $Te");}}page_header((isset($_GET["host"])?lang(24).": ".h("$ea@$_GET[host]"):lang(145)),$l,array("privileges"=>array('',lang(61))));$L=$_POST;if($L)$ed=$Re;else{$L=$_GET+array("host"=>get_val("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$L["pass"]=$ef;if($ef!="")$L["hashed"]=true;$ed[(DB==""||$ed?"":idf_escape(addcslashes(DB,"%_\\"))).".*"]=array();}echo'<form action="" method="post">
<table class="layout">
<tr><th>',lang(23),'<td><input name="host" data-maxlength="60" value="',h($L["host"]),'" autocapitalize="off">
<tr><th>',lang(24),'<td><input name="user" data-maxlength="80" value="',h($L["user"]),'" autocapitalize="off">
<tr><th>',lang(25),'<td><input name="pass" id="pass" value="',h($L["pass"]),'" autocomplete="new-password">
',($L["hashed"]?"":script("typePassword(qs('#pass'));")),(min_version(8)?"":checkbox("hashed",1,$L["hashed"],lang(233),"typePassword(this.form['pass'], this.checked);")),'</table>

',"<table class='odds'>\n","<thead><tr><th colspan='2'>".lang(61).doc_link(array('sql'=>"grant.html#priv_level"));$t=0;foreach($ed
as$Ze=>$dd){echo'<th>'.($Ze!="*.*"?"<input name='objects[$t]' value='".h($Ze)."' size='10' autocapitalize='off'>":input_hidden("objects[$t]","*.*")."*.*");$t++;}echo"</thead>\n";foreach(array(""=>"","Server Admin"=>lang(23),"Databases"=>lang(26),"Tables"=>lang(128),"Columns"=>lang(37),"Procedures"=>lang(234),)as$qb=>$Nb){foreach((array)$eg[$qb]as$dg=>$hb){echo"<tr><td".($Nb?">$Nb<td":" colspan='2'").' lang="en" title="'.h($hb).'">'.h($dg);$t=0;foreach($ed
as$Ze=>$dd){$D="'grants[$t][".h(strtoupper($dg))."]'";$Y=$dd[strtoupper($dg)];if($qb=="Server Admin"&&$Ze!=(isset($ed["*.*"])?"*.*":".*"))echo"<td>";elseif(isset($_GET["grant"]))echo"<td><select name=$D><option><option value='1'".($Y?" selected":"").">".lang(235)."<option value='0'".($Y=="0"?" selected":"").">".lang(236)."</select>";else
echo"<td align='center'><label class='block'>","<input type='checkbox' name=$D value='1'".($Y?" checked":"").($dg=="All privileges"?" id='grants-$t-all'>":">".($dg=="Grant option"?"":script("qsl('input').onclick = function () { if (this.checked) formUncheck('grants-$t-all'); };"))),"</label>";$t++;}}}echo"</table>\n",'<p>
<input type="submit" value="',lang(14),'">
';if(isset($_GET["host"]))echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(174,"$ea@$_GET[host]"));echo
input_token(),'</form>
';}elseif(isset($_GET["processlist"])){if(support("kill")){if($_POST&&!$l){$Zd=0;foreach((array)$_POST["kill"]as$X){if(kill_process($X))$Zd++;}queries_redirect(ME."processlist=",lang(237,$Zd),$Zd||!$_POST["kill"]);}}page_header(lang(112),$l);echo'
<form action="" method="post">
<div class="scrollable">
<table class="nowrap checkable odds">
',script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});");$t=-1;foreach(process_list()as$t=>$L){if(!$t){echo"<thead><tr lang='en'>".(support("kill")?"<th>":"");foreach($L
as$y=>$X)echo"<th>$y".doc_link(array('sql'=>"show-processlist.html#processlist_".strtolower($y),));echo"</thead>\n";}echo"<tr>".(support("kill")?"<td>".checkbox("kill[]",$L[JUSH=="sql"?"Id":"pid"],0):"");foreach($L
as$y=>$X)echo"<td>".((JUSH=="sql"&&$y=="Info"&&preg_match("~Query|Killed~",$L["Command"])&&$X!="")||(JUSH=="pgsql"&&$y=="current_query"&&$X!="<IDLE>")||(JUSH=="oracle"&&$y=="sql_text"&&$X!="")?"<code class='jush-".JUSH."'>".shorten_utf8($X,100,"</code>").' <a href="'.h(ME.($L["db"]!=""?"db=".urlencode($L["db"])."&":"")."sql=".urlencode($X)).'">'.lang(238).'</a>':h($X));echo"\n";}echo'</table>
</div>
<p>
';if(support("kill"))echo($t+1)."/".lang(239,max_connections()),"<p><input type='submit' value='".lang(240)."'>\n";echo
input_token(),'</form>
',script("tableCheck();");}elseif(isset($_GET["select"])){$a=$_GET["select"];$S=table_status1($a);$x=indexes($a);$n=fields($a);$Uc=column_foreign_keys($a);$bf=$S["Oid"];$ka=get_settings("adminer_import");$_g=array();$d=array();$Ig=array();$qf=array();$Fh="";foreach($n
as$y=>$m){$D=adminer()->fieldName($m);$Pe=html_entity_decode(strip_tags($D),ENT_QUOTES);if(isset($m["privileges"]["select"])&&$D!=""){$d[$y]=$Pe;if(is_shortable($m))$Fh=adminer()->selectLengthProcess();}if(isset($m["privileges"]["where"])&&$D!="")$Ig[$y]=$Pe;if(isset($m["privileges"]["order"])&&$D!="")$qf[$y]=$Pe;$_g+=$m["privileges"];}list($O,$s)=adminer()->selectColumnsProcess($d,$x);$O=array_unique($O);$s=array_unique($s);$Qd=count($s)<count($O);$Z=adminer()->selectSearchProcess($n,$x);$pf=adminer()->selectOrderProcess($n,$x);$z=adminer()->selectLimitProcess();if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$fi=>$L){$ua=convert_field($n[key($L)]);$O=array($ua?:idf_escape(key($L)));$Z[]=where_check($fi,$n);$K=driver()->select($a,$O,$Z,$O);if($K)echo
first($K->fetch_row());}exit;}$ag=$hi=array();foreach($x
as$w){if($w["type"]=="PRIMARY"){$ag=array_flip($w["columns"]);$hi=($O?$ag:array());foreach($hi
as$y=>$X){if(in_array(idf_escape($y),$O))unset($hi[$y]);}break;}}if($bf&&!$ag){$ag=$hi=array($bf=>0);$x[]=array("type"=>"PRIMARY","columns"=>array($bf));}if($_POST&&!$l){$Ci=$Z;if(!$_POST["all"]&&is_array($_POST["check"])){$Va=array();foreach($_POST["check"]as$Sa)$Va[]=where_check($Sa,$n);$Ci[]="((".implode(") OR (",$Va)."))";}$Ci=($Ci?"\nWHERE ".implode(" AND ",$Ci):"");if($_POST["export"]){save_settings(array("output"=>$_POST["output"],"format"=>$_POST["format"]),"adminer_import");dump_headers($a);adminer()->dumpTable($a,"");$Yc=($O?implode(", ",$O):"*").convert_fields($d,$n,$O)."\nFROM ".table($a);$gd=($s&&$Qd?"\nGROUP BY ".implode(", ",$s):"").($pf?"\nORDER BY ".implode(", ",$pf):"");$I="SELECT $Yc$Ci$gd";if(is_array($_POST["check"])&&!$ag){$di=array();foreach($_POST["check"]as$X)$di[]="(SELECT".limit($Yc,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$n).$gd,1).")";$I=implode(" UNION ALL ",$di);}adminer()->dumpData($a,"table",$I);adminer()->dumpFooter();exit;}if(!adminer()->selectEmailProcess($Z,$Uc)){if($_POST["save"]||$_POST["delete"]){$J=true;$la=0;$Q=array();if(!$_POST["delete"]){foreach($_POST["fields"]as$D=>$X){$X=process_input($n[$D]);if($X!==null&&($_POST["clone"]||$X!==false))$Q[idf_escape($D)]=($X!==false?$X:idf_escape($D));}}if($_POST["delete"]||$Q){$I=($_POST["clone"]?"INTO ".table($a)." (".implode(", ",array_keys($Q)).")\nSELECT ".implode(", ",$Q)."\nFROM ".table($a):"");if($_POST["all"]||($ag&&is_array($_POST["check"]))||$Qd){$J=($_POST["delete"]?driver()->delete($a,$Ci):($_POST["clone"]?queries("INSERT $I$Ci".driver()->insertReturning($a)):driver()->update($a,$Q,$Ci)));$la=connection()->affected_rows;if(is_object($J))$la+=$J->num_rows;}else{foreach((array)$_POST["check"]as$X){$Bi="\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$n);$J=($_POST["delete"]?driver()->delete($a,$Bi,1):($_POST["clone"]?queries("INSERT".limit1($a,$I,$Bi)):driver()->update($a,$Q,$Bi,1)));if(!$J)break;$la+=connection()->affected_rows;}}}$C=lang(241,$la);if($_POST["clone"]&&$J&&$la==1){$fe=last_id($J);if($fe)$C=lang(167," $fe");}queries_redirect(remove_from_uri($_POST["all"]&&$_POST["delete"]?"page":""),$C,$J);if(!$_POST["delete"]){$Wf=(array)$_POST["fields"];edit_form($a,array_intersect_key($n,$Wf),$Wf,!$_POST["clone"],$l);page_footer();exit;}}elseif(!$_POST["import"]){if(!$_POST["val"])$l=lang(242);else{$J=true;$la=0;foreach($_POST["val"]as$fi=>$L){$Q=array();foreach($L
as$y=>$X){$y=bracket_escape($y,true);$Q[idf_escape($y)]=(preg_match('~char|text~',$n[$y]["type"])||$X!=""?adminer()->processInput($n[$y],$X):"NULL");}$J=driver()->update($a,$Q," WHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($fi,$n),($Qd||$ag?0:1)," ");if(!$J)break;$la+=connection()->affected_rows;}queries_redirect(remove_from_uri(),lang(241,$la),$J);}}elseif(!is_string($Lc=get_file("csv_file",true)))$l=upload_error($Lc);elseif(!preg_match('~~u',$Lc))$l=lang(243);else{save_settings(array("output"=>$ka["output"],"format"=>$_POST["separator"]),"adminer_import");$J=true;$eb=array_keys($n);preg_match_all('~(?>"[^"]*"|[^"\r\n]+)+~',$Lc,$ue);$la=count($ue[0]);driver()->begin();$Og=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));$M=array();foreach($ue[0]as$y=>$X){preg_match_all("~((?>\"[^\"]*\")+|[^$Og]*)$Og~",$X.$Og,$ve);if(!$y&&!array_diff($ve[1],$eb)){$eb=$ve[1];$la--;}else{$Q=array();foreach($ve[1]as$t=>$bb)$Q[idf_escape($eb[$t])]=($bb==""&&$n[$eb[$t]]["null"]?"NULL":q(preg_match('~^".*"$~s',$bb)?str_replace('""','"',substr($bb,1,-1)):$bb));$M[]=$Q;}}$J=(!$M||driver()->insertUpdate($a,$M,$ag));if($J)driver()->commit();queries_redirect(remove_from_uri("page"),lang(244,$la),$J);driver()->rollback();}}}$th=adminer()->tableName($S);if(is_ajax()){page_headers();ob_start();}else
page_header(lang(43).": $th",$l);$Q=null;if(isset($_g["insert"])||!support("table")){$Ef=array();foreach((array)$_GET["where"]as$X){if(isset($Uc[$X["col"]])&&count($Uc[$X["col"]])==1&&($X["op"]=="="||(!$X["op"]&&(is_array($X["val"])||!preg_match('~[_%]~',$X["val"])))))$Ef["set"."[".bracket_escape($X["col"])."]"]=$X["val"];}$Q=$Ef?"&".http_build_query($Ef):"";}adminer()->selectLinks($S,$Q);if(!$d&&support("table"))echo"<p class='error'>".lang(245).($n?".":": ".error())."\n";else{echo"<form action='' id='form'>\n","<div style='display: none;'>";hidden_fields_get();echo(DB!=""?input_hidden("db",DB).(isset($_GET["ns"])?input_hidden("ns",$_GET["ns"]):""):""),input_hidden("select",$a),"</div>\n";adminer()->selectColumnsPrint($O,$d);adminer()->selectSearchPrint($Z,$Ig,$x);adminer()->selectOrderPrint($pf,$qf,$x);adminer()->selectLimitPrint($z);adminer()->selectLengthPrint($Fh);adminer()->selectActionPrint($x);echo"</form>\n";$F=$_GET["page"];$Xc=null;if($F=="last"){$Xc=get_val(count_rows($a,$Z,$Qd,$s));$F=floor(max(0,intval($Xc)-1)/$z);}$Jg=$O;$fd=$s;if(!$Jg){$Jg[]="*";$rb=convert_fields($d,$n,$O);if($rb)$Jg[]=substr($rb,2);}foreach($O
as$y=>$X){$m=$n[idf_unescape($X)];if($m&&($ua=convert_field($m)))$Jg[$y]="$ua AS $X";}if(!$Qd&&$hi){foreach($hi
as$y=>$X){$Jg[]=idf_escape($y);if($fd)$fd[]=idf_escape($y);}}$J=driver()->select($a,$Jg,$Z,$fd,$pf,$z,$F,true);if(!$J)echo"<p class='error'>".error()."\n";else{if(JUSH=="mssql"&&$F)$J->seek($z*$F);$jc=array();echo"<form action='' method='post' enctype='multipart/form-data'>\n";$M=array();while($L=$J->fetch_assoc()){if($F&&JUSH=="oracle")unset($L["RNUM"]);$M[]=$L;}if($_GET["page"]!="last"&&$z&&$s&&$Qd&&JUSH=="sql")$Xc=get_val(" SELECT FOUND_ROWS()");if(!$M)echo"<p class='message'>".lang(12)."\n";else{$Ca=adminer()->backwardKeys($a,$th);echo"<div class='scrollable'>","<table id='table' class='nowrap checkable odds'>",script("mixin(qs('#table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true), onkeydown: editingKeydown});"),"<thead><tr>".(!$s&&$O?"":"<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")."'>".lang(246)."</a>");$Qe=array();$ad=array();reset($O);$mg=1;foreach($M[0]as$y=>$X){if(!isset($hi[$y])){$X=idx($_GET["columns"],key($O))?:array();$m=$n[$O?($X?$X["col"]:current($O)):$y];$D=($m?adminer()->fieldName($m,$mg):($X["fun"]?"*":h($y)));if($D!=""){$mg++;$Qe[$y]=$D;$c=idf_escape($y);$vd=remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($y);$Nb="&desc%5B0%5D=1";echo"<th id='th[".h(bracket_escape($y))."]'>".script("mixin(qsl('th'), {onmouseover: partial(columnMouse), onmouseout: partial(columnMouse, ' hidden')});","");$Zc=apply_sql_function($X["fun"],$D);$Yg=isset($m["privileges"]["order"])||$Zc;echo($Yg?'<a href="'.h($vd.($pf[0]==$c||$pf[0]==$y||(!$pf&&$Qd&&$s[0]==$c)?$Nb:'')).'">'."$Zc</a>":$Zc),"<span class='column hidden'>";if($Yg)echo"<a href='".h($vd.$Nb)."' title='".lang(49)."' class='text'> ↓</a>";if(!$X["fun"]&&isset($m["privileges"]["where"]))echo'<a href="#fieldset-search" title="'.lang(46).'" class="text jsonly"> =</a>',script("qsl('a').onclick = partial(selectSearch, '".js_escape($y)."');");echo"</span>";}$ad[$y]=$X["fun"];next($O);}}$le=array();if($_GET["modify"]){foreach($M
as$L){foreach($L
as$y=>$X)$le[$y]=max($le[$y],min(40,strlen(utf8_decode($X))));}}echo($Ca?"<th>".lang(247):"")."</thead>\n";if(is_ajax())ob_end_clean();foreach(adminer()->rowDescriptions($M,$Uc)as$Oe=>$L){$ei=unique_array($M[$Oe],$x);if(!$ei){$ei=array();foreach($M[$Oe]as$y=>$X){if(!preg_match('~^(COUNT\((\*|(DISTINCT )?`(?:[^`]|``)+`)\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\(`(?:[^`]|``)+`\))$~',$y))$ei[$y]=$X;}}$fi="";foreach($ei
as$y=>$X){$m=(array)$n[$y];if((JUSH=="sql"||JUSH=="pgsql")&&preg_match('~char|text|enum|set~',$m["type"])&&strlen($X)>64){$y=(strpos($y,'(')?$y:idf_escape($y));$y="MD5(".(JUSH!='sql'||preg_match("~^utf8~",$m["collation"])?$y:"CONVERT($y USING ".charset(connection()).")").")";$X=md5($X);}$fi
.="&".($X!==null?urlencode("where[".bracket_escape($y)."]")."=".urlencode($X===false?"f":$X):"null%5B%5D=".urlencode($y));}echo"<tr>".(!$s&&$O?"":"<td>".checkbox("check[]",substr($fi,1),in_array(substr($fi,1),(array)$_POST["check"])).($Qd||information_schema(DB)?"":" <a href='".h(ME."edit=".urlencode($a).$fi)."' class='edit'>".lang(248)."</a>"));foreach($L
as$y=>$X){if(isset($Qe[$y])){$m=(array)$n[$y];$X=driver()->value($X,$m);if($X!=""&&(!isset($jc[$y])||$jc[$y]!=""))$jc[$y]=(is_mail($X)?$Qe[$y]:"");$_="";if(preg_match('~blob|bytea|raw|file~',$m["type"])&&$X!="")$_=ME.'download='.urlencode($a).'&field='.urlencode($y).$fi;if(!$_&&$X!==null){foreach((array)$Uc[$y]as$p){if(count($Uc[$y])==1||end($p["source"])==$y){$_="";foreach($p["source"]as$t=>$Zg)$_
.=where_link($t,$p["target"][$t],$M[$Oe][$Zg]);$_=($p["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\1'.urlencode($p["db"]),ME):ME).'select='.urlencode($p["table"]).$_;if($p["ns"])$_=preg_replace('~([?&]ns=)[^&]+~','\1'.urlencode($p["ns"]),$_);if(count($p["source"])==1)break;}}}if($y=="COUNT(*)"){$_=ME."select=".urlencode($a);$t=0;foreach((array)$_GET["where"]as$W){if(!array_key_exists($W["col"],$ei))$_
.=where_link($t++,$W["col"],$W["val"],$W["op"]);}foreach($ei
as$Wd=>$W)$_
.=where_link($t++,$Wd,$W);}$wd=select_value($X,$_,$m,$Fh);$u=h("val[$fi][".bracket_escape($y)."]");$Xf=idx(idx($_POST["val"],$fi),bracket_escape($y));$ec=!is_array($L[$y])&&is_utf8($wd)&&$M[$Oe][$y]==$L[$y]&&!$ad[$y]&&!$m["generated"];$Eh=preg_match('~text|json|lob~',$m["type"]);echo"<td id='$u'".(preg_match(number_type(),$m["type"])&&($X===null||is_numeric(strip_tags($wd)))?" class='number'":"");if(($_GET["modify"]&&$ec&&$X!==null)||$Xf!==null){$jd=h($Xf!==null?$Xf:$L[$y]);echo">".($Eh?"<textarea name='$u' cols='30' rows='".(substr_count($L[$y],"\n")+1)."'>$jd</textarea>":"<input name='$u' value='$jd' size='$le[$y]'>");}else{$qe=strpos($wd,"<i>…</i>");echo" data-text='".($qe?2:($Eh?1:0))."'".($ec?"":" data-warning='".h(lang(249))."'").">$wd";}}}if($Ca)echo"<td>";adminer()->backwardKeysPrint($Ca,$M[$Oe]);echo"</tr>\n";}if(is_ajax())exit;echo"</table>\n","</div>\n";}if(!is_ajax()){if($M||$F){$xc=true;if($_GET["page"]!="last"){if(!$z||(count($M)<$z&&($M||!$F)))$Xc=($F?$F*$z:0)+count($M);elseif(JUSH!="sql"||!$Qd){$Xc=($Qd?false:found_rows($S,$Z));if(intval($Xc)<max(1e4,2*($F+1)*$z))$Xc=first(slow_query(count_rows($a,$Z,$Qd,$s)));else$xc=false;}}$Cf=($z&&($Xc===false||$Xc>$z||$F));if($Cf)echo(($Xc===false?count($M)+1:$Xc-$F*$z)>$z?'<p><a href="'.h(remove_from_uri("page")."&page=".($F+1)).'" class="loadmore">'.lang(250).'</a>'.script("qsl('a').onclick = partial(selectLoadMore, $z, '".lang(251)."…');",""):''),"\n";echo"<div class='footer'><div>\n";if($Cf){$xe=($Xc===false?$F+(count($M)>=$z?2:1):floor(($Xc-1)/$z));echo"<fieldset>";if(JUSH!="simpledb"){echo"<legend><a href='".h(remove_from_uri("page"))."'>".lang(252)."</a></legend>",script("qsl('a').onclick = function () { pageClick(this.href, +prompt('".lang(252)."', '".($F+1)."')); return false; };"),pagination(0,$F).($F>5?" …":"");for($t=max(1,$F-4);$t<min($xe,$F+5);$t++)echo
pagination($t,$F);if($xe>0)echo($F+5<$xe?" …":""),($xc&&$Xc!==false?pagination($xe,$F):" <a href='".h(remove_from_uri("page")."&page=last")."' title='~$xe'>".lang(253)."</a>");}else
echo"<legend>".lang(252)."</legend>",pagination(0,$F).($F>1?" …":""),($F?pagination($F,$F):""),($xe>$F?pagination($F+1,$F).($xe>$F+1?" …":""):"");echo"</fieldset>\n";}echo"<fieldset>","<legend>".lang(254)."</legend>";$Ub=($xc?"":"~ ").$Xc;$jf="const checked = formChecked(this, /check/); selectCount('selected', this.checked ? '$Ub' : checked); selectCount('selected2', this.checked || !checked ? '$Ub' : checked);";echo
checkbox("all",1,0,($Xc!==false?($xc?"":"~ ").lang(149,$Xc):""),$jf)."\n","</fieldset>\n";if(adminer()->selectCommandPrint())echo'<fieldset',($_GET["modify"]?'':' class="jsonly"'),'><legend>',lang(246),'</legend><div>
<input type="submit" value="',lang(14),'"',($_GET["modify"]?'':' title="'.lang(242).'"'),'>
</div></fieldset>
<fieldset><legend>',lang(122),' <span id="selected"></span></legend><div>
<input type="submit" name="edit" value="',lang(10),'">
<input type="submit" name="clone" value="',lang(238),'">
<input type="submit" name="delete" value="',lang(18),'">',confirm(),'</div></fieldset>
';$Vc=adminer()->dumpFormat();foreach((array)$_GET["columns"]as$c){if($c["fun"]){unset($Vc['sql']);break;}}if($Vc){print_fieldset("export",lang(63)." <span id='selected2'></span>");$Af=adminer()->dumpOutput();echo($Af?html_select("output",$Af,$ka["output"])." ":""),html_select("format",$Vc,$ka["format"])," <input type='submit' name='export' value='".lang(63)."'>\n","</div></fieldset>\n";}adminer()->selectEmailPrint(array_filter($jc,'strlen'),$d);echo"</div></div>\n";}if(adminer()->selectImportPrint())echo"<p>","<a href='#import'>".lang(62)."</a>",script("qsl('a').onclick = partial(toggle, 'import');",""),"<span id='import'".($_POST["import"]?"":" class='hidden'").">: ","<input type='file' name='csv_file'> ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$ka["format"])," <input type='submit' name='import' value='".lang(62)."'>","</span>";echo
input_token(),"</form>\n",(!$s&&$O?"":script("tableCheck();"));}}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$hh=isset($_GET["status"]);page_header($hh?lang(114):lang(113));$ti=($hh?show_status():show_variables());if(!$ti)echo"<p class='message'>".lang(12)."\n";else{echo"<table>\n";foreach($ti
as$L){echo"<tr>";$y=array_shift($L);echo"<th><code class='jush-".JUSH.($hh?"status":"set")."'>".h($y)."</code>";foreach($L
as$X)echo"<td>".nl_br(h($X));}echo"</table>\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$qh=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$D=>$S){json_row("Comment-$D",h($S["Comment"]));if(!is_view($S)){foreach(array("Engine","Collation")as$y)json_row("$y-$D",h($S[$y]));foreach($qh+array("Auto_increment"=>0,"Rows"=>0)as$y=>$X){if($S[$y]!=""){$X=format_number($S[$y]);if($X>=0)json_row("$y-$D",($y=="Rows"&&$X&&$S["Engine"]==(JUSH=="pgsql"?"table":"InnoDB")?"~ $X":$X));if(isset($qh[$y]))$qh[$y]+=($S["Engine"]!="InnoDB"||$y!="Data_free"?$S[$y]:0);}elseif(array_key_exists($y,$S))json_row("$y-$D","?");}}}foreach($qh
as$y=>$X)json_row("sum-$y",format_number($X));json_row("");}elseif($_GET["script"]=="kill")connection()->query("KILL ".number($_POST["kill"]));else{foreach(count_tables(adminer()->databases())as$j=>$X){json_row("tables-$j",$X);json_row("size-$j",db_size($j));}json_row("");}exit;}else{$zh=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($zh&&!$l&&!$_POST["search"]){$J=true;$C="";if(JUSH=="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"])$J=truncate_tables($_POST["tables"]);$C=lang(255);}elseif($_POST["move"]){$J=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$C=lang(256);}elseif($_POST["copy"]){$J=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$C=lang(257);}elseif($_POST["drop"]){if($_POST["views"])$J=drop_views($_POST["views"]);if($J&&$_POST["tables"])$J=drop_tables($_POST["tables"]);$C=lang(258);}elseif(JUSH=="sqlite"&&$_POST["check"]){foreach((array)$_POST["tables"]as$R){foreach(get_rows("PRAGMA integrity_check(".q($R).")")as$L)$C
.="<b>".h($R)."</b>: ".h($L["integrity_check"])."<br>";}}elseif(JUSH!="sql"){$J=(JUSH=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$C=lang(259);}elseif(!$_POST["tables"])$C=lang(9);elseif($J=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('Adminer\idf_escape',$_POST["tables"])))){while($L=$J->fetch_assoc())$C
.="<b>".h($L["Table"])."</b>: ".h($L["Msg_text"])."<br>";}queries_redirect(substr(ME,0,-1),$C,$J);}page_header(($_GET["ns"]==""?lang(26).": ".h(DB):lang(260).": ".h($_GET["ns"])),$l,true);if(adminer()->homepage()){if($_GET["ns"]!==""){echo"<h3 id='tables-views'>".lang(261)."</h3>\n";$yh=tables_list();if(!$yh)echo"<p class='message'>".lang(9)."\n";else{echo"<form action='' method='post'>\n";if(support("table")){echo"<fieldset><legend>".lang(262)." <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='".lang(46)."'>\n","</div></fieldset>\n";if($_POST["search"]&&$_POST["query"]!=""){$_GET["where"][0]["op"]=driver()->convertOperator("LIKE %%");search_tables();}}echo"<div class='scrollable'>\n","<table class='nowrap checkable odds'>\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>'.lang(128),'<td>'.lang(263).doc_link(array('sql'=>'storage-engines.html')),'<td>'.lang(118).doc_link(array('sql'=>'charset-charsets.html','mariadb'=>'supported-character-sets-and-collations/')),'<td>'.lang(264).doc_link(array('sql'=>'show-table-status.html',)),'<td>'.lang(265).doc_link(array('sql'=>'show-table-status.html',)),'<td>'.lang(266).doc_link(array('sql'=>'show-table-status.html')),'<td>'.lang(41).doc_link(array('sql'=>'example-auto-increment.html','mariadb'=>'auto_increment/')),'<td>'.lang(267).doc_link(array('sql'=>'show-table-status.html',)),(support("comment")?'<td>'.lang(39).doc_link(array('sql'=>'show-table-status.html',)):''),"</thead>\n";$T=0;foreach($yh
as$D=>$U){$wi=($U!==null&&!preg_match('~table|sequence~i',$U));$u=h("Table-".$D);echo'<tr><td>'.checkbox(($wi?"views[]":"tables[]"),$D,in_array("$D",$zh,true),"","","",$u),'<th>'.(support("table")||support("indexes")?"<a href='".h(ME)."table=".urlencode($D)."' title='".lang(31)."' id='$u'>".h($D).'</a>':h($D));if($wi)echo'<td colspan="6"><a href="'.h(ME)."view=".urlencode($D).'" title="'.lang(32).'">'.(preg_match('~materialized~i',$U)?lang(126):lang(127)).'</a>','<td align="right"><a href="'.h(ME)."select=".urlencode($D).'" title="'.lang(30).'">?</a>';else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",lang(33)),"Index_length"=>array("indexes",lang(130)),"Data_free"=>array("edit",lang(34)),"Auto_increment"=>array("auto_increment=1&create",lang(33)),"Rows"=>array("select",lang(30)),)as$y=>$_){$u=" id='$y-".h($D)."'";echo($_?"<td align='right'>".(support("table")||$y=="Rows"||(support("indexes")&&$y!="Data_length")?"<a href='".h(ME."$_[0]=").urlencode($D)."'$u title='$_[1]'>?</a>":"<span$u>?</span>"):"<td id='$y-".h($D)."'>");}$T++;}echo(support("comment")?"<td id='Comment-".h($D)."'>":""),"\n";}echo"<tr><td><th>".lang(239,count($yh)),"<td>".h(JUSH=="sql"?get_val("SELECT @@default_storage_engine"):""),"<td>".h(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$y)echo"<td align='right' id='sum-$y'>";echo"\n","</table>\n","</div>\n";if(!information_schema(DB)){echo"<div class='footer'><div>\n";$ri="<input type='submit' value='".lang(268)."'> ".on_help("'VACUUM'");$mf="<input type='submit' name='optimize' value='".lang(269)."'> ".on_help(JUSH=="sql"?"'OPTIMIZE TABLE'":"'VACUUM OPTIMIZE'");echo"<fieldset><legend>".lang(122)." <span id='selected'></span></legend><div>".(JUSH=="sqlite"?$ri."<input type='submit' name='check' value='".lang(270)."'> ".on_help("'PRAGMA integrity_check'"):(JUSH=="pgsql"?$ri.$mf:(JUSH=="sql"?"<input type='submit' value='".lang(271)."'> ".on_help("'ANALYZE TABLE'").$mf."<input type='submit' name='check' value='".lang(270)."'> ".on_help("'CHECK TABLE'")."<input type='submit' name='repair' value='".lang(272)."'> ".on_help("'REPAIR TABLE'"):"")))."<input type='submit' name='truncate' value='".lang(273)."'> ".on_help(JUSH=="sqlite"?"'DELETE'":"'TRUNCATE".(JUSH=="pgsql"?"'":" TABLE'")).confirm()."<input type='submit' name='drop' value='".lang(123)."'>".on_help("'DROP TABLE'").confirm()."\n";$i=(support("scheme")?adminer()->schemas():adminer()->databases());if(count($i)!=1&&JUSH!="sqlite"){$j=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"<p><label>".lang(274).": ",($i?html_select("target",$i,$j):'<input name="target" value="'.h($j).'" autocapitalize="off">'),"</label> <input type='submit' name='move' value='".lang(275)."'>",(support("copy")?" <input type='submit' name='copy' value='".lang(276)."'> ".checkbox("overwrite",1,$_POST["overwrite"],lang(277)):""),"\n";}echo"<input type='hidden' name='all' value=''>",script("qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^(tables|views)\[/));".(support("table")?" selectCount('selected2', formChecked(this, /^tables\[/) || $T);":"")." }"),input_token(),"</div></fieldset>\n","</div></div>\n";}echo"</form>\n",script("tableCheck();");}echo"<p class='links'><a href='".h(ME)."create='>".lang(64)."</a>\n",(support("view")?"<a href='".h(ME)."view='>".lang(201)."</a>\n":"");if(support("routine")){echo"<h3 id='routines'>".lang(142)."</h3>\n";$Dg=routines();if($Dg){echo"<table class='odds'>\n",'<thead><tr><th>'.lang(183).'<td>'.lang(38).'<td>'.lang(218)."<td></thead>\n";foreach($Dg
as$L){$D=($L["SPECIFIC_NAME"]==$L["ROUTINE_NAME"]?"":"&name=".urlencode($L["ROUTINE_NAME"]));echo'<tr>','<th><a href="'.h(ME.($L["ROUTINE_TYPE"]!="PROCEDURE"?'callf=':'call=').urlencode($L["SPECIFIC_NAME"]).$D).'">'.h($L["ROUTINE_NAME"]).'</a>','<td>'.h($L["ROUTINE_TYPE"]),'<td>'.h($L["DTD_IDENTIFIER"]),'<td><a href="'.h(ME.($L["ROUTINE_TYPE"]!="PROCEDURE"?'function=':'procedure=').urlencode($L["SPECIFIC_NAME"]).$D).'">'.lang(133)."</a>";}echo"</table>\n";}echo'<p class="links">'.(support("procedure")?'<a href="'.h(ME).'procedure=">'.lang(217).'</a>':'').'<a href="'.h(ME).'function=">'.lang(216)."</a>\n";}if(support("event")){echo"<h3 id='events'>".lang(143)."</h3>\n";$M=get_rows("SHOW EVENTS");if($M){echo"<table>\n","<thead><tr><th>".lang(183)."<td>".lang(278)."<td>".lang(207)."<td>".lang(208)."<td></thead>\n";foreach($M
as$L)echo"<tr>","<th>".h($L["Name"]),"<td>".($L["Execute at"]?lang(279)."<td>".$L["Execute at"]:lang(209)." ".$L["Interval value"]." ".$L["Interval field"]."<td>$L[Starts]"),"<td>$L[Ends]",'<td><a href="'.h(ME).'event='.urlencode($L["Name"]).'">'.lang(133).'</a>';echo"</table>\n";$vc=get_val("SELECT @@event_scheduler");if($vc&&$vc!="ON")echo"<p class='error'><code class='jush-sqlset'>event_scheduler</code>: ".h($vc)."\n";}echo'<p class="links"><a href="'.h(ME).'event=">'.lang(206)."</a>\n";}if($yh)echo
script("ajaxSetHtml('".js_escape(ME)."script=db');");}}}page_footer();

Hacked By AnonymousFox1.0, Coded By AnonymousFox