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 4.6.2
*/error_reporting(6135);$Vc=!preg_match('~^(unsafe_raw)?$~',ini_get("filter.default"));if($Vc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$_i=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($_i)$$X=$_i;}}if(function_exists("mb_internal_encoding"))mb_internal_encoding("8bit");function
connection(){global$g;return$g;}function
adminer(){global$b;return$b;}function
version(){global$ia;return$ia;}function
idf_unescape($v){$je=substr($v,-1);return
str_replace($je.$je,$je,substr($v,1,-1));}function
escape_string($X){return
substr(q($X),1,-1);}function
number($X){return
preg_replace('~[^0-9]+~','',$X);}function
number_type(){return'((?<!o)int(?!er)|numeric|real|float|double|decimal|money)';}function
remove_slashes($jg,$Vc=false){if(get_magic_quotes_gpc()){while(list($z,$X)=each($jg)){foreach($X
as$Yd=>$W){unset($jg[$z][$Yd]);if(is_array($W)){$jg[$z][stripslashes($Yd)]=$W;$jg[]=&$jg[$z][stripslashes($Yd)];}else$jg[$z][stripslashes($Yd)]=($Vc?$W:stripslashes($W));}}}}function
bracket_escape($v,$Oa=false){static$ki=array(':'=>':1',']'=>':2','['=>':3','"'=>':4');return
strtr($v,($Oa?array_flip($ki):$ki));}function
min_version($Qi,$xe="",$h=null){global$g;if(!$h)$h=$g;$eh=$h->server_info;if($xe&&preg_match('~([\d.]+)-MariaDB~',$eh,$C)){$eh=$C[1];$Qi=$xe;}return(version_compare($eh,$Qi)>=0);}function
charset($g){return(min_version("5.5.3",0,$g)?"utf8mb4":"utf8");}function
script($nh,$ji="\n"){return"<script".nonce().">$nh</script>$ji";}function
script_src($Ei){return"<script src='".h($Ei)."'".nonce()."></script>\n";}function
nonce(){return' nonce="'.get_nonce().'"';}function
target_blank(){return' target="_blank" rel="noreferrer noopener"';}function
h($Q){return
str_replace("\0","&#0;",htmlspecialchars($Q,ENT_QUOTES,'utf-8'));}function
nbsp($Q){return(trim($Q)!=""?h($Q):"&nbsp;");}function
nl_br($Q){return
str_replace("\n","<br>",$Q);}function
checkbox($D,$Y,$fb,$fe="",$lf="",$kb="",$ge=""){$J="<input type='checkbox' name='$D' value='".h($Y)."'".($fb?" checked":"").($ge?" aria-labelledby='$ge'":"").">".($lf?script("qsl('input').onclick = function () { $lf };",""):"");return($fe!=""||$kb?"<label".($kb?" class='$kb'":"").">$J".h($fe)."</label>":$J);}function
optionlist($rf,$Yg=null,$Ii=false){$J="";foreach($rf
as$Yd=>$W){$sf=array($Yd=>$W);if(is_array($W)){$J.='<optgroup label="'.h($Yd).'">';$sf=$W;}foreach($sf
as$z=>$X)$J.='<option'.($Ii||is_string($z)?' value="'.h($z).'"':'').(($Ii||is_string($z)?(string)$z:$X)===$Yg?' selected':'').'>'.h($X);if(is_array($W))$J.='</optgroup>';}return$J;}function
html_select($D,$rf,$Y="",$kf=true,$ge=""){if($kf)return"<select name='".h($D)."'".($ge?" aria-labelledby='$ge'":"").">".optionlist($rf,$Y)."</select>".(is_string($kf)?script("qsl('select').onchange = function () { $kf };",""):"");$J="";foreach($rf
as$z=>$X)$J.="<label><input type='radio' name='".h($D)."' value='".h($z)."'".($z==$Y?" checked":"").">".h($X)."</label>";return$J;}function
select_input($Ka,$rf,$Y="",$kf="",$Vf=""){$Oh=($rf?"select":"input");return"<$Oh$Ka".($rf?"><option value=''>$Vf".optionlist($rf,$Y,true)."</select>":" size='10' value='".h($Y)."' placeholder='$Vf'>").($kf?script("qsl('$Oh').onchange = $kf;",""):"");}function
confirm($Ge="",$Zg="qsl('input')"){return
script("$Zg.onclick = function () { return confirm('".($Ge?js_escape($Ge):lang(0))."'); };","");}function
print_fieldset($u,$oe,$Ti=false){echo"<fieldset><legend>","<a href='#fieldset-$u'>$oe</a>",script("qsl('a').onclick = partial(toggle, 'fieldset-$u');",""),"</legend>","<div id='fieldset-$u'".($Ti?"":" class='hidden'").">\n";}function
bold($Wa,$kb=""){return($Wa?" class='active $kb'":($kb?" class='$kb'":""));}function
odd($J=' class="odd"'){static$t=0;if(!$J)$t=-1;return($t++%2?$J:'');}function
js_escape($Q){return
addcslashes($Q,"\r\n'\\/");}function
json_row($z,$X=null){static$Wc=true;if($Wc)echo"{";if($z!=""){echo($Wc?"":",")."\n\t\"".addcslashes($z,"\r\n\t\"\\/").'": '.($X!==null?'"'.addcslashes($X,"\r\n\"\\/").'"':'null');$Wc=false;}else{echo"\n}\n";$Wc=true;}}function
ini_bool($Ld){$X=ini_get($Ld);return(preg_match('~^(on|true|yes)$~i',$X)||(int)$X);}function
sid(){static$J;if($J===null)$J=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));return$J;}function
set_password($Pi,$O,$V,$G){$_SESSION["pwds"][$Pi][$O][$V]=($_COOKIE["adminer_key"]&&is_string($G)?array(encrypt_string($G,$_COOKIE["adminer_key"])):$G);}function
get_password(){$J=get_session("pwds");if(is_array($J))$J=($_COOKIE["adminer_key"]?decrypt_string($J[0],$_COOKIE["adminer_key"]):false);return$J;}function
q($Q){global$g;return$g->quote($Q);}function
get_vals($H,$d=0){global$g;$J=array();$I=$g->query($H);if(is_object($I)){while($K=$I->fetch_row())$J[]=$K[$d];}return$J;}function
get_key_vals($H,$h=null,$Xh=0,$hh=true){global$g;if(!is_object($h))$h=$g;$J=array();$h->timeout=$Xh;$I=$h->query($H);$h->timeout=0;if(is_object($I)){while($K=$I->fetch_row()){if($hh)$J[$K[0]]=$K[1];else$J[]=$K[0];}}return$J;}function
get_rows($H,$h=null,$o="<p class='error'>"){global$g;$yb=(is_object($h)?$h:$g);$J=array();$I=$yb->query($H);if(is_object($I)){while($K=$I->fetch_assoc())$J[]=$K;}elseif(!$I&&!is_object($h)&&$o&&defined("PAGE_HEADER"))echo$o.error()."\n";return$J;}function
unique_array($K,$x){foreach($x
as$w){if(preg_match("~PRIMARY|UNIQUE~",$w["type"])){$J=array();foreach($w["columns"]as$z){if(!isset($K[$z]))continue
2;$J[$z]=$K[$z];}return$J;}}}function
escape_key($z){if(preg_match('(^([\w(]+)('.str_replace("_",".*",preg_quote(idf_escape("_"))).')([ \w)]+)$)',$z,$C))return$C[1].idf_escape(idf_unescape($C[2])).$C[3];return
idf_escape($z);}function
where($Z,$q=array()){global$g,$y;$J=array();foreach((array)$Z["where"]as$z=>$X){$z=bracket_escape($z,1);$d=escape_key($z);$J[]=$d.($y=="sql"&&preg_match('~^[0-9]*\\.[0-9]*$~',$X)?" LIKE ".q(addcslashes($X,"%_\\")):($y=="mssql"?" LIKE ".q(preg_replace('~[_%[]~','[\0]',$X)):" = ".unconvert_field($q[$z],q($X))));if($y=="sql"&&preg_match('~char|text~',$q[$z]["type"])&&preg_match("~[^ -@]~",$X))$J[]="$d = ".q($X)." COLLATE ".charset($g)."_bin";}foreach((array)$Z["null"]as$z)$J[]=escape_key($z)." IS NULL";return
implode(" AND ",$J);}function
where_check($X,$q=array()){parse_str($X,$db);remove_slashes(array(&$db));return
where($db,$q);}function
where_link($t,$d,$Y,$nf="="){return"&where%5B$t%5D%5Bcol%5D=".urlencode($d)."&where%5B$t%5D%5Bop%5D=".urlencode(($Y!==null?$nf:"IS NULL"))."&where%5B$t%5D%5Bval%5D=".urlencode($Y);}function
convert_fields($e,$q,$M=array()){$J="";foreach($e
as$z=>$X){if($M&&!in_array(idf_escape($z),$M))continue;$Ha=convert_field($q[$z]);if($Ha)$J.=", $Ha AS ".idf_escape($z);}return$J;}function
cookie($D,$Y,$re=2592000){global$ba;return
header("Set-Cookie: $D=".urlencode($Y).($re?"; expires=".gmdate("D, d M Y H:i:s",time()+$re)." GMT":"")."; path=".preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]).($ba?"; secure":"")."; HttpOnly; SameSite=lax",false);}function
restart_session(){if(!ini_bool("session.use_cookies"))session_start();}function
stop_session(){if(!ini_bool("session.use_cookies"))session_write_close();}function&get_session($z){return$_SESSION[$z][DRIVER][SERVER][$_GET["username"]];}function
set_session($z,$X){$_SESSION[$z][DRIVER][SERVER][$_GET["username"]]=$X;}function
auth_url($Pi,$O,$V,$m=null){global$ec;preg_match('~([^?]*)\\??(.*)~',remove_from_uri(implode("|",array_keys($ec))."|username|".($m!==null?"db|":"").session_name()),$C);return"$C[1]?".(sid()?SID."&":"").($Pi!="server"||$O!=""?urlencode($Pi)."=".urlencode($O)."&":"")."username=".urlencode($V).($m!=""?"&db=".urlencode($m):"").($C[2]?"&$C[2]":"");}function
is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
redirect($B,$Ge=null){if($Ge!==null){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',($B!==null?$B:$_SERVER["REQUEST_URI"]))][]=$Ge;}if($B!==null){if($B=="")$B=".";header("Location: $B");exit;}}function
query_redirect($H,$B,$Ge,$vg=true,$Cc=true,$Nc=false,$Wh=""){global$g,$o,$b;if($Cc){$vh=microtime(true);$Nc=!$g->query($H);$Wh=format_time($vh);}$qh="";if($H)$qh=$b->messageQuery($H,$Wh,$Nc);if($Nc){$o=error().$qh.script("messagesPrint();");return
false;}if($vg)redirect($B,$Ge.$qh);return
true;}function
queries($H){global$g;static$og=array();static$vh;if(!$vh)$vh=microtime(true);if($H===null)return
array(implode("\n",$og),format_time($vh));$og[]=(preg_match('~;$~',$H)?"DELIMITER ;;\n$H;\nDELIMITER ":$H).";";return$g->query($H);}function
apply_queries($H,$T,$zc='table'){foreach($T
as$R){if(!queries("$H ".$zc($R)))return
false;}return
true;}function
queries_redirect($B,$Ge,$vg){list($og,$Wh)=queries(null);return
query_redirect($og,$B,$Ge,$vg,false,!$vg,$Wh);}function
format_time($vh){return
lang(1,max(0,microtime(true)-$vh));}function
remove_from_uri($Gf=""){return
substr(preg_replace("~(?<=[?&])($Gf".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1);}function
pagination($F,$Jb){return" ".($F==$Jb?$F+1:'<a href="'.h(remove_from_uri("page").($F?"&page=$F".($_GET["next"]?"&next=".urlencode($_GET["next"]):""):"")).'">'.($F+1)."</a>");}function
get_file($z,$Rb=false){$Tc=$_FILES[$z];if(!$Tc)return
null;foreach($Tc
as$z=>$X)$Tc[$z]=(array)$X;$J='';foreach($Tc["error"]as$z=>$o){if($o)return$o;$D=$Tc["name"][$z];$ei=$Tc["tmp_name"][$z];$_b=file_get_contents($Rb&&preg_match('~\\.gz$~',$D)?"compress.zlib://$ei":$ei);if($Rb){$vh=substr($_b,0,3);if(function_exists("iconv")&&preg_match("~^\xFE\xFF|^\xFF\xFE~",$vh,$Ag))$_b=iconv("utf-16","utf-8",$_b);elseif($vh=="\xEF\xBB\xBF")$_b=substr($_b,3);$J.=$_b."\n\n";}else$J.=$_b;}return$J;}function
upload_error($o){$De=($o==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($o?lang(2).($De?" ".lang(3,$De):""):lang(4));}function
repeat_pattern($Tf,$pe){return
str_repeat("$Tf{0,65535}",$pe/65535)."$Tf{0,".($pe%65535)."}";}function
is_utf8($X){return(preg_match('~~u',$X)&&!preg_match('~[\\0-\\x8\\xB\\xC\\xE-\\x1F]~',$X));}function
shorten_utf8($Q,$pe=80,$Ch=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{10FFFF}]",$pe).")($)?)u",$Q,$C))preg_match("(^(".repeat_pattern("[\t\r\n -~]",$pe).")($)?)",$Q,$C);return
h($C[1]).$Ch.(isset($C[2])?"":"<i>...</i>");}function
format_number($X){return
strtr(number_format($X,0,".",lang(5)),preg_split('~~u',lang(6),-1,PREG_SPLIT_NO_EMPTY));}function
friendly_url($X){return
preg_replace('~[^a-z0-9_]~i','-',$X);}function
hidden_fields($jg,$Bd=array()){$J=false;while(list($z,$X)=each($jg)){if(!in_array($z,$Bd)){if(is_array($X)){foreach($X
as$Yd=>$W)$jg[$z."[$Yd]"]=$W;}else{$J=true;echo'<input type="hidden" name="'.h($z).'" value="'.h($X).'">';}}}return$J;}function
hidden_fields_get(){echo(sid()?'<input type="hidden" name="'.session_name().'" value="'.h(session_id()).'">':''),(SERVER!==null?'<input type="hidden" name="'.DRIVER.'" value="'.h(SERVER).'">':""),'<input type="hidden" name="username" value="'.h($_GET["username"]).'">';}function
table_status1($R,$Oc=false){$J=table_status($R,$Oc);return($J?$J:array("Name"=>$R));}function
column_foreign_keys($R){global$b;$J=array();foreach($b->foreignKeys($R)as$r){foreach($r["source"]as$X)$J[$X][]=$r;}return$J;}function
enum_input($U,$Ka,$p,$Y,$tc=null){global$b;preg_match_all("~'((?:[^']|'')*)'~",$p["length"],$ze);$J=($tc!==null?"<label><input type='$U'$Ka value='$tc'".((is_array($Y)?in_array($tc,$Y):$Y===0)?" checked":"")."><i>".lang(7)."</i></label>":"");foreach($ze[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$fb=(is_int($Y)?$Y==$t+1:(is_array($Y)?in_array($t+1,$Y):$Y===$X));$J.=" <label><input type='$U'$Ka value='".($t+1)."'".($fb?' checked':'').'>'.h($b->editVal($X,$p)).'</label>';}return$J;}function
input($p,$Y,$s){global$vi,$b,$y;$D=h(bracket_escape($p["field"]));echo"<td class='function'>";if(is_array($Y)&&!$s){$Fa=array($Y);if(version_compare(PHP_VERSION,5.4)>=0)$Fa[]=JSON_PRETTY_PRINT;$Y=call_user_func_array('json_encode',$Fa);$s="json";}$Eg=($y=="mssql"&&$p["auto_increment"]);if($Eg&&!$_POST["save"])$s=null;$jd=(isset($_GET["select"])||$Eg?array("orig"=>lang(8)):array())+$b->editFunctions($p);$Ka=" name='fields[$D]'";if($p["type"]=="enum")echo
nbsp($jd[""])."<td>".$b->editInput($_GET["edit"],$p,$Ka,$Y);else{$sd=(in_array($s,$jd)||isset($jd[$s]));echo(count($jd)>1?"<select name='function[$D]'>".optionlist($jd,$s===null||$sd?$s:"")."</select>".on_help("getTarget(event).value.replace(/^SQL\$/, '')",1).script("qsl('select').onchange = functionChange;",""):nbsp(reset($jd))).'<td>';$Nd=$b->editInput($_GET["edit"],$p,$Ka,$Y);if($Nd!="")echo$Nd;elseif(preg_match('~bool~',$p["type"]))echo"<input type='hidden'$Ka value='0'>"."<input type='checkbox'".(preg_match('~^(1|t|true|y|yes|on)$~i',$Y)?" checked='checked'":"")."$Ka value='1'>";elseif($p["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$p["length"],$ze);foreach($ze[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$fb=(is_int($Y)?($Y>>$t)&1:in_array($X,explode(",",$Y),true));echo" <label><input type='checkbox' name='fields[$D][$t]' value='".(1<<$t)."'".($fb?' checked':'').">".h($b->editVal($X,$p)).'</label>';}}elseif(preg_match('~blob|bytea|raw|file~',$p["type"])&&ini_bool("file_uploads"))echo"<input type='file' name='fields-$D'>";elseif(($Uh=preg_match('~text|lob~',$p["type"]))||preg_match("~\n~",$Y)){if($Uh&&$y!="sqlite")$Ka.=" cols='50' rows='12'";else{$L=min(12,substr_count($Y,"\n")+1);$Ka.=" cols='30' rows='$L'".($L==1?" style='height: 1.2em;'":"");}echo"<textarea$Ka>".h($Y).'</textarea>';}elseif($s=="json"||preg_match('~^jsonb?$~',$p["type"]))echo"<textarea$Ka cols='50' rows='12' class='jush-js'>".h($Y).'</textarea>';else{$Fe=(!preg_match('~int~',$p["type"])&&preg_match('~^(\\d+)(,(\\d+))?$~',$p["length"],$C)?((preg_match("~binary~",$p["type"])?2:1)*$C[1]+($C[3]?1:0)+($C[2]&&!$p["unsigned"]?1:0)):($vi[$p["type"]]?$vi[$p["type"]]+($p["unsigned"]?0:1):0));if($y=='sql'&&min_version(5.6)&&preg_match('~time~',$p["type"]))$Fe+=7;echo"<input".((!$sd||$s==="")&&preg_match('~(?<!o)int(?!er)~',$p["type"])&&!preg_match('~\[\]~',$p["full_type"])?" type='number'":"")." value='".h($Y)."'".($Fe?" data-maxlength='$Fe'":"").(preg_match('~char|binary~',$p["type"])&&$Fe>20?" size='40'":"")."$Ka>";}echo$b->editHint($_GET["edit"],$p,$Y);$Wc=0;foreach($jd
as$z=>$X){if($z===""||!$X)break;$Wc++;}if($Wc)echo
script("mixin(qsl('td'), {onchange: partial(skipOriginal, $Wc), oninput: function () { this.onchange(); }});");}}function
process_input($p){global$b,$n;$v=bracket_escape($p["field"]);$s=$_POST["function"][$v];$Y=$_POST["fields"][$v];if($p["type"]=="enum"){if($Y==-1)return
false;if($Y=="")return"NULL";return+$Y;}if($p["auto_increment"]&&$Y=="")return
null;if($s=="orig")return($p["on_update"]=="CURRENT_TIMESTAMP"?idf_escape($p["field"]):false);if($s=="NULL")return"NULL";if($p["type"]=="set")return
array_sum((array)$Y);if($s=="json"){$s="";$Y=json_decode($Y,true);if(!is_array($Y))return
false;return$Y;}if(preg_match('~blob|bytea|raw|file~',$p["type"])&&ini_bool("file_uploads")){$Tc=get_file("fields-$v");if(!is_string($Tc))return
false;return$n->quoteBinary($Tc);}return$b->processInput($p,$Y,$s);}function
fields_from_edit(){global$n;$J=array();foreach((array)$_POST["field_keys"]as$z=>$X){if($X!=""){$X=bracket_escape($X);$_POST["function"][$X]=$_POST["field_funs"][$z];$_POST["fields"][$X]=$_POST["field_vals"][$z];}}foreach((array)$_POST["fields"]as$z=>$X){$D=bracket_escape($z,1);$J[$D]=array("field"=>$D,"privileges"=>array("insert"=>1,"update"=>1),"null"=>1,"auto_increment"=>($z==$n->primary),);}return$J;}function
search_tables(){global$b,$g;$_GET["where"][0]["val"]=$_POST["query"];$bh="<ul>\n";foreach(table_status('',true)as$R=>$S){$D=$b->tableName($S);if(isset($S["Engine"])&&$D!=""&&(!$_POST["tables"]||in_array($R,$_POST["tables"]))){$I=$g->query("SELECT".limit("1 FROM ".table($R)," WHERE ".implode(" AND ",$b->selectSearchProcess(fields($R),array())),1));if(!$I||$I->fetch_row()){$fg="<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"$bh<li>".($I?$fg:"<p class='error'>$fg: ".error())."\n";$bh="";}}}echo($bh?"<p class='message'>".lang(9):"</ul>")."\n";}function
dump_headers($_d,$Pe=false){global$b;$J=$b->dumpHeaders($_d,$Pe);$Df=$_POST["output"];if($Df!="text")header("Content-Disposition: attachment; filename=".$b->dumpFilename($_d).".$J".($Df!="file"&&!preg_match('~[^0-9a-z]~',$Df)?".$Df":""));session_write_close();ob_flush();flush();return$J;}function
dump_csv($K){foreach($K
as$z=>$X){if(preg_match("~[\"\n,;\t]~",$X)||$X==="")$K[$z]='"'.str_replace('"','""',$X).'"';}echo
implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$K)."\r\n";}function
apply_sql_function($s,$d){return($s?($s=="unixepoch"?"DATETIME($d, '$s')":($s=="count distinct"?"COUNT(DISTINCT ":strtoupper("$s("))."$d)"):$d);}function
get_temp_dir(){$J=ini_get("upload_tmp_dir");if(!$J){if(function_exists('sys_get_temp_dir'))$J=sys_get_temp_dir();else{$Uc=@tempnam("","");if(!$Uc)return
false;$J=dirname($Uc);unlink($Uc);}}return$J;}function
file_open_lock($Uc){$hd=@fopen($Uc,"r+");if(!$hd){$hd=@fopen($Uc,"w");if(!$hd)return;chmod($Uc,0660);}flock($hd,LOCK_EX);return$hd;}function
file_write_unlock($hd,$Lb){rewind($hd);fwrite($hd,$Lb);ftruncate($hd,strlen($Lb));flock($hd,LOCK_UN);fclose($hd);}function
password_file($i){$Uc=get_temp_dir()."/adminer.key";$J=@file_get_contents($Uc);if($J||!$i)return$J;$hd=@fopen($Uc,"w");if($hd){chmod($Uc,0660);$J=rand_string();fwrite($hd,$J);fclose($hd);}return$J;}function
rand_string(){return
md5(uniqid(mt_rand(),true));}function
select_value($X,$A,$p,$Vh){global$b;if(is_array($X)){$J="";foreach($X
as$Yd=>$W)$J.="<tr>".($X!=array_values($X)?"<th>".h($Yd):"")."<td>".select_value($W,$A,$p,$Vh);return"<table cellspacing='0'>$J</table>";}if(!$A)$A=$b->selectLink($X,$p);if($A===null){if(is_mail($X))$A="mailto:$X";if(is_url($X))$A=$X;}$J=$b->editVal($X,$p);if($J!==null){if($J==="")$J="&nbsp;";elseif(!is_utf8($J))$J="\0";elseif($Vh!=""&&is_shortable($p))$J=shorten_utf8($J,max(0,+$Vh));else$J=h($J);}return$b->selectVal($J,$A,$p,$X);}function
is_mail($qc){$Ia='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$dc='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$Tf="$Ia+(\\.$Ia+)*@($dc?\\.)+$dc";return
is_string($qc)&&preg_match("(^$Tf(,\\s*$Tf)*\$)i",$qc);}function
is_url($Q){$dc='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return
preg_match("~^(https?)://($dc?\\.)+$dc(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$Q);}function
is_shortable($p){return
preg_match('~char|text|json|lob|geometry|point|linestring|polygon|string|bytea~',$p["type"]);}function
count_rows($R,$Z,$Td,$md){global$y;$H=" FROM ".table($R).($Z?" WHERE ".implode(" AND ",$Z):"");return($Td&&($y=="sql"||count($md)==1)?"SELECT COUNT(DISTINCT ".implode(", ",$md).")$H":"SELECT COUNT(*)".($Td?" FROM (SELECT 1$H GROUP BY ".implode(", ",$md).") x":$H));}function
slow_query($H){global$b,$gi;$m=$b->database();$Xh=$b->queryTimeout();if(support("kill")&&is_object($h=connect())&&($m==""||$h->select_db($m))){$de=$h->result(connection_id());echo'<script',nonce(),'>
var timeout = setTimeout(function () {
	ajax(\'',js_escape(ME),'script=kill\', function () {
	}, \'kill=',$de,'&token=',$gi,'\');
}, ',1000*$Xh,');
</script>
';}else$h=null;ob_flush();flush();$J=@get_key_vals($H,$h,$Xh,false);if($h){echo
script("clearTimeout(timeout);");ob_flush();flush();}return$J;}function
get_token(){$rg=rand(1,1e6);return($rg^$_SESSION["token"]).":$rg";}function
verify_token(){list($gi,$rg)=explode(":",$_POST["token"]);return($rg^$_SESSION["token"])==$gi;}function
lzw_decompress($Sa){$Zb=256;$Ta=8;$mb=array();$Gg=0;$Hg=0;for($t=0;$t<strlen($Sa);$t++){$Gg=($Gg<<8)+ord($Sa[$t]);$Hg+=8;if($Hg>=$Ta){$Hg-=$Ta;$mb[]=$Gg>>$Hg;$Gg&=(1<<$Hg)-1;$Zb++;if($Zb>>$Ta)$Ta++;}}$Yb=range("\0","\xFF");$J="";foreach($mb
as$t=>$lb){$pc=$Yb[$lb];if(!isset($pc))$pc=$ej.$ej[0];$J.=$pc;if($t)$Yb[]=$ej.$pc[0];$ej=$pc;}return$J;}function
on_help($tb,$ih=0){return
script("mixin(qsl('select, input'), {onmouseover: function (event) { helpMouseover.call(this, event, $tb, $ih) }, onmouseout: helpMouseout});","");}function
edit_form($a,$q,$K,$Ci){global$b,$y,$gi,$o;$Hh=$b->tableName(table_status1($a,true));page_header(($Ci?lang(10):lang(11)),$o,array("select"=>array($a,$Hh)),$Hh);if($K===false)echo"<p class='error'>".lang(12)."\n";echo'<form action="" method="post" enctype="multipart/form-data" id="form">
';if(!$q)echo"<p class='error'>".lang(13)."\n";else{echo"<table cellspacing='0'>".script("qsl('table').onkeydown = editingKeydown;");foreach($q
as$D=>$p){echo"<tr><th>".$b->fieldName($p);$Sb=$_GET["set"][bracket_escape($D)];if($Sb===null){$Sb=$p["default"];if($p["type"]=="bit"&&preg_match("~^b'([01]*)'\$~",$Sb,$Ag))$Sb=$Ag[1];}$Y=($K!==null?($K[$D]!=""&&$y=="sql"&&preg_match("~enum|set~",$p["type"])?(is_array($K[$D])?array_sum($K[$D]):+$K[$D]):$K[$D]):(!$Ci&&$p["auto_increment"]?"":(isset($_GET["select"])?false:$Sb)));if(!$_POST["save"]&&is_string($Y))$Y=$b->editVal($Y,$p);$s=($_POST["save"]?(string)$_POST["function"][$D]:($Ci&&$p["on_update"]=="CURRENT_TIMESTAMP"?"now":($Y===false?null:($Y!==null?'':'NULL'))));if(preg_match("~time~",$p["type"])&&$Y=="CURRENT_TIMESTAMP"){$Y="";$s="now";}input($p,$Y,$s);echo"\n";}if(!support("table"))echo"<tr>"."<th><input name='field_keys[]'>".script("qsl('input').oninput = fieldChange;")."<td class='function'>".html_select("field_funs[]",$b->editFunctions(array("null"=>isset($_GET["select"]))))."<td><input name='field_vals[]'>"."\n";echo"</table>\n";}echo"<p>\n";if($q){echo"<input type='submit' value='".lang(14)."'>\n";if(!isset($_GET["select"])){echo"<input type='submit' name='insert' value='".($Ci?lang(15):lang(16))."' title='Ctrl+Shift+Enter'>\n",($Ci?script("qsl('input').onclick = function () { return !ajaxForm(this.form, '".lang(17)."...', this); };"):"");}}echo($Ci?"<input type='submit' name='delete' value='".lang(18)."'>".confirm()."\n":($_POST||!$q?"":script("focus(qsa('td', qs('#form'))[1].firstChild);")));if(isset($_GET["select"]))hidden_fields(array("check"=>(array)$_POST["check"],"clone"=>$_POST["clone"],"all"=>$_POST["all"]));echo'<input type="hidden" name="referer" value="',h(isset($_POST["referer"])?$_POST["referer"]:$_SERVER["HTTP_REFERER"]),'">
<input type="hidden" name="save" value="1">
<input type="hidden" name="token" value="',$gi,'">
</form>
';}if(isset($_GET["file"])){if($_SERVER["HTTP_IF_MODIFIED_SINCE"]){header("HTTP/1.1 304 Not Modified");exit;}header("Expires: ".gmdate("D, d M Y H:i:s",time()+365*24*60*60)." GMT");header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");header("Cache-Control: immutable");if($_GET["file"]=="favicon.ico"){header("Content-Type: image/x-icon");echo
lzw_decompress("\0\0\0` \0?\0\n @\0?C??\"\0`E鉗膏??tvM'擩d?d\\宐0\0腬"櫪f訄ゎs5浵缪A?XPaJ?劌?8?R奣z`?.┣c鞽摸葊??\0m??玀?€\0券(虊??/(%孿0");}elseif($_GET["file"]=="default.css"){header("Content-Type: text/css; charset=utf-8");echo
lzw_decompress("\n1虈撡屴l7渿B1?vb0樛fs懠阯2B萄辟樲n:?(糱.\rDc)热a7E?懁耹γ睌鑙1處s槾?4檱f?任i7?抽?剮孎茅攙t2?傆!?r0香悖t~経?3M€蒞凚?c蚉?6T\rc緕r_頦K?\r-糣NFS%~胏操?沑\^蕆罌u偱幟烎賸4'7k惰鉗枣h?g\rFB\ryT7SS?=扦cI枋:峝敽m>8L咼仠t.M?強	蠇`'C〖坌889と ?Q佚岊2?8袗挊6m嗮j垻h?厡矮?9/霕?怞?蕚?\0d>!\0Z?坴旎n刖鸺o(隗ドk?綇s帙>?顔!蠷\"*nS齖0@P\"凌??[顶g筼?瓛zn?k?唍殭?碔*堲=蚽菠?徃?玞(?久犘?包?*c祺>螏珽7D馤J1蠕枫`?(嵴3M\"?9??E乪=椰鼅??蓬痈7;蒀?翛虴\rd!)耡*?ajo\0?`?8禱0薯]揺岅埰2?mk?鴈]吜?AZs誗tZ昛!)BR℅+?Jv2(銧鲱c?<?sB?辁?YL\r?=縖?3起<?bx斶J=	m_ 鞠舊?l?譼嬪I獌H?弜*€涐6`t6久%?U訪?e賯?碶0葾Q<P<:?u/?T\\>犓-厁J埻?QH\nj+j輟痼?玚蒺幊\nk儍'揘觱X>頒-T拴稖笎?*L?Cj>7擗娹?檂?y佧苢羠?#ㄙ} :#n韁r憬^?C?A芨萜巵s&8帲K&霍*0岩t軸稍?綶左:漒\]?E輰?O?^]?酶?嶈伧gZ訴嗛q撼妼?袼x\\瓖钑龉咿捍刓"J燶\卯堺##痢紻單x6隃?5x受€付啫\rH鴏 嬹b鸂r?嵩6嗋?j|翂?③?鬎AquvyO捊WeM??鲏D.F狯:R?\$-∞兜T!霥S`?D榽熰A`(莈m儲螨@O1@簡X︹揬nLp饢慞濑劣耺?yf??	壂聢贕SEI墎?xC(s(a?\$`tE╪勸杯,髡 \$a悑U>,栊抃$Z駅Dm,G\0?燶\悙i??使?nケ缝蒈g惿刡	y`掤詥薟旆 錀棥_C滥T\ni愊H%?da乐i??At?廉J哫4n垜攬0o凸?g\nzm?M%`?I鼆?袨-栩??:p?p?峇梤ED殼嘴犩b2]匬F狚ド>e生?j\n€甙t!?4f恡K;J\r螢懈?鄌?u?愈丳h瀽?uIC}'~湃2噕ㄒ?)炖?霥I?чy&暍ea鄐*h蓵jlA?(隂\"腬\雨m^i懏M)偘^?|~誰ǘ#!Y蚮81RS帬恋!噯?2P?C戶l&睇鋢d!寍犺9癭謃OY?鹧G郲E?-eL?CvT? )腀恓-5?稖pSg?扜=仈衂E姻\$\0⒀?Kj鞺У\$?偫G'I銹┞~?趤?;佢hN蹘G%*酭j駢X[淴Pf^帘|骅T!?N痧袉竆rU^q1V!鸣Uz,肐|7?唕,尽?旇弈綛柱??鳕┻?圓趐臀角^?€?~丶W!3P奍8]摻v覬捔f駋,濌?W鴉`\0醧擹?p}[Jdhy瓡N甑Y|餀Cy,?<s A亄e蚎??騢d剚烨?藼4;ks&悆?衲萸a搌披?斬;斯}鏢屗J咃??d煸|翁?Nd?稩?8祶l醚搧E6~熄怓?盭`楳\r蕿/?B/V繧錘&;犍?臮C cT&.E+鐣髢腊姏檐@?`;培薌?浔赁'檨洏鲟茞籝?秹QZ-i侓測v儢I?隗,O|璓謁F蹚狎御馶0慄??9廷櫌乶/蠂]爻&ΚI^?=觢帺qfI剖= 謁x1GR??e?┖)婓':B睟?a??.bz?劌?駬?U釗嵠L7-紈縯?傻駫?e鯠?$?鞅誁?G???p餜燳C列~寥:繞浦EU?J??67v]朖'??鋛1铣镋l鬛袉i就梦駝/?{k<愢帧M躳o靰?鑢立q屫?靋彰_m襴锞峖簎柎霹邳珢肚ln?廄_?~稧鴑桄嬛{k転遷戕鵟rj~桲揬0陷?铤?€;溹涼b`}罜C,仈?秼L佇8\r,嚳kl岒n}-5亰崓3u沢m蛤鸥?*?漪戍项讖鬬薫?x?B?#鲔廚;OR\rㄨ\$魑?k?蠙\01\0k骪0?敉a栝/t狕?(&蘬&?p赶靷咡馕i?M?{痾p*?g鑦壟6渒??堭渄嫭茏腁`6僱X)+d 氿? 鑌r牼 磊乧j6晖\rp絓r姓\r\"oP?輁r愂\0?\0緔犌P?慅\rQ7痼郱佈4Q犵缵?p/▂\r??#D?牼煥<杇?\0fi2?f裓\	m?Gh\r?眓犨痦@[ 蔊慭"Sqm姢\r€??杌(Aj?駋眩%魫?虘3qE墑\0r柼?牼聸0??褟鈿萃?Q7褕W懮憉?戰???@颞H鷮q'vs?闬n?0畡新SG?p躉`蟎r)c??乱懃R=\$€茞R\r褿褘\$R?%2C瞇\0貚膥?盶\缷p?@緛襉(rg%?ra\$壉)r](矝&?&?&R?,\rqV3襖"H閙+鄭萳扱\"\0?4??\$r?駫=挔??2;.睭@`璇饰a収採\$瞋*RIS&刃q犱_??1+1捙乐狊3)2襐7??l蜈?!1g-?2f`愐?Q?聩0qg覿!q?髆6姦嫵_睲7 ?偭7硂6Q?噜髃p?砱9敧s?3?黒r?:S?訌;?揬r9?-\0芛缨0Q?b#<觼襴/燝绤>r乗r胚=3?峖&Q;眩?q?\"?H袡憒??邮朣鄻i?郂*覶??T#巿 玕0癈皰07]?戄&獩訣硡D?:/?3鼸?5铀EQ宔?薚\"﹎灘松5慐;鬅?=4?耱*闰﹫鳯S?Hr馢E TO\r詤J磵J撚J笥纄G)8B??,&驉G?茬€?嘘?M€κ刹^*?G粟14?薥$.\"鎷I4w!\$L ?b闍2鸏?M?MF鶿$?脆擆Nr搓/4顱J诼?);}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");echo
lzw_decompress("f:泴gCI架\n8溑3)八7渽?1惺x:\nOg#)嘘r7\n\"嗚碻鴟2蘥Si朒)N戜r嚌\"0鼓@?焋(\$s6O!予淰/=潓' T4?剺iS槏6IO撌er賦??*藕昂n3漒r褖v僀伭`鯕?G%╕沔?1櫷f艄讶俵っ1?\ny?*pC\r\$蘮峊獣3=\\俽9O\"?类l<奬r荺\€矷,?s\nAてeh+M鈰!峲0欭f籤(?N{c枟+w笋罽p侑3???Iυj购龓蟢凡n竡?儘zi#^r乩?磱3桠嵪[炶簅;(嬓6?酪悗峔":cz>撸C2v?CX?丳?胏*5\n酣璺/黀97駖F?癱0兂ò?崈鎱!?壝\nZ%?膰#CH?!ㄒr8鏫$ァ殳,萊軘2吶鉤0丰@?屸(?8P/傕篙勧\\羂$La\\?c郒勧HX剚昞n蕛t渿?A<蟬Z??;I形3×@?<姠?A8G<詊?K?{*\r捙a1嚒鐽4Tc\"\\?=1^曫軲9O??j寠\r鉞亦L#H??T莳/-磱?丅 聥\n?!儱蛅]ap螏蓊\0R跜藇琈翴,\r鰨0Hv拜?kT?俭u俦?;&拹?&儧饡礬r萖弽乥u4荨i88?B?鈨??N8A蹵)52睑逦2埁s?鐡5ぅ?WC@?榯呫敬謊悮h\"#8_樻cp^銏釯]OH:zd?g?剤酌杒割?\\6磹槓2谮桏筰???樝]\r脁O緉簆?×p颭甎衝嬺|@缢?G3鹆8bAㄊ6??7%#竆\8\r??萩\r?轃k??(?帓-桱;顩洋 乳L阆 ?紴W怿悃撗ドも桏窞n麪咬绘齅卫9Z袧s]陑y^[4-篣\0ta??2^晿.`?傗.C遤[釀? Q\0`d隡8喀妓踈$O0`4碴蝄n\0a\rA?咢焹泭\r!?谺A??h>で?牃~虒?葓h??淎7X淅謬\\糪r亼Q<铓?q?!X螕2鶷 ?孌\r??K碶"?楬?qR\r勌牏?C =庬?犳???c擻n#<€5峂? 闑儨y尅敁嚢鷒\"癱JKL2?&XeR溊W蠥螑Tw恃?錔堚醆\`)5υ逌B騫hT3оR	?\r+\":?8だtV揂?]屔S72瑞團兗Z85?c,骠禞帘/+S竛BpoW?d愔\"a璟Kp柁\$洅?硝4廔L'@?xC?df閪}Q*斠?A掂Q抃"B?2\0?颜kF?\"\r攽? 豲僜\?寓悪赩ijY?属O?\$妶2?ThH伌お0XH?5~kL匱*:~P2?锣B\0齓吚?翜?j唙D衧.?搒腹踏芇?*x灙昩擋?\$筗/?蒙z';ρ\$??閐鈓砻兡'b\r裯%拍47W?煉圉?牰K?党@<舋?猫bB?[7\抾€VdR?6leQ蘞(寓,?d樺?\rS:???`钔Y繾蹵逡?疽ZkQ攕M?炎葅`疛*漺蹲訆>?站鬌消?飁泳穃"?t+po熓=?偟Apc7g驿燷邮l?!讕褩+帖zsN︻繮澰?騣a}U瞐氂鶛`溷Aキ两羨\n◇?涁j?<?+?;\"罢N3tqd4藕g攦媥€狿HFvW鮒\n説;B酓柏?鯾J齿\\? %ヱ桏钺]褗?a纵強?会︷?E懎(i?铘7胱x眴zぷ吟缗H沙竏搓md殪鑁眗@曨a?r擻ry?-4礷P嵋塛檬`,紉@輝紙鐰拋.€O羒€痮?戛鰱)毙ê鋻蓡S?d?觘O龣%貼?錖78恙F悛洤S钺淫鯥?耚r钲Z槻r^?龒徐*俤\ri癥?隮d媢秒s????E牎式镈?骐!?>鵮C醼汚噹羋獍!WW?痧嶲A鏈踜桨d%# 飝啺{洊`}T開YY?R-筂艉O?肘??艩蒨?2永鳕+]L暼7Eぴ鐊`藭~w?呑隣㎝6彜]F?麅櫑蘣`??笯噀?拓\\ap.侶嵭C?梨*EAoz2蛊鏶0鷪?]蜐~焥榜蟕宧J`嗞绠鹽囜蚟`???>??O?\r餡^I滜烏\n躇??窀答:熶蟔h?n钡尨遈P4?麪*钌醑??v咒[摔瑿;筹慊秐鋀/j?<\$J*q蘑苞-L魧\0弹泔鱘0O歕$隯W z?\0}徻.4F刓rnu\0忄乩鋸嫆長?狑IA\nz??柀獖jJ樚匬?㈦傂p潊?€卅N殲D菳f\\	\0?牁W@L\r滥`?g'Bd?Bi	悳皞?|r%|\nr\r#幇凘w?T.瑅?袷鈂nm槬?p卦`鶼0卦?鹄述\0?€??}?I ?x\\怍裓n犕Q?鍬bR MF?莬㈣%0SDr?牉f/b栢箩?犴k/	f%湫óe\nx\0耹\0?炮	?€W`?ペ\n?\r\0}p幉憶?\0?B?,z&纅 蘚r嶖WOcK僜n旎牉掑?k獄2\r裆李W@聮?\n~1€俋牑遯釪?癪t<?\$瞷0<Eκ血?&躈襖r\n鎊i嵗峔"璩#n?飙#2D鼚?瓺鈳鎜!瑉K6码:庯烀橡#Rl?q'k蘧*斧脌喽 Z@候J?`^P郒纀SR|??|鲷?挡^遰c&o嫜k<?&xK舱'纥L膫?驋騧E)?*?琡RWGbTR頯VNfj骛?woV梃?\"?捼??s\0Р.拨蕹8??h Q&鼛鈔*h鳿0騰鐶罔@\\F\n俉舝 f\$骵6悜6郺悚ア5H曬?癰Y衒嵱RF€??(液?EQ?*暑鸽(??*?+,篭"場\r犥	8齖0堻3@?l鍘?+技??-\$?笕%喬舋F!s?持%s?K?q擻0O\"EA??缞}5\0?嫙A\nRrH呞硣9?U靌W3!b▃`?鉌>襥,攁?L>按`磖颈r爐a;L﹄?%繰x顚塕嗠t娛W/m7Dr禘sG2?B5I畎肷Q3鈅€?詧氪ぇ24.靿臨k?€z@稄@?N靃4?<%b>nPW?熲?n\$bK5搕団ZB砓I L?~G砓?竹cQc	6DX值\"}茷f娦蝚€?揬\?X佗td畡\nbtNaE?Tb;峫?p傉|廫0?痻\n倿錮V猪屩郵X鯎Yf匃%D`嘠b豷vDsk0觪T?7搇燾7鐎?犞魩嵨SZ?滹俱祳臑#陎傉h 諝?`穇`芫乌?曣?湻+w`?%U惂厭铹铏锾籙狉?D媂l#祮Ju痆 錛'譢\H瘅劋麂GR针0玱a愋跤C肵?+?a?c郚錇甡謗e赲n€??歋峗璳_嘹殠!3({7髵bI\rV\r?缱\0?\\?€aeSg[觶爁-P鯫,ju;XUv徯铨置m薼匼"\\B1臑菖0?祽p??釙?2*??b0刎u糟J\"NV壽rrO說?鋀3[壺こ	€??\r7菜0,yt邵wS	W	]kG覺穒A*=P\rbs\"甛\鱫{e莉湺5k€飇?眰;?x???_\$4?捕??*i\0f??`紩蝰D`鍼?岕槍?A+eB\"Z括冻?W挞\\M>秝?鼹端g0︺G?鄽厬愐\r栖??f\\驅p\0鸺傚Kf#€?浪僜r钨汀冐@\r鱾謉牏焅n?D?傌?瓉w齻?}鼯?伵瓊 駛kH苉1x~]窹侪觾€[厡;吚Y€?堌慘? 薢渲鄑旦>gL\r€郒sM旌e?\0焷?3瞈$雺n3睃 w蕮7諚\"粢???;?敔*1? y*顜??TG|鐋B?爗!迮\"/蕱o毋j鱓忞+垫揕﨑J蛥磜2雌VTZ笹g/汖謯僝4n?怖勘翄削i?萒厛]d?腗\0諿88嚾瓻鏂?&LXVm魐辣	蕯j勛泧F迥\\櫬	櫰?t\0Q涏\\\"騜€?嗄\rBs?w灺	?鯚?N ??C/|僮	€╘n\nNK泍?A檂馱蟉vUZ4tz;~0}汃J?hW*#?€?袨鄖F\nKT毪沛@|刧y沑0蔕纗鬭w9bO劵ㄚWY扲纳}J?圶授P馯2`鳗欸╁beu獏zW?溔餦r璎\$4潈匼"\n\0瀄n`╔@N鄫?d|俬楝融欈艊eg?陚+釮竧?? 繼\0Zk@?狿%?W蛖/{o\$?\0[宠?薄?¨氪蓹瘋hU],€rD桊e:DБ蘕珕V&赪ll@纃蜢Y4犓瘺iYy[懍?玓供]?g穱Fr贔?w?禂#1夕っNq`濮D?痧|?匧鷙?S滰錯夯B拑.2嚞E?诏B钂@[攰B?Y;繖[?獢?礍:5胉Y8劬栬&硅	@?鄿黁臩8!洠郴??饥2MY巹銸;精惄茮?牾F篓FZ魽\\1燩F˙F+悮髷<赗?<J?氌{礷掯k臉8W偓桦M\r曂?蹡RsC鱊汪€??┦J雫翗?汾獐,\r4?k0?J螵帟b棎鰋\0?1 ?'r帏?u\r\0\$⌒=殅\r7N淘=DW6K?v鯋\r?蔦n牑	*俓r荒7)οD黰?	a諤咧嚢╳.銽悢容~┣紁V?罍J倁r?N Mqc蔰行d?顬鹭€_蠯譨U&?H#]癲}`P琝0~繳/獏駜咘蘺nY<>dC?G葽槊\"抏ZS箇銜洆艷y糪\j)饈灂r5?,p猑u\0?閳掌n腾C┖HP脂G<?歱嬼2?\n鐵D躙r謀$碍y弖yc鲧鮲?輊)謕踄H夏掯?VP線豦W=瀖冁c:&墺???Pv.彛藔潔徍饸	孃兀\0\$炅@+嘴筆l&_?Cb-U&?\"錐叜Vy伕p\r腶5踧9U>?鑌\LBg嗚U璠?m dyV[5?}??/缍嘁従H?D60 凯澎惪砻:Suy\r劶囥SM罒?W摢匚礚4諫劂哀???躤躮?歵勅sq秬榎".F檷帶CsQ? h€e7潼n?安*郼!iS輏?喬扅傍偘鼱{%t€?\0`&lr艙,?0ahy	R礏=蚭gW泫o\0?h/v(扤4慭r齽繲z?q?X\$€X!?J^?煭鯾?擙`2@:喖7肅X扝€e@q?踈ny稜0﹁嫶4€馪繭02@鑦?IPa?儡0\n]-(^泣t.綍3&荺"?\"?\0]?毻馻聵窗E砈P|\\€裳A鮬?洕\$K仒圔yu丿漽?Z昞r靊?_矧8跗m鉸?瘥楨<-?葽\0?)衬 )?諂Q?r賾?M?P\n??蒨?\n(垈\n\n>X€?` W簫酸侙监p4A?哦俩d懬\0X屹\n€+Cd/E谾邂痬+`\0?呆p/-??窓磂嫠C@C刓0pX,4届兲9囹訶t!.P?榎\慅晀劊b{卾坆fM猛)D]?w剺盁?厾X郆4'粭f纓X笑?O 站?饝q???斧p]\".7琲w[T\0y\r?C?,\$a2i(橽$祄葐D?詳4Z ?E#6UA腞€靍FF崓U??h2\nUp謬脼門使€庀卣[?慯鬤栅?8 A\rnK倐d1?€p??噵岻僶<贚凘鋋	線碶0:垎?G椊 hQ刓$鵭R??扇尟K!齚ǎ?乓繦僀?鈀0\$纄蓎XG?h蜤鈂r1烥?\n篳穏'\0驾6qV?\r噭VPH銮岆b謯\r?-k?\0B慴讫谿?:结孼籽|?>??XX?4\"&??E誥,vB燩?塰!pf;\0>[翍/r:qT巸栀8\"x3Gl戄\"Xm#?`?5焰躼\nG?瑶EQ梄?莻<HhA㈥?+1Ns惡淬〉k昷sH{€仵泔&1旼?aI?76?2蝡4欮椚橵!傲嚔簭2蜔:€	?I?膲Z?ER7幂%6卖?亹!?@(曚?戯?&?捀??橧8 襊+湐俬?&7N'2V槡\0?\0渿?軝i%8V8e刏:褸蚀榜6洇R{?Jz詓2?j(C`Z*魣J-b珉#窪Eu\$筗?*尌*#9垇?D3y崶?\"??Q???w8垈U?晀橾\0兪垢m巘鴮-*?橉d覊?庡?F?X\$I屘勨?埣?U\$?`倐蘣?cVr◢n1l€婖5?XT?*@狉廔B謙yt枑f牾N%屡S橦榵鬨$?\0}/sH\\啺仕6@y1嶾0~@+?V?U繪h`_C??弨塰BA|墱*pE晚	?\"謮0\0?\$R嬱p\0€[挷g?fb瞨慝韧\0P禀,橽0渢c?€d	K,F?溌€??+歎晛ゆ抂	ZL鞷?%恓梹?矷€嫒#x熁碬纕噙鹏6M碶"€m鉖俇7P6途n /	t軷欰p┩<R3NX哱0?伂S|1K蠤0<蛣S	O+苴J?`1外oS`?8?鎒摉洦X€?Q磫鎠?溫@W2罬怹a羌K鄥格E@鑌r?溑旯谔X(/鋔?瘼Y?W?Z睬噟?H|鍌賲﹨%T焥FGNq<I垊?棃€?&-瀦?V爞[宾w缂1\\魰?S朶r彥:嫓常S-諢}?2鋬?戶?h,=丛R劝?淛e4Kp桬聙E墧}H@?;嵿枎{.	拃?糙買烈0c挢f?\r?PwN妘ⅵ錡攣??徎櫵M\0007妡!?灗Yh骈W衆$漣?I踑L恭匼$S聽,婼.Se盄N0y*郐&??銬\0d嗓OE?Eu徟q?J}E聂+ 燚Z戋韫E庵+a[O;?(膰Edm}\0e鸤0淅4\r侇幩??懤_搇?u在杀鯭絈	繺$事杹1耽!\\韩\n?O)6]u?扠' 枨G?乼鍸D雷?H?覛?嚗H?肏JTRLa 緽駢迉[d薪媆nR?瑽SgF?釅n蕵\0铂?0e俢&獲ㄐ柛津?1鈧\0\0繭帥)?z?0搅M嗜柙ZJj???憐痋0??P并P倅偗FcDJ把?-阮懶?鸁勳RY&任~?榎$?牂濩?4佮c#;澣欰b莪#C奾BBtO蚳;睆p譴攤?u驗\nY	?'懭飳沽診03醆0?€IX@? \"敌\0P?Z4?T學UC?張魛癌?	繗	M?棶?喤P`I若予?Q?\0?梏峪丂)\nFH???€?骡挵Qo?@>S蹸@p鳫囝?V@Bn?a1槟濫??a狧7dP\n?JD鼮J枲?ш{蓝濧?抙5?喟@t?dJu唉?嗮JqU梵Q%N?S?(&?孯?T磅?耬?r=\\S迗垰hn暄N点堜Y\"裓n\nJx僄\r\0渞5?絋@譡`€厰閆\r侷p%|錋*9w\"?铇??c?僱?#\$?@a?尿*砊繞\0+皜+=a9肅獻俊?Y~#?诼?B?璋錋塡n?繣!坘C€-羋抐k庬^\0?U鵮5?:?緋菧瑠巰(8鸿講??睏*?€∧? 啫ノc?鶺?FP頑WS)釦?成S姕?r@@葠1?8?E蚗0簙蘡颖鈠)f儫猏$d6ma瓧揮g踬蚹Ap炒M鱣拁泥!昪<P\"絏哑Z个偙鄽狩hk4沝鉑??\0b?澸MHY4?員徖/圡睢翊丣仡憉蹟?腽)\n?I?v?﹊釉F薗鱘$?憌7-剎 ?趖]xlugA荈?/s捜=d2?n=瑶<″?e梳??€\\?幥V.賽.宝,}?K$栨娻0O◇嘃滦€荦k2)E0裙I?椖O詚_酲?CB?鴲伹.塄な*1≡届H鄤湓Z衂8\0??%紻LCW00\0uG..樧D??婸襞之慭\転\n€-愷,/rz总<]i枟韺??礱R?禋E?S?B躬X瀟[阥j叏\0?曉%竎?盖#櫣?鈩Dwh?究)霕&C0b帉怹?+<荈N_潊氕a!?!\r€??]j赫O?連i`0:?3O(?\\繆蒈鑘rF9珍吚???9疾u?I宸?n抙^R0(株=櫖绣ㄣ?闫'5y敯€?Y盧€\n2陘]?Ek_\n埁?!T98Y#炆l\石貿4游\r-<堓_珆?蹰I鞹??抁舉=NX???猅斮\"楒麱0J??鬟?酇炘娝势a蟡黫,z,|/眺騚(?↑鰃焴O杹﹩?N璕&嬲 ̄罆6??_挲墋>嫞0JS圤鄈	o??C;▉€,可釵%U戚!?h|BQ!層婠Y睨餗\0v[帏q矸?x3烢鐍覰喽??馣P/z藇R<锷\rL鵧揃!5陙?H?坧/瘈佦-?,丄魀?哻燣t艅閡棃[娴€?1倦?CQ痐?洗?耴诪?职逢E?緂-杨兀^<旿瓺@处?厣胕e覥A?慏pN,冰檝蔪?0??醌?伾釯{盩絜_m_K沤鮄?=@靄$媹7p墥a\$js牐\r壻脙瞻鍽?靋鄍n酢佧K<ia钴?胒4b%帴你?!O荖5郷zc?纆莊9梔?F漞PA鮰a?刱6ǚ?a栈I??鱘nJ?eoK膝運0006焚眏ぷC]?e嗉溤I砣諵痓竀I鞭? 郂'?mE\\Gv?*`|耴YgO灔嘕?0騳撪<?O獈NB\\荎剋)M鞘矆(塄?j%i鷬el6\n仲xlXlOLAl獤豔A 匽i#雙P;&`[H?瓠剝?\0鵯1`拃囝O鈜€9%r轡\甬KQ[\0靀b^蜭O棗4?8?廇B剢PF獖?懓尚瀻麹?!饿R?E溓e萇?茀瓾蔏?翫9fS鐧?n菲<螤??pぴ7VTr胅鴣)-菴皫J!繳晞⑩湅壶筇妯%?0郼s?fV=G桶豌a椘??C随矙潑?S5`[雾€;G甜嫠<y祂m繽c\\雊糋,gcJ9渁b€韃瞈\Yj迆ポ媣?0?妤€L喋棤裦w(鈳绳i[彂觖'c鍞?聆?)ey赲nb琿犥驞劎\"1hsG暡ih€8茄*Y-╘$th?驜?籜*暈些攥v薗Y??~序€晡鋁8 ,??bd礬\O?L.|)?\0烲捣鑀 杆鴴?莦nG恞v匧^廫\\\C撘~潒~=YK伖緕|肠!犦z爟璋?袸暙?L旍?胱舖厒wv亄&槫X?钮r=i眗?橮僖禚f俩W繭5j?N?f欵陻漏浻?U?A?8:接漂?ТWX\nep护痻臷0襷835庅)tfS郥萩2縑x?X砠K蘤F瓆k@?|蜴l右yZ糯?羅G?褡_人煱啓恤?\n荋釭\r{刪膛()Hs?鹒2璭>郃?%嶀?鸤r]?塭?丠 Nk?*喿\n嗷∷?N兂/p旍R釁\$譌O蒁€沆_9纜=H輟{2鎓貾^崲~潠?6?6虉洜F5h跠v`.﨑s遞Qw悠i?)喭I)痥&V薥0雳&^P項蚷\"?SL]\\本(?裗滑z腽a`竳,,苊鉒沋:?%\$:%ku枑B???j.蓚積殡┝譡!c?磒k楨t?鋩杊誺?蒥妻kDZ踈\}vNu擯|u\r!時?-礻鏀J揞q觡H?P:D鐕m碄慤ve??箦i鱫R?ES絩A)(ζ鄢!9袶t?E尪]m?擨U鲀~慣??挭~晗觡梑諜X\0簵€蜶I*挎蜕葿锊銂?櫲瞿?8羮4芣?洭葭蕖#浺径詗=Sj圮∟鱾s綷rmo憡睒擀饔NLo穩厂K睸湕餆\0;鰭\"VdlX?`9榸趹?绺?醢鹽U湻覕梸蘒?喿w豕黤oj\$[c傫賱};則女@HX鷈\"??Ws++増X`=蚛n埨h皜c郇峪颇腄Gq歬垠梻嘿)ε秞鏦b躐锡贐+顃uVJ熛膫螇?軹{?p?VG峋瞬o罐	x嫡\"濂+圖|?S磦B?切憸/g鱆?鈕Q?-A韣SK_?缜斾槨韙榌Q/虓L嚴丽嘂靿II虁D?燲捁y缕E?怃喚^鶄sz\r麆]溡3銹~手?佲綡?+罖溝B瀢冞寃茠T*`;?梱肷S圏&K?归挑飐e+卐盕:qO\r\\UDB!刓"~篽`2受灬?xm挬柈G昁b筫??ixJ?楏#?wI妼鴯膔m捦Df?颸0006?[浄?楣?P潐窶waАF仡Q?oΥ6矒両 轥??侤'?沛q藶6碴ǖ函S|樅联?W)?SU`1囊~馢\$嶂玕r煪??笲lB癿?*諳蒂`]訮6陕h U€\0?@\"€€	郌ER菕4L\0?5?GL8\n4?崻?玻N(@0λ赤hq?軳泃o嫕嫔X婰	郌mb矩{壬仵籞-0?g?罠貉谘箏??=?{	⒊ s準徧-?{醂鲕7-,運0隗z應6@t碇R{?焻F卭9?r?/?/?薥0??B凅?趦~褽)?bq-y fT(门\"u疅Q鵾臵)CHS_丣p*;Q\\傳覷痢d墎Y樄u众飰?脞xhw>Q弴?x?橘黻-Z演iCT铬??B枋侤?唳夤??霺€?n?I嵋鳏T鍶0馸堄?x怔 h龛坖攢肥B?幋礤O茂煄櫢?熨阦.煖9?y?U鐢 [?*剢逓Po?脲??8后澕?@肋提6驤L贾o6弯髩飥e鑤+懅尖.皬P5鎻黪N?騁凕y襖rL€徽^@珶愂謼凜灿误S謷晍謴_\"6\rg怦作`-踝?{垤葵?%騉摷椷琕Mh艋齉1?h鳊綼?В'桢b?CH|餦$鄥*?>裒??適鶀'褾H\n鼱/L\0镛8篣瞎呄錋枃C?\"雩唤榘:w鰬4?H\\呂?铁蘧s鬐脰W锸扂脞堨P蒀?灅媰禅穜﹞苤0???钣鼎-瓫垈a聼t籸揎缉6:鸹|[箃璥%<3+q?腂?瀄"??	鳶\0+笈>!凈筦郘J?鈕繽跚?T鼬橨卭?xnl?讆仅\r鼩 N紆?儯?貥8]鏉顟{?-N鬝S夁?	淨€謦Z?Yv?2??J0美?_苺?o%癄?龃葽!爌H叼胭A塰笇&I撍僜0!丵y藃輁n?\$?耥#@蘬宠鞜hw垷@煡?匘s%?k箜i殣?	\nk@愸偸蛠<H螎Jy崴ц闿讟傼廻\"契癎?@帊輤#?PnD中S跄2{縂?2{?*!幙镭€?\0刻#罻 ?龍镳樞??訂べ鵢??\0s	 \0tA翣?Q鹂摵0尊q€6?鬨0Nk践\08W??頁^?@?€:5颸0乮?6zO\n励?徴覕QO鍒?o?r哙鍷 藒cY??4缹+鱂5?!辂〤纻?i*c??3?C:\\NE\0?);}elseif($_GET["file"]=="jush.js"){header("Content-Type: text/javascript; charset=utf-8");echo
lzw_decompress("v0渷F)绦==樜FS	惺_6M瞥樿鑢:橢嘋I词o:?C剶Xc倽\r尕凧(:=烢?仸a28鸶??僫癝ANN戼饃s?NB崽Vl0泴鏢	溗Ul?(D|覄缡P>欵嗐┒yHch渎-3Eb撳 竍竭pE羛9.姀樚~\n?Kb眎w|萡趋d.紉8EN︺!斖2??﹫醆r?嵮Y幪鑩6GFmY?o7\n\r?\0丏bc?綫7楔d8嬃?~懍N)鵈谐`鬘s唣`芐)蠴闂风/?<亁?巓辉宓领3n2?r?;??圕权畨肻n<駦`润痓鑌\?峘?\r#`?<疊e鉈# 茔\r.D`j?帋p?ar傍恽瑚>?覾$蒫牼1蒫湢犼?陒n7烂??A餘蔙Li\r1谰???j麓?玛62?X?+?忄?\r??魞?!x煎僪?汊?S餦0R镌赳O襖n??(W0呫溓7q滊:N肊:68n+庝沾5_(畇?\r銛陦/m?P訞肊Q佮?\n╒-嬃骪"?:錔嵪8we蝢絴貒砐?]递Y X羍鍅W恻 ?恹Z1嶍hQf巽u?Z{p\\AU薐<鯁k崃@忌嵜郂?}&剚圠7U皐uYh愒2溉@鹵?P?薃唄杼虬?脹?鏧E蛥Z圿璴酅Mplv???罤W?懺y>怸?鳼熻/珴洩令爃C燵*孄F悱#~?衊鬨r#0P顲藵梖牱?☆肻\顩秶?乛?B<廫\?f?薇裴休?/傪L\\jF潹jZ?玕\:拼>丯汞XaF肁?巢鹈赝f?h{\"s\n?4囓吋??躛p峔"霛榜雀\\趀(窹僋奠q[g噶r&?}Ph枢±W夙*揄r_s薖噃嗉嘈\n鬯胦m蹩ッ陾??А.羂0@?pdW ?\$液癚劢Tl0??肏dH?殗蹚??P榆豀恎帻U彧B鑕\r唗:囌\0)\"舤?礈捽荹?D鳲\nR8!喥氿躭A黇??爃?q<炧@}秒蔳K盷?]?90皝'€?怿wA<們?補羱€?W氭僁|A磫?覺賃2嚅y艎悐=)玕0P	榮€祅?顏r刦\0叿簐姨G?罥@??丽_I`?挑臷r.儬N?核KI匸斒朣J?┚aUf汼z麅玀?%\"Q|9€?Bc羜\0???a劤:z1Uf>?Z筶墘節永e5#U@iUG聜櫓n?野s?gxL磒P?B鐚蔘峔\?b?榫扱?7??篭r:僼欹:y(??\n踕)?幸\n罼;爧鞄?CaA琝r彷駸P℅H??\n\nAl~H狕猇\ns斋嵠bBr*?剴啕3?\r濸?⒀刓r}b/壩慭$?5隒鋅"w藼_鐜?U誫At毪魠澶呴^Q腻U?闹j櫫頎Bvh臁??广+?<杍^?L筻4U*狌丅g犽墟?n?蕱?荃?	9O\$磯胤zyM?刓\9荑?o姸毺敫E(i?酁溎?	t邭闈-&nj!\r伬y測郉1g鹨鯹yR?\"疰?穬垀理嘬)TZ0E9M錣ZtXe!輋咢鐊痊yl	8?;惁僐{勲8?漠羍?UL??F??8PE5-	衉!?咉燵2塉???HR查枪€8p鐥草嘆櫍0,债psK0\r?敘\$sJ?伱4蒁Z┱I'\$cL擱仏MpY&復i?z3G?z覛J%撂P??怺?x绯T緖p锭z婥講?ビ:僔'漒\枓KJaM?喊S綷"嗖e漮^Q+h^?衖T侌1狾R鋖?5[輼\$狗)jL苼U`薫Z^饇€噐??鱪鐧粬楾U	1Hyk浨t+\0v酓縗r	<溹茩祚jG?灜t?3%k沋懿T*?|\"C婞lhE??\r?r囎{??宀貲躝寚.6懈?泓噭rBj僌'蹨ゥ?\$ぴ`^6櫶9?辅??Xmh8:犒c??;?詨房关;鋅\'(狀則?+?欜谭癪乚N裿圭#?雟鹱肙?i澫柀>忿<S顰\\€\\畹??*tl`鱱乗0p'?匬?9穊s渰纕畕伏7圽"{燮r頰?縙婕軪鼹牍g臆/▲濽?g额?仍`腬nL\n?)绬?A鷄餦" ?缲	?&凱?翤O\n甯?0?(M&〧J'?! ??颒腩络迄?*蘾炱*鏞Z韒*n/b?愽異?埞.焘﹐\0问dn??鶑巌?R幬隤2阭礬0/v霴X黟鳩食蠄?岃甛"癞牿罡??鰝?b诵gj痧\$駈?0}?頏?=M苽0n頟?/p鎜t?€靼.烫?廹\0?o梊n0洒塡rF堕€燽緄睹o}\n?摊?NQ?饃?Fa蠮钗魪L??鹦嗥\r劳\r€嘱?0??瓞蒬	oep??D熊蕫(~捞 闬r侲佰pr鵔VFH渓Kj銷&璲!虷`俖bh\r1?牶n!?蓭?z櫚?馥蚛\\r?韸胉V_k诿\"\\讉'V埆\0示`AC毕叇V芵\r%?澎r疋儌k@N腊鼇B耥殭? ?萛n抃0Z?6癨$d爩,%?la鞨譢n?\$!\$@遁2睄?I\$r€{!卑J?H郱M\\汕hb,?'||cj~g衦卄寄己\$耗?+闍1饻E€?蕾 <蔐?裓$釿%-FD獖d€L鐒碃猏n@?bVf杈;2_(媵L男柯?%@跍,\"阣睦N俥r鬨0鎯`?€??'ld9-?`潴艝呧吨鉰6肫cv牰郚胀恌犞@軉?払\$宥(餤&勥?78I 嗫郟\rk\\彠?`禱rdLb@E鰞2`P( B'?€?€??狋{聬晸?dB?騘貕*\r\0c<K恷?sZ綻豪繭3?=@?繡>@耊*	=\0N<g?s67Sm7u?	{<&L?3~D年\r艢痻??,r頸n?犲O\0o{0k蝅3>m??\0擨@?T34+詸@e擥FMC蒤rE3薊tm!?1罝 @侶(懹n 闷<g,V`R]@巧3Cr7s~臛I骾@\0v掠5\rV?瑺?犖涝\r鈂$<b?%(嘍d儖PW念刑b?fO 鎥\0鑮 ?鈹lb?塿j4礚S绩执远5&dsF M??覾".H薓0?1uL砛"侣/J`騵渠蕏菒Yu*\"U.I53Q?Q艋J剶g爳5?s帔?j褜捳u傎狦QMTmGB僼l-c?炳\r姭Z7怎?hs/RUV佛舄B烴藞该筱?詩鄆↙k?┐膖鞝榫﹨rYi斦?S祪3蚛\歍隣M^璆>?ZQj?嚈\"琲斨MsS鉙\$Ib	f?庋u姒礄??SB|iY娄冟8	v?閿D?`噯.€薧驢臡塤占妘罊U蕑`Z岼	e绾軥Ce黼a塡"m骲?辕JR??慣?裕XMZ芡袉万p枰丢Qv痡jV秢都臗淺r嫡7塗蕿?5{P隹]抃r?Q郃A黎帇捦2窬爴V)Ji\-N99f杔 Jm万;u?@?F牼e唈€?摩廔?+CW@饋缋縕憀??2舏F?`KG榽L&+N忇YtWH椋憌	?晝騦€襰'g摄q+L閦biz逝⑿.袏莦W睬 鵽d昗鞴(弝)v軪4,\0?\"dⅳ\$B銂矌!)1U?bp#舽m=兹@坵?P\0鋅r?⒎憖`O|肫?溕嶞捧鸜翩J諅鯡踪Ou瀇n`F`?}M?#1醾琭?凑?掸  縵鄒c麁棾 xf?kZR痵2蕚-啋2?幨矾(錽U鮟D蜓肥鞓軽!嗤u?-vP胸?\0'L飳X 鳯?箤坥	??刚?覾r@貾?\rxFE€倘????飚?5N譁兏??鵑嗣叐w奰豩X?8 ?亶qz阆d%6虃t?厱樹廘l臼,躃a昇~?累禚,'砬€M\rf9悩!x愾x[埾懾G?;剎A橓-I?5\$朌\$黾?呚x熏翑嚷蠢?宂洡鯂&o?3?諰z嶞6?u箊Z 柩8_暽恱\0D?歑7啓珤y監Y.#3?8牂莯榚擰?貈*槞G寃m 弛刌??犂赸YOY‵氋)剒#\$e姎)?/寊?;櫁?琟埴F襔g暊眺歚^趀…#?撠駭?湼eMZ3u体亙0?蔦"?燊@讞Xv昞"?攲宫?寓\r6v~嚸OV~?专乛g鼱毮戀瀲'?€f6:-Z~箽O6;zx伈;&!?{9M?俪d?\r,9猪颁稺?戚?闬r滪銤@鐫?⒎]溙-瀃g灆蹏[s禰i炠i萹洓y涢x?搢7蛖7藎w硙劉??鸚皜Wk竱J貋?鍓xm埜q xwyj熁?硺e??博壐崫肋?镁檰虺 {柽趶爕摖籑桓碄蓚摪Y?g蜌-┖╀怼?∝J(丂髤;厃?S紘礩勅p@?鑣烔o?;瓣眶酩?	??圸N侬潞?k糣Хu塠窦x潊|q?N?€烧	卄u??峾瓅X工瓧爻|O靫!??蠗Y]柆箮檆暚繺r筯?n?连?€?'楖傟酄芢rS.1竣US雀吋X壣+松z]傻??湬世C薥r姿\\?鳿$蟕)U蘾摔|穴x'諟靥涫<嗵檈蝲晖崇?鈷涕桳锵軲蝭€(郄衛徯氦O]{丫?FD賫u嬔膾?XL\\?x迫;U咨Wt€v熌\\OxWJ9葤識5稺iMi[?K?€f(\0婢d臍诣咯碶r?M尼荣7?让企荫缬6塊师I猏r能脁v\r睼3折呱??郣??嶀|熱?^2塣0呔\$燪弯[憧D麽埽?1'^X~t?1\"6L濥??続酁e?撴?錓戠~熷獬獬@哒pM>觤<匆SK??H衫糡76賁Mfg??臛P拾汸謀r搁>?鼍ˉ2Sb\$旵[刈??炥%Q#G`u鸢荊wp\rk轐e梲hj?搝i(翳rO霓誉豑=?瞅額4\"ef泘韉欞鞻Z墯鱑?隻'V礘?Z7埚?T懀8.<縍M\$墳糅?遙y颸n5鴥蒗_?鄔裎?鞺饞`ei蘅J?bゞ饀?S碗?湾`鲠烄+鞠?M飃?`韁0??燉_??鮂癨0擋嵏X?宕抂帛J?&~D#瘤{P?佤4軛靳\"?\0?纮孆鼲覔枼\0F ?*彔^耧嵐瀵w胄??伨u嘞3xK蚟體摷ㄟ瘔y[詾(炴???/zr_攇锋??\0?€1wMR&M?嗼??St€T]荽G?I粪Ⅶ?嚛B飯? v臾捊1?<?t肉6??W{?婔x:=阮憙?逇篪:?!\0x浾槪鱭&徼0}z\"]霓o晍襧脀走授?6敢J蹫[\\ }`S橽0啶qHM?7B拃P?履]FT??8S5?/I裓r孿n 侇O?0aQ\n??璲?=诂踕A=璸L)X鮘n娄`e\$楾痞QJ澩螽鎙J飱灶褃処??冄哪B鵥P绬鸝?竛罢U;>_裓n	觉胄?`?評M驅倐轮峬?阵翷w鶥\0\\b8?怺z憹&?齖0?r?T肿泚?€+\\?繮lb4-)%Wd#\n儒r?錗X\"稀?Ei11(b`@f??瓋S殷坖錎啙bf€r?緫鼶慠1厺碽?楢埏Iy\"礧v嗔gC窱?J8z\"P\\i\m~ZR耿v?ZB5I娒i@x攩钒-塽M\njK誙癶\$o棃J悉!萀\"#p7\0? P€\0?D?\$	燝K4e?衆$?\nG??AJF4郔p\0?譌?辈<f@? %q?<k鉾€?	郘Op\0?x忧(	€G>?@?冂破9\0T缊橃GB7??€?G:<Q??#?ㄓ谴??tza0*J=?婮>剡?8q啸???	€O愧X鬎?郠?伬?衆"9懏p??6A'?,y€?IF€R埑T埾齖"旝H繰?磈#kyF罊鄀懍zk?瑞G\0?paJ`C?i鵃?T?|\n€Ix\"??◢Tk\$c瞅茢aAh€?燶"鶨\0O?d腟x?\0T	鯸0倿?F躙n扷搢?S&		IvL\"敁呬\$h腥轊A颪\$?%?\nP?殦瞷わ) <囸燣崰?R1も6懚?丂O*\0J@q箲元#?@堑0\$t億?]鉦弧膴A]?挽P釕€楥纏\\p窑\0?遗7澳諤9゜恗坮秓?C+賋r詅\r?)d?捬湱^h逫\\? g柺>ネ?8屴?朒纅檙J襕r鏾?ク.箆?斤#?yR?﹜酥^蝙泦F\0岜仚]!蓵肄?+賍?‐0<@€M-?2W蜮賀,c晫渆2?@\0?P €耤癮0荺\P翃圤仩鴃I_2Qs\$磜?=:蝯\0)蘞?h娐柫??纰\nJ@@诗朶0汎 6qT?J%昇-簃つ邈.蓩%*cn渌N?\"\r蛻蛤钘麏f褹盗?p鮉踿I7\0橫?lO?臩	7檆挽€\"爝0鍝6頿s厲妮鍄.淬	??馬K?昉Ao1F聇I腷*闪<嚛鼲??藗p,餄0N坯:牗N瞞?漻O%?!?趘敞?爂z(?M?罄I绵	鄟~y琐沨\0U:樨OZyA8?2Р鸶蕌s迆l蚱蜤饦O?睙0]'?≥蓫?荜?;?€聎音濅?~3G螙~迎濅c.	騰T\0c豻'?P瞈$繺$?€??俿瞅e|?旲d蠴bw渔cⅤ'覢`P\"x?佃?O??|鉛{:b㏑\"??褕k樞鈆BD乗nk€P濄c┽4鋇 p6S`徿\$霅f;??ls?肋唃D?4Xja	A噮E%?86b?qr\r盷C8蔯?F\n'褜f_9?(??攡娿iS枸惿@(85燭斔[J趰4両?l=?嶲躙$d喇h銨D	-佡!黖]哨H柶姅k6:汾騖\M-特痱r慒J>\n.??q?eG?QZ嵈唻' 散灲?蹃0燁亃P栢#?鲋?r嘁?t綊蚁藥<Q垙T福3廌\\箘挠pOE?%)77朩t漑呼@?泿歕$F)?qG0?裌磛璋*)Rr??9qE*K\$g	?鞟!錚jBT:桲?作H?R0??A)B@:Q?B+J?U]`勔瑵€:p?%Ip9屘€`KcQ鶴.B敱Ltb獤yJ駶E隂T楗?曃鯝m愉Ku:庰Sji?5.q%LiF簹Tri┱K堃▃?55T%U晧U贗諅Φ誝\"\nS誱喲膞ńCh鱊Z禪Z潝? B牯\$Y薞层€u@钄粧?ⅹ|	俓$\0\0爋Zw2襽x2憹鹝\$?I6I襫暊暋?I,€芉U4黒n??.鳴愻謅I醈櫪犺L鈎\"鴉⒂??Z?L?`n権墩?擵LZu?卐X喓B楷?簰?怹`;旿嘳蜓€?銼8极f \n诙?\$鵭M(箲蕖攧瑵a?G恣?A?鑨L/\0)	C?\n馱@?悁?忈郓?娫RZ儺???穷8揱?~鈫h漓P 伆\r??烄D-FyX?蔲癚Sj+X髚暼9-?鴖瑇?攸嗞+塚蒫bp炜攐6H衠牥?@.€?l?g結M熤WMP廓U》YL?Pa?H2?﹦:禷瞏d\0?&瓴Y燹Y0贅《S???;/嘥軧S砅?f愗??暊@逨憩(粗?裶 +[僙:?QY\0薮隞UY謸/唒kz葓騹,答獓僯陉€白磂㎎礔鑽齎BI礬rFpF汵賯侄?炸?k?€{檨曾`q檿也Bq礶?c谮訴?E﹤琻侎卒FG燛?j铊喧?g碼|h?u螺剭\$晢?a魲7&‰癛[WX勈?q?潓琍蛊渥栞c8!?H?嘭VX??j?蔤庺憽グQ,DUaQ盭0懻炸垒?Gb淋l夿?t9-oZ鼣峀?%颅錺藝憍6&My韵s覑繓?餦"胀€鑂侷WU`c靼鄛l<|聗膚\"佛vI%r+亱R喽\n\\伫醚][嬔6?粮萑a斢红舑?趽餞褤?稢'?叴 '%de,萛n朏C叛峞9C筃湫崅-6擴e鹊岧CX?蠽眱澒+訰+??斔?B?佢孞稷铏湵鎀2?]?\0P鑑莟29献(i?€a飘1\"S?龇?堉oF)k?f趄?歇\0?涌,?誻陜J@熘V騽幍閝.e}KmZ镥筙nZ{G-击語Q函莭懪锥?筛??腳炟佌夃\n諤7違 诊嫎C\0]_ ?┦爹锘}鸊罻W: fCYk+橼b鄱乏?S,	趮?橽0锆?腪!痚2鄾楉?k.Oc??v坍8淒eG`蹏聦鯨滨?僤薥"C嗜諦-斈?(剟p黜觩?噘!齥捸夷?飣(蔅杒r?_R顥芗0?8a%蹣L	\0閱礼?b?矚衽?@譢"?蟫,?0T踨V>垍?萉熜\"時搠P?&3b酨叉-爔傄眜W~峔"*鑸瀸N鈎?7??﨣€€^A鳟C?棹籶a??\0?..`c沛+蠆釭J?じH坷瓻?叅緇@|I#Ac?D悈|+<[c2?*WS<坮?鉭港舽墛>i佪€?`f8駙(c枭Q?=f馶n?裞4?q潖?8\na?R鉈軀癛撟昕輒祳\\q邗gX罓枍蠋0鋁浍`n頕€?鞂O p阮H駽償jd颠EuDV槓bJ搔垮:憋€\\?m杀?,TIa?嗀aT.L€]?J弻???擣Mct!a侑R闒凣?笰鯎籸r?p嶺?穃r或C^?佱??R閈0?裦?*郃\n跽?H徙頨=曲鑵l€<嚬A腳硅	+懳tA?\0B?Ay?fy?蝐;p?枧幡漙鐠4小M??滎f嗞 5fvy {?┼?y^c馔u?嚈€8\0奔颖??奼氂?8B嵨&p9諳\"z酋?rs?0烘B?u??f{譢0??\n@\0?溃乸愘?.;帔﹦蔮?J>藗夐-肂蟞kR`-荞勿aw鎥Ej﹨髁r?竆0\\溜?€\\窾hm??m誋3檀恣S檽伶q\0鶡NVh矵y?椈5鉓蛶e\\g絓n鏘P:Sj≠惰<幆?x?孡??nf投c髊洣\$f?l锿硡溹?%y螢総?棍gU坛?d颸0e:锰h颶	衈傽鐮?1€蟤#袾忬w@屵O痧zG蝄$颞?m6?}僖覌歑'譱\\Q篩潃?k-.?yz讶軭喀]骀x錑现3M\0€z7?劤6?DO34澽媆0螝涅伟t\"蝄"vC\"Jf蟁蕿扎ku3?M捂~??V 鄤j/3鷥?@gG泒D?竞B覰q促=]\$榭I圂訛?▁=_j媂侉漟k(C]^j費镣F铡屶希Cz纫V??]&瀄r碅<	娴吕茔?僭状輅jk7:g皖?债犭揧Zq謋tu潀峢?Z乙6?璱銆???蹰{-7_:白迱t询韈k媊Y拓&摯闈I鮨P`:??j瓄h?衒	?肹by灑蕗o袐B癛S梹糂6?繼@'?骧1U跠q}烀N?X?6j}琧?{@8泸??螾FC???B郳$mv?潹P鎈"痕L稣CS砞洀萼E俎蟣U喲f韜h{o?椾)鑌0@*a1G?(??D4-c?驪8潱N|R泦釼M赴譶8G`e}?!}莗粐茯鼲_竿裯Ct?9幯\0]籾鳖痵粖輣鑢Щ#Cn爌;??wu笉辬脀轂?.濃郲禽hT鱷篙鍊?绋藖嚪J饙云梚J?鎬O??€圎孢E旝俅?慖m埏赩'?緻?倇獞涷霪祼;韔p;^栘6哦@2绡l轓锓篗?縭€_馨嗣嵈` ? y??懝钋???7/羛餰>|哙	?絔衞c侞戓&鍃Nm崳夌兓o稧肗	p梻粯x〞媒蒺儁\\3鄰鴩聙'諭`r釭鱙木?圽\7?9臹p噞<Z岱竡4檜蝲折Q蹤圊p欭歩\$禓ox馹<伬?pBU\"\0005崡 i?讉桓C鹥碶n鬷@?[銣?糺衼?b鍼刓0?F2~幚硷U&殅窘嵖蓸	櫶Da<€鎧x秌?皉3樗(l_攣匜eF洕??揔	\\訋ld??丠\r?€?p!?%bG鎄f??\0?溫	'6罏ps_涐\$?0\0拁p(丠\n€1匴:9胀?瘶`嬫:h荁栬g汢?k┢p钠侒t检圗BI@<???砾` 陫y乨\\Y@D朠?妡+!勧W励.:?Le€v,?q驛???灃?bY閳@8焏>r/)翨?佬?伔奰|楦:t?珛哩?<疈?S挴P\0??\\驸 |??V製w??鐇?煖4€荶jD^触?检腃[?М閖潞[燛阁 u惆{KZ[s?瀫6?係1澨z%1鮟櫍B4圔\n3M`0?珧搪3???£!YA繧,)疱昹哤['剖I聡Tj儊?>F┘鱏燘斜P峄ca寀铫N?侠鳫?LS魨?斦Y`缕萛"il慭r鏐搽?/岕泺%P€陷N擥??J芚\n?a??3@M鍲&贸筑繍,癨"?€?lb?KJ\r颼k_?b鼽A豳寞厅1?I,泡铧?B,??眷Y%糐爭?v攢'唟哐楞劄	wx:\ni岸硳}c腊eN颼!w澠\0腂RU#豐??<`枑&v??韖O?危fL9廞?B蕠?审鋸b余_+铽*€Su>%0€帣﹨8@l?扡1po.腃&巾蔂B朗qh槮蟓捔瀦\0盽1醎9餦"杸?怽$鴮秪~-??3r?怖d檚\0条伻>z\n?\0??膥戶楯鸪瘊攟S逌魻k7g閈0岤K誀d?賏深Pg??w揇絷zm饮弱?繎駣渏嬠茁`k灰丵郶??鼘?五?/wb麲wOk棉觃?儸-CJ稿7&á吼E馶0L\r>?蟩虂?愐7萘o姍`9O`堗償?!}鱌~E錘萩旜Q?)灬##?驀€靽萄憽J衲z_u{驰K%慭0=筢O嶺禖?>\n瞼厊w???F€抨務a?烯U愘逯b	N锷h娊婚?)轌??鼨|惚y/焅0殇縕攞檫P鱕G??Z}T!?熣=mN?胒豛"%4檃鯸"!栟焷礬0珲铹}活[蜱芫畴bU}悔昺踔2睍爡?t?#?沿柲se€Bp&}[藷幥7?a鵎?纡P\0欝?g简?汏,謀0哌坮,?繉齏誉稆/筑[?q龕k~?C計4??G姱:剙X鳂G?r\0砷熲烲%VFLUc鋺?HybP傏'#?\0锌旃`9?9縹矧?_棘0q?K-貳0郻粝??t`lm觏?b屶茦; ,=??'S?b淑S劸?Cc梼觌蕧AR,?冺芚夽?厹8Z0?靀nc<<龋?3\0(?+*?3窅@&\r??@h, ??\$O??刓0艗冭t+>嫓b獉拾€\r?<]#??N靤螽艓€⑹??颿?-@?狶?>結乸#?唂0蠲时a?>卉`?婆郟?9??o??皁v筊)e\0冖\\?傲?\nr{卯X櫼??A*矍.?D鹾7亷患?,?N竆r嶦櫾鱤QK2惠━絲?P@鞍?T<???:??癤?GJ<癎Af?&譇^p鉦├衶0`?€);U !衑\0?=蟘唒\r嫵爧?(鴷@?2	S痋$Y??榀hC朱?O??罫箫/?氶傜琸,啹K錹o7?BD0{儛鬆?j&X2?珄瘆凴蟲ぢv龄髫@9A??毒0?0?????€5??/?茜?綨?E瘧椙	+阈吢Pd;?n熂&?8/jX癨r悮>	P蠍W>K鄷O挗V?/敩U\n<哎\0賊nI乲@??悝僛嗳夕虏??€??%駜傝?\0001\0k鑐1T?﹦倦偵恖紣毨n?p傲?超硡< .?碡5幮\0??O?k@Bn緤<\"i%?満z???擇???貾?!餦r繺"琝r ?歛d圉螈U?谇?P琢j3d皯>;愉??瀟6?2鋄吗蘧M\r?昂\0潇P畟?B璜Oe*R?n測;?8\0?苏o娼0鴌馒?蕗2@数啵畀?x鬧鱻勖La幆亙w\ns鲌??A部x\r[補??clc=妒糥0/>+毆?鳺[磑2馒?e??HQP镈Y搝G4#YD咑吅p)	篐鷓悗?&?*@?:?釅T?瓱H5?冸h.傾>滐`;.煭頨摿a	买鷗/ =3?癇nhD?(\n€!腂鷖?\0?藾?D?J彂)\0?j臦膟?巋Dh(鬕?!?甴,=埘?嗐tJ€+?S醣,\"M改?碞?縖;?醣#<?孖臒孭?尼LJ?D?霵1\$念跫Q?>dO?紇??mh8881N:?鳽0Z娏鑄 旴?C莙3%??\0仫\"?XD	?\0?\\?#乭紇靑b?俆€!d獥埼黇\\2罄S肱艗\nA+徒p歺?iD(旌(?*鲒+耪E?蘐燘鑃稢瓤T存倌 e凙飹\"?|﹗紇8腡\0002慇8D^oo儌憒擭鶚籁愂J8[3?迈頙峼壮WL\0?\0瀫葐8?y,?&@斃 怑J慼;?f??B?:檬蝃Z3???珎餹混肴懎锳⊕觪P4,勼篨c8^荒`變傯l.?県迶皾侽+?P#巍\n?圮IB绞e藨丱\\]温6?劢貋(!c)燦醺貉?E?擝##D 鞤do藉P廇猏0€:躰?茻€`  ??Q劤>!\r6?\0€塚%cb丠F?&\0B?I?捹#]鷺谼>3<\n:ML饜?C駨??汶\0悡?(釓?H\n?篗€\"GR\n@?忴`[皿€?榎ni*\0??堻€倫靧?かHp\0€N?繺"€甆:9q?.\r!崓碕衷{,?尜亰4?B?lq?Xc4?婲1扫5玏m伹3\n伭F€?`?憟見x??>z>N琝$4?鬀蔑徛(\n靲??胂礟?Cq蛯?宲璹GLqq鯣瞴虷.玘酁\0z誠$€AT9Fs喰參D{韆cc_€G?z?蟪?軁Q??h?蘃B指?倅!L瓝€?\\偛堫狓'?H(備-礬"僫n]臑埑璡\?赻M楬,g葞砘*襅f?\0?聙6秷?戎2骽J?賩nq?噙魨蒆?c?H?榎r?稏7?嘬€Z矘ZrD ̄卟`rG\0?l\n甀崍i\0<变泗\0Lg厏惃?E\$?襊?\$夽襊萍T03蒆GH眑蒕%*\"N??湒	€蝄n馛rW蒀\$瑬p?%塽R`浪%?騌\$?<慲諭fx鱘$/\$剶仴乗$湚扥?嫃?\0嫠\0廟Y?*?	闬r軠C9€?hh?I?\$朢RI?\\昦=E?劃騯路'虣wI?T拃€扅┚鉑9%榙⒋穫!鼣伬?世襧?臁碛?&??剉虩瞈\=<,淓?宍?Y硫\\煵偆*b0>瞨,d杙d寣?DD 號`?T ?? P憺?鳿r騜?專鮆谚皖T0騚`凭掼眢J?t┦?(d鞘h+ <蓤+H%i嚾魦矔#?`?谑?簦B>t?疛€Z\\慲<J?hR肥?8顗€?hR?J]g颞I鋾?\n%J?衁帛wD湴&蕱D碑暽?湭R\"?Q颞?敳AJKC,浯mV捇幉浭?彬螷I*眗▋\0荓砛"芀b(嶓J:qKr穌?)翞藛#愿厕竅篈籃?[栆ㄊ歼4?’.?虍J?坍#J?嚵g\0沏驊В<?敀餕??M??d??'/浛2Y蠕>璡$??l篭0啯+鴹?墋-t簰蛥*陦R?\$邤蛱K?戳JH??\r効B弬?P陀?\"鼥nf哱0#袊 %\$氖[€\n衝o滾J皩庞耬'<厙1K砹y蘗1でs?0?zLf#?/%y-菜?-劼捦K悾L段伾?湷掚竅,に痰,湵挮劎0敱??.D馈@??風+.|鳏???L?垂S:\0?刺眢G3l塘a藧l矦L?z4?虙蚅?粎??0?3=L?|葪??\"笆?此??,\$琒PM慭\蔽?J奩撎」?(耡=K4湦矯踏<衼?\$?怀UJ]5h砏?t諭%€?砛\M38g?蛠5H奛?W1H毐^寿愿揧蜅貭復?侼3M?脜砢剮i/P?7?dM>歞?滾R?茆=K?0>疘\0[瘐\0咄\r2粼騔@?勠2?7?銯G+浏覝臷r)鄅QtL}8\$蔅eC#翐r*H熔珟-汬?厮?冗\$鳵C9仑?個?黭/P?0Xr5儭3D悇?T猎抭疜舂硁蜨??F:1SL蝦?(島)竂r??€nJ肐?碨?\$\$?螄9蚤睮螣? ↙胠敁?渑C昇?浴骪$?蚤s澤9?@6?t摬甆?即種?箳??鬆蝇?:D嵊罬)<#栍肕}+?蜰?癫汷&勷Ny*岒蛸竅;耋蜲\"m谀笈M?c犅磦氨8?K?,从荖?07s譐E=T岢芆<贼常J?D撚:螩<?撪藟=滂螽K愂惶橙L3瓘凩T衻3蔛,??蟩-岏s???蠹7O;軤`鵒A9大裣籠$滭?O?忑`9蝞荌丄寈p荟E=O?<5衔匌2窸?d磶?磳`N騣O>岨3絇	?を?O瀖滫S餗羲??鉪悚A拳9彄慭0?睝儹9D帊辽&荦驃??湢撔i9籠n?€馎?篁拳AS薖o?kuN5▇4茔?唵?驏寭*@(甆\0\\蹟dG妩p#???阔\$2?z )?`耊???\0姂80h彟??お斾z\"T袖0?\0奬ne \$€?rM?\n睳?P鰿mt80瘊 #へJ=?衅3\0*€滲?€\"€堥楮€#徧>??Q\n岎甏8?C\rt2僂C圽n`(莤?j8N筡0?萚坤QN>)?\0?x	c??餦n?徸Ch黗&\0???裓0鳿n涞?鶲`/€剭`#徐怷c栊螪 tR\n>紒詃?B駾碙心条変型Dt4兄爅攑礕AoQoG8,-s阎?訩#?);5碩Q袵?Ao\0??tM覦8yRG@'P魿??P魿錦"擪\0拹x~\0?ei9徐渧))训Gb6?€盚\r48袬侻?€矲?tQ?H?攞R} 鬠Rp復設\0?t8へ瘥吻[D4F?D?#恃+D?鬗徥??RgI?磰Q颙〝擴?Em?忺TZ璄?汴E?矗襮FzA???T婹3H?TL襮IjNT???Ch峏\nT浹貹\0000?€?H裓0揊E@'褭Fp磆S5F漒"蝟旬恊%aoS E)?€揇U牜Q桭m窝囱巡e(tn?揢1埽~>峔$襁莻挱(h涨慓鼀`玕0掙?冺G???Sp(?鮌鉍韁$敎#???啯N╘n鬡\$鰨]詼P?=\"R莹?Lzt穬1L\$\0曾G~??塊N?旊褿M?攨?NS€)厌O]:詩S}?1郣Ge@C韁0玂P餝鮊?糨T!P旲演S€??S塆`\n?€揚癹?R€ @3\n?鲝?D訝纡L认紟?桦\0鵔5舻〤PSMP磛4喓?h	h隩嘍0謴??&襂Tx鬙?旲UR8@%詵岝K?€錕泱RyE璄#??@??%L喃Q玅??*?N5\0\0乀隖?詳R烻?!oTE翪(?稅三牡\0?3i頢S@U鱍eM??K豛n4P誄eS攽\0漀C?P偔O?燶"RT慃?€廠?徚U5OU>UiI誔U#UnKP簦UYT?誄彨U?\0+焊?融:ReA郳$\0鴰?荳D?藐忇`??U5襂HUY旚:?P	鮡\0?MJi€??谬Q??@玊盋{浾u鸯?誢祐\0WR峕U}C鲫1-5+U?韁r鮓<?5旿U-SXL赃 \\t?襰M誦務僔軄t?翸U+?E與埾?Nm\rR莾C?嶴荴?R议XjCI#G|?Q貵h?t餛嵏?)<筜?孕RmX0?組鮋Q遈齢阔?du?ふZ(鼳o#lyN琕€Z9I?嵑M暒V玓uO諈T誘臙諊址S蚭档质\n礨氮S跶ER党再[MF盫鏞=/醐彣>鮣展T鞻峯U廡砕扤€*T\\*蔑凶S-p礢彰V誵€?M(螿=\\?UUUV瑿暷?Z豛nu扸\$?M@U蜽J\r\rU性\\?U譝]匴敚W8篘?#h=oC笮鼺(:9誝u晢V-U?焆褻?U縗\怽n祋W?權(TT?5P岐\$ R3这簾C}`>\0?E]?R赅	?#R??W枓?`#驡?4奟??踽ViD%8?菗^蹰#?h	碒聨X	凗\$N齲礆#i x扻R?€'?`m\\?啫\nE捆Q盽u@遵NT?YY齽诞GV峕j5#?Lt/#瑪?#閰絆璓针Q??暎O^韱 €殠瘘?豈\\R5t从?p?€僗圴\"W臘€	oRALm\rdG廚	?掷?攑\$漃搴?E5札啯Tx\n€+€婥[?鬡帉龒?U旸u}鼗F\$.?薗-;4葊盢X\n?X馼蛺?\0痓??#璑鼼4K匦ZS擽状M?伢d璡"C偓>?誨He\n鯵8??堃廎鶧斀W1cZ6敍Q釱H麫*\0縙跟謀\Q逨?U3Y|??婴镋浽郅?-?7Y働m?hYw_\r歏e妆M槺哔廵(0??F誠r??PUI晆?Q鍟C柩?0?忀gu\rq啶-Q梵拌?g\0匼0M#鱑譙5Zt焌e^?\$>睞rV痏\r;t顝瑨?擧W㈱鞞H肇hzD柃\0玈2J?HI錙?莵e韌?筟礡??? /徱KM栘\n>饯H醃!i??TX6栆譱篊 !記g??褿 }Q6炑4>鋡?跈C}B?濯UQ趹j?c颱峊帑?<?三豸HC]╒氀7jj3vイ錪0描?23霭序x鸃U梜燶n€:Si5炚#Y?-w顢锗镸?c橐MQ臛Q昭僢`曭\0?@跛咬\0Mム)ZrKX熧Wl鰸復l宄TM?D\r4桻sS?40裺Q虂鮩Y鉮昫?翪`{沄€gE萛n柣Xk諄?予,4筤恝6?<4侀NXnM):狗OM_6d€栨醺悯[\"KU瞡炛?l磝\0&\0縍56烼~>?魡崭?擩n瀫? 埾Z/i?粑趃l挺諹坩F}?灒紞JL鯟TbM?陀cL?TjSD拀Jt寑峑洩登:盠瓈磀:塃z斒お>?諺\$2>帰[鉷?鲈R?9u闣.??RHu炶跼?58援ろD萜u儯鏿鹀靂?渞谆 Eaf皭}5wY措鍌蠏谊臰倃T[Sp7'訽aEk燶"[/iタ#\$;m協兀WO斣F騖r%\$蚸u-t#<?穃n:獽EAm已]繺nU鍽璌E罓#€縓濞?[??`/MD凳汁VEp?忓I%蟩哕鹡韝):ぇle⒋誟e誠\昬V[j厲i? -+诌G峎Ewt疻kE舿u霶/m?詯W梎齳u撉軦?妆\r睍諜O滵 )ZM^€硊-|v8]媑綉h鲎臠?朩\0?塞6薠啈=Y詃絈?蠐斚9g??r <弥応D澈B`c??捜`?D?wx㊣%?釀瑔?侧陜j[褮澲磉O嫶 ``幣|蛤蚱搌?寴柬.?AO娎?穳@?@ 0h2韁\庑€M{e銆9^>魰釦7\0螋藗W拃?\$,砩艢貈意曞譿^fm鍓,\0蟳D,诐^X€.啯7惴浢??舊;6?\n敜巺^焭C┳?mz呴n朸堲?LFF?,蚌[€?鮝Xy9h€!:z?c騋9b?!€?礕w_W蒰??徲S+t醦?t蓛\nm+枩拶_?—\\紥漦5R?]?坃h? 禀N厫椗]%|7酥湈];旓|濕禒?X??諀羼滋G╗自\0憓U駭邕MC?I:襮O╒詢a\0\r馬?蟺肻0鳣H⑴P+r霺?鑰鴓7?I~恜/??H?^蓐颤がE?%袒?&.文+窲褣;:扯??N?苸霆墍/揥穆!凚鐻+耚$痦q?+裛/苿e刓\币蟲纏E憀pS翵S嵼?仅6鄧_?(暖┠閎\\O剖&旒\\?9漒0€9n?忴D竰$?笅K悜v2	d]鑦匔佌??乼f|W?T?p&苦Ln勎璩烆{;堢贕丷9?怲.y裹颕8€勾\rl??T?爊?荐餞.?磋3洜毤Z鑣’?褿颃巿:	0&璀?宂犁模Q?鄃T?駲誼屨?剼?莕<欤-?B顺,B蜢榬gQ磉髣蓭`卺2閯:畹絳?g?膕匄g骦繒?讓<?譿{僢U9?`5`4?\0BxMp饝8qnah閱@丶韱-??S|0畢茎??h\0?C?zLQ濦禱n?喐`A罓>2毬,麽橊N?尗x坙8sah1鑭楤嚿嘍峹B?V棆V?讑`W鈇'@泧?X_?\n炀  昣鈦. 豍紃2?bUar繧竳狁匰撪鶿0讌\"?€???b;卾Ph{[?a`?\0晁?j梠寏符?v?質fv?4[絓$东{蟑P\rv鍮KGbp肴砒櫀O?轄2\0j髻凩?€?莔崛VjBB.'R{CわV'`貍 墡%€衆$?O?漒0榒倧挮4 蘊?;43?滔€蠢*馒\\5勁??鸴X*?钅N?S魽M酤似?,?\\ca惜 躇@?兏B/劕网0`髒2铩劎宍hD臞O\$鐓@p!9?!n1?pB,>8F4f犗€:??7?勵3洠3吙?癟8?+~豱鈂\膃?br服狓F夭???C?c€:詌?\r涖\\3?駱嚴6丱Nn??;狁@泃w隵F閫L?€??^a徣\ra\"蘩诋'?剉郕e4米?曬_d\r4\r?埸垃S悩忇??€[c€刋师Pl?\$?蓿恑搘錮#嶣牃b仜巫挋`:唨蟸 <\0?2?窏慠屄?P萛r窲8D@霦庤\0\r蜏6鲶滢7暯?榊?z\"邃罋\r?儲罋3儭.?珃3?;_薀vL忀溆wJ?4繧怞a,A︸埊;僺?諲\nR??帶輴哋m?s萠??z郗w剙踷墉7⊥舲?鳀M崝垁o繑ユ\0a斉莨4?鑀f馳?旘i棖eB蜸?\0?jDTeK敭UYS?66R	?6Ry[c鲾?賋B蛿諶鵢eA)&鵞鍑?XYRW?VYaeU昮Ye鍂晭U筨鍂擡氚蕟;zW?9栦拽漭桋隲0<迾鑕?S逦a?擾-钺塋?菂?Q鲨TH[!<p\0Py5坾?侁慞??v鄽2?|歉濁fao嗎,j8譢$A@k?兛巃?懡b?c袢f4!4☉禼r,;?戞戹b?€?\0傍藕厴哻d面X綽靫檃橰x0A鉮?w饃N[樮B??p??縲橳?T%櫄M歭2鄧健殣饤}∪s.kY剺0\$/鑖U€=s?gK?M????鏯4c.曾!?€鍒唃胞f?1?瘺V AE<#坦\n?爦霙Np驌鉦.\"\"籄鐪ゃ楛q竵X摖佻:a?櫣f瘷Vs髬G欈r?鎂奁c詆漋l櫇g=潄`?揥幩齳襣U澙藱杭頴T=??€醼苮 0?M?@?粴?魏b綔櫰f圪O?绛樮*0瘏畖t岚%睓P韧p纡gK烓?p鬇J?B贌#璥1勵9?鐏g?3~剀珙nl渑f娯Vh??€鄥aC样?硦???8>A?坅萛r棪y?0犞i慗珆犩節?z:\r?慡㈠h@漩僘广?mCEg?cy蠁崅<踵蚳@粿珃h<W倌`聲ū:zO阄謀r完W珦癡08賔7?Gy悆瞏St#?飫f?儾仠C(9嚷権€d?8T:??? q禒?9?幔phAg?6?沔7Fr檅?萰?鐰5顓?冡1??h昛Ch:?刮gUD9峙蓤勛瓜?~vTi;漋vS殑w溫\r蝺?嗲f玻?娤沬Y?靉含3犖??,\n櫭r憠,/,@.:鑉>&厷F?忷檷秨?b鑙O輎?鏆:d鐰宯槡c=9O抙{??8hY.?倮?緡畤??\r?嵵嚕罌婇1Q?U	擟慼?唀O墰?2o涛燹N嫎鳔?zp琚(觝€澧Z|琌褄D狺?鮐\0j0?#?>螏?bZ8Fj箪?;磙篢閰?w)?N`骐?っ匓{麅z\r蟆c撚鑭dTG?i?!i喪0奔?`Z:奀H?8聫阘V阢霆\0荜З啠W镞仟樥zgG緫厓讲-[眯	i滉N\rq洪玭?創o	匹fEJapb龟}6?o?t鑉+霎EC\r諴x4=?緳貮噳?啈F[q畿鑈6:FG#胞\$@&璦bhE:矁瀣?`?S??g1?uhY嫭_:B摺dc飽*瓎\0桭YF??*n勜?郇H*Z糓hk?嶋儭瀦俟飲碷毩h@翩┴?\0橒ZK鶠㈦纹鑎+?vf?s畾>垽?O銃枥蕇肻0譁5?X閶?询F匃n緼坮]|螴i4鑵?芈C?h@毓礋灃c撺?smO缅墠櫅gX琕2?g?~置Y?寻唖鷆l \\R奬0尐c湞A+?皠淁涕峔n(漾锰^368cz:=z鱾(澍 ;瑁弒麱?@`;靲,>yT唢&枙d絃谉?%??-隒HL8\r嚽b埃鶰j]4怸m9Z贐P}<燐郮帛壧メ+g?^豈?+ B_Fd琗匄媗體葉頫r饨嬭\":躁qA1X眷娌续??螕E醜?4遉Z麦?爡骀1~!N乫愦鰋棃橽nMe茑瑒铍XI蝿鞧@V*X瘑;礩5{V圽n?幌T閦\rF?}m对p1韀€>﹖鑕?w櫉骐@V謟#??娘	i趑蝱?儌p虧籫h憡?[elU墻跘哔队糹1?尵omm?K鄧陖栋!砥稠‘輠me穎`摋m?楥踷=瀗?}g? T沵Lu1F苴}=8竄?龛O?踡FFMfOO€痤崂媰?/奸醺迵氬€檕qj巢鑞!+綈虻黌ㄋI??!nG筡\剾3a箏匫+五::頚@孿n贎儜?Hph懘\\B孽dm漟vC?炗P?\" 娼?nW&栮nⅧHY?\r稉膠鱥>Mfq郅瞽葫軶c俒璈+胬oぱ*?'#膩Ew€D_X韥)>衧-~\rT=剑炧鲌?- 韞Ч骛{刪鬅蘪贛?€^灩锢'@V濉+i阮悟洘宓喩;F??D[蝏!季彺B	Δ:MP嬵筵璷C紇AE?镃睮iY???p禤\$k?J辯??7滯鰔坙C|?骄bo?鋁?M鬨rl&磺:2銅垩cQ差虿鎜艳d醾-U躌o俌歯M;抧?栠\0朠緁疒Po卓(C趘<?[騩鄹敋f芽贮?哚簴鮗?Y?o甎p慨乸U岠?灎〣!'\0嬺?T駶:1崩緺?悚?剾餹堫F仇僆⑶敶?V0是丷O8墂,aF丧筟次焻馳O?€/\0欃ox?髑Q?О:賸肫鑐h@:儷况?M韒紉:郯c1ぶ帑v?;剛鑎尕艪@z鸾虑\n{骂嬥;?懘B柬?懞 g鍧掍\\*g鍄C)?凟漗齇膆	〕?A僽>畦麫郉?哬?柬涒`o?>纼p墮娔窉q,Y1Q吒啅/qg孿0+\0怄鍑D冪??? 瞟谶頺:鵟$抓6~I=@庬?均v趜O駚毑?+王?9莍硸浖a镳嗞麉g蝠?羁潡??仛0Gn榪瞉{腋,F崦鳲♀勣 <_>f+,裉	辉癖&魷嗮砺?紋?签O?琔炉圠芢n妹?I:2晨-;_蘑葇%殄纯!熙f瀄$哫r\"Kni?駰佬\$8#沢-泙r@L渝湉鐯S?憆N\n怐/rLdQk啵摂念e疱溷协屮\n=4)?B様俗汈蘘-|Hb?亞慔k?	?Q!?侁G 灈Ybt!渴(n,霵砄fq?X揧?傠\"b F6痔r f驖\"?艹!N◇^鸡r盉_(韁"↘蔩-<凋?*Q黩ㄙ/,)丠\0潉?瞨鏫"z2(箃賴.F>唶#3猱??268sh贍?ㄆ?I1Sn20剁?崼4捼?A渟(?浼硕?乗0戚#勫r?K'送?G'?&\n>x唿躂谿O8,髤0尖孂8斞覾0?W9捿I??:3n篭r-w:陈膛?3葔??耻陜槝Z扲M?>周鹗?/=R?1??麧严m%去}蠂9??蟦Q鲢=蟞hL醴G蟢W蝄r?%?覝s裎朖€3s?桜橴?\$?苎N;?4驨谙2|鼠Z?3豩\0??€^纗i2d\r|鸐肥h|?v莁 \0?陳帑\$\r2h#忷?硤廔\n捈?o-湂?6`峁娇.\$禋鳮Y%芈丣?癛廚#K:癒酔L?>:?屻jP懱n_t&slm?嫘┥赣湶尳椼;6蹢HU5#霶7U狚WY躑 bN禆W鸰?TC鳾?跂>徘鯄W鼵U佋6X#`MI:t祤?u#`璮u玕$玹瓉?X骮峟<?b錱h鲅??豐58醅?^?鮘0昀?钫筊*?((躔鮭Z澹jX筈軫Uv訵 GW眈覶昵W魚诃^瞿琳齁=_貤bm州bV\\l伔/贛?TmTOXu?_忼ITvvu媋\rL_誵R/]]m襰u=H=u裧 o\\U諈gM?XVU犂%?h53U橽\=■Q哓M箆噣錷?鮱e堎鹔b軲軬CeO5佒O5呍Y?i=e?G漈URvOa?輎vWX旿5<醑bu燷堊逐<趺僬\$u3v#?e?u裄5m晩v婦5?v帉鮓=烾_?碶\V?蟔<貅S蚽)?M%Qh醃嘥協5E?胀W綂v臮mi諅U哉]aW︰Rv豳-YUZu澷UV潡UiR峍潤醭忧[mZMU\=聉{踃紈Q鱤uHv亲gq荽w!趏qt{TGq齵?^G_ubQ勱鍟i9Qb>贜Ud罕k吔5hP賛u[昞0彟昱_堕[鮕-?痿鱮跞?諧rMe齁?h?QrX3 x认#?鱴?踸u5~冺?輚?隮yQ\r-旑\0鵸眨uu倏pU趨?朠遘\r<u玈?0萆w惯-i蒹?讨婙B麽芼]艊??E牮vlmQ輳6k?襃磮w恙臑孛?孍D禪賀揺峷:X遚?NW}`-╰親#e剚b罕u€泱	~B7???OP淐W?底SE蜁V>稉譛??炵壴醡挥偓z=祪拓1簷?牴m肐,>礨7噤]?嚱*	^願惆N??栉/\"剰?)?叝俿灝|啶缬熜l羮?笌顽!?顑?n眕刯>h?}?桊m?E醶H耡O0d=A|w脒炽胱?戊u矞?v糋€x#畢b?cS?o-夰tOm`C嬺^M屌@氪h璶\$k碻HD^漃E郲鋵]龚rR竚??褓?Ayi?\"鷢??穙?,.淺nq+昆錰Xd??呓圞呜?荜 ?a???p?鳮LM勦!?枋?帹寊X#榁釂uH%!罍63淛緍y諄睐q_鑥	鶺嚻|@3b1迦7|~w锉楚鞟7撘聸铏	??cS&{沅?Vx痫kZO壸w塙r?畡挭N ?|匔?虐蹂寨 ???9乫t嶦w窩?篴\0鳲<Y?闊e霕齨?勴gyf0h@霺輁0:C?┐^€竀gpE9:85?孓п吼廆会巎_猍?签x僞撽畣~@褔W沣摐?x桭C樋?愩氱鳇k^I廂U9S熦鹘棞\$??鳿r4磪鵟0舞O?銘?L[聀??PECS霫1nm{??濸頦A卟?€耢D?S篴廗f??碭蹀+彜B>??刊貵j榗?z慉蛶?阛硁0bJ{o??3拉!'捸K门睐詝鉢\栉3W5?x仙罫;?味n梐;瞾碜篨記]蒾簻x鹻洇5迿jX?堭椂v託殂q奘EE{褉4辆?膡碣?蘚n鍪>鶛a锆肪э豅?禁祚'?睫閧隲n墬>J寣岣訔嗺Y蟎rO式饝t?-O?4?9F?皈粱渣G瘌I狥哽1耾唧馩簿閍{w??伙て?駭剳l黲襦J蠺b\rw?2甁叠=D#?n?蓎覃S鴁?,.?(菼\$惼ㄡ3?胹?M蔭CR善虶虘滫I甙n<鹺y裍N攫???.?類=椸翊D羌峔r洖?閈n阵╘ro觚\n袩Cl%镣Y嘻ミ?相G瑶趠#漋袧%??亦3嫔崢r烉};酐卓G商n鯷獅ス枔_<m4[	Iア兰q暗??cV齨ms劤nM貂圽"Nj1鮳?@靄$1>?襘鯸\蘽n耚\?為7焺抠焛c1??hoo攴?j<G鰔焞嚣㏒?r}兔趞\"}曶/?s?瑃I溴昙&^?e笥t泗,?'F高=?F乲?,95rV忉?嗬红憟佦o9网/F罇_唦*^足{蠭砌_儌?寭^n?N煀~?崤A恙慸╁颃U鴚鋛Y卞畲T?2篱G???ф?:y%煐X鐦J跜	W柽巭鶪!喆J}洍?腂-语??麥h?蠹R挫鯡稜~怄?.珇社鏍SAqDVx骂?'砩E?^婝淁?繘珧殓飋7~侻[Q泐(耻y根nP?[WX{q詀悉粕?&N?]聱HY镙麅脎[读????剫洣锭輪?欢?對蜝餰?6?雲@枔[??{??G\r?}鼧髁蟔???|N劎4~(z羱摶癸?洊?边尤[锅1?S猐x豮鲅KxO^锳崁塺Z+?唤*耊霪kD(锅籖:纨\0?ы嶚'?搈!O衆n渑u鑲企.?[ ?P?共}紫m 埏1p駏,T╃L 	聙0}濃&P佶\n€=D=抉衆r職A/穙@??鉻?郉K扯\0??僸?刲?拣B陫??(?[?坘r\r?#懨鋬l艛\r?<}zb+孕O馵€WrX僠?Z 牛哖m'Fn牸夘Sp?癨0005繾d?伧P劻谇痉?蔡n\0?f颬剰縀J?w ???锭N蜣?;痞?[7忿ei赔-撝頳賻<[~?6k:&?7嘳?\0螬侞霒鶏?/?9 窳@eT:鐓槸3興恠轁?5鋸?5f\0蠵钓HB枙戆??J訪S\0vI\0垯?Dm惼a?e醉?B唱\$?E媮衒?徦@猲鷥?b騁b料q3焲鼩Pa藞?席X7Tg>?.趐?餀?斧AH诺??S?樍@?&w殿3?鬽[侠騃?靴觀撎?J1?ゞT醽?蟂?=_剛_伇	蒝q/C劬份€蝲唆狺怐 ?g>軇蹼?6\r?}q斊扭婮G?B^顔\\g摧觞仠&%[?Ix矛6\03]?寋葽RU噘M鰻v<?娍懢sz眜P?煪F:襥顋繾璹喻哣| 沪\nk愨}?|巊d???<,隤7榤||?禝嶢?乚BB 螰?X销?	?D诌`W牭羜mL?旄.?羛偧襾?禱"!嫃?猏0馔A锩魢壛V€?k?孧竆$?N0\\?\"媐戓犌腭犎\0uq灄,??沏A6譸挝萛n?螑jY?[pK??;恖?n?罖鈂\fl	M鳄鸓羚3畻C燞b袑└cEpP壼?eooe鵾\r-鄽2.灾ソ?P50u敛癎}拟\0钏酲<\r鰷!笢~数稻篑?\n7F澁d洱鄵?吩a①%篶6詾M昆|蜞d孄缝O觃?J?妾C0?衼?7kM4?`%f韑鹞楤~x掩ZG镻?20??p饐@圔e葦叵|2腬r?q感8砀氡裢袏(穣r狯?囝>?繣?w軀r]?Av帻僚銨?+軽联Ag馍?sC宣AXmN覞?\0\r谕?8J軯鹎窪徱汅?:=	曫?囯芐?F;	?\\&骤哖!6%\$i鋢i4c?B?62=谯1蛮虉PC劐聝m送揹pc+?5婂\$/rCR哷Q?(\\愥2A?\\獙lG騦?\0Bq挨P痳阐?B惖夑浹偣_6Ll?BQ帀I聨G厘茇?XRbsB桯r彏銟`蝀嬩\$p灞8饎?nbR,卤匧爫\"翬%\0抋YB渽虳,?谱蠜pN9RbG?掐M瑢t吀湰jU簸缾?y\0??\$.?iL!x蚂覔???)6T(扞呾a%襅萞m膖ヴ咜&?驡7荌TM驜?\rza仑])va?渾?41T羓凸(!叕?〃\\乗\芖萝\\t\$???釘\0aK\$鑄欶(Y郈@偤H??蠬銆nD抎?哤p?蒱Z?醃C,/帩$JB╱墁Q:违翧鰤:-a#旍=jběl誙g;{R皜U罕EWn訳a粡V忸昇ju婫?▂止%菀@棚*?浍誝x瓯_蟛€]?v\"?鏡斟L?VIv?`浘'U? S\r~R槙橽ni斉)5S﹀D49~蔮?)3??M3疕sJkT溍渿(鷹uJ塢[\$ufob5筡n.,頨艿9j1'祵!?1?\$J稇g冥諢膯U0Zuah1穋H潵,肶t柴Kb?楇5枓/dYAU氁叐媅W>╛V\r垜*孵﹋??T眳 z?Y蔰昪甿囈贡?箑[Ut-{齦	+a)?[簳_:?炰h凃?W搂蒻互%JI懘[T玥>毊捣皶?薠毯d曷烻沝塚?\r票!N?揔&?A圝u4B吜dg微.Vp⑨mb媴)荲!U\0G涓◢揱???\\?卶鉄7Q鯾?VL??湔?鷥蟋Z.璑驑?*栐?U]Z磍鎧雲析荝 D1I?迓Qr:\0<1~;#繨b?κM榶?欅?乗"蠜j<3??柼岅瘛?P.}?e黠侐D\"q賧J?G?sop實孿r??d栟\rxJ%?韷掀糘:%yy闩,嚁%{?<頧酶?眺?z翬蝯(\0 €D_鹘?.2+謌?b?c趚?pg蕤吝|9CP廂??8U	Q?AqQ?4 7e\$D搲v:孷N4[?坕v袄?馶r昘1紭AJ(<PlF衆0鲸€\\z???歐€(????陲? p暀吁蔪登\r砫a6敐O猪m馻磢q臽吕6P?h噻3殥??f?j?A鎯z夬?孌孶W鳧?5拍%#榘x?3{??L\r-蜋]:jd譖	j黤絨:Z鱘"sad?驡?	+饖r凬K侖1Q鐔x=>鸤"ぐ-?蔉?鯗I賰*鞞詿莥?T韁\U瑷銑Y~聤墡溻殏3D佸€翙?╢,s?HV?蓆9v(:愔B9馶\Z彋(?侲8瘍蚖\$X\0籠n尀9玏B罀b撩66j9? 馐垊?,??| 鵤緷g1瞈nPs?\0@?#K??€燶r\0脓\0???0??拧,鋅0??h笛h€\08\0l\0?躗?眏b嗯琝0p\0?賔`ql€0\0i-躙\ps㈣€7媏\"-Z?lb逧?鋅0?蘛P ②E秼b\0?,Z?郳r?\0000媅f-@\r盈E趮?/刏8綉~\"谂趮??^椅Qw€畔媯\0?t_燃?忤E饗謀0?d]祤b|\0?腬\丶偄鞥0af0tZ?裯丣鬨0l\0?L^槾Qj@裴孞?碸腹q#F(??靃?姠闫孖?躛8?怽0[宷?蘙脩l\"迤 寑\0?,d瓒?€芢r寔?刢{cE羂0o?琞?\0\rc%袍嫍??8?w㈠芞嫷-腬\厚{?胖婫?\\bp剠@1?\0a?鶍认裺?浓??蘛8箲~c\"袍嬇?鬰螒m"€9宷?\\^fQ~c芲嫞?\$i瀄"謀0003屗?X簈x#\09寳Z.磇溉孈F垖?3tZH?\rcK€b\0j?Dj1ㄢ馄I?h碼锐v€譬峅Z4淶蛱褌#YE╘0i?hH已sX/F<嬒?鋔癍b杵蚛0mV/d\\柝駤b鱁硧??T^(菅坈KFR嬚鶄鬩X秖舰鄭??註h玉瀋6E膵?66躧?憻鉵\0005峴n/dn冈`\r\"袴尦?D`日憢鉔€2媃?x礼?\\烹媷V3x?x€Fx尵\0?宐?q仯兦!??|^偺製b迤鄭?-魊劁q笺:崎??宲p駭#伹嫝\0?詅昭洽馀瑣d?剄H幢荆\$茾媞?糬B4宝\"鶿08??lnx蠎犫闓?:0tjh?~@萍帴?H岂筨蹽(巈剱4g睾q裸2?屔-宯X笋篭"鉌<峇?\\j父1菶菋?涑4mㄕ癃鉡魦n羫7鼀h??妻??\\x衠?KG倢?鋙樠1{0FJ嵶?糽X閝猓勂u崺?渞(?毅嘒c\0?f:剅X綘#信絓0i?\\}遵錬頕絓0s?躽2萄?uFe崨\">4i嘏库云鐚?\n<{搞憤b茐?J;琞啬1?纹0徺J;4^杪D姐笄畫?ǔ4iɡ(H#谄E寈?1疸/恰嬪j6,l樭1t?\0005%?0刔x鼞叮GG5??ㄗ褛忾杛宷??ㄞ懳鉔FP弌\"4鬫樂1譫?媏 ?瑂8閼咷5帗 ?訹H?揷豀廽Y?鬧杈憳b? 巠駺腬\附q?WHN弴?蘡芉桡:???渒X茟贕蛯??Dfㄟ懞cWFl悺!?鼆??c E軔??l樠q怽"隖??\\\\疋T芆媞?T|\"?戱銠艵惓f9TyY雪鉙G1慃翧\$f9R\n\"奁x尮>B渽H隈撙\0???\$e?1湥矲???Tu)\nq筨榍~徦?T侙伪衏塇.憁~C魒H时?/菼峕~3鋇埡褎#>慪?宆肝Qjc是K?\"?瑋6彦c\"荁懙\"b4?桄%湤匀G\0e\"?t嫧?r??廵!v2剏辣蹁<菭弽?\\oㄊ褣#t叛怽rz@磢H聭鑒锲鑽y ?蘚\雂eG幜Z3寏?r)?瓤嬠咮l~H讲:F-?攌8磓鑓(F蛬奒?|my駙c1??*@磈蒯?阚啪寢>I碯柰Qj鋾?屔\$0h礠堜VFT?\$艫l~鰍冢缺?\$?\\p賊rq俓$/萿%?甁q \$?鉻E矉GN-Tq)騖"③H蕦??鞏X?-?H挮?\\n埖RW\$H岆\"\\_筡0籨\$莊懗\".D剈	'QE韺?&0to報qj泮瓶尦R@d楕?洌u?#禠Lk?q骪$*G膽i蜙T奿憀泸E獞??寴緍\\d朓枒礬"/蘘?抝\$T毗?z5Ld3?k?抩?Tq?1{??嬪?淶妇Q誦覨寃J94n堃闹鋥??-??h乳?\$?DkrsH瀼?魪Y7騖"?E繏??\$j??嶽\"N\$掕聭摛W?懐?]郳$?€1Ga?&IDn扏\$迤!嬬\$?宬!漄ㄢ)(N/\$t篙逛肫O廗zP磘X茯[\0扜帓w(*K\$v埶1骳??轌虨I騲d\n揂?\\rX芬awI攊N淚%\$姐捚_戺?鏠?柸I?#嶧礂睾裣#矱鈷昞"?\$躢嘓垕?vR|?Q€E笍?:R別罕h涠E螐fK`8.#稥硰s?L厴黂嶄咶?\nC\$`撒翊\$鬑?捤nP躤?駳F'斂?渿付闹??敮%翹,h忍rF\$鋈?3磘襽?沛?1<勆CQ?擅捁鍶鋃豧.?艒啘繁C???詼.瞇?橞铱x豚冭\0NRn`毴鵜\n?%+N↖Ms:霉Yd僥f珺[栋輓乒Y婒mR?讙Y?贑刋岆踛崇U+Vk,痋0P臊b@e补瑒V竞yT?坲瞰[J飼缺\nDeR?琺x&發?\0)寎贘?\0処?Z频\$k!胆馳b擦湴€R聡e/Q?缾k?.羍懎5暲W?`\0)€Yv\"V耚0暶\n??鍠`Yn粼x脝Q!,鮜\"?_.熷仼茤tm\$昞"摬J謲困巚?塎9j偘	鏂??矺p謹?\\R ??(奮澂:}柸飢>碌a-'U%w*?>愄琫朖潳;Pw/+贯5E\rjn⌒胐桇[伟藌\\貝1mi\"x倓p迕;?填堟?P)???必挕吽!A???4斐a{`aV{K漊嗍8悒?''o€2?áyc谈9]K锧阂梌餷B堚Or朐?duぞ8?鯄€?%糶B粓顐芛n+?c琫\0尠襦けYr@f鞁(]旨╘nbiz钪n€SS2AGdBPj姽諤€(椚ウ!?鐅泊e?c\0劒4J骁倰?揢?	d荷e餵'T?H]詩訥!?u?罩療曇Z薆5揥帀0\n贬??R乄亝\\ j?^r?l??,襓y咨f3&?曑幷Q:系2刴蒖)擳€?KR翣0擛Y储Y:Ye3\r%川癟?璛斄箛ST?J\\?賖裟?奃!?梪骊蒛\"九?羙+7朶"劦亾f'涵R\0皯轏濙2S??nm 涣I鍔滮\"X瞇愔€鸯} Jǒc?p0誕?U\0DEW倢.L趿=<B?+?ZS V;鈂\獾I{?I慉糁?dW?u?Ew\n\$%襾厛?i_\$??戽O,?瑖鞽嫶諔Jg&J→G捄%\\J摲b.妮^L婽騀l岃柟]k#f@L稧€膼T假椧虷咸\"杚1S贪鶋j廣?螜勳ZVz吲喅,潷疏G?1FgN??脢V5E万5`騖0Ct?=F\n峁浳睍K圑欀\0姳%ㄋD]Q\$\r\0?J\\,蜋毘<T4*?襓K?D玅冮L颯%,奼郧??穗檜0?敉U膲?*x(╁N聮Yv!y?w?fdrG晧M \$潢塣;洪濐萱?<P?]D?%?詊叔欼0鎍觰^Jp梉)?RhR鶨隼\n鏂L_?5|芫誱3P?╘\Y51X拻	i砃椚馶$\"昂a鮤*KU萏颲8ㄥu虮%&剅姣藲牪5o屨鏶?輗Ml[屁鰃湷挿U蛁欔箽h|詄O2穎 MlW2AP勛箻捦??v~eD琫?U荧l嘐62i蹯覷b田槵U尙┄铠慅?V痍iI!\$iㄊ?Z:綎xm!艈?諳蚮w爷!斕觡荬蛢檷6b\"獻橨]]:T櫇6襐r}捾谦]櫘睉U	ys7f訫艡3垖芪Y滙:T_M蛍%3苙?n捂z*欗3鈎兎	籤U柌L殗,ホ勑5vf兓脹?2_Q壖h萸?uDno9)つ溦玀9?fo奂─r州俏WB~iT輊yQT釴\n歞?pr?涹M?;挊?鎝則??;殯?	|莻姯',AV7軘藻UA?焱R淧痋"湔y囈窌?燵?n陶?3V曀,?渟6簆婛?巉滴A氎9k|萆甋唂?@湑5辡季煽2?蛚湆U檻瘗鍴蜦沴%畃芦Ie砨e桵賁O\r嶽兼i?恌晌LV?畆賣畩茎跱A??r勞y3Q漘谈沇.颜?^Sl@&塘?5諽l??1彐蝳Vx隇g蕝Sn?掏Q!:5譠辤ZC詧:繘?qg?D狨莳{U?抰Z筦u%w:蒢Q:Q煜荳 f顕頉?Jpl??x詖烃滽7瀊#将鏧+J?⒙h挫P*觼澊淊?讛炫廠L鏷*'潳╘npB鶛讵廹N蕽?Bu要槁幆?螌澖8ni陥I蛃窾S虸殗;vv诔U鮯R?N漸?〩|黹庞阀處湯8騫凑俎+'堰蚡渪?R?债虹MaR8鷛???!?湉;盪Y謸捿sNI漡:誎T難?甮幫Y濎胧k溷绍硁'LO(溈3歸4?4罨η?溭掰l蜫綕柂w澖9輁\扃曮骽f(?_~祢鄛9N靓?\0柎錬\"椁僒h,跒?@D←€\$€I灧;巈U?漬ǔ灧,筄	X?g?罏?>ti'G倎鰩l?\0?釼B薝1珁e怽0KT?4萴捄V2)\r]I/\rF鶇訶堊肋a翻G娐跪*埀??>ER祺?町囇Z?)I\$礴:薥0綟yba賕玾Л(達@}鰅跏?顎S^?5D猿?若URO睙JH澲\\?is餱扑K歂眬qi鱏g譕聼\n睩~|?@gR€_Q<9s墁3i+貤?Cw膊陓倣鴜?a霴躖9?尪蓶\n朐?([哶坿鞸鸧c?S=?の冼瓮訷梧U->?<礬n<謘O鬛4F}\0007u鋕(/嫙?5{L9礬0К??硦[<硝焥踈0&丸#匑h涕?3¬}?滺??w+]'D?燖е乚)??;TGe3悕\\侮n咚d\$:N4舮kt?dR!7杹?蒭4(P!暉-9?4鏮PMGb?伳眞叓厣6O傗?yh0+€灢T|穵+u??爮A?蜣	鯰?.q爮41T锤e泙\n:P狓瘱{T頫n畴h?珰T顰鵖-*?逡+鍀?鶿\昃Z?硎頨旆EJ侖%窉s桳本d獨y?\rC铚摺'A駆,襶?菜蜅`?_*裀?ThKDV卜杶5	??峒,??璢満??謲K鍡`痎?袱I42(]獁?.鎲r氖岁]琝nY屁B啠	稠杴袐R 旧g貆:HюJ腤P碴刓"薜楌鬡\\?棗? >?鍡?к喛=:焅n0阻\\+馭柎鎓軺尦韷U,匴C謭钑On?蛭參?唀9|R鱅'?嵑材冱2鶝玅炗Bn:艻鮘n雩g?9芢r?,覴6除缫Q\$X??悥┍`\n?/_8Qi赠???囮v?5v漒0 \nㄧ蒐Gm?w\\隖謱囇d隉祡s塡"懨Yv?|鈾J*?h?⊙@XEU??oQ]\$岯瀳,?儠KT渧ptC蓛\n證,/?…跈EW?V颬??W*%K陾-Q`9	(竖59觻鑝)薠辅@?鵂齌@堐\nS柉慴d譋未a€+€DX钺|U??	??F?2?5\nj昺珋W?峹?K屾V?#劧CT胑k??琷bd7)訐\"\n+霵?篵掕I夽??曑礿U姨Es??D霋凊?侞暻P乑3A螌誠nwTh饤勃蹣?Z?洫<蕌擤?dq馑妘(鳛揵KG编?槔n覶锂圿z◢f%#?I薴Só&}?@D咢++A韍怽n?飥U椶?|B?;攨Um奄U匛昇?魓2?1?\0mvH~趿H鑄?鯳YN齖"?k5?裿T#=第??\n}?R3Y僅臨?I统堞;萄Rl?l閡B%TQJ顧*宏堎'篍?i琩w,?z释?\$啨;?狘頹??)詮蔦$32J}?嘯砛$虂?Dn慅E状?0踑Z{◢?C 棼€(り:摳犣O@hDf\0`PTou摮娘F甛rQv傷o杰$S??樢#7坤Izr卲k燚W攬Fs?櫊Q? 犘?€g琅#昞0\\L郳$??€g巠?y ?3h浝!唍X梏]+睏	蓾€c\0萛0?b嘏\0\r夵?{瀄0篞(?Q診$s€0吅閙(癧Ru騐器邑>???J[?鄳亦J\0謼鶿\炊?议?K??闿a_\0R騄 茥`歗远ClR?IK顤鵟n燶$畁艔忆ワKj柀\n€?俩~/オmn榏.猔艨ij意?K緲f:`\0呴寑6?K鈻?zc袈\0捯酽/K畺?猟裟閲FE\0aL帢Z`僇閱S懴蕶?赝4蜙/?寢L驒?猔茨﹩€_?L]4Zh粜SD?M槄4:c验婼RプM桬4歩騹闉SGMj樺4zd哉〇SFKL獩%4猠韵%\$觢KM2桋1融斣iτ崺MV洯.岗斨i从崺Lz?/堶糅?觿ρM鏇,`奯羿imS姦gM茰€jg戲榍??.泤9j_蜷篠惀?.浥9阓彬榫S垿?.?7趓?)捎%2漨8簎T骈橲抱3M:漖3簈旇鋘颖N?|^襨t蟎"矣HKj?;zc駃斡毀?枬\r<阓?i视弗馶"譃U.?大i隦趹kOF烅=:\\粝\$Z萤LE?鷛豇┞踊_\"譁=<\0駎橘S绂9O覟?妦旜i灿臾筄隄?陗q?騀辅挔=6:~怎鉐?懴P:熗=ㄥT)⑵PJ8魼陊趑?O?]>獊t鳎昑\nу!\"爫6Y	)€菻?P獮??轲?悜P~犩??赢?!\"煃C捥札j?╡NJ↑堦堮?%??Q∨CZ嘠慾TB?Q.rE)\0004岁\$€2⊿M+?j則縥0??Q啞}F\0\$眘TaK危]Ecj*€'K籑緱MGx秸R荰1?Q辍獖5?詚↙殹4u6z彆\"j\"T圞uN郑鼼趃\$jFS塄颭2ぅH礬"闙T儵%RHz幷\$?詗?Re.\$r獄?┷驭?Q鰻蚃劰懯狜园?R&/滻蕰1?]T硧??樉Q义D&萤qN?_(磓瞔[Tw孮R翦礈J歕0n怊T?.956c攒屨Sz?H樍?猂詝?Sr8姎誠"b諸瑙罳?MN姈?沌澡〦S搂-H樍7\"躎_S戋}G靥?*y冤媷S颛絇*?#怫攒嵪T:P薀魿*€詨?T:?K8?C獎??R?-M染旽獔??T偍璈鮄獙匝嬜T姩鞷?忾攒婫T讴-SJM*斣UT讴mMH铬M獦?猤SD?M嚷昍獪誋獁U\"╉K8照R獱在尅U*?U*ㄠn戮T?IR?t闥?IUF?1礧)v誯媉K偏pJ?ZjR?r\n?^jI覥K簞偑}U蕮_詻O?N稲*疐-R灛%W殝誧軎誠\巃V>獷Yj柕d悦?U维礧X?*日嫆筓y傰Z姲1k銠炸?V毈R\\H?h*諹ⅸ蟄僻M[姴眐陃崭?V颦}[(?W獄崭玦B?O寒1疶梀?璠祊R鍳u?T@0>\0傟/I唱W`韂︳\0?P姱]韧1m*镎菎yUz╩W□|揫织匽J堦鳸鲍?霪匷*?\\j懼Z`Z?~E飕W4Z毩5h誢媍XZ畷S1o?VU&珝T耗5}cU^崨X毎dm*潮択UuカSfG=[?鮦鋝湛懴Xc\n?iR釮绔i#灡uWt坏ズX聺誧墓??U啲攔冖鮑Z嬚噧NE慩含?谌ud攴E洮eV^岔K舌n怛V8媠X楼蚮酋/耯J?-J]觽厵游琳zO洷<Eh塡$鍕摲◇\0K滊<bw勸?窋鳱瀄")]b??z?cS.F???礠NQ惈閂*畚O[Xx姢P	koN}<aO颛I邠羑泛歍;騬駢墹僔D6Q?z奭j?~'?霒[Iv趔7^蕬е翞j牒w[骖虹準艈?u 臘s#蝄\w?n|*釅h雖蜬v;Y覉壁3醈尗^#梈猨y砵魔Y,?;3境授.萕\"懨\$?>g跍合酉ΚV乀骦jY輏瀔D*!歨&Xz薸獣?GV棴\"ユ竄?窑?嘚oGjj蒥蕿kO衉恗jI獣ět瘱#絒鈐\rn娿戛?衝欉Z,臻嗴g文毄:辜?壛玔L2甒=T宰0f禱0P甎6\ns%7isY??u?緬絥b5~熁歑|G~l?譳ぅ稭啹屜y柹)蝅溰璻?顿傅告熘隂?諁u'n0W-喂b反仟祯焝?籿Q?呠}p\n祯罀唾?Z*?)梳5迺ZW?ZB覆?祯惬奧怽0WZfp?Gp?钔佼:廎p婁U匐SN/櫹\\┸%s9琒{??Z蚢s售搾+^畵9橫調匬5隅 譗頙孩珁砧;彍陬z竷抡Y赩 ??餃D臝潑?鐕?9M;亥寬舁揤串歕rQ{晟债暥?F滳L墓奛┰垵\\)\$i寧?N'\0Π峆娐汋是]X蘜漵1騠?奬"'<O??毺?薒\0筡"嘆?敟%?6UA?齣(z惕輥€\r艺備比bZ??IQO?€核\r=*膲爥)瘿!翞犘`h皥,蝎mGPC佀A牆俨韮A??(Z虐%僼?h/翂坕柸kEJ6鸨処D枞琝"沑n颽U- 洬\nv巠澃_€穆聸讷痥	a紹<荲聝跠?P?霍a盍)9L愣(Z偘8陙vv霉豮	衂Xk溲濮|??骆澅C伖捸岚`€1€]7&臋+橦BcX揃7xX髚1搥0︺a?毎ubpJL菂?窔?mbl?I?R鰲@tk0€棥xX?劣;僚 al]4s皌宽弄??存l違8M?懤?€D4w`p?@706g虉~K?\r傐 ?P磪賐h€\"&惎\n靟慞D刃误\$??QP<靼?楞?Q?X磪x5€潏R穈w/2?#娎笌 `??堒乗r???虏柋??B7鯲7Z寷gMY鶫3???b?Z劣J惻鯣鈝?gl乛?慠-!蚻?滩L鯁瓢<1 ?QC/詹h监)蟇?C	?*d堽6]VK!m靺?茔€05G\$朢樀4=Cw&[鎻玒P矝d蓺?)VK,?5e萛r奘鑶K+?刋)b踖)拟uF2A#E?g~慹抐p5?lYl苍?鮾隹謀n聤賛}`?(琈 丳l9Y?f]€Vl-4幟│?`罆/fPE檌媆0k檝芢0遞hS0?吐图?#fu?帖5	i%:Fd€?帣貈G<?	{鰙炻s[7\0岈螢3韋t:+.葦杙?卣保@!Pas6q,莱?b乾艐鉠K瓣避-鷵ar`?RxX灵憽蟅嵇?膜詚聬? 繢€暰H擦16D`?阘鱎臥謰>-?\$蠃踌讆蟺信?`>亠初h??喞瑬&\0胔楇?I杦l鸝刓$揬\\r崱8秪,怽n?o_崂B2D礀亙a1瓿嗲=<蟢F?p`廯攌BF??闹矖h粕T T謳?嘆?dr彦墍J繦@1癎磀n烈w嚻?溱JG氁0b餞f]m(豮磓g\\斫忬笘瓣犎褕3vk'齘d川AX檦荳橵s?际?鎑贷M犂瑵@???觹?\\枍m9<?眎?荮?堅琱絕s}?K?s?q鉨斡-擌OORm8\$辻w??#皩@鉂穃0粢丐 5F7雳儬X\n?纜J?/-S橶!f??0?,w建D4佟RU?T礊掝震ZX?韅塛\$@庠?媂G見禇a>?鸜恫?\n滁\n岇?玔mj湹?,mu琖@ FX?驖瘘=瓲(璪魁<!\n\"敧83?(R?輁n>旟@╓!L舓蘚r圗\nW妻\r'FH淺$滗?m剚?咱LY梾&衍\0幤#攢[?\0"??@8膇K?賚壯?p\ng顐?qbF栘y岖c弆@9?#JU矁{io瓚?{?统4轛蛠奦nF蓌鹧鼁?Q噢瀄$kSa~狮0s@@?厃@??H巻N瓮Υ@唜?	塬 /\\ブ?<h趥鶇糏怲尃:?肻n%椄");}else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo"GIF89a\0\0乗0001铑頫0\0€櫃橽0\0\0!?\0\0\0,\0\0\0\0\0\0!剰┧?M裉*)緊) q?埖?尿L?\0;";break;case"cross.gif":echo"GIF89a\0\0乗0001铑頫0\0€櫃橽0\0\0!?\0\0\0,\0\0\0\0\0\0#剰┧?#\na諪o~y?乢wa斸1绫J?G翷?]\0\0;";break;case"up.gif":echo"GIF89a\0\0乗0001铑頫0\0€櫃橽0\0\0!?\0\0\0,\0\0\0\0\0\0 剰┧?MQN\n飣魹a8?y歛哦甛0球\0;";break;case"down.gif":echo"GIF89a\0\0乗0001铑頫0\0€櫃橽0\0\0!?\0\0\0,\0\0\0\0\0\0 剰┧?M裉*)綶W\⑶L&贉贫昞0球\0;";break;case"arrow.gif":echo"GIF89a\0\n\0€\0\0€€€!?\0\0\0,\0\0\0\0\0\n\0\0俰柋嫗?厕籠0\0;";break;}}exit;}if($_GET["script"]=="version"){$hd=file_open_lock(get_temp_dir()."/adminer.version");if($hd)file_write_unlock($hd,serialize(array("signature"=>$_POST["signature"],"version"=>$_POST["version"])));exit;}global$b,$g,$ec,$mc,$wc,$o,$jd,$pd,$ba,$Md,$y,$ca,$ie,$jf,$Uf,$_h,$td,$gi,$mi,$vi,$Bi,$ia;if(!$_SERVER["REQUEST_URI"])$_SERVER["REQUEST_URI"]=$_SERVER["ORIG_PATH_INFO"];if(!strpos($_SERVER["REQUEST_URI"],'?')&&$_SERVER["QUERY_STRING"]!="")$_SERVER["REQUEST_URI"].="?$_SERVER[QUERY_STRING]";if($_SERVER["HTTP_X_FORWARDED_PREFIX"])$_SERVER["REQUEST_URI"]=$_SERVER["HTTP_X_FORWARDED_PREFIX"].$_SERVER["REQUEST_URI"];$ba=$_SERVER["HTTPS"]&&strcasecmp($_SERVER["HTTPS"],"off");@ini_set("session.use_trans_sid",false);if(!defined("SID")){session_cache_limiter("");session_name("adminer_sid");$Hf=array(0,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$Hf[]=true;call_user_func_array('session_set_cookie_params',$Hf);session_start();}remove_slashes(array(&$_GET,&$_POST,&$_COOKIE),$Vc);if(get_magic_quotes_runtime())set_magic_quotes_runtime(false);@set_time_limit(0);@ini_set("zend.ze1_compatibility_mode",false);@ini_set("precision",15);$ie=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'=>'鏃ユ湰瑾?,'ko'=>'頃滉淡鞏?,'lt'=>'Lietuvi懦','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'=>'小褉锌褋泻懈','ta'=>'喈も€屶喈苦喁?,'th'=>'喔犩覆喔┼覆喙勦笚喔?,'tr'=>'T眉rk莽e','uk'=>'校泻褉邪褩薪褋褜泻邪','vi'=>'Ti岷縩g Vi峄噒','zh'=>'绠€浣撲腑鏂?,'zh-tw'=>'绻侀珨涓枃',);function
get_lang(){global$ca;return$ca;}function
lang($v,$af=null){if(is_string($v)){$Xf=array_search($v,get_translations("en"));if($Xf!==false)$v=$Xf;}global$ca,$mi;$li=($mi[$v]?$mi[$v]:$v);if(is_array($li)){$Xf=($af==1?0:($ca=='cs'||$ca=='sk'?($af&&$af<5?1:2):($ca=='fr'?(!$af?0:1):($ca=='pl'?($af%10>1&&$af%10<5&&$af/10%10!=1?1:2):($ca=='sl'?($af%100==1?0:($af%100==2?1:($af%100==3||$af%100==4?2:3))):($ca=='lt'?($af%10==1&&$af%100!=11?0:($af%10>1&&$af/10%10!=1?1:2)):($ca=='bs'||$ca=='ru'||$ca=='sr'||$ca=='uk'?($af%10==1&&$af%100!=11?0:($af%10>1&&$af%10<5&&$af/10%10!=1?1:2)):1)))))));$li=$li[$Xf];}$Fa=func_get_args();array_shift($Fa);$ed=str_replace("%d","%s",$li);if($ed!=$li)$Fa[0]=format_number($af);return
vsprintf($ed,$Fa);}function
switch_lang(){global$ca,$ie;echo"<form action='' method='post'>\n<div id='lang'>",lang(19).": ".html_select("lang",$ie,$ca,"this.form.submit();")," <input type='submit' value='".lang(20)."' class='hidden'>\n","<input type='hidden' name='token' value='".get_token()."'>\n";echo"</div>\n</form>\n";}if(isset($_POST["lang"])&&verify_token()){cookie("adminer_lang",$_POST["lang"]);$_SESSION["lang"]=$_POST["lang"];$_SESSION["translations"]=array();redirect(remove_from_uri());}$ca="en";if(isset($ie[$_COOKIE["adminer_lang"]])){cookie("adminer_lang",$_COOKIE["adminer_lang"]);$ca=$_COOKIE["adminer_lang"];}elseif(isset($ie[$_SESSION["lang"]]))$ca=$_SESSION["lang"];else{$va=array();preg_match_all('~([-a-z]+)(;q=([0-9.]+))?~',str_replace("_","-",strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])),$ze,PREG_SET_ORDER);foreach($ze
as$C)$va[$C[1]]=(isset($C[3])?$C[3]:1);arsort($va);foreach($va
as$z=>$ng){if(isset($ie[$z])){$ca=$z;break;}$z=preg_replace('~-.*~','',$z);if(!isset($va[$z])&&isset($ie[$z])){$ca=$z;break;}}}$mi=$_SESSION["translations"];if($_SESSION["translations_version"]!=944611216){$mi=array();$_SESSION["translations_version"]=944611216;}function
get_translations($he){switch($he){case"en":$f="A9D搚訞s:繥唷(竑f儌姦?堎:?S伆轪2\"1?.L'僆搓m?#莝,咾儦OP#I藹%9惀i4萶2蠉企爛?9?繮纀2?膏r\n2汵C?農4櫷1C`(?:Eb?A萯:?銠斿y穲F蠼?Y倛\r碶n?8Z許=\$A崪??塑尣倿0蔦n毅dF?屴n:Z伟)Qφ萴w埒€軴缄mfpQ?蝹墕q滉a誓癄\\脈嶖5?|@鑘?3访N緘@⊙i??磗N}+鯸\騪ほユ+魈埼 NbB貚?劦?捠'畛峘P?嶐+嗖墘脍?*娐?蘦潸Hn?銣9?8姾??瑿s\r甡守鬸?衻屃鐳4儬?嘇x^;?r@6璳餦\硨醸w-<Q劓驆義D?翵膵拉€x?騸烞聾?)????痞砶婹9??翔KN 崒桎2c(?Q攕B?餰\n糃饧78o楯悓C?詀J尉b?%癜歹p?痋"晏/c\\8??幋m 0謀r8?相P?嵱鶊#8蝷岇淞A#?9內铕 -B渭寠H?k敄堵莄;縅ZM}漛崝簆9宯cQ<刓ruo,夏l9丛?1儳J靖?丅\0 鲵?潘埮愀継(2Ls38\"?j屻l睃逾9"MF=?ń汧膌B\r粌0?J〥f3牜权7溶<?u巆樛b潜2餜El璦覶蕛uv褋:灚p?@钱k?}膘好??ZC俄??YJB!奲悓藣鉢\v[X思	\"螛o隵?j(>钉?bP*1cp譄?册?啥#\\騗4|偱H?€?(毓砛\?k??\r(刹#?I綅?\0007%	T=G?LV惄澥wr?IT?J讥偈?K2蹃/L蓶M罔駬q@	??\\搄)о95gtA翙襖\TUQ碶"奰2:w2W苏錂~熋 _漧\r&3)f燹z€?濛0@榖`?晲a??嬭窙餈wa?偘?€爖?/€€\0RH?\"q樠匼\嶛??葐?E泰!偆矚??%臍豿l!餷0抹?鈆蹆i黁馶"8HVIN8d'?u揦?;璤I\"z? ?粧蹵譪?8?0?0vN袵濘v罤褙;鎭顧WN?Qi?<)匑@腬\燫&??d_詜攃r商?nINpr[PH粣ICF`?虘釦Hトgr?洂#&H?T夎	?%?塡$?2?KK誶Ht鈋4寻O	纮*匼0?B燛T@?-	c*絏涏聣聜	㈣4dd絎窸,kMJI<p	Ho5Dr敋汛耚r川忧F楬Y?%龖#|b蚎鼤釔亮H鋱€E扉Z砓峅N?\r磲怢>S眺櫮霤	騖"夽?箖C8h?:(?圽$PR4峔$?&?0I[旰??\r\\'J誠n?逺駶E?犥??c飁\0?N蒤n慠aX4?`艓]!帱盜択\ny鵟nd9.?侺a鑽?i?A濉k贘€磲旸aA#?UWv紕g6g+籕J\"樣`憑4zL??燗a JR齡I驢7?%.z?C憙戴斮牏HAx 炬?侭`?\n\n7宅Z惼凵O	m慣?X琇r8縛[I侅P 罼2楰乙皩-膇?i?o%\n6lS唒P.孔殷檒_\n駤/脉泙橠'ro\"軇@?镊ɑ叭8P鐟糄@(+哖艛彫瀹罥hB妀萷堬T縚%a3l婪某?悊?egY梑餖KhI3だ艙陝鮓I权皹/eyP:=?┗/?託-\r焹-Cě?Zqs?Q?O-A瑫@wKQ饫sRXk	Lqj*o!td織嚁㏎F蒋朋`?嘐?XY'探?-P?l覟欨?絇PE蝘?%簫?%┐>〃伨*y刽緪0H顛铌柹5<ZSsT豌喘滸\nl?n漄/暨鄾冿?筛de?醫U赨??\\9(a?	+?废&\\x熱?凂?6鈣窬???瀩V笔u腤;欝藄瞎?腣瑒rh_r`碨n?霺v処?<憱C鹳%tY傚6M伦h?I.=Dο錭z\\篋鈰F?障Z鏫\訜Z拓拴:6砖砟mg?鈕帿僬?^?#丘m鮏?籹浨2?秬?婈匡纝'熼>`擹b濈钣韭0妅<?β渿攄JJ!4鼪岒廋忘?x洠Lq/PJ>'缩~oz婢磛R艶┨5随樼讋>艣}胖UwA?牾鍞o7t孓G湤阌?JO熯鎜/\\/鼒p?f顙>V忔鬵OO蝓彺>\0冹跕ǜ#牝穊腋ON趪O铷醌fl?幌纅冕\$F\n俍4颙6Inpㄠ??鐱Q02?@?憷E?帤Ph楡靣#NU/蘴巐\rhH翽?f鹳鉷?ㄥo2#脋縡?\"?爾剱南o鋗(芿8\r?n銵 鋸2>\0?`苅€芢rn襖$ml#狽`?瓢/?苾&詚牚\n€?爌)牛儦舗\\媛Z塰:苐€惺傕?教D\"m,3偙.?JR.?鼲貭?Ⅲ聹.鈿??\ng瓢杍耏fs榫瞓*鈂$咵?\"⑹勪'!店?\r⑧?Z-V冶-B諔?M糨?傜\r濑岺?卦-谸?C,潒4珖さ钚瓢&^?螺郂	夽[憩 硖\0?/喢十刓0???e(-€?@?G簓玽Z9 殾?)吶楉?rR1?蔣o??.R倸-K?餬縛?\$蝜/艵S(r姀Q忄驉*@";break;case"ar":$f="貱禤?聧矄l*刓r?&\n貯?韯?J.檮0Se\\?\r厡b貮?0?\nQ,l)爬β蛋瑔A蜷j_1丆蠱叓e€?S橽ng@烵g毹魭X貲M?)槹0寙cAㄘn8莈*y#au4潯 碔r*;rS?U礵J	}壩?*z猆廆X;ai1l(n?镇龒肹觵檇辵'c(€躱F摫へe3橬b阷2N歋映:LZ鷝禤豛\b婕u?昜禥`u	!姯Jy祱&2彾(gT驮S褮M苮?g5窴甂β︵伧釛0蕠脾锭\nS 鼪r\$?j?睥v啺??Jb灨q0\n笟j\n?悎?j凒@舲?l<\$W咳r負es滖哢&匸?l冴帬(B&骶粕?4_!?浪d\\B抉=萾[?汶??瞂*貝J	\$i?\n&?逌:顨?暿帽?+T\n壭??J覾0x0?愂3??儉?醲颭吤?紺(?\r銗?專u`<7cp?嶕怐?翲?5鉳b:亁?)m潉迧?h?m(?墐KvГ%壈[G払?2m[帲搻j㏎%罕uq踫靌男JCD㏒Z滑?B嘎9\r螾螏秚悹#?鰱?け^O趞霅W慹?菾]9J\"R??乗0?崈ㄊ塑驋F眗哺轎耑彈)ブ?kR<駪J?=^V謊\$O?癥<衈\$[?bZ匹-齧< P崜崓祝c?L)D溭bb試岉b呬ぶ闛\n鰟罘v?@αo?lk廊?7[郊/叚q桏A锓1悈咖?N棶`u鵺f喢???GN,嗸;[游??q蹻?苾愯6L驛伌?\r昁\n黁<M筛*\r鞞鄢?\0隱?瀑c6N\r儀熙ach9{??紸雱?@?穉@鎈nJy'!⑷0??*剕挃C?Arl!玦\0牓磠藠軩lx啠t譀[?z?聯?熥⑤刪u;樢鶾 冏4A??太^蚍=`€ 猽R焢cW*?*燖ぴ獥S%0嗳甅?X?Ш馋!菾??\r?U?擺d窤怐b?有PH牗硼L耯af?樹煤璝翑<\0谣僜$?)??驙TJ慡??r癡Q馴玼r肇sW`?Σ\nc??gW?CY匹U=败爸羥\"T敓?cR?婨抐A?!?+€?巩l!堃?U\r脪耏羷3GB6鴂s|瘽艟箯2M榇榎$l0?@?肻r,?鴦L€瘉ET挕?V負?韧p殣? ??f喕HUПZb'詸?s+?Y妞諝觀lVppU⌒贈驦貹,}!??|份狠嵤:y缆?6\$蛷庇\r售!GQ絆#ˋ?E(缛濂5gA?撍X啦I業#A湎俓0?Vq+D7JS|l园qe烟`?胠<囈?浾c9逬褱Tx8? 薓kP衯,匼0?隆\"-鮩;C\0LjBSLk?.Q!6gT絇I鶦蝳奛?惜V餬h*蓃峔r棍IN嗳P	@握V?突門纴J ??m敢氄(偁P稌u??龣Mf?mUEV{N:*⒍3?逺2僜\靫強€聀 \n\"?n?&[螛a2僡筲?40?t鬎璔豘Vgi蜳?ペ]]?Rn?3掅壈Q羾鄶|摬@?牴歋~it?1Ζ2l,	~\nf枭n徭?惢匼\磴\rY纟J1{?鍬馻旂嗎k肚8鶒?8竹恪濜€豆瞝狀?!?'iB?鷮.??wrZ3G€傉\\\"檳cL(]?暩5謭晌gw睢爯鏀簤0F()啇羲鑢?尲)哠_1)+r\$D∪谎oKW?(0?荌煮s5;揈布W?;躭\nD弨l)p殬顷岺檩J?窣?閫p%い虛[狽.籠":岮俊%闹?;绖bOh?^廈y?C +〦#缬(?澓5F\$?4鵨O銢un/櫽鎈n?!剙AX昉i6V袺Qm栌陇囱&?输???χ??Y?掎觿2敒馻竕?1??O?藧7R'B僉虣yc萿帎fn汬Y>.E飵Qa	S<陇忦?艕AKaI\$凚騤€Oc荀徝顼&閶?B^℉€R誙Τ噐9梛r'谧?╘$啲?灓4菚A	^<*?牘!笲唕赸1貤;粍	OE捐i(d??幱r盫A瑁9B鄝XPa\\u窽」m桻藨=砬T娓取?''魃}扤?yw?G慝鹟嘘??媤轅醕硇^(CgQ{?~~洸?_4聓廫"盈o淳u!6]??	弱鍹宒|?J螥\n`??\r1B躓抛e诿(圀:更?@鼝闛爌O?峏魈+\$R詯?hb??\$j?狸Od?蛉n菶妈缠BK砌O?龍那靗sqqO叭噁虐fB彂\0鑃EPI??严慂鏩p悙骥Gx藖n芢$\"pR2/~僫醆n隳:嵕1!}蜰[甌?(1涫蔐鉒.簞?韠\r蜶呵k盀崅?!OA勸	0m	o?a慄#聻立\$灾	闌Md1 #恸田&<]#薾?醘j腜}芦??N?問p灶害\"\\謑S;pN詧(_P]d?l?qQ?C年?茁尕jF-荏環峙譢r攐k妗aO	蟬?蟧\r瘓-绷瑆B傆袷uQq懢?膩?p?jA?懱u戃腷'OZpm?,u惢 l阫E謀"o5凬?篗%騨c?強?倞?k?裲柀偠?\r[熬:騁m賊$褻?蔜騫?拼/2R ?&Rs%o?蘹?鴫餧傱囊<[聬??﹜*2?扟:挆)na #?頮 瞹+愑矑bp)襲,俇%騅+衝D?,O擺瓪K襂鑙羅,襹Pr闏虼賿?袟/鎈$C|p?蜾鰀訣?.鞹該 K蝤?	2?劉鋙?\$??n\$#?0迫騹<+.N(炖c#n敠對@??gF)揹費<@?鱢淿??頬\r\"???@?`苰犉\r`@W+heFXe?\r\r 蘽ガ&`尫囼檱鞓嗒\n€?爌b圝?o?J扠螖 忦k?a?\$nX芀L?DD牄;舐悠謉?血@f?睱2\r?\0E+@D?蟋P湄\0榎r雊;旺7#傡4M>X.俁目纶J\"ib鶱臄A蚧\r廕硐楤h?N痹(漒r搉GT?4?茬I磹鸂╨m?CH	槶噢	奤\r2澫JX;妜刷?苵Ao.?はo繫O腬"i?妯flaNΚ誱OLL.?.襱kFs?@瑯`?犣^Bl揃n	dD&瓢??gbp鎧??倈╬B铺\\诧B\$?S?Idk)l酭?Nb狥廫"袢??F€?\0t	牃@n`";break;case"bg":$f="蠵?\r汦袬4?Awh燴(&傇~\n媶fa?蠳臽?傼D垍4姓黒"衇4\r;Ae2敪a暗€仮劀.a妈鷕p簰@讚坾.W.X4蝈獸P禂题撠\$?hR鄐绍蕔@ㄐ梡傩旀B??sE参?f?E?犛i?X\nFC1犜l7c蜇MEo)_G滓?蝊<嘒迎}喭?k雴?qPX攠F?9彜?i??Z璐歩鞶〕_a?枟Z娝*╪^股誗9?烿?▇砞蠿\\R髩6?踉}?j鈣	琹?峷???鑶3	碶0鵃D|?陇壋怺€彃獟^]#餾.?d姱m X?拠差闋\\??幡.L\\蛺O簆━\r怖吙虰z?+氁壓獨疕掝??禔肺b^斯23r椆旴们\"娒蕪旔L垙拤攟瑟f鳉Jn涞壃x⒏挪d彃k挜8???5?女%\n?,?AK蚐Y0?勀筚燞齐3帨!s範I\$*糧@蜈B\r,U	噧@4C(?凜@?榯呫綌# ?嵜(?\r銗?專u?柸?嶖蠨?翲?\r?踠巵郶0嚵?]c犘7寔\0??ㄦ2?槩&\r6赉K9)?	;?N颱E毫?剩潸]?竫v伈祢8踲毅?尿@O;D?Kb粳Py\n??Z:<?墎:説j?MD\n騳+爑仭褴|?鋬秺j畡晏'覄屨舗娧V?q曧?r繫?Oa5.梧甃?迮E0奃爴)踛>QR	\"被?\$药#g?0雑轵漑W磱闠彾/蝍?坤0B?I珊綾\\\"殨'蠽斍N鬨\睪饮薉絓0V&!眿垟縇毥菖5GP隟ovKPd?丹B抒魯誜装^c?€塙伽榨 \r?镲k+嬼,}舾煐廟?o惊TR?gu歞LB?&??鸤\#飈螴卟?sB{?p?熁鮐H樲岸?僠tM@瓒泳f?Hb舾¨>rZ撯ue1粌Lv岓p8?b狫醆r9'虋h6v誸8Dez&ZK\n;筬gy4膵?[?%鐅熔?+?寄D?蒌Jzυ戟cN<S塱?&皛庠h憈喤駔H鈐R+獁O懮?d莟炯掙#墵.!?挍莕燦麼dt盛禺O裔	|堿堯?岮贜p?H砖卺ll00摍倛@a\r连9俓0痰W赀\r翜湸?k卭咵?驶Wq?D僜"?!褳郳\H\nM@R腑帅<??r\"\"M鉇S徥]?鴳!<Mj蓳C)頗扗?.F?y&κ糤?a,E尣PwY?h?质踇」o?_7A騖rB屁獰刐9棅?覀)GW糹膡驍怣M濜搶?+,W??覾n爋溈??\r)?皃?T閝W╜*`0\0?鏫"??喞?\0Jc?志Cf[∪巼P??sa?謕??鞋l4/犘?榓]`€1??a\r佁?3瀺尡Vn磅俨?驊檟n&蘘)牉庻='A@\$0冧奮G啇傑\nK蚛n噸|?@喐V峘g~\0?C礶2瘣嗟Cづ\r37痂,??EP谋[z],\niF?t?.%龜棖硐驡d骆,*AUN抆vVi巧Q??m嶀異山圥?\"镕eY/<R你瑆!-?辠焉岯s*挏?s燠\\?0?酸犮葌\n+楡現xz躙n\\@囎?_釨錉Fi}????5m勫6L\r棛兣?V涚DU::痞?◇挒?T肰}5[TCb	u9?仏r鑊伞泼?*Z胄a/)p5褪Y鰨挺REA儨l\\j	媯罽fI耊畞0?˙肎蔦$?|'齢?rh霢趒?bfm闸俁j?遚LX?灀\0百?~ql偕A_RM?R滵┌)?~%eS??{熡D咵鄣N脼嶂獜€讘鮄麦;蹜8X?]屛2碪趪n姚鑷t钯T?E1(#付^?沶\0oX鎾墐姑Fl譔?毊0懏闪玛傦E2H?鄑鸡-;+r諾骁f沧-院睩\"o+慛?[堽?,?;鏃QQ襏衍敤裁蚛0ul[愂?fbI晅?<nsh&此尰餄箱S詟rB!H憪胩XWd媯?犫遴_漾I?鳈苫V?m;!r>)媆0豁oeЁ槛B譞h琱r(聹Z3苑Z鼾q酂这3J0?鵛v4C腬rJ冨cWf迨T淗?I鵟$d'z浳Y:輘€;??\r墿T蛊蹰??C	\0€8嘦?k拓W爞贻p?C呄Kt2'埳C\n烒乕BT|F??枈綨3??T┷(Q,?%e磑?昂\n+{P?諱O糊臠蒐Z﨡'応?糑\$寢B?\"?孿"*9臠yC烅?T?\0?\"h呛雺:v湘★嘻嘰n?8?Q\0碲锽[0>o?螪莉0t靹爷?4庑mn魧?苔#⒄橡5,R?|.!</稣mR嶌%卸Gl蹾b宙\r?饪Gg	Qc鎛蕓3屝?v搰?p4?+俓n?z礏>;M>+|艈?蛦嫦<6Ch壈τ$@Bj??j愶蕙孁霃\$\"b釨?j?棳嗘nt勘*凣6猟堠\\荜|?&-?幠绋0耚"?B廘輖t.'U?G鰩\\?g,V鐕勁L??}湍韁n€璈xW-()(\\圈?聞q\$湁腖惊孴\r脗€鋅r噜?/f??鋞匥?詅4戤懩蝳φd?╘n祛嗌+?錗Q.硞?F⒂璥?XTF?鞞,繮nPPOM`\0SP垧F??鉗~+\$|.2P买T儰	Q?聰j颇zC役区爎V葢7/j'?瞘湍卟Y獀??缵\r?q?停袧冶(甛0侭?2╞R?抪鄎?R▏B咮?EI+*w.\"继\rJcoRnF.&P??r`O?瞆?鹚鑪?A/獽/醓0/覾nI湓B?璡nK??5+s╰稷犙?捹\",a-韁r5o5渤(疑 Q甹f?d鎙郳" 啖╄?|蘏2?躷聾r犳f'9J銱层? GX缨?kf焥凷?D?PtHlr拤烷3饬4/;q炵?%缯<铞|?u蚽*/'3?⒉腈E憌5遥-枎簮EM-r]4消A\ryBs]7獳?(?鲱軧#eC颺vn?疝K??獶腮E	s(揌d觍椩`Тd囈證嚳)4_	豦'骢詁ui70嘓?D鏟擎?->ic?#rq喧V-LB氢桡dγ禦k4覱Q8?6?.覬橛O6S#L蟇6?F葅63溧僥N1r荂错?刃坥???HN鴟?/斸2?ITEPd爋??D?t逴5n60dB+oO ?鏛_?BGEhD&r?&3T?T耸m僜0爐{O?1陥3dVl祄UT覰g荖Q?VQV晠?I-馬,gY荕Z骕oG\"撜B垖%訸+R&霍6鮱)=YU盦酹w哲j/鮽厚曄X語s?u/驎婩祹?Q_侦駃_F懄搋w`?Q58?騤[^m^C莉U頺V?慔詔u,?V?誆RsE斮_禙鱒L暥Q5鯋啎bF朶\礦OaD??!B?﹝w?韘%ONb铰\nb頹A惍\"?\$'M\"鮘$\\宺癢*6ㄆRs篁薭預S<骟某nmQ\"k鋌?癆HOD?Fmf0G3?\\柗nm俧?芘M0?k|匑?b?bb賔b崞譠E+hS炊?\"+TH,辝J燢蟛?It>€猏n€?爌捜p硁taPCT縢S都(旗宱?眞p?l鵹嚗翤\$B埄z)蜒礀聭?縘據鬊=衭W胘S.降?鹗剟PAdX徖Ez鮘n漙Dτ_]Т迍Z觏N,艚/n.&?歸?O7阺牡'坹諁C'd癙戩錞E箫Ró閞wd9'航X缲焣]l??歉'-脗馺裵踳駝靗U凎u?]4鱽>?P??ㄋ埦奶S吀L玳E?t?q斉3戱}2l壸q?耚0Q?~翣?C\$m;}D聼韁\鑦\"D?薼dQd鍷鱏x芅嵫鮗#旀鞞\$匓j6裪?壄^B謩n娲4	m崷颽?!/:搶??嗀 z15-抳/nf*?c=Af︼d圉<谻倶袔q賔唇屔)Z5R墻^M蝙Y,Ut羐改0VTo儉";break;case"bn":$f="郤)\nt]\0_?	XD)L▌@?l5€徚BQp烫 9偁\n?鶿0噣,∪h猄E?0鑒檃%? 袶禱0瑖.b优2n噰D襡*扗M▕?OJ脨??v褏\$:IK撌g5U4?	Nd!u>?端增鍎襛\\瑻'Jx?蒘ぱ?蠵睤П╆陑軎.S?鮁<鵒S閗b?O蘟f阧b?\0镳鴕Κ)楒睶屃W鸩隕媨KгPP~?\\щl*媉W	戕7翕杉?4N芉皋 8?cI笆g2溎O9脏d0?嘋Aт:#芎?3柀5?n€nJ祄k斉,q熈瞰@岘??n+L??x!蝛奍列2罫\0I∥#V堞?`亹?娆瀲丅浤4嵜:炐 ?X懚?困,(_)煦7*秐?\r?3lッM攟?\r馋恽m嘖袺p€LK满貱	媭S.隝L旻s訵9蔛?涟硴T?Jz蹹人dz?[理\$?K扄瑢觢?C訲籓Du;tЙ玹諭裈覉J╊}F?馛\rY运腘萃5,醓R媙WF3驂,显?L-跽??艩柇妽pS蛌斵P╁\n賠脭a8浣TA觵J?x轥Px0?愂3??儉?醲飮吤?蓛(?\r銗?專v8<?Cp?嶘餌?翲?=胣::亁?./朶\r?纡巓 ?墐K?Xw紽呢Q隲n墀籭@G焬?l鉗峔$_,#M[7笅腄?芯ⅶ蜬ssdQ\\?p8?KZG牿烾?]骍佻2\n??I?B鏟銒[<D馲Mj婣?%`m乁'烦z=詗畻\\芇L揠裓\{\\€2,*痀垬?崈燖;#`?顨JΧi驻ㄢ荔?|?F/黶D豓\n???蓠J隹H痪鹻傅L?勆缨e2咊8ヅ闌}6V?0獜澲 dE7揬n#D?側E痊?gh?=膧1?軖Z\0-M呐|N)??h漞剤z倷uU罔qp@S6鸱]€YI鐮厫廫n#焫湔硿轒a歕$o祥\$狔墥?唕柛~F懆(帬S%栘m振n}?`檪乱搲OM乪喷訾\\蕦mf?扛寶a靄$塆&\$`1M1?u?[M:?\0:w?鋅r針3??唳%倷l	?y鏫r?<俓0耆儴cg?唃h`o?9偯?よa釁&	j銟爊ц0R裓n蹱垈?0??漿Υ?歒?%n)?CR鹫憍郟rFI蒝緢ox锃臃%?n\rg?1?纫h ,M妵)\\?#孹/?镭)r@?2S蜥Y?h??R瓠Q?4??D訿?*錐b??搃擠棅f?[1J38?新闲r=?噕2蝺(x@]?X\0h`L???sbR鍕1???d,崚傱N貹+e劤D钔肅9g`侻喅刃廋揳箺谐n駮j0瘉銜? )M攨臦劸l宍T\r??枭p 缍#?错L節蚅Ia蜶蕐S*霱?囄翏\0滤乗0cК?粣嫜揥宔?r旵毣d\$餃閭\0?卶?乨T蟎0\\宥鎈0 S5懝\\ǖ|?u篵蕄Cd挡?Z苲OY?釙?2扊<〗?橰?D3蒃堵鍠羔<€]J`曉\n\"赋Aa%c\nL?6:?憡g^瞈n?T/?L?刓"溡堬l€/*:b\0看?釛愿:w姹毢?q\r胻甿鄴G蒙??常添欒ngG蝓0 忸閫 寥7嗁?+e2?寁允杮i/Pp朅暍*\$T%桒'?–??竼9Bh??#へR?垐鄆樀@⑽?㈡《鋵H#Cqs鳰?;5)j`t瀍伣?\0僅g?d眄h 罵嗬鎡Y]鐤污%湟@艔.项???盿檮H鑗嗭\$蝄"闝抂_<xK?腗0p貌AZG`瑡騧皱?藑珼I\0]??P=⒙戅攏\nn'W2俣婇卻饬篈倗?傱蓰硐#2?N!Q趐廀铺页¥X偏?棃甓^F)O擪Ni牐 ?訵ㄣc泂W	]蚛"?夤葆銱?#嘐?@?轍EI飿邓?Xnh?揥\$騍鋤RI霅棃?V吁0?3Y\\濏?捼ㄋ?vv?哮嘸+荣騉刢?覒IZ㈣€)Q?羖宓蕁衖!gF?夰}I\$4嚙yv橽\粀丩2炿\ryZQ]滲%^U0L涿莅渗鸷]Lml庯惕?P钭墠-疶E鞣yP?W?T遪\r堨旛0)膓俕!?鬰/硆従5kWM髠D茼_敟~胪t殟?C漝吂焅$;mJn銒?z茿??f幨峴喛疽瀼I)]缯棡懻??變Ξv癏楠n甦僜r@俓n€? ?\0@孺,\r#庖?絣€>颂C臾藊腠脐駧\nP棣溛q繼6q%栚a~q癤歙lk镪?*贴匂h^減<-?轲bWCty缲Z?纍苽皜?H('衟嵪d叅Bj槿6饌.0哣C盶n袔塨龋p?醥^l0n?'阜?把\r?#訄\$t?鑞6[Pt鴦O	Q\n??鹛(餪觝#\n0n钀@鮊&@⑾p倪驕n鸩恪麾堷/橕`h&(v虡釨xc磵崁/B马O?餒瘣瑀绾?bo%v娜EJ鬺眖?閈"zSBh萝檪灴n70d?[匼nT.Mfqh豬艑-刞n?n淖?-默駪樫kmxn?库劓T?邺0娧B躪B?/炻钇\n/W\0鋅n&px8呕 起?緊坮(n?怦袌Q?	?U鍎oD?R& 怞?n何R痩O癓Po譢$o甡J/?Hc??扸湵屻槭齠贘?5#2U#r姕铌魧兄l憞拀	螱	(劓\n嶒S'挄%瞾.钲怺努龂萗\r邑鐔滥忖嚶庫?j#R?首嗩T奍\r怵2o冖h錦"#\r?矬0??篡嚖8騤飋X掮?廲\r)丽?堯?R吏?g^5hG!€\0P裀\n0K郣w蔡?茕H??Jo?53襼釗f濂?儚&m趽8B?+觵*觗璁蘃秧+r?r?硽鍝?驙n#?r{S樳#\n?鉢"硂(?3剥?#挋<O)/英€3糒N9=醒>??!o?捄鉙?s?掴搀\r憂?w%惗q?瘭!砈2羠轨P姹齥?馌瓢燙?D.m?:摾p窼斌抽B?B饙CP腦T;+髗xe7癨r6覘#\nK9T<\"螱p貵?30z圱OC羽Pt姸歉嶒礬n摀*擲=?嬰hUCrTX\\肻n门mD7f-岽翽罸b?甡駝膲夽?沫嘗訊B孕P蕢蟍I袺?H询H?*1x谽mE畁?鬦|?瞲摭?J\riG剛s4颏襈橰渕?妶p弋栀sN翺扳\r見暖;s5*T疎>Puh挀虶钯)?尺W\0敪A?HsC>h?萝3蓺5~庹僅4盬n?ZkmZ欲5oI愛[t焄睊藓垣Z5sI?Pu絔E#V詶%O汒忢Z?^祽]?L?D8Xa~鎳?嚨?/F耄=h	\r膖寗(鸈@袢痋"醪r鯒X擈?\"j?\\U顯薟U蟙Fj踮G补f5?馶\黺e恮e?W_V5b?舙罸??h倍/媐求Y5骯?i3dY歔杗_L7_Hㄚ榕Msm娾肗礬"觪(醯 4g丩膄韒Z??fv護,L枕hu?tET?6餔6鮬枱*7??Wr?v荰QmM魙[sXW=?PhN-?s6鸧箜qU箂斳喌U坲!譔%儿lV钭T彮s鯥t6鏶tr秦?I3?穀9u?权?鹟4慖磓<7?讜hSv褉輟杝c鹨賃鏩底,?R??nVMXwK]\r遭輊丁h棴y愚R缟|v痐鸜撧}pqieT?Fγ0?-誁鍎3蛈tY蘈5襯?!錬鞑遹竆rD!伌fz8*=B谺齜晞務o豊Ph阮5Z*,+饴MaEt##艺\"譢0鳶P2?襛\"M鸤$?z7ve)``?@?`茟榔\r`@d?v鐁wj芢r\r 虛.爩余?瑨鄙l?猏n€?爌:?xI㈦?eE術F鯫楤-群6r駟諴)?B#?豞F9}(坍XKYW閡驔塮?NJM?x*鮊c? 踐	赣峲E\rY45檆IW鴇旭?n鋞#V轘/霔#;枹麬L%vuO贚7輄.	?gX?p@O歡\n?_唹皟拌7*0-羙柆P臘?-?*鳧m8别;YK9?O&??辷齜纂烆頑銐鼷?=x誑ごcdv?9;f`▉P&<#?蕗?b?h拑爈P褤Y???濗pz耚0{?<(剰佊疧?3V Z9捨)U?pUE恭椐n6)?h目Z枞泗&V`犼犣哝酇9v?塖b鯗?U/]昘??\rб泫?娣w﹝j勵?鬅k瘋Y齭o合-鰘礨[柌P胵?`??ZX惱妞Ea朽斛 ?\0t	牃@n`";break;case"bs":$f="D0圽r啈惕e倸L鏢懜?	E?4S6M屁A惵t7镣p坱p@u9?γx?N0殠芕\"d7瀻企dp?櫪貓覮麬怘?a)虆.€RLΩ	?p7翇妫L竂\nFC1犜l7AG憚鬾7倣?U耹導?新b晿e膿汛?4倞τ)?y綀FY鳞\n,浳?A唂 ?-啌堡豦3橬w觸溼H?\r漖?3甔?荩w?螦!揇墫6e鄌7躖>9巶鄎肻$?休iM苝V舤b╭\$ぶ\n%荟嘗I6xi6圽r(1?;埿@7實\0落2薁@Κ鶥┄驞\n鈂\**h3帼!?謧>娒J紟J?◣;.堛籍萰?瞗)|0丅8?眱	彌?\rǜ?&c??p?眡槣íⅡ?*聬0事剘?B②5(?韵G?42c0z\r犺8a衈庴萛\0寣2?藰?乖 饍嵜樢7嵙xD翲?4靈?亁?Am\\z4@峛N9?槪 犾艨辱\$磸T槛1吵鑶燩?!僉?岉8蒧X?u铚7踩*?J赂聠ǎ8鎴溃b:!-籵?\r?\$?E)4??縄B陳?隰鴪2屆??-v:%X?B0?\rc餕儹)3辊?#<p14蚳?#晵骀&+愥>&#猨?雑1? 隱(?慱b,<p)峫?橽$陷&颖蛵X英??#H蜾:'xbS?鶀`豽痿驼媵k??嵉鑼拱?洗丗)A?:虔#蜴j湩z`獫廜*t湧鉢n劁]{疜;婆殘[庢6?MV繿榎$斕硋?7屆2?聗I4L#{[蔦r檬OD帲普c6乗r??厠桢譪n娾嵭\\?^?P9?p?惭臣?b槫#i?\\K仕妒?酆酀?6?ヂ猂2?4	3残??0錛?\0?ú?z詁?5内浭h\"泥煙C痞T?\n试P?H:\0!	5憲z檸IT圡駫?P9~飕9?頫\?e羇G?Sc\0M榕9顬C簕夶@?拡QJ1G)\$?A蜸\niN蠤д	 婇r\r癛T漝R%秦稛魓頨p?使#?腾?Ι壙\"C鬛€€;歚?镓?P?v.?籬﨣优彟染唫??屔澱.K竤%盆?劧晜s#?Pエ軑萷h{?(w迧柲?\詀V??3Ji蚃+?砲h	 .浒;胋^?ň;膗?朗K掦tl??@症湢l!?啯l嗌槲\r2痊???&麸-??)&h擻n\\*r?貺?C┆`煑鰺??襩朆:j資L牉?xS\n圢S礁菺褥u卲?竡H&d?0dZe?i岣3?YV牔M]I(屌f??涅4?\n\n?>SLB\r)罵Z???碫9巒X潆儭谞bB檓膌?聀 \n\"?A\0(4d\r?0鍸巡h#a?€玕0 E	?秘?{戜?曻?P鬷z靄r覼哣[Q閙D燔_k,?嶁w㏕糍1諹?vOpX檛竸峥A?b^y磒蹴亥奨轏ぃ-娃S羉6鍙=?吘\0[汼lXG?	n晜??\"Y?砺\r啮?r周VI6?儱:劽ho&(KIlRQL[j网?U~)禯蔷薺E胝|2蘢*4磫巹繰o&?r4\\O1?NI篕扢t?梾狿<P丮(e鞕b橠乱牙Ie涀;?轀?沥爢i嶜dYL戨{\\H%sY戔哹r槟\r鶖唳芉墯?い?重G繮R^秕粨v\$I墘\n\r釅酢楶犷W罰*?UΚi9X礹毺碰\nf乇珗餈?憯\\冥廽??繳唽?坔Gi璻炔q惠I'`砸商?\0漞Z诞t?勑敫?Nv継瞯飈&窎绳咆刱f'甆):冫E鉰蚢癴薳.屓磃#栁=6H?鞩╲猓助wf?潜w境诨{e镙y?潍?d锝良窪&0?膜罳(w[db縎倅V羂$-棜Lv搁GA膱藳扽?BL0`?箊G?B悆銆\nL	*忾c-gF簒?2ㄗ盱檇]-X剝鎩?t操滯?魐I濥3谾\r嚝?6蟗Z?策薞歕n娷潟?/塋???賲bg?戴?癦縱y藕?茦A&叺,GX)鴇??唰H唭孨湑??L欿^?o3嫣NJ蔎*En?惡饃炌.第@A@d秴谑??6鞗嚦麟?網l尽旤韆趡G薪K酿?鯸\m蒺>叽?k嶜7}O顆_糑?旤~肺s≠1:镗9g瞺贛X輁r啑?衞?翷?0\0趶j??癨no忳/?嵤斟$?絤挚芼蘚"z鶢墚B?PF(o?聖5J?庤們淯FBbBz㎡|礲羂$?f@>儕+@?メxL?鈲F陯ov蓡d \"譩鎔/\nB\nO塣#柝?蕮l凹`μUaL??袂*餋犀嫉%赪?趣\n?叁轩岏?鏫n篽?岤c翀?荦L*?銐祥w?衜鍚陟灃?e\"aQH湘R衎?じ>芢"?1.嗱elB`@Un1畟螾K?駖.衂9详?/?&蕽莑brWb豛r鏵鳲攘q瀏F?懌鍃d腦#橹D\"^r褉??侺悙=怡]bp1N疌宺呸篑%`D1斸]#?E?=\$@^葼脙﹠\"l?眾饑J蛺h採澨譢"倗G\$?酹~E?C~>\$?碎 k?襠6抜#p^C?c??	\r;裸e芊i? ?\0?\rIm(证>\r蓬?斁肨鄏猑?誶ゆ波(ヮ勂lR尀Erb肂\\Cd~詣鵳;\n虬ZN茠?\0gH誶??/圠d|\r€V儾偽^B憇?切a娾P`?x`猏n€?爌渶F<m熠c(?鴝PN彰(鄈 汵足(茼k5y袀?T?m?z0€?脿t蕚1',脘?dV/h?唆3e狊	T?姨濡揬$\0\r阋虹1S琈媆r0?g?d蟎r膙?綻岎鹈N霈p?涭庯2酊s傆甂>撦>遨;S]?孧>壹T>蟡\r噜>僜r)?B?e屝F6_kk;侳\$髗0')Lf苝?癴瘑(挞C&~%€腀傿??\$纻`?遏r狸薥"~且襸犾#?衠蝕-?m&??騚?k蝛蟾oF5I8耄.mt1 闁壤?畘&E猬";break;case"ca":$f="E9?j榾鎒3漀C餚擻\33A丏搃擂s9歀F?€耫5M荂	菮e6茡∴蕆墕匆d?`g僆秇p棝L?Q*朘ぬ5L?溔S,-棃\r迄<?e4?\"繮纀2?膏r\n1e€纫g4泴&繯:竓4圽rC勦 ?M?Xa墰犵+恹类?\\>R?蔐K&螽聉幹?必?3旭茅聀t帩0Y\$l?\"P? ?勫d\$?臍`o9>U惷^y?=湮\n)韓?Oo?姧M|磅?郚癝??}喯t褼ⅲㄢ\n2廫r肻$4嶌挔9獖矑瑣I?4\nb!n覇\n僅帙刓nx?綾狫4层h氖nx聮8?耆K蘊	(鹑??帇?&?婞Z颒得\"?? ?.繮??\n71ご帺槁??p????h蓡Y?h?礿?;C?&僀(3??儉?醲顴吶鷐<&ㄎ籘n?0H^*!?鷮?F?}Σ\0?實涷儎槩&%嶞鈳sD⒚1h殝?F∪#ㄆ:!L厏?l-剼5萛r昖\r6l詺1,[.谣?\n??駂KV孋藀茚臆E哺?崼?>r磣懫?剖TC???广(?盭旖帲-n2?E?\$U覾$#;<0?|瑮盃Rh8拿b;\r镠?\r鳣?(状?籝&ejm澚+艖VㄉKq銟瓻宔霡逻 ??fc#)X謐塋v潤3邝t???e诨?▂EB?l|7\$銥荇??g霼劽砛n\rk^凚垰*氦€P?\"脳笇粷眴[C强蘮x吪n貗蚁B?66H SF窑ㄨ?箱疣(c<X靲?珘舾V6p?蘒??擇 ?鹞0?6関扬惺aJc蹗n蠤!奲悕????n9/H騈75?N??焏7O	溟?L跆n\rd3U^w乗0A?棢囶FJ1&O????侐N/G眗*ELLI歭#	蘗歜?HrE?壕摙檽A%┽?莆枍?	h9噐戢P\$(2彁A4擻n働?Dò睿`Yy%喙I)@堀?檴阷9┾*GT錏T洢X珘筚8??'t濸箋\r购灺`ci:?濧?	A坧4諤{H 婕攩\";`,n0唄rA濖mx,光<?n孌?羷?竼濻K*?E楬e????#e+T? \$躩/W爛R圥?L迄?):?仱?	&j蹵B卙7癨"鎏紦B驕7CT?7恆L櫒x薎c餂埄珦Ol??*\$腬$?騣&B?l	-u6蹋n \$??T劇{A崢+\n}	眲? ?聵T 山??M騱煛JI??妕?呭s??} 扸BaS!劥\r覲啢~O╫#铷1v?\nA?`?摵??丱虴g蓳5?h層?vDV悾j斦p \n\"?k??&Z別{轵袽Y% e	?#瀁8j伭峔"袀圓?'\\鞙鍉?	{OV灙<?xf欎2?硕T?銌硬\0蓩c<P}亍?柈?r旺?錦rn丹ǖ\":鰇妋\"?+\"v瀫溼\$OAX棪陽≌D?M甛\ t鑃邃?+辄L鬪f螥:A`*歏wb?D;x瑐W匞(喯坺bI\\娊&&变權<D羰蛊鮪1	検愑倳i?∞頬d8?€?「?厊?筹  DZ捗	 ,醭?狼-宝琰蜔bU\\€AX驪彈[=怤Q\"#?嚖噤鈨s/#S軡著Sq苋c尵瀭扂奌碶"殏F婤#fr\r蚖Q_偁Aa\"9?靗滾堋喼睳'`3贛p=啓??\rU畝?U伽?昢2F曋(~堼?焚€焻邾5瞧:?曒毪BD??q~5翟L鱀ACn獷騖rz鏧I鵜@殀扸袍?枮证揫渴?#啑?舩m-ll抖+ZjdOg?鰔?\$a攰笿&@?n偎	%急詠禕墪5	Tn嘫&t?恲&寲B祊bM8C滟圛尞VD*}f\"姽bM攭}赎B禢妌2\$?9\"袗鐵睭XJ蒯P妔-Uf?[耯斖c?綉僸箪Σ冽`K?;?ay摷]?J櫻?愀M?癦o媐蒗	L鋤_\\1d魄KT踪\0V??畛[棝%犅>姌r1矅n93摔??\n\n晝双€I岎瑡轰懔?n耟D?娷k嫗壶)罒b蒸甲?羠狸J)蜴k幱t\\排鰎亡&?Jy?n筕衷?糰椃筰傛鼄U豲簁鵺I^k袞漨:烗裒夨戊\rП}桋8?粩贀蹏,証?絫3淄j顚?c|p0@?X蓉oo?寣抃$铎驠?辱T/O根0,悿b\nvOP?@.㈩{CLbn堽++ '胮︺谻噫?\r眔R咝J劺塞須y蘘診$b???%愦?n钒rBb匼$/&v蘌篍埱?鳜€?唥08眱囔掀Z蟦Z\"I\0?+?o惸喬婧铸O赝蚙齈緇?n婌匣 ??豄?劕诡A?;L干#\nr默?璀G埽l#崨雘?'0Mo鯢行鶿"i0(钳爋噦捩Dmb(氚g`1\nr+?j颸r)&聝淐癮N鎪_蕂?#?aP揆:祚HM憯憴吓額抱╟1RMq?q殕1jrQ?Q?未縻鬛G恀>q絓0i?+?胎言銎謵鞓恃?酞.边? Q凣 寶蜀tn?誓8T%qQ?3\$J~愴浃我彜?缾KI\n孂€??r绮鼶^Y&]眀)?.}\"N2掘pⅶ~b/	襈6頱H/?Y2? Mx}瞠1\0P?%篳)餦"\n蔃咹 ?j8L缭蔉钗?鉢n@Zfb醆n磣J&懬湳@?繸講C\\彍琯(湟波烦\0q?M|E?p鐵j?,}无?莉總P缽?=c?冝綄?l窲1z㏑邑BL*\$a瞒 耫狤Z??鋰6兗馛f翵2圱C壓@i蜤?剰*閏d[/u'>铮9?漴獀HQ:銀;/巒愩9泳1Ot烂| ?5?Т??藹z蟛F0腃`哾厁俄;膛駠6oZhn埭喬	唫跗園/H笙L v0&^\r\"bR郈k褐ヨ硈??/C?C 紓靂?餭  9lu:?,╘\t?鷒r?嘐蝇J蝐;ゃq芢r\$6	fJ爞w峊`\$BWd?\0?@?爐\n`?;break;case"cs":$f="O8?c!詞\n媶fa?N2淺r鍯2i6幡Q嘎h90?Hi缄b7渽愧i勷i6葝嗘碅;蛦Y@v2沑r&硑蜨s揓GQ?%9惀e:L?e2髓荶t珸\nFC1犜l7AP枭4T谪途j\nb痙WeH€鑑1M喅态?仛N€⒋e娋臹/J鄠-{翵?p遧P潔藾芤le2b嶇c愯u:F譢r幦b驶孭€?7氞LDn痆?j1F??泖惑厄I61T7r┈賩慒罞3i匁?记揯0騜乥?*,咱?魨GH?蕈A?mX?刓n偊獛NJ醋?2帊 ?尞{ぶ?僠?榢梃<??b墾? P堉幆粇?(p?В揕瘭?J??聝愑奵(魪\r??ㄑ隈專拃9CL?爜B@?嶑sZ?叭爧\r#C綪巑桤姃奥锆?\$N襵痪h造嬒粲@A\0?墝R87閈0???儉?醲颩吤??╘\攲醲?呹锁7M?凧€|?	軋7B鄕?餉\"6(,9碒9歌C{囿M芒?店X(\r阈谝\r完%55匠m喘雈羂rc?占(損5泞奥??v寔\0?縛M駗_?齶遫阪瘢#ㄠ2宍P?B\\啚撋2-?\$纼愃[眀眴^宑E矚?2?賤5,?猫??老?頳3c\\P5寪:t4幰?O23z?4d?D?X?癿<?儦L脪鐠1:/??Q	?V???6峙癗媠q[V銂eL?翮[褪d矔?帀萄耚r3锹?(A?S(€\$-??j\$91b(裣?G嫷?jr湴?q黲#幹;?ZOJ屜???P3k宓∟諂7\r?乼巏楢?N骫殔乗0蹊?嬺5%祊?s`?392汏)疔鎦葪¢z?琍蟚o稠幗呒鰹`v|H%|維`a_K萛r/)骷渣p_媵mO?績L?60鸾Q涟3DEBh/^餶'€€!??乸 xa旐泛塇m0LZ@'勸基&缧1D訤儽?鍽t挾??I姄`偋?Kf扒秸蔢驉V!?濑妰仱(璢説n'钁?刋鯯鷌E噄瞀鴨}Ei鱸鵮耊楺橨,4D甄劸??OH?捧敋昍阤M噓;*T姍T*U偛s彵B府曗綳L?瞏\"姷5?BN鉿s?齬忄?rⅣ?倀炁I+kha}V??A#荺01t鉎?E利菚跎磣wa??'埁?翆?櫤.垹j\r\$椆巬掩G鼝鴦\n)痠垊?辇C	巪鉈vJ€H\n\0個P!ZE?(*\0緺褼僐?*團(g巖挅?匣繮?澕菺.?溠顈设M︳鵻 (!愘??惉驋?L貳<Op爥U9歂壃1N?? 篭n\\K啩噘1陎仩r瓺慫s炄+綯?^?A綷r攇2踢r爣驋困擯醆n<)匞&橂稯Ou?rP霁!漞\$M??珒0i嵩釄?jX蛟h慒?b倛!B?剶摃`赲\蘻#剎?*?C}G*Q硚?逼\$?=霓晵┒A4嚘Pw壄S-dふ撜隞逾h{S?{??藿磭挊S5	棕洴0掳砈-T?犇墿2什鏳磉G詶賾&\$?敭?饓皉d閮?瀊葎鄐2,?铸R褃矻'a??Щ質T邘r苢'E詂f尧K狂?=^迪づ.尶碵l?K?:1Fㄢ伲詠B?)<??2+az^e靅拢??爺:x觇?艅鼌T騕闷w%驛\"髓sr敃捰鴳zq鎿叭笝?蜨祹4駛z\$堛O\"`?爅籵眆L\\謿0Q突内餦n訄脪0g閃k幋璙籏	闹鳳D踚宒m,hsq睧??涴烫氠?勈劀霷狁蹕?覀咮#,=`€ 匑?BH*醺?\n'y\rap%a4螬喫鴝]K?曱?k`fY跄荔馒@k`铷毝?D趈9藛咵姻p=OpNn=②?t	}m绑qx峉釵3讗b壑?宕_7?\$轘?e垳繊阄g虷?4玴??滭2fV3??外磿?鉢\牵D茄讻[m?寙龋?廹_=|?.盟釪J惚7h疩RQ歽07?愹?a貯H帆X'xrEy??OJ漊揥3轵毯蒛+┾颏?釘攚泔ux⊙7 艠峳j藿L旝拚毘埤_笹赻t?J1)H绺鈢Xn孈v7?%辭?烤檣JN洸鹋扖2?J堶座錍頋CpO>稓6焝杞0蔂昼槲?T???z?j??昴钂\\?D杉7堷溅Dd哃謐FedFr镛ZLb7 啶[ ?倓?p(踑Z硇酣抃"pH\r呍	He凩英矈.B??琭a噜\rH+/<a&`@\r独e?0Nn\$钠膦_??緍琋燶rEn?p?巔\0??孷o\0@ρo?P?G6\r猝\rO秹L莻ybp墟镻?`?bt=鶦\n P?鈘Mb<?鳾嶫殡汩媂??速潆趒\r?恵?y?o螤眦猾?韑?眂\rj8憃駑k?蜟N'慄誠0蕙.?颇}呚?€殘tfP&!Z(泺潌F婆貐F?膨ㄢ2^澦?殭?蓶:?G?€苡褱?苔lJLq躤缠衰-i峮q牸媸Z訪綷r,f覾r-馰{疒??+?嘬X瓣蹺疽痛蹓	?\r象%)~?o襖n&2W駽?p-\\\$壄%GK\0{(2p1p?媽穰\$x	b*头拍胐?P<胬C崳慘?\n*KqI?4q,襳藦?R~\r甪c??葢H]Ltt銂.fh?J仟?旁縞B>1??I ?#扽0蠤?殢???2?鹣--C.溥1.馋莿?揓9衭#R[#憈a腎??1?覉5?N-侸砞2O糇-匼"蝢63|譙乗$6亦訠?劔7R?婴KPF瞏#/\0\n?苁?裁#げh摿8螚63架?6摏\$o^\r	猞b?Q*\\Q20﨑?\n毄嚯*?卬?厛34U蚛0鏡?h??AcG@qY@嚷V	b2€#衉嫫匘????绂:鋷?\0阱4E\"?Ns畕B*漒r擴F僇楫wE微籩r€V;聠iШ沞?b坽%↗?d?{瓼1D?獧FF\$垝Df? e\0猏n€?爌%tP?A碵?AmMCb?}N揘O罣蜯M?\n*\"顠徢je鏡齟??1€?睑F O?`?恘/腂僨T穿r\$敏{濒@5&1 ?O\$lL|鹚?#翸鞓板嗉dV5vb?毖V?鼺?i\"s\"芷O粑Ph婺藾u廄u掜谴(€?ヨ^衧Y?pqY鮾ЕX<襎閇?襈5Lg?Y1齖0\$FJA?P\$p微垜|堵卂璆獠`喱'I?侭C1`莉?\"\\o?€?屋\\眯DZO??T密4娬??樏J)L含縔孿$Y暕Z摔J揑1閈n^?茶Nh!莯";break;case"da":$f="E9嘠桃k5橬C餚擻\33AAD畅杠eA醆"├豲0?cI癨\\n&楳pci在 :IM?Js:0?#憯豷孊?S橽nNF挋M?,8匬Y8€0寙cAㄘn8値嗴h(農4櫷&??I7镾	妡l匢蔉S%?o7l51?r皭嬋(?6榥7?糸13??壈@a:0?靄n?篯崡僼湈e搽彐?€蚲:`稷	眦録競禕\r盒洶?累)??佀h\n!帵~莐jv?-3奺,?択\$S鳹Gひ錁)蜰S:On&^飊:#傼'%蝬淝4{堏?#暗皭8?巸碶"5公\$(?Bb灇棱橋?餈钏?-儼軌嶉????電盗聜娶鉺B彮Qxx0?Bz3?兴?榯呫棘\$#j旨8^懵j7 脁?凧 |\$崹骮?佮^0囀?9銧??P隊槪&?\r崹?B矠偪#ㄖ:?咰4埨?專?K?J|	盟B豛"郟?艐X?。 @1T?諹X	cz>?偆?U孁?琣?Ф;\"??崓於幆?SQ P寠襝L惕62昸僽\\\ni痈4?娌3I?霭貞>愯?0垄殰\r?螒BC\$2<N\r?訡`Z9宭曖A叄Z?儅>B{eO?#KE帒約PeH梨劜 P炾聢.h0?h?>关(-陴?骮醻@?WL6n薭燰Y??厁hTual棱绒俌. ?b*趲皃?罵\0驇L儴?荆樛l\"?厜€骞?8碌甘e-\r謄?aJN*屻威创\"?羓苿゛h@纵?昚6銜帗墡+?<\rX蚱??2I[l常??#'卲#虄\$H廫$蓃j?賊n貥?旇74偊 ;n\\.?E只?菩菆?摜*€鍘?,g湪^騯饏??Z瞝?奡J,グ?掙_L釙1な櫽HsMi醇-\"鯎﹕O/泡??L溟暢?陮抪{?怰:診r3-?)Y蓾v苃蠁2b檨\0w&J虒BwRs諔鏒够窎鰃涶K圛铇C梨篐滦3i4栍靉藳mSg??g葔\"n廫$??f羂0P	@??\n((€ヮK??E葥?蘀狎甇爛陠枌K挷?軬嗋辢Ki羼晒W.\\涥;0'廫"7Jo遖*%劯犀?夠?(笇鬚掏?tK韶>e^hOyo\"!灞??\$?t馯G撔夥O f:慕嗉2瀷榗#?=(疣醄Q)wA@'?ˊ懘}柲*\\穓?o6唉'C-)啲融N砷?a??\0躀:?h?sY?剎怓㈡N鈧	€呆??0T\n,對謽F'家I\09\"?笘孒9B?橜节塡n]?'\0? A\n?汼袌B`E╤羅?f嬄偓???栺m;昞\S 翶2Y5\\A盨JJ荵H?哩鰛?鍗豉k93騹j\nb/?漒"j鞹j圦U諣3fphZ絭??7穩鎥巂VU憊?Z??栵h'j<?攖幯?6蹭?鱘r秚?譐?X\n`默艽呸﹚:??沑\r崼KL?\n?嶔1gr?E优oU挍S?N)雙j?\"%e龢Tx了鳮\$?&?J[羂$?LK?Λ?sz僥?更枔~醒?HM舻?峙梊\E溔榒こ 3\r4q?[a殸b;?*@?翤 欞楮欝K2app?qqP詆??÷#噩A\0/*枢??憡?劜诂沵鷍 €'劮?寫棛M嘰"鞞NFb?洆?>(X蠷錦\甀?sc?噯騽h郿蒑?Q窚差L	`?Q彍rV^蟙N0&oxwV ??HW_言V>佧涛iQGT?楌?C,Er袟	\r?^?K譗媼s^?T踜囁9禗璨?麫d牲〈嫪rc啸\$?b螤嗨\n崁賮??痡#斗3馥韏鼌6血5戺	檓胣堕\r?e[-稶@Pm掑烾磅X唉E艨凨姖坋Qj!?敵缽Ua1啷乸Т鱾哌jq?礙+?芑傡皌\0€猟?\0?AJぉ祯琻昰^傥葝?r話玕r稐95ⅶ譌|?v?鄯氊甝旗\0Sgo觕睨撘?よ|s?\0糜\r乫6- ??涻??f{惾辒疼€豸匪茬d熨D剱?r?桌2_-欠禣z餄癞倒﹣尉+丝瞽偾/畧庀[吻猲治苘?U襰霔?涑╣綧)s活?'嬏偶荺"\r?獾r\nY\r庹*\$?欉Lg?*:k舧?/-鏶蕩糅+讃h偩鋀QN鯉悺X鎇礕}^P糪r€T玧赆.碠曢臏\$a?厌z蕶?敷?澰?镮???r\r鳪#疳%郳r厴aQⅧ6虐靔P靃d砬娥f/L!?0?傫矧e#Jo`躙\ぬeB:?/??忺40I腳?:起 bzB鯮啟Xe?@L忇鹡???饉\rp傹)?B???c娜禘嗗袌?凘P>NOE\n肅牗精?徶禤?.廫n絓r泗?pD#?愽苦◣锾>宯EP?佰朽?禱$?皰荭c4列2?€帒衘懧抜\r#徖豨怃?T比斜鍢貺?骝袜?P?e~?芿④1c\0?菂P埇蜗眫钛傦+\0c騖r€V\rc腬rl?J啀?ˊ?64肸?茊C<?0爛猏n€?<?JF%\\\$鞝蘃鷃lV芴倓*JL?仁蔒騋0糅cYcB|蜙銁足??7郱b1爑(C圝\"肞?浃頏蔖Q?#媣a噽9€??鲗4(萃? +*瘓衏蕇?&?m0瑦敽雝E抌遴??)'_(O?騗(.3(抙輇b2+ ?螣嵲;氇V猞婁#&*氜l*F蜫.&馄-.Nnj餿\$+,'@炝竑颡-YB噩奨禞乩朗涒z@駏&?襺IZ炿俺T腶)?##?\n?詵堻A?\r@";break;case"de":$f="S4泴?擛s4樛S慄%绦pQ 運n6L哠p€靜帒'C)f2歕r唖)?a?吚勷i6楳?dd阞?\$RCI滀肹0羽cI惕 溔S:杫7?a旙t\$衪檲C埲f4崋銇?豦?夌*,t\n%蒑衎膃6[鍬?斅r繗d嗋Qfa?7嬙猲9霸嘋褨g/蚜? )aRA`€阭+G;鎻=DY须:χ嶲贴翶\n哻\n|j?]洳C悅嚹饬\\?,?:鬨r侉U;Iz萪緂#噸7%_,鋋鋋#嘰\鐒温1J*帲n?.2:ê羡8?P:帋灄\r	f-;ㄣL:;L(荥363 0铲絙新?j^鐮p?\0<e ?	?8?CX#專x?.?&B憡F?C?爟颂6籬`旄腝\"?#樻;嶃愰摄t?蒫x蝷丼?L?陲1佮滦竎0z+銧?嘇x^;?r46?`]2屷z9IZ???	#h喾蕊坸?驙9?8?燾犧???\$姢逸幊59C犱:罚)3??+C窣?NH警斫朢Yx2帹b?巌?\n??銡亪C蔋劮E詵綁襂g?膷P帉8 績xZ\$蕁?\n詢G )锽湻瞝窤b?駺?z4?X?(螒?蹟:?eJ*?d@RX?鯉嵧蜕g尨ㄙf%椶/夆?A|孠z1蔔輋墂激2\r鵹j掅瞲?1s\\ゝ@甋悳趘呾c疼睂镜┤缘rU:8L蔼鯃F?8O]犂h?I磌劌!?矾?V 鯈曮董 鑌n7屆0貴?崍?-7C驳缼C0迺崈}b&M?Z+l賊"?愡旑桦@杽\n爜墾鴥\r雀袨 )蓉=\"=訝萭U謚?a7嵼焜鋡訟辸?囜r?峷?LF艅j鑌r迴f!奲悓爋4莵r\"Q_+?.P#&P?H?V?l鯺B圠s畖?C麿K玞檯CD斦C?€唒@C\"?a戎?@B( OI?у4?>j箰.EF㎜鶌f藬2舶?,'臓7諶{?嗧?H旳5<寥$戚^)N7qD繢瑷?豩O@?\n≡J婹∩G?\"F寓杁*eM?@G畴堦樞\"?j>U仈郑7坬儜9dE<塥擆B?U>.饶睳dN≒	@?Zヌ漏W*犧!WLV?z劋,輪4*H坕hE?I圱懭a荘儾@??叼LV绣廨H鄝1?D匢衧&e錐俓0?帒?國?淣溬[2摉?⊿寜渵挭VNy襲'aD茠濭脭'tO鞇箎Z痺ˉ?朗@圬tU5鷨?`Cy?勎Qx匢d/嫯???0a?抧簟>( 砊^N崛F嬊U\n,眡_脪.彍???`h)€檯r8?4嶸4?zRWM[#奥-miO4E?磖TV奞μ僇樵L聙O\naP扳t\$镕\r???涰X乨#攔扲羂0o?n?X赈w?攖@偒'T瘛薓ュaShYH\r虊?k\\U怢Zb瓲?仭y膄蜑m[6?YG姧洯?a?D0闻鈈0乩赽?乗0U\n 匑媢?E	??#U肻nGG棪D纝誗fIl?疳/賖H &漪??鞃l給辿7冣|賙jp???粘Yp鎼;?7\"0A`p┇腻t)?kP伋榎$怙岅bsg檪p襙?S_&鵶;J捜U8:T辘?	?g裼漦慡熔b?P? ?€B\r?7醙沴McJEqA瑵?bW诠%佪]辳鄚牐cm╊?餉僷y3&钩:@甯w`?*???才:\0?淩豘鑌n\n?逕??\nb?K泂虓?a嘯嫞.!SP捗疄2-V'?柖抌l滀?胀d?m峒??9讦?榣?4K?&弧P ??孫6f灬言.C?Ⅶ,敄鷪?蠸inz畵旤yb~]n櫯谸鱝欰腱1nZS噳a閹A兄畹阜恓緎?頙糀纺=2;飤?辜岋w蝒NB:覥l歫J劥?腑?苄來?锫w襢z徝?轉腲診"8ey\\=舐鵙a|?)n A孄43???澤x5塵擟H_?\n^H鴻癧問媿VF意\$T\\)&密鹌RMP憘肻r茒髽罍皝h垩q菢唆S?y綽俣纻磶箞萞Kp*壄q€)c\rn蟎r吋K\\+xD巒恤?9苌a醇速犁'蟚b\r鑣xe騖\缦磑P鄿矿n攚ld珣F癋_谹aA覌6梶9借V黊揬\?Y奷'拶Ra!\\m筯]K=^??匛阹鷺 2?涀z癛S:>@瀦3裤SN#?径%#怛?﨩^??%\0O椟ˊ?\ng?v飪V3?\0lK?/Uo&?河弥\nMxBⅦ4?p邍庨??N(&@峽颭Ax釔Z?6?b鈎抟期孤0?h'o^€?耈	#蝦箰娪?0ㄙb&`#\r 0\0??犤\nB:#鉦廪9M 鐰)r #Zx?LC灆?噘\r0?\0@黗養b查k|盽@O??ч\r岸<獍慭$!?M4宴Nh嘰0IM&爷屑鉈迎>1厫?Z?盺0魩猋0忽qu孡?娭褀	?@?慳眃&q?Qm\0惥1甮*8鮩眽阓\$?6@敘鋽跨顕%np冴rmw颫褜&pm雁1c戦┧\n筬,縗rY罓臷n.?癰???抃n\r祛?^彁#eP\nC\"`謈飥麉虝廷#€?à駊*K2Bf眞Qz3嗨%2Go?襛 e璡$?R&?p&駡K?ry&?(瞯豫?l玄鐺)C?P摇%p3)鈯砸孻颢\"dlPR崅)瓓K遥R?ずA蛳?R?挱?L\"戇穴謀n嘁@妳吻襖r饰U筒,\r??曪?済Zeо澥谓\$围;G?&?聎.B\0哤镭`杝r4a鋐00餭bx?\$壞B'(BP鶸\0猏n€?爌4玕$B序0m?畬镹U1p|A皎#硳o? 瞌骲:痩\$砗闬"T苊?5,fL0?漀蔄螁??璪J價6]<玷玈e#啼%\$V離=`?On菳蹽吏^d垱Cㄖ峫媳F#疊#à.?|<&怽$€R劘M\r嫣!G~BmA?#犞\r噜B?咸)Do?\"?\0萨?A喲9隲"锯qEh0P??v聵#碆=?鱋x/l6(滩)m#`馡KIP?Grn饧胏3鋽\n灭.TpQ將БtJ塘 ?0CS\rD拀d桞CIB厏\r?`窣?,矂0e廋??i碞?q\$DZ:e>i'H鞡X謧84捑B? ";break;case"el":$f="蜫硶祠=蝂??r蜏縢?{=;	E?0€鎈ng%!彖侳瘨3?逄檌敩`挑d扡綍I叓9e'匒左='噵nH|檟蜼胑怘56螥T袘:?h围蟝;B?\\EPTD\r慸?g2㎝F2A賄2i膦q+枆Nd*S:檇橻h髭惨G%堉适..YJ?#!樞j6?2?h\n琎Q34d?Y_?忑\\Rk蒧畾U琜\n暽OW誼??X?+榎\璯穿+禰J孓y烍\"娸魝Eb搘1uXK;r沂鄅浽辳3奃6%湲咃`擩禙((zl堞&s衣?磿?畨/%篈?[?7皝淸はJX毽	媚懏K诤懜m電?iBdABpT20???殕?q\\?)敘*@I猹繺$肖窇??蝦笝霞巊fy?.J尞?夽PE垻WKC珔??飻?雩J猏"絓0*産?Д要?\n氈??胤1?\"孴H聯JD啽ゝy%?)2憹捰:營.才P瀃?to&K一紭%o<婴(e瓙▅掇綃噤\$?=*駚淨又卙Ч6K>獅槀狅扭毈oi溬詖睝M:?众D怽\??d?畞z怹刯R??淣+槟閈rぷ睨拎?\r愂3??儉?醲飶吤??p?脁?呫(輺?\9?~^0A饞6?`?迕爔?餈?\0?\r?@:\r醆0?尅\0?墐Nd卟K憊?蟎"\\懕猪饡L赉隉竞?{l?:怰Q9F蚄鉄@[r-耿瘻+弧p?苛稚:矰申缤F|查\n??d?>槊髾<郃蟜H糊LRZ瘽N	?5;\"疷*貑Up?达m瓿痋$hr灗?2兒H?@Q鯖(L孷?稊瞈\mJ汅lBp)l禁\$潽▉ギ?鍇萞?SB驮婃rmSc`p籎D??\"擼J?;-爂&嘃E懜/*T?梿JEb?嬱€G音鸚	剛甊漶燼2B〢惑跊珒~L g/\"B儌@N紣R巸V瞄o?k焔铛蟶>B?旰蜉??P=奏YQ,[逍鐬钎NV嬌j\"E?D{p骖%娼夒e,?}\0爤椾O/D佱f緘^恖伻?#狟見?馹燆,??`罨c鍭d宲吳\0瑩?鬨",IJOG訕?傁7y?U(厾[賿-€会??D6!?`磷憁!?#X€K螕ぅZ:⑺(枆:%2樧J摤迗2r利K\"?d?\"裔?閤?,?瞐檲祖1?,╤蠻燏揱▅!???d1.Хt鋲\[歶4軭*艗D?\$霈脷?牗n\ra?fT詸爊鄝 ?J慑纁f绦22p@脴?b屶9?|癮巈〈S\n%?l嘥箷湂e苗J?.%険-&?Ⅳ6y?1O?\$艖v)鼢\0	2?嫼剤%鏝?b琞尡?敲?ヌ檾2藱?\r萄?鷛犼JEi佞?H~?FwQ?V恃?RDШ5\"l儭)W⑩騷皅\n彳+'f蜨胻?y?V0鸇W慭r1瘺.牣#嗎▽?瞩/J<╝u\r?\0?C`ltmT82zL?N!櫃\"<Cc√9哷雝僠o鞏?犘宇A-\06%MCuC!?楽fmeQ&搫峚?颌梇t)曩'?爤U篭")9?眑W攒裀?(?@P\0犃柶x\nC圙*鴷枔竈X8?A\r?k栨Z{Q?噆?C8ei亮?JHi n\r嵝_灰?\\ ヾ暤鶢墘%k场劬G?L(?Gp?w\n焅n塹Z	寱⒐1焿b岊鞺W訠璟?w??2璙E?嶝鶉_	%?倎拞縀????Q4*&歊朩篳PhM4沉g龋鶙Q?Q-|?炖欅胄潙聄錺@xS\n懠Nx*貟^x禝??bI泍龡飺S hd\"Q?茥T栒b?Q剚?2(瀐?欴窬(婨?Hd:酋e堿C刌牚怈偊\"獔鐀>?嗵\n椱i@&贫唿XZ高斐﹍︹A趷?醁穴L?`慭"a?&)娂Nぱ湷杦I_弐#葐uHX\"eS屼?y鍍9r/x誠"滾?)稣\$?諾E蹚蕬躗QVViP醈?钎?荬氁L3p野?d?撮}}︷?舎?€檲攃?~邊诱隒HD?啝?饃竁V坸^等.资媋?DWi逪v驕烺?|琋2s赴s^雎~陫疪?B^恠巹?Q4瓡聝??.鯠%葿讏1倧5)€ug癨rZ媡軁腬"(*旕?箿v?丽z^i4gf\$+?S攮?羌^#2蠂r.L恮深あTP?u鑋B錷x{<嗆?^蜡皡骅嘋陣坔?a\$峘V埦燡(鑌0pn文?皯埪(?剽dH^?}kE?{鋁跣@!hX??Pbw(氎婮紊t槔a悁ZD淺"┬坾鶿"邶仠??鉼\$恞?~哵ㄤ曙*屓?L]\r楾? ╘n€?`?\0?\r+粕$斏€?犩葊鋐@?エK-阼?,凾W0N|D郂#&溊愦2gC??哘脡	><嚑蓬 7侺?4湁?帽B榪(GB(瀒?K?.e?Z?a?;L?PN駟?3受J兝RlR薠4?m薣???E*裦鈂ntQ╘$qr聭v袶?@焘??bs裲ⅰQ?憐岈	IjT男V/.kH^	?q?巎DF??犴鄬昙昞$r匥b?N?-\"傞 掏M22瓅僯列X崋蘙鏟F1?倖槑鹞羂$?估?H閵啼覛?[RH2MR5痋\@kt們,T,l瑏?q⒗rR2!嚻>ン(\$s鋱炷AG爥?,址廣B烃媞l8Kd鬨"騐戮K?U?q浏)妻艅y驕馼?\$Xriy%`(?-2?颤!0#顦憥/#??餦r匼0c?2??撱y2戎?^?\"kB?C@+30E?1?岃5=/畣\\?4'\$f-?y@IL?P堕紋n怓\0?@?0缲Vpy4?眍矒??烚D?顋??p6?鮍枧b?	?c\"?5/?>u蘊XP蘴迓?F,-@S;铺[.d矧]0;1*帊?0?7??.O馥?0翯?A%@撡冺=?/鄰Q93o/sT}擣囧?荔iCNAEh?夥4F4R儾m??`?犀憪皲!L藂P\$o[B?1#b!F镠K_H憅1?敀?礇/倃I?E抯玭,岹c?3擰3鬠MMR?HM驣4臕GT镕t?炎Mdn鈱鬺t-FAFO(荙&鑌$犫?妙V?吣?\"殯TD懄Dd夽t\$蚙埻A>b?蒘駷卟?褳|?翼B鏣褧9M刾当?埼瞅誑鮘n仨iξ③O荘糗U5矴?z坣>k?:0j/0oW.倐2漕&鴐?C敞痹3Gt€靻种2頙碶rNsmJu蚛0/B碸烎1>頫$U_脨F鱛F錚B味h= FJ音馮wa惔7oO?]?B6b?*J跶U?ubhs:??A-B麞dㄒ\$諿dR€麏?飧风秠┓\"蟅P頊初袟H@5Rp艐x?骪\椽*疮a蹼bUHn崗]Tsd霪J揺kN%E沤6DWk疹u攓蝇\$?圴E?e+iet\n]腨-砞鏊B鯸n髴巣躲oh薿碻翏駉弉EだrMc#z味蜰?uU<nd施@\"鏒?D4%sI湉?o鋈堈]毒.暩擏L\"W<扯镺鲅c终cHv霫闆6Wgq烛??穩9?鮎n砡^斿j诊y俫r?xv?7Ym7j哣踷﹃H?uW媦g|Q0輁$贰D鳐w瓆D5763?P觺\"c}w?{齰鑡mw?rZ?圥?作r?aWNlmybM??銄譋?L叚=w?砄€Ay呄?)z?d追c收\$i髜鱪\$に玘??D郖鰷`O槢t?秦V2?t?4焅$r%qbU聶堁賶WLq俭骻壡睸陘?L荄*姇]?x姟Q?掀橰4?q?SK??(盨嶑墡2椠q?/?Q@O`啇`?`芢r€?`譂砮?杊O斗?則<泵?斚'2RUZ8/釪G?璵Wx\n牗繸?憤 C&哜2t2??73\"|?哹v0リ袰臖\\D1豰餻殓3X@S業:╘\Z?Ryイ彶諌亹软隡v尚訅緰?N涾硿\$L.\"孢?]m樮??.€x闬$L?烓畈梑Mr喑飲YH?!渵悵K?%?彰Q2Ie樼忞#!	虶洒<?欼?2繻鉙r2?3?J%YO])躺{y噭鷁h攬=9?簊煢,5t\rzZ嘠鶮ㄉdo倆牕紙Xi?峔0ZM╀<G3僞5?貍%g?\r/if萟?@q\n2)Wd閐?髜閟値:袃?缀?0脜M汄釨彤禘?q]忩?2藵x?Q繮2繈洄 矏JELH9?-?鶿0Az?鳾抾韔zK0潠s牱庯?妠UX馶r??敲w?vZ7\0%b?樤^'?嗒傆挡蘬錦$N阽S乺";break;case"es":$f="耞慛gF凘s2櫸?x?%绦pQ8?2溎y桃b6D搇p鋞0湥?てh4潔忄QY(6榅k苟\nx扙虙)t耬?Nd)n坮椞b骅箹?2?\0膁3\rF胵冷n4洝U@Q间i3贚&拳V畉2泟?勭4&浱啌1で)L?N\"-晦D藢M鏠犅v慤#v蟊g屴忡S亹脁教#W?袔u旊嶡鍾 <?f髊矣笗pr僸愡间n?3t\"O繌B?浝(礄姒?藇I翛?ⅸ?P?冫p癅u剗推@6/虃痍?#R?姪8猬4?爢0╫?*\r(?“獵湇\$蒣??**a桟h仕丅0蕳繋蟹 P勼D聯斵疨?F[墣侾9丩桫棵鼞?蛅梊$\nq[J?olJ鐖n\$?▍'坎僞巵B`薷嵨億?n(?1▁r`?凜@?榯呫?B僯?吽p??€?N ^)A饞挙1S??|)AT:Fc#U槪\"?牠7 暨?溢I(炀洳猫?!q?涟?T覡v3?望i壝ㄊGL瑎鐘镴械I-T1+?q\"馶$K?滦?K打P饭釮?睏?0幉Z|P肝\"瘶?乗0旃谡??铆?嵢?疟褒桠0c襛杝k滄Dj'嶱?c蛄粌,因怀R?貢SRnx?鋂\$蹔崏嘎恊,<踷?j/W	€P踎Nm?橶禘Lo蹋3?=)崿鯃lc~岉C+謥n)趟t虥?\n\r#L劺睧6揯楱衤1h薸ip\0'lS6鯸"Iㄧ浩?a嵺4?)??3	Ez?屼y,.7Ш媰婦歕"29屫[5?涰 8#??UQCv2?楻歕n儀稚b槫#:儾\n?羛@+Z胒枺sJ邖堧Lー谭\r竄S??K昺\n?搱@0臝@Io@?嘀F焬*??闰QY鯪\$xゎgS襹)@?2s^xU?p劝熱鯠'虣,鳪镶\$8H\0?w數蓺I/培??霉nUEX8??O,%>'錦0爺\"?闬"ò洌C拸R%YJ1?\?悈Q猆N猆Y9zd崋?VNX膳&?1\"2教隟4恬?0F圔昪&`*倛柏?鏄朑R6娻J*UA?C?皺恠w轸ι?A眅!?(巜Is3<?竈_划	菂?谬?癱?€燗脅?膆燫R!0a處啒剮#?︰?黫蜵-列?\0@Uis}!苠D袋雀y鋅\1肈?渖-'9艈JhxfF?鼹訬1畒鼟KbDa?陯辽EP:鲝?厙艀/bD俓0PI\"a渫熣w7脅\r!4赝?蹾?伓臯2J旳挐?壗岮4\n<)匞諮)9#萈嫎盯P掾:勧杳"pN夃 _虢毾?=??赡聬ゆ裏*?|??J|亪?I?€#IQ?	\$癫??W^摳岼痄~褹聾???BT\n?\$厾?孧?A<)+.]Chb1嵽??E璡r?罖攼UNCI?,?疣葠2H1FP?Kg?W洱詓杀?f戆晰~檔??\$?錈Pe<?>?B?量弓?&?x浲豂	f穣?鐘H\n贤票?J郪Er慕爑X焅"_{B﹄読^?奴椪娯惂s?闬r鼽0宑1q!九涸?i~;沥=3e?Y藁H技C莚孋tmg鸫健B?萂5璁T玦瞚C(wJ蚮B????e抩?K?苑殑诼i9?粁?t拱柙\"!|溡?穎4昄枷Q\r谽\r?慞膏蚇駍Wh??芜d?4S@qS@Dl嬔?┪?HT\n?!剙@躃y﹖4倯?9I?啢^繳聊D?畝^V證?两sd蹲f猘uR陒?O侗p號唋YQp	K]犿L魽:踑雿嫳轩41妤\r痸剎[釢?UT??鵞??稫c裮捄7ay菽kxlFД愚淖8T婥L榦頫n紾喍緓ha睄邍輕鎔?{遵虒熴瑫藂??敩屼X0\"餝~yRo劌奉bH脾7f墥犵?%Uu%箥剬?{緖?湹揃賡eV項-釉?Wk袣鯀订]???襑孿rs心*檊濑討?鱎訸+渶轌j?葸7訂M蔊窨玥?+祫溍^{葇[梚#黑J|揊萫息\$寭敶颐V笒D3??呢r?繮鶼?6兓]W#s?U?}抉阀詂\nォ動揶㎝荥%轺抄?,?=茌8晒?州糗?鶏焏&擻0NM匏誾髼m'巇雯隗蓊飙u?清?焄?棕汤C?忯3釪凐隣疙?啺??触郂#?锣2C俧?B啂Ⅳ:勤T?j怫翥?p.鑼?G?疈|\$Iq?薈€DO闬"漪Em魰,!?H蠷'\n貈\0蹷O鯮dV^.諮(钏F蝴僾蚲哊Y,咹衆n恁㈨靾讖t菌蠍褔Yp??Iohr型鹡輁r鹬潖0竚嘌?瘀Ij2-pE⒁^國1\"X荜蠫銅?Em\0?斝m\ro盶$0e0\rjt?'q*頞核喰w&.驫L7朕蠶E微F,睈鷩盇C?呬?镦?锹%T?zA新礓??彎%?p?n|择?M鯞颫陀p??e?1?焓檸hK紘1彝褓盎掏c?懪#耥\nf9\n燗屝鋅$0nE?銥唁┨D壯.?し(r	黒r,`\"鋍弼餋蝄$?7e??浈tG~候N‰8?]\$IbP.?駾坔???f症VnM#Rz龗\\d€\r€V潱?霥Qz>,??G?€宱錖?懬奬n牗繸?c-Bh谽待BH楻-N甛"踈"?	?茦uk痉柂脓\n ?,,籒\$騠?D?萌fDD/,鑞?鈘泅N	H瓛\\MJ詊隩5鋱\r?<&?へFa們0o屁孿"S剘9?6lB#H\n 頟a覾n滑T韺€!傯?揻??N蕳错F??] ?I??抹愵	p8%楬鋖?屑玕n/S俉?b絊潭s衝颮蓢,囁p??1?-d虚`闿雑惁?s*c釰!劀7dt皖?.v\r雸狣緊o<??褗稬?耲/K错咟:咮█	\0?@?爐\n`?;break;case"et":$f="K0溎骯斎 5歁艭)皛\n媶fa?F0歁啈\ry9?&!ほ\n2?II賳祿cf眕(歛5滄3#tね崪围S懼%9惁眻詐?倸N嘢\$訶\nFC1犜l7AGH駹襖n7湇&xT屫\n*LP趞?ㄔ瓿j惵\n)歂fS櫼?嗤f\\U}:潳揜杉?4N覔q綰j;F對| €闉:?荌I彝?牫R溗7吤戆榓絘?槺秵t撫p?A邭?#<瀧诵泴啖]?a饺	桌P?M袕.蚴t糉L熬鲮AHバ7湴M`实Iè埃H闰(L3|?堭?Bp?孠R們;?噜專硿??卵丅?嶡P瑮嶤X@'畲峚H#專x隈婻?@0爞吳镪揬r銂O妏7?h逻\r?昔Rj?寬JF?儂貖癓%8-悻兦鑚嶘??z\r犺8a衈庺(\\??\\磳醷鏕\r`軡\r鉷^)饞6?,~7佮^0囅?得z觿\n2R)?#X殜?x芁+?嗒M鸤nj殘硥~蒤$??\n翲?荲*ㄟ?j9_幎\n喌R 孢?愒2丅糦,籋癑兛獝u?h璩娤ǜ#瑞囝G喳\rB?V?伉(J#?丅\$?幐8@蒤r儹阮睭徽`覕?\"*TH'帀?蒤rRT?Ln1l蕒?€P????歍4峜Z尭4q?b#cL?è破0圸(:hS?W嶄3?kR-o崓粁煩i/?q1Ik濡娙6蛥nL眒(??蒊?5糃ha挮]]觟X鋻丅*s舚洯Zk氝碉?!0庱鑈?铂糥攳?虓З3ヅ 剡.k娖5m&:宑9屫婑3!C榅?]嚷3?ZS??楻赲r饦?猘\0?夿7?=/ZW巴&&磵紱v4謳f檟擩:Z嵣隲n賿r1iUよ?\0倶I@rx釐J摙?u3	?)€?侌dR痲?%Hm鴌IЛJ叮Fz姡銃??A?ぴ洏TJ?sF?P??蠩;AD鰺S鷣Pj;▁OC拫:?KC錦$??SJqO5Bㄕ)H8?4*g炢€H?7禣U 10墢p?L裓$ jx鐭歉U?!峺翽頕歈s崱蔦0嘰$~A?f5怈?讆餤Plx嚠C氥L蔋╝G鄝1?I2d診"?瀆張i>a愶?+iЪ褢肗玻?\n (Kf}L*3)\\5*Od#V屾|4?\ni#? R湮?e&兗Bq5枖鹎s?d輁0=瞲K_懢!崹9\"\"<AL1z坓灦?[?'??L?\$?n慪g'迨x,Zd哾蝴`:墏根蔍4`鑱|啇殔\0?聽-s臂бz溶゜S路b蔴阺)墥醍跺?T抹4\0Z`諬t2?砈&Q緽a?+\0橽0\r?€#I姰#Z渆熏鳴d}CИ奅慕醞rp(懃<3灧\0Q裠尌j栶?乗0U\n 匑娙靄0D?\"豥\\綄篩\$熨J\$€Z?扠m?ejL盛?GD闈RQh???暡艪?繘釂謵W^豯/爬?涆}&﹣禓阓ebVt锾hL堛榦玼?2t溞PK瑬?\$偈?嶂y9誰秀Sc「*g巄掖皹s6べh/iH0	散豝\n琙€瘖?眕.KY?艄&r渮r貍菵8w_汆\nod樈墟?繿啅r\\]A?e韫[3?[翴岪-??C	屎!皺?鰺g*}m猪o,z?g?^l剜?袌8(H%\$u慖VM?匑?B8G5AxN漙k璶?[???籪Z,<G扖嘑a+P??笀q蒥c貢潵匼n?!剙AD辶鰁'SR鈲a{j倫??a	A4/0?p^5( -V颩橼↘呱??6掽?f狝A贮棸棑憪p2T↓94??G?C>d飵蚖O\r搑秄蜽宠頼@?9餕≤??GmY!\$d晳ndJg箘D郯擻\|@H垛Q?y氼j袛?邰抝\0P磝/K<C?n鉩屸?乓1綽读?S2n2唰?釞E絬凓*r?`:傹筃插?湲8?v舅/弉-q?智炩奕?8?桡E?0W?閇)塈?蛑?h]剹}Rqi艒-7鏱t鵝塼8*b??帀f?.銁效p*]悱?^);C嚑溉漅烧?[咊ncp邜傶辫?垁蠮2:	輘A愤?gC?镂???B嗺衍;冮簾矣襷魱?s#?縮袷熴濛+o芋珯?€Ss拖怩[眚~_啮=0爵齷穻I儆釽虾t謿垆}W?凂捣%惜泄6蹺痋$V赆p螴=勨齙淙鞉??o>f闬0?\$?燴DbtO?@b◢.腬0喩p{dF`?[??垁x?怽":帨iH?H瞿#娝Ft?nA秬AMr痧V2P,'P0-G洱O丨馕0\$??D[?^枚VFe歒郣嚅?﨧?%榊拧\n?鬕溑悾癌/m\nr厫瀙蘘\0?聄忁?怡0?蔃痧陖?x蟎"耙唴孿"膀U橡G?骇(q @P蠈黒n?b瓵!j庛?-IQ8滏8刉裓"mLx0屼鹠?惱[k肝???透鸔f鶴n鯫灊qx 躢庢糉??﹂?憣刱?)QY?y圅0癇_`擻$?盿q緈1	\"k泵铹N犉葒l濬w盻N{盐犟刴?B蝦Qm6膳鍲Q?? 鏛?厉惼纉D薒?oi褤\"?eu\rr*?h核炻蘭E\0?\$?}痤酌贘雃\"??か%阎?p:\r??蒨\0?&R屗q癏嫣峨r諔?0?oF橰??斥?q堟?譢n胞*衅	n琝r砒骪rz?竘锷*迓\\d拽鉢$N?N?\"鄦H ?`?e瓺?)j?C鄳G瀄n牗繸z\r?\$4&?-\"Jg培誰D?碽劥'▃?甤blU@?莉柪尬€???0h?c2鳿$\"!'\\\r梏兢稹R藓侶j藕佗>;pn嶅萛n厁Z虪4芢"?+廻r? \r?怊+塦y唒?b隲"6R|?蕩閝B7<顛>?n?CJ3#6^#膭€郶bN匿\r?\$FY\r2dn??錼o?牗阜納嬛oEr.朝疋9C鎲Vz誃啿`ぷlXtRdt\n\$澎,鋷&PBd罇R ?睽q<J偟豘偀old薧??吂L?m!2?蠧|1f2H閍&婙p?\0?@?爐\n`?;break;case"fa":$f="貰??聶矄6P韰沘T跢6韯?J.檮0Se豐臎aQ\n挭\$6訫a+X?(A矂劇?萾韃.?昜\"S稌-匼\嶫?)Cfh!(i?o	D6崨\n緎RX抹\0Sm`蹣瑳k6谘兜m瓫kv卺豆6?糃!Z酫?dJ蓨癤瑧+<NCiW荙籑b\"蠢捻*?5o#檇靨\\%乑A酎?棸g+瓍?m眂??僛棢P鮲r佹s愽\rU湍s辰/谊H磖柭??楴茡q?GXU?)6\r嚍*珤>n?a ?IYd剹萩C1萚f饬陝U6?P湺H*|?j诋\$+T涩蒢U9KIh?皊儾i	r)MrTX?3,住蓚vW<*?	41\"葓0外L??杘?澞鑂@沂慳\n窑l減í,hゲ铼b派?缉4紟?騔翸戂鶦砇晁<?\"K犚豿0?@?屃鐳4儬?嘇x^;襾p?\r痐?脁?呫(軵?9?}F(a饞6?`?訡爔??V儬?寔\0??ㄦ2?槩&\r53?G?-??C6N釰啢,(私頩?Hn??外J瓶?罃I埘18%z|\n??=?8?U8蓙藦訂,+襖"V砰it番I??蓕m+婭m聀狶泪IZU嚶?嚤?\$D#╕c饱::€???=彬??鱧螆昄\nwD1c铗胡RW襜巏7[剾?探d賚\nT悥Z#.狱炻\$?河馆襶n欠w灢淃ko?膁;?9?峪绨圽n郦z荏2s??维L:w翫穎?+紓P㈱?吪p閱Qh謇P?\r崈d挃J楚??捣嶬训S鋶50d虑?騍縨?DF(X鶤&?_{q?J?塠{\\?宿z撼鷑狝z禧i?i镑1巪y?V餝慶閈$/璴>讛聵R?7喌D?!鎕P!袗郳\熖浫O┌唻抎诪SD/P?\"J磶(琝$ō??@a\r连9俓0抬??爛 ﹨4乣 j㏕E6匬?V0D僜"?!褈玼rV衎+D?荨\$m梳?op??\";??鐿蘚n} /鹉€	翵N嫜留艉?%3盇B(eb嶳\nIJu-價汼獇P?施U:︰j祽?	1嬍橄:蹙?*Z剠@燯窽轘\"IN]?t\n鯦宐!?,箁f汮?NfbC厫C\\U@€;啇?\0bY罬灭洵a蕵9瓣?ea?Y?xg=換f唴?@s*?(x?⑧a\r坲?eGㄝ湢6綬尾魗&?碯€H\n?似?炰?\0牎倶VXM]伅鮘$騹誘櫄+鯸n\0?僆隫A??唰儰=\r0?痂(?趱gω6nR廍试涮r燅I)e4?詔礗橸A?H鴴濨3怭~6?,ǎ檆€C紶扚內o爛2晝Qj:荺r?_T0@∶坲漊3 ?b\$槈犏?啾缃?啚U僜$?朝L玶?#rd\${L蔣犜茲R\rCe?渇<Z輕|視菙惨I衏?錻嫹滹\nM奀x詤枴+f囀?YA2論e閈"?%4闈?`〧沱;\"l\\訤?RG$5>?BX\\怃+?4撲琯f-歲P鳣PO	纮*匼0?B燛?\"P?pKGL+m?j槬襡L(? 軂籀B9娙w>y襂Z鑿虙R腓黒nv翲Nt鹗H+蚛\?,r鵖キ恱^?r躲漹8z喰μz a沷喦佘-<抮擼.?'&髺S翃?3疮vk萛"GI+?lyW揋!⒏擧恥nYl%*瑤悢?o阄5壒6?}彻CmRヌ_?鯸0^?d线?袠蜁!zD?神.裲0惕Y#?d痗剢又粳7?碑蚝撗猀E砖嚎璷pu螘:?棾?巅3鴶?W媫H??峔$?舡q侪襟轞杶龅@脊~?(臎頉贠涄.vi又8qhf\n?!剙AbT豬漊!C?9儏?wu3st鶔aa讛?^[ 	$l€瘠q腍-??霤H?艸虵r讬償?嘰"L咸曭KmJ騉巺價&欩p淝銢3鏄p殀?梠l耚$鍷蜠l篭r掟趑}HsY跇鐩i~屐M騖$C?k夋忽c糓l聢蜚L驻爝?G_?綰腾痦层玕\捣畇磏遉NDZ?%Уú寈5y濶?M?T嚒?(@°瓃裿淟熶NS猨?膠廐襇?藶??J晃筧e﹠b迴鉟!4d?\"X噜?0h4魑d?虱	<沰伐?g鋣j櫱M櫯~罙歧明萯K祴?啷?偭\0(媚?醆"酄;懱?箃?j熟巨d劐n磗處u?莎b8#衆0?鼚z?唒蚃?N魀,p(8薨Io鉁鯊淌aj)J>?輐?鍶%l???郝嫸j?珡P)判^[i畻g,%pt鬽爌,D.?mたCRn崟坢\nK騆og? 俆2猫娥NDおak顦俓"D鋅n鶑?/`鉿?磂M廢??璅G碒脕\r,,伅[嘃?飷爢秦酾?4薺?&1嶀?騇挹1/\n??v?忼N?れp盭Zムt@橡?馟(D?vp榖鸽儓儲疙.?輦qM}憹?&?乇牰\"漯鋘马桷Q)#?蟝K駇糃?藗x?a?蔦rB癓頠-彬?禼1蓖?o??2j?g 0&亽 ?fX矍??蕀瑎脒鸢騌:萛n?入To褾垴'騐4C?F孫Q65眍疯€&铉鋒4N拸xF瘵!歃起潲蝡??/&dd?寎!t秹Z>鎈r焯I餻1缗#rDF^M啨)挠\\r?鉤€/>?嶾$0掍?x漪?獿?|顁h崗z??@?k,\r 芢rd皮 鳯翼眫md6\n牗繸?廷鐜:?迬恦?nF1?蟷#2愂?哱r=q烍c騘颃?\\@斖睷賙?B)P%\n?/皤\$2x?0??隲\?>裞.Nk辱V h?斞蓈鞷2(詈樗脐?眬駜jL鎟Mb蝃鏝蹂輁rd叹呢傰-k>孷麕?JE?3漭I岠?幸s纥r5AAT8?7鏮??P侄?-瞗5d@36O恩D撖i搔\r~\"Mrl㎞6孊s?‵亭?G\rυ!T(?刳眬iNù?HM\r玫'aR2e?s?拹@aR睡騶m釵?JLZl?勲|稹?颁J鎼HbⅨ&4?l嗲g?€";break;case"fi":$f="O6N喅x€靉9L#餚擻\33`ⅰなd7溛嗴€蔵??H榘肻$:GNa厥l4沞?p(:湇&钄瞏t:DH碽4o侫旀B毰b駱躹?K?厐膁3\rF胵冷t<歕rL5 *Xk:??d焓nd摡瓣j0虸Aa\r';e搀 滽璲I㎞w}揋?鳿r,襨2漢赜@譬(v氓矄a緷p1I踯輬*mM踧za伹M窩^耺攀v喨?緲c氥瀯鍑凃?餚慒?复?K?u哆B撜???8[&0毝荢Y蠏侏J26ェ屶蕝c沠&畁(银嵪撐舻#&?揉觼Bp隀P悹医#泘,?!'mJt???B8??儶:%饜敹O?棈琾爾%蓚瘀絆\\.槏)瞂0罬??l0苠<?`2燩悥6I噜<巆薥\5?D:粙?#?屃鐳4(€?醲顲吷;愵Ap?醶颕\0?)亁D?翲? )斁?|讶?寠\n:骸\0?盧j+%?b?t(??v2丩D帊薫??氎c%-{b腬n祩?G繮畡\r韶螇劦jR;燤伦軐@-(<肞巯TJ ?-p猫瞲枘燫\0乂@?乁聗陙B4?◥悅3岓叵~\r0斚b0厅鄸9Bc蛴?\n苕尐:5*奜藀2开\$杂?槰慣P厣b	jB\n?賊r峯L?謆`Z俕窣聝?K樭1??J@?蚌*qh岗??q.kZ嫱??w{妼&弰③渰煻蛳碖蜳?<蠲冡v ?`H瑗屆4?叒\"M秙\0:虂鷮?H迎?j檋專傌ㄔ柩Z/螭禱r觿錉?jt?K`Y博?済oAs褄??d,W>瀟Z??滳撜磆?增3??c蟧6=}趽?甲02鳭m[獯^;c?b粹4?b槫乲*%(?郂c?`€6/矦鷻跾.湓*佬骒烔oY?挗冽橤梗?? !慐?v蔭a?'€@灀鈤)缊僴虄:脑\$氦続H8n	}?g紭??o?\$皭?ANM瓡c6gK供\$\$? ╘r\r÷}O?A║訪,.?G?&T﹚S筂)苙?<BT缳@uP?@??郂氂hvYG鶿"Db6PS?+屢,銟[ !崍摾?N` Oす(HBH?裛?P?違s碰鹞}%8t\r\r?襠{gm?2j^燼?F鞽牃i掎CG?俓0?侘欸忐托PS両?ア炰€匨2	擻0(!簚?虍戞FTP?C倧垬艂\"馍餺鋆[縲騭\$c媰琉2拨	↘.媵粨?驁蜉\r?努詧k兩?G徭窗A謰#姞殑?鉅d	G罾?盚砫z餕?[Bㄤ?e酏S陘?5y蝹扏xS\n€礮RaH]まnω?飘奫-/8v?覝?pf\r!湝?幹屘\$?睱??-%葦R⊿\0F\n丂??{W0剱塓狱P(?%ぜ槖騍CK汓E委rs?	?P?T琝n?@?-睯?蠶贒昍Y譍(緝%@_VL\\?胪Q?.?噱X)▌L?皶葯?閙丶買y+@\r癍鸣5@NJ?\\?抑隱d-掽6摂	誂2Ⅰ?俙劏1紬%0旸逌堻蜟玧C?M??躧?JN蓝a溳抪w'矝趽h?dP]b0斤鈖->髿\0賨⒋Xs鏔窘?矕a嶹聭e^迋Hngs晎礰@N驒?f&车?2骎柜堄ZM?蹪\r\$赲\瞥燾炌悶悝荔\$峈NA腝蛻3|楡R~\$?扸?A刀2;R塴藇??\0qG拈鯸"匃A彅?9\$\0蒀C斉Yx]6\"獳x 锗倊.e[?pKM劶<燝S70o?\\?y鳱辠赫汒bl?O\r&沝鱴覯鮇Q鏉忝nMW>?纪卯胋n5PrnS硖C->&湈鲜絏r半???jw捈?N;I6蔚94?yhV杼7鹁L褥+叡e/)?:?C芭勸N,摣艊肻$適?讚倐l撕粲j楎uK?W妾?蝚?f9;l?櫐睼y?榨?Pea徕.z*趑}#?躝籘﹗\n蘩'[軎湄撖妺y6Rh釟.褤??鞘yo繱?Dl漚們?^??PCz榎$试0%0近K铟 ?%攔萫2}悲?1#M:鹪m!v@餚喪\n?(v鉼埸GlE餒?ㄞ钎b)+?N	?_&粰A龇桚9劢??拴鞿]?a???/;亘散﹞茿琐漙u倭揵mi代L衉O?\n?遑撸j縧蚳袹M]熶c?O?e⒈阝.?谋\0/酊.瑾L簉N 尷}廕4F"?'遗鶦/FwGyo\0]??瞄'?2?@D晏wc釻n|s翿醆0躻c?E?囮\"?L緈钤k艓豌蒷殞P勭L樕-?k怡0橽n弨鶱阯鞆\nl溞缆?煨痋n0?弽	飸\r\0滦鏷??k晗\rG孂\r鹎%饋\"`樷?\"jl0耹.|缏Xv?齨?pp?M	GC\n?碱P?泞梘bb)?肾#\".'v讶Fa?类?V嶫滏#OD^@\\R??鵟n1z\rq~纏?若?胅\r怽r脖?犚1屑:鲍猏n憊\$楪镆]邂\$?l?7?煸蝐?P?E(O\0g?姤o傤&??B Q?\0侲CiBi苣cU/盶"\r\"B扰\0蹦D褻]愍L噫\0?/篔牃M羖7mr<犡1畔qU.Q⒅裄繡黒$?*2仮榢E\$;?'F豋融慰|}埁?旫E腫o*)鐶@?cnPJ(瓘, ]?兾遤}峽€猏n圽0\0Z8eX疌fL汣潺2p?T(2螂幵兼f?睛?耹0%?C妅乻8妙'd5衆n?鷠傱5僜\きbJ{l喱?\$驞/,\\€趥d_蘠g禚?u仑p陥揃?Cl襼i5?梧qk ?瘸~/脈Q,町葃)4猗坱Fi9l@7螒	L缆}*蘘B犧飉堆j謋oR\"o>湷詅?啴罳\"?沪1\0?猏$E?硪s?,R糵zLN?扻-恒\\#im蛂猞2i?咃!ch孰⑿?PED??;break;case"fr":$f="肊?i剞u9?fS懶耰7\n\0?%搪?抦8蝕3I堌e鏅?I?cI屝i?丏??i6L崷陌?2@鎠Y?:JeS橽ntL擬&觾悅??Ps眴Le?C埲f4崋銇?靑テ?B嶾n 滾gSt?g?M鍯L?7豭摉??Y3櫾?:N娦xI窷a;OB亞'剻,f摛&Bu疀L?狌豝骪rf撐垿飙翮?筭!uz7泿?'岉鰖\\萎盍懮錵??n耋M<氲??緦疖3粻P崗?+*€摰c?+N?\nJ? L堃臁*娾饥闺@!?	哤0ㄨ?嶾nT?c\n?Bp?孡?\"F蒀?A,?!/肔|\nL嗍0帬P幧莑毮?o?帄c藶a昞r?)Lq苾渻1J姃?脴?敌?鞃虤繟?雌Ρ??#慝T仓!?\n鞱a鈠42?z\r\r噜9嘇x^;?p?\r▊r?醲?UP臯?!xD?萨鄵久爔?餈?\r?脓脁@?槩&6?傸僠斚?g玆\$\"灳?柢NlS?盃@;@7i'?O瑑(?2cc'\\丅嘎9\r葊螏劊 @7宧??\n荩??O淿鸟輗嚾翲?砮MrJA0瘸偤22o?1蓿.A爱垖戽p鉢0003悖=鳿nY暣??X惀?哱\丅犱?YaS嶾r餃喳贂*澔0R2薟0肃)宑37銹rP6]瓺鐮洇T?P樈6炶誳撹禽W\"b瀸Sj\r由S=鸨d9ψ该悌?巖各/碶r??L迮寲?帄z飡<鱗%?"?Gm蘋W+\n焠@WM;q渢鯸"S:S扥倎L选︻r	s^?┬埳?n茿楂崤?*?^殶?诹b紤?薝z8u?%;T:罆(nm栏脆搦觷閨o别>麾S?f??撣d漱\0亩N偁o\rj?0????T倞?「?d\"VIpm3蘟g6*A扨 -5嗋諦C1.X鋹俓0偐0r~O剴捄?猋Y?D滺nPG齗t?僁a?'т檺[?蟄惃u諻`?5)A?逈堿璡$d牉?厍N琗婹qL嘐6TpS?RjV\n?玆@綐颢 A?HR迟M隲0000揊舟蒁36RF订Dh怢q5g祉殬nBS攊C悂\"2??t残9D愪n?璿膒?睩岏1\r弭烫?O?j7D(蕯旫Q脵蔝萯E?七^	梊\萗丧BB€H\nP8;ガAT\"啒瘶梨HW閳b瘔櫮諨kq@??|喱d7噋?	覅幨\$饳?A釉}H鹗?圞╩}鬄JL渹2B?K榗.猫gW\$?&0夜蚛$4妞杖\"絓rxy2d(莘?較筊(勀?ㄛ?j5麥V餶]撧uE((穰	箧竦!c獡EK`@骗?鴅T崓k!\$怲嘷	?k錖亓稨鳬0L蠍爃狪珐?[嗸F鎸?\$E,瓝羰乗0F\n撿???揋vだふ?溆*E'AP敪d销`Ie剢6?桌O	纮*匼0?B燛W(@?-裗?伥膎?l&渡蕘PoZ?;ㄠ'嘰nJ滴n嗶A俓"?烒¬珈楰鉤JK/?忐.r淟IC?棹'GN涖脾鹦凩VK?)萜象睺R礢3初嘩賸ff?腋?`濄弚?a蘚$朡-€緭X螒諲盂抃\4?)6庵\0:W鋅$粨診$冂矉操->(iD?淺$!莌2RQ拪暥M暢⑵澋芅!晐L傆H|1D?羻芵*^}%x罓9倲?q!,1顏?W厤荪列魡?N訕V@9赋??\0S慫E(坕t苝萙'\$M億f氭刚N叨犗p摑虱?嬥A鮇k|潔p?\"1欜佧?j?久?\\*b:0腍vL\\|`芩綳?5#}L燗a#.澲濺椯(EG华>r儜?羧馐?`@?o?+`H3⒃?j脁lo?'jC?a?7渎x#縗r?,8??荺n3F8?谈?ZonR岗鉢r+Z悩-T奴┚8-┻\"t聎籿鋅\搰嶱gx?€?剅曄%?C旚%腮牖k+6_蝾?~赱-@&瞆Cl靌聜櫳xv??栛_?nQ繤D5囟??]\n釘1u~I!M咱恰v?贛?!浫铇4z还炌拫慔鐷KE?`圾ta\n徿惹鯱杲=腬"耎d矢'躜?{!S蓕_?韁\是垧??砀杤A耱声?tф<濓?1愀_鎿/盩蒯擔堦?簻?L湏雓P詸v?暼?`牼无z&?r6夘??'三廆移气\"h3園F*%`苡?b臓,k胮舷鳃uf霈J鷤x努粕飄唂-?僻?o狏徛0a埪0io?+8t'=O~腗\0鎏L彠)倗蟻飌'bQ	?鎗x0	鷁OZ'┺;g犪?忸?播 鹇T袪?瓣(苠??9*鈠誳h斋?\n[彜鈵?〡€振悙k\rq!Qq\nP?C?腪q`嬖剱N襧藥劌X&鞙`???€@.j影3f\"胵F/蔎:?gV3FZ=-h熺R?8|dJ:凮om`????騤\rN?@%||O猐鸦1?/h媗M0D桶ww裉'ot-?\r1莅Ko]崷髈{?O?妖!?F;\nmK幺炳>耜芌,2r1\"餽??奬$NE/Ja肻"穃"篸!DvV飂?r	2麅4俨me2k饛?頡*t垝cjK廥[lv;謇??fq)r7*c豟挔H?x?mz[?似7(O?Oo*w,?壢黂?c?草!o?蚰2豊rb9.MhNp?鋍-已	p??-?11厚	/嵆\"?1&ぶmze0?皈S.讔j+氨.?B璿謲}4Q/(?)?3驪H0?@??RiS`?>_蔉d\n鄢5褴鷕Bm窶sU'蠀S凢1揦@?p堎刦0い竆r杊\"刴?,x帒_c6n飌郘v lz`qQ(f@駬?)?c??咲!天3鑧f鴴9衻閒@兇皊恹1?藇,@?k孿r,?qy釶盡?驖!bs\n垚飈?qN?睽環1c8╇榎n€?爌琊义蜍禕\r???錑?鏷?淢陃?h]彫詰簃2杊&嘟?D唦鈊@℉T?CX8p?\n虲fP7vE),`貁琟莽W\$弼vE瘙鏳j\"_碑?:3鋖┿鄂]聰民,C瞡琌DT桺t猣だ巌QUG?€鸬u\$?酖蟻8馶rS1Qu(Bpび鋩愣T?>?Zc??h&?Uf迡?5'徳	喓絝V)PyM鮴終&0\$永姞滕<螈插靯滤耎B\0孈豄?靴菼妑?P,`芩芒纅嗬CK\n7皍躼阺\\?a蓉衧,疊%葃7?\"?c阖|?G鬨r?;break;case"gl":$f="E9?j淌g:湇沭P擻\33AAD銀窣肨?髾つl2圽r&刭辱a9\r?1てh2歛B郠<A'6榅kY?x懯虙l綾\n?NF覫幸d暺1\0旀B歁ǔ	敩?h,蠤\nFC1犜l7AF#偤\n7湇4u?e7B\r苾?b7榝凷%6P\n\$洜祝?胅E嶧S櫾?∕\"慶5z;d鋔Q?樜嘯─?袄p? 耚n#?橚	藝)傾`鏨晣'7T8N6釨i蒖拱hGcK泪z&餛\n騬菗;嶚T鐝(^e?啡肷:囵?潉鹨睠I哬睯ㄦ塺袱*?瑝爢0╩4陠枍蕒Z崓塠铌\r/ 溙\r猂8僜nN皠B蜻圢翾丅愂B朗7?犱a暛?`P?4┨敟5*?鱀?唺菴\n:緧?磹獛?抒p寿>\nRs3jP@1⒊;@??型屃鐳4儬?嘇x^;衼t(脨\\紝醷G??:妳??	)\"A嵜爔??H1惾浤NH?組*h)尒\0?墨闟1Eb趲:??禜K~&嶌j娷5-?bX蓅p?葮搡??1丅篞?HKS孋薐坩乱?肛:崼?T疦\$胗热宭蓁晫#?*t?\n双鋻猚(?<晠eZ\"瑇岦謵\$#;63聭X匊宭z*?衘j?z?彤嵁2丅d垿;鈈*?u:牄琕纼Y繮 €d32W8SC,譬穕;yHwU墍P?2€V8瓴禶觕"縿閾摨l\r肉:尣p喭谆^谶?抯?嶭?Eb働誂馷2掁?衤1鹸薵橥0L鋻\"Z缁7?Z缝?宴忟?(?(L?愇h#tY梗鸽Z韏┭柳癤慡陡隆\$*??\r郒壺\r=梱\0l?q依澾iN鼷'剷鴹/彸]鉿租b槫#w儾6C羛@\"嵾Q[?赨\rrJ歏3/#k<嵜y4u?焤BaH1b杉?唓\0Wy刓r连翿}蟈 !慏枞镃%)?鬠?>*臾>≒?X@嘪顖羊切?趐抟觽傺禲M9豓伮\$2?毛顒壿?煍侾佪CA冒R擷rQ?灘%j粌Z蟗猏"zF;*聘?4趫JIK<L細?]j?抨孼躬1丘?Ba\rM挼苷盘HC丣側?蘨NB繫√9哻<g;L俹#蟴)M鎙々讱:??H?L廦??Y|?鑀	@倖?\0(*坤軟娄??#膩	T?C:▔&twI3?:CP貓C?BR欣+@聞&?€?肏妟\"8l殗a鮘n豑%菶楻紛R???H囉QMC?S烯)_悤e^餕€5&臉LStRX璦,笗A\n潄rd棤阇(氼E疍(穰I9v,韻5#8麘設6镙矚豬H質5氭nH嘽鯤]-!燚\r\0??鏌?Q婅 j崚J,N夃 ~F#I榰韫&`蕴??擪黍0佖覨P鋉RHx\r釢?骬l奞?	聎㈠j\nX?!*P?HZ!Jh勷?≒?*[@I癇	酘)Z籟k?E	?谮),?淽嫼憧@燡A!L艣斝陱xp]??晡虢YkM7傯]/尋E薪濦婝A弆M槿?攜討奾w漓2vaq騖n?欂偠旺+呉?coo?Ⅱ?Tl?r@扝s`?Vb???═績鼆1)*?ff?仂Wx?#犔f賏?N什?,諟\r杧娳\0ㄣRHT?P?坍h汍?le[玪n?蹙??)9?苒!C~矪飍?a堄屽鉟?媻茱(?{f,€潈融v`0(P嬗?嬍UB??g浕?緭=	I槅?┶j弚?汼??齩堝#lAc?╥?[;\0繲\n枌\$鋇?(?次?	<?r)?#<I萰?鄟rm\"喂InK讪'%畳*gL?	?f鐆禱rQ癮i犪傕檞/,[愋惟鍪Z喕痾藯@aN:jH|谉龛J	㈠??qp{搤E\$蒈+o鹕嫺蚓齺?'\r撂╆f嗐|^d9[(朕罀{顿9Q]怉搪?絀哀(9X?怶+l?欌??摖梴瀦	K膁!问敨Ξ曖菮e噀\"皭?z`m埢u唖謟沤尊jj琜k??8v绻?42&M\"weu?縴{稖枤oLOsX瓅桜_a糆鷔^:?|h?戲?]?*罳@4桧掻Ba\n唗鷅腎I%t洧槺d搒Ze鰟怪癋\r?翢)W鹢?Z?齇]鑒庶?沍傠]?\"芪.竐皋g哩?V渰d聊?鬝魈/崧dry ̄蔸p曱龣肫w_?頍}?|尿C6喸?蟨3?BC'#*p~叚靫軰蜉钶0&F惋泮撔2KCo轒?\$+/癨n?C?匼"别\0研h?\\cD\r铯??-FV収€悅,2g鬞?Wbn鶉v(i?臉,饉筄悗心`v球O2\r伸?	P?盤f?lE?/膼?^J,瓋译緛悅Xo(癰Y\"O?7O赮馑锢手蟒???'N?\r}?^Mj盕2/x<巰u?脏俬鋩@愪謹盒吸肻0迖?鄠鳥,2魠?憛q?铊7'\r{ocb哶qHqj>b弞qCqQy呧勃剪&>?韖\"书陏睂耨襪憸縌?1?q?qC便I炷P9\"V)?瘝\n2?劕植? ?h樣b?? I痋"?\"瘾\0R'\"?\r駹\0堄RG係\$?\"?\n嗂^1Lv?\0I鬪?癞?銴 蔾'?	?\0日?岂x2>瑢?O?€捺\"?肂踧?僙偮??BO?迨x勂\$浜yqm,n餩嶘c?T钹_pG-?BD刓r€Vg?i歬&啶v1腂Ab)\0灼貧N銮'F禱0?繸溸\"D瀣?餎3)?扭\"?C)禱$'4?87S)Eb6#癐3p\颛赜?*?弪DT戰蠅\$3\r?孋p`	鹆絮8闷t陚7?3鈧G#8釂vidiC褥値鴮\0逷?埮孇鹈?)rJ噜@AC<?<臁;油5ir籠"?岮=瘖??尃FKC蔰p潦s?鍒笏氍L/驛B',墍?I癨r榇#鎌鑌r篕问1箴嗣n2爞K屰眀!B?褼2掣&C<k?E鼛阔?F?cV?\$?-?#~\"唜㈢x:B綷r?;break;case"he":$f="譐5襖rt鑲譛@ ?篴畷kデ唷(竑f罰簤疁儶犘<=?R翑\rt踋S€F襌d渵瀔蒚-t薧q 仸`?z乗0?nI&擜?yZV\r%炏S牎`(`1苾Q败p9崻'摌茆K?cu4?DQ铬?毀K*島\r巫u桰?? MH銝﹟鯍淏js尲?5栤.??-嵥髰uF妰D 3墌G=瑩`1:礔?磌悫?\\?増N5呼匠?饾捤艚(F絊凅Rsx?!;鑆㏎┩A?鲋`栘庘!ЫF鐀	?碱竆n予?簛?|棧模Bx幢+佼頙?⒅章陕B蓏?爮#︼?KZv淎蛕v癜o3 (K殕1p磖?甋5殪l絿?@4C(?凜@?榯呫即# ?嵜(?\r銗?專t?揌?嶓PD?贠噥x?*HB\r'e@)奬"`??z灀?祼{氜譬3婛瞙;稖!塡\b椨狱啌&t?泶j\"6鐰\$??繮?嶤t?(瑞!02<咋眿??b€獕>?t4嘓算p跥媆\N騐?H氼?暏瞈"zt[q巩丼ゴk^酚	娩O农?€畚櫙2?#坮t喺h闘怽\壾捳	;H??!)&`庇\\??dk茐\\mK玪N<潵眰7\".6P棕L2騀iS籵瓂-X耽?鐚b謫趝\"h?[\r?妐氁鼓\")?d琛敇9僣灔n騘呴;dNu祁覘朄瀎赊知衔\$\\?ij_?撿#革?褡H2kxB垡m?hb妞Z宯俹琂@K3燩犐z H?~睷\"@灩睂m`螽悒?al??桚北7?\$蓃l?巃電>萛$?吶?倸?p?7??;R?撆?_榷h:v嘡巺Jw抎?JRき,KC脊/L?MP?M觿錆?1\n\0k?師欎dJ9n洈M9踴嵏殫#赙哿?yF*&躃N?'d絲@?A\0aa?\0?C`l???m0哾陧儤ua???儸2\r伡3?\\∶@ 悳寙tM墻?轎1蕡罄S\\DdPA@\$\0@\n\nX)4?k疈啘S+V馠7俓0?僅v??酶鼨C爏噢!L1\r徂?v??td櫲掤f蠙墅`蜠??教I53瘎?癨\x翂;k!樊?H奩唝?穯鰙\\尡;E?桧L揱`魱?蹾	軣5娂?h鎸`? ?優B{Y纯s?匼0?陇?剶?塷塘k&? d︺?rn:B\0e藫!&=樯庐脳)渷*F釲@牟B8齠讟?J'>嘊M覰俌+??惵<鋊鉶櫛?襲癦豠畒婞?^?慾'?-3簽+kG臋@?坄M=&堃T嚊D愙莏?S2n滢d瀄$衂獧&以≦\"5櫐顷??*痴譢$??'類N`??5莲鍦ah塀扲?訉峑5朴謢lR俷脼略G塠g劦?R哯襓Dl鎿锥?f?瞈"諷/?爑U皺?躩矽丠侶嵸鬮T蒣噅?P7媭圬y=チ?a&荖峛眹拵鏤 m)栭TT6侷櫵+\"超3伊I\0榒潯E殑\$釐x触捳释?u氍谋3篐?T\n?!剟?庅i'?!?o閗x?聜餈E蒌G恫1?侱A?@運\.犇r陛揚L'箖'\r 噽c牸%Su8e‐"aL2ep昗榎$?cV@]1酹E≧蔦"痣W(?灏鞖G\n1!犱2勓v{亍鬌?x傅?蓴er<?=&n礹炧?Z皗丨藶G?A(舙GE忭0,鞛d}E>婥?罵猉G4a\r=s真荢翏	儵06鸑K鳤ㄘr思崷﹋C圵=22V7AD磱Q-?薚灜s?@PDA??>+@?鞀貖2酯Th?毳0@n=耼T)頃TZ09冔KI`燪hP?4?瞈n経??隂矼蹽/恶誱9?B綴??a╫纖軷e杳y\rNG8[xn?祊Ξv鲰u#d?grL?;6銑kc?婎?儀金軾艪h\r_F?#%蘹I?粵謣&穃n1?l媃焷??fn鍵犍s暯湽[#戄i= =kp?墼髺鍇'{庾?孀43\\#璝?|?;;硯徾軷軮闊?J2?\r筳??焳狍鄷#x?氳澾牟&杯奡??T蘚\襞嶽欗叕I甲猑c衟%Fr?埕凜[?面|9鮑W?]茅w磵祹)涍??蚛\~鴔?平??坑觧CY艤隴?<T墡xik鏐襉礩俎胞Ea?卋峺9阶??饇j3\\?輑菃d豌鶀焅\忒\$ /舒Cu\0EH铬&\\T従R徥?垃?2 -k率O飿鈴ɑ?[屶R嚿#杫?鮞:鏒*;?刅6?S衊@aジ??噴?x蔱??#?TJ?m瑈幃'f5耑:磁(D`鲢?悐斺咒\np\$蜹`?#g.=璋€鋯@VHM奝0D??6腇6萛"ZE?熠閘?&辮`@犺繸瞷i黰f埮晏爪?-\\%g鰉螅谔e|x?癲a饲肻$Di榦QL\$HK?┺薥n|Cb<1\0=O楡?Z軅h0?\$莆]??湪m\\^暾杘@搎坕睂鮾害&,`買6*薂:@m肗?c:/Kh?闿I糾?q物韏鬨nz?l璂檠苊'B7??KV臙萭?^J?圧?A靣?氁?9lr镴弑搌馺 f?DxX睔^B?蝄$規g焅"f?B";break;case"hu":$f="B4瀻嗴榾膃7專餚擻\33\r?	剔d8NF0Q8蕀|€蘣6kiL ?0?袰T\\n 膶'僉MBl4羏j琈Rr2?X)\no9⊥D?眴?OF揬\蹳\nFC1犜l7AL5?鎈n?L敁Lt襫1羍J懊7)灒F??\n!aOL5咽韝倹LT?肰漒r?DAq2Q嵡櫣d辵'c-L?8?cI?厫胛?!喅!4Pd&闁nM凧?嗀粫p?W>do6N涜√耚n骢篭"a珆與1?]芪\n*J蜺n\\t?;?1?6?O圄'?`AJ杺峜J?2??)閽h6⒉燬暤弜寯5O膻a杋zTV??h\"\"?@駦##:?瑁d穳9f=7繮?おKd飰?稖7膴+q{95宼F6D??	IC\rJ\r籀P尸BP珟?\"嵂?=A\0鋳FA鈈4)0z\r犺8a衈庺H\\0??\r銗??狆瑣脴?嵙xD?翲?6虛??}H袐?\\謯b寶鉅?;cbK儛?k?*?攭杋 嫣/n筻?檊Z刖a揅RB0\0痌嵪r?寛2h:7E寓]梩?€P灻W脜?E?&蕦闼鷪#?6肥鋅\┠[闬"???\0?崈ㄊ	m?Z P?嵜X??Zp3岅@?⒏忏g境8錡?漒"1&*@芄鄈z驎峫 ?峵姮P薨鵰?#?X踍??;n(@9宑?V蛥w? S\$3磒v凿滩敤醃?矈烩毌刓"QE疤跴鲻樏JE^棚屜*朦(6Mh3?ㄚ7錟酘痾Z轡"?輞i瘚?pp?iQ?娣垈T醆0T;c饟?%,sL訵mh??涖邡妰{_?u?:宑\n9屫?7驍萖悗C蔪3?窤骫胘飪?︽,*?聞?蓘臾硛`?藏\"?∪槅暾O榓shQ苀k?*湔2R劋U挌\r翜B儞?jqM0?雪O? |Is	刯vH肻n?(d2啢|鶗6?9y衘亣?鎏脴wR+??襌\$?駡犜*嘠!軪聈殨嫪aM)??谣90馯斉Zf晛'F髷?瀬葿《?RC(k!A?>绠γr\n!湽s睼峝%b%甋寍?a襆\0頼P腛愥橦??C4VoQ隕嚦)沔曟h?蛹d乗0c?\$4眬鍹聁w/0a"@搕?}€欝柰提?n]?5€H\nQ蛃琝n\nb\nd|泟58B頥&馁汼n篯t ?7驍?饂.O霹粊R龑皀&	E蘃瞯OO鹴+Fu1?\r7姾肌`乨4騊篬Y?F:?M翴&?Drk奣骻鏫0?€馄儥J寥捖X?逃?j鷜勇\n淲&1i(LB€O\naR墰郆x秇$9藅觌V]!)+侊眣??&\n皟燆?w??%H詄sA?+P楲櫊€#I重桰=?橳BA<衣?A\$股蔦$兀i2a鋬毭??AY頫0宕?J叡?6箋/€?\n榚5?硵h珺HjA閧N蔢鉢r壧蔚鐴c並d滫\0牁腦ro%\$P;嗩[邠簟鏹堈咒歕n	OJ.,酭p?樈陁住1鈤?&緉1聠Wt幚y?\0牞??l╝???\r ヾ奬\S\n\\窐棓k0鉢"G霎觿Vik[蘘??2歧玻}坸薐插v?b-t5H栥]?<鴯L襽`桰?≤幀拻?瓫g駐H錦"?晖€+D飫e\"澷圕撉伩e穡g\r綗碶$盲@揉B〔e刪鴊)9髆型頫$\$3|襗['?Tj鍊PR`胚刌鎕兯qdH? B?顂埡.\$ 匑?BH\"泧僋?,?杫\\桶k?\0钀v苹亂_]腦9.沼?骭R7ZH?磝匝?镶?埸W?{R頥T.7_Y}hr邳賢Kf竚?6慘Tmr拝6夼圹pl杇砛n疚5[D0??霰屋驜ia=蠊棥?Zbˊ?M蹀?莄4o伵N鱔灎潇霉o萛\?媋v蝃*掙rs琺樀}晞′畺C憹\\A?;3蕣)寢?c窏5n?甫?红?蕺妲WI)#:>p>G(?S鉲Oム裛?\$產?'|?吙lIXl5圱?+j枃s耛郴t芻y?/kVoc?份*痔察泇?榀霧踘(:c?O藯 f8 楃桯僡扽E*悳?蕚%D?0?w+:渇?\$霑鄆给.辿焪nm葆糍T 飼鋳?钹熰摱嘊NS????砝((?:湜?舋絥柯?鴶e鐀堉郕	O駉5?綝曺O醃?朰Y蘎\n7瑐嗳O黲忚騩鷓o?忴8?\r0?-晭???ㄠ\r卩M?0\"|谱罿?咩?-稗;`?D攮载P06P4倢谐?蚿\0姘j@\r墻n??恞\0:噤?犥\0茡繞 €鬫'0??闬n/C0)(6?戉謠鈉	CnI(?昂磒纚闫OlgT犑J0╰钰@`??kjal?罗蘌蜀⒗餁uN幎阿俄2螷騛丷YP\$*蝰,叫,?P寕厬▎揩勱閙!,匎T潜/o??B&?#馻?駍qLuG	b???6	霸lc\$?h+\\鵆:B俄e?QXB悲?Bsj%鍰囷婐Z@奬r垖0?駕fJ黢倁q}D|;棒X+?G\n薚H償N銝%颙*靂R'T<?姒t⊕\"愹O)!???=!螒\"?n確廻?倘C鉢$R!`翩睳?憧%?\$\r8|务柴天#Qb癔'h_L?騳#屷(S澶硠w靭韐↘?Er*\r(D?*悂蜫K?HRS\"H(?`?q?\$迍i;nh,\r鉜鯢b]蒱;,\0十悟/韮.?a?C2?2顖???m.牜?n乳j\$]\r?\"].觏?泶]?C6鄊?餕S8?俓r€V﹐t拝8甪.c#Z怗.蘾D&鄬??衸闬$\n牗繸>/.=?媆$s?0?|錑9?:?ey9靹#翤\$BH\$nw\"lB^&/FA93n裓$?/vN|?,劶'閚k钗:F8&/嘨)B?\n.k綷"?&鄻癨nPR#ZJ\$橝冘C?0`冒Y醘-n?oh孿r Yf;抝疋b簝8嫞0rL舗?啒3i?%iN>'KE鋔'?頣[F酈拻\$脠6特5cZ 琊堕X}L惇t|拑?I eQ?秀Xg喥	?豟毉E犏,甹.萵3馝Q岤弪览?`暄\0?朿?氪#蜉(?r?CVZ\r&\r擱g屴3\"?*揊c荊B羹'^g?Q2谔?黄c#?羴8+ ?脨|侶滀r3璴-af吕?\0t\r犣";break;case"id":$f="A7\"蓜謎7罛Qp烫 9倞啒珹8N?i斳g:翘?@€膃9?1p(別9楴RiDㄧ0氢鎿I?*70#d怈%9惀铲L珸t夾≒)l碻1苾Q败p9顽3||+6bU?t0赏捯渾)歂f搮?├蘏+源瞣:圽r睌@n7?#I匾l2欐鼔葬:c巻嬚>銟?M睋p*螳溑?Sq帥?hA焆l?惠鱟'?鳆???'珼匼$曮H?4纾2閳\$铒肊捥N槗)?^栩蓆譁s:坤峨∮(?H驤8#?奇?:T?03吾?酯菴	L\">??迬克P?屗€溥姐(谧%lN(@?渶璑粓?\0P殨帲\\u\"???? c@?屃鐳4儬?嘇x^;?r??@\\7嶤8^廘c绵浆D?翶V?#爔?箧???3?\nb垬4?h犓?+@嫘lZ6鲙Q胱姮J?l唤Jㄋ備B?C?+sz垊赤臖9?C鹉堉S奷	#p?譕悶:C枰?抈?崍仂髱?C?@#\$#:?#<枒踒.2\r(鈘伜峢獺帇髍:?k\"\"俽5A獅趫薸?薕@?镻醝?B鄴衆"`1G甹鲐]T礗裛U8魨qS?ㄒ!惾峷P?m.:(2尦09赟p?Tvo錂66byjo巿?U?C?kY?摩Lp?薍?ア^捘鉅奕葝渣鴰?茦c5檭嶃:9厞x?↖n鮦8??P9?n綈╘"?蕑貓\$乸@%?犤?6?@3Lm櫲﹊C洁?佼pL]|涹	洩迍?j銝?厝?C%沙X?肻"薱#鬁旰&+W??燶\下,㈨蒷w孺9庴??T?q菰?I覄?J依?u蜩???蹄L舆M硘TG搾tN?<'?3!om!6\0KB\"=[&艢#?\r!櫼樴?蕘eB&]?s\$JIO垚袚3鹳汣j`恃?睢竓1哪巶\0气郳0i<缧\"炵蜮?ng(甈??'K?A\"t\n\n@)?H0爢YZ?u?蓹S.fC*|ga袥歋 F??瘠杽躥蕘€&!牶拰fz?〈?\"S??R)9e萇I?q荋9?C[?碶$愷騜	趞嶄@廆sHM襒qZ'剿嘰$>隷嫳)痂爢5h??&j?xS\n嬭9WFM	嬻q肓甎P媮塇D瀌摯?蕘,A?扐%O敍M><璡nB\$觴1/??a*Er?`#jV述h憇Y\$!峳惨蘕???P?T?厒\0?B`E('?(B担磡屔T@J汍A碤)枲〨樣44'犳Q烂&掟\$'|?f剮{嫃e.熖髳缣?1t魿4?衰?d帘盛堁)22R篭n€牞a?5爬鯌琂'\nTN钶\r??鈢Q)JC輥洋E剬誩Biuah?-(緅坳,3?用椟y*U\r仑刏l*|2翑;犈2mb焀??繵佼恎 鏛?ガ?9A簜\"鯵憘\\j殫喼4?姚f湤聇啈Mi襱]虘?嵐T4症4r蟕b1;媝*@?翤 昄4偷詙瀺q?s紊??D?带?鯰哘\\_E薗賖ln-枇呱垇趹弲?+屆?vGろ|B€K[咽aば9T???妈b鳙慵犚?暳軋匯DQ嶢6a剗l?M??H匔?))(()樻\"CzC8X銦b\"\"衆rR`亽2?4謢鑕k?僇 筦?靶_嫪屟?誃牘GL陹苓忬岻\\揗R啘歙尋?|絟S??偯榹9运B羣^'a誎h掑掍b刪栆2違€Q遏qM_鹇剮餌暳砾惀?妬騗氩旊\rM?2??jUx@W迾螦8誰獕剑?們X???帰隧叀*^u%跿竚rvH驫彛匿傇Jt;觓觭U\r戌磼湄?)步脊6婶蕃媨啙謁7堕轟V敀%4kn亀_R=犞輤??勣鄪?pXK爐酃n◆鉜訋:?艰\$盾泋i濤T谑碂汁?#蚹?:┽.?R法5芢$G???)R搑;蟙洛??L鮘"m瀲:?Pr;kA嶕/引(?扞lJ5!Ev酯M,鱩筛wx騖r?>鮅烸钿kB-赃荤;x.O?	颸\掠`藆;?耖&ob墖梊ni?0碼??<虣??/耓?饤>钄苯G?奖?禫叨2e??#砣?o轊TN€vD'#瑷翓漅J蟽?C鑅Og?谏I[簉钺頋扣??靤K昃熸&?诒畠?颴鲣4劭ィ咖鲺?鼧熦駨tEO闠蠁?T?T?5\$C羹淼r秭P舜<?觾?ht€T鮽?ャ捒Ov偗?\$僵頮骠X傕h犕B黲H\0穷*@羆?镭il,凚Y鏔4F繭h6n?%爩?4晥Ln嗒\n€?爌<v吶#?釲汩騸pX饰x┢~GP?莉规\ne???枚<嚑2k?p?砝lc謀"胷\$4UB婈ET%牁\r橐\rだ1?\"??βHZ 肏D?tl閶栰M 汊??q@劘?f擾滔?汊bj?1R??睑\r噜*圽r孏l薾?鑛鈘p?奣'K?レ6ヲ貹K郂%戟踜??x<恻 涡リa]P0n㈦⑵,?;?嚑丣??`\"H?屎膧菳F€^?BI?(Z>(2\0";break;case"it":$f="S4樜?x?%搪?哸9@L&?歌oα樢l2圽r企p俓"u9樛1qp(榓寶b嗐櫐I!6楴sY蘤7徣Xj乗0旀B枓c戦奌 2蚇gC,禯0寙cAㄘn8値荢|\\o垯??€N?&(軅ZM7橽r1??I?b2揗劲s:踈$茡9哯Y7滵?贑#\"'j	灑 媹?!啯?Nz澵S稘f薁 1?柍c0愙蝬-T獷%稘 汓蝄n\"?V获3澖Nw钤?0?)?ひln4袾t歖于榡	iO曃4AECI靡?螩v尛N:吉⑥:?\"4蝄0@???\nC,#專z(璗€*c*r装L颁炝/袪?c盒2A饒臐?B姺k梏罂B`薜\$湇雁?&@?屃鐳4儬?嘇x^;藖p?\r玔-8^娞忝蕷xD?翲?\$	樿?|?即翽悐b嫭?⒊T藓C恤????c?: k蝠?墐8┯耸鰤5嫞目	?鞂#q4x7丅?鬨r?寔\0?獉My_X\n?7崏\"佚康爣N栅t协c焗硫€?崈燖賊r儷??鶫?蘉挑B?伸m铸l琧p鉸Bx浣Yk襌姡H磦榱Bc3?籃騔W?t糢J殧?u廫$埮\n&C4禄m璌PU\r*?竊U?S`泣拟烲fq3g湩筊?B?伟硱啻.N€纾嶼Nl2?Z昕g賑鬨"M~x?i挚[盵 蒤"	?螖挅埇#??@蜚?泼屩郃d葍榅?[樎骗aa?tvaJZ*\r鉠*b槫#)??恪pA璴鈆6&巉4紝s猜.J喲\rS悑pь缓v7耢犥5礳2醒&等@ ?蹇?249c''?x?仃剌?聂?e/?m?愪殾)]躤梢╂別?谬'寽鳚'J敤晵耑K佪/<T??rL蔂2Β*?rnN\r:G礊?}CI齘?r錅2轍辽\$#耑		?g?哢^f9俓$%虖挸LUO蠃?洸?腮.哾?鐷U鑑霞?V燹觸p盶0:僎\nH?Z?捼z赗k厧d踏髥E?N0鐋?\"By |c\n (D朽?懅?朓Hb(\$礸嗕?Nr亴·?<痗莲5E9o P?釪?U孺扔?戃魲枣\\餚0Dt蕱坒?鉫=E\$厙揬"LU?[褳殦V撟黉#?6?\r*猥?k\$釟?麹簪\r驊 7D€O\naQ?'8@襸啔Г?错,?1I閂F	JI餲SY€ζn散N伣/玫|c(6k刞?X式&Q??<CJc!皮鏋鬓扏Q筓lH'勦@B€D!P\"<(L磹贰璐?R芼圗摂?R筧?~?謅Wqjagや湴ρ誠$M5?衷 7僯?ˋ暎?\?4崫7?C^<闎Fo5Y?:\$T芷P揄墾\n\n腂/H#闶碶n芢n?撲讕槢蛨鑪梛;?粜洅)`\n2韂湄9,禑F??e誵〆鑷儌;??膬爐淜;f劺懝?l7\"*T=D吘?絩?*Y礦_胵z%L筍*\rpH	匼ni?/?靄$b磂陠蒚%rzb0e1剷?擌ZL??Α?xIqk\rq1洓7孊?市#俽Y倯憑鑌"檋裋?O;鹊v匑?BH垯鵨.4x?@9I聮U^\\N儷衈0閶1?^枔蛞?u瀲唗嗥?耓Xe忿a袌.-?舛?/?樔u崱?嗕??烀k#旝哬?Ry-Xx?鍂Z騜lOv-岫鎀r皍%t紥籗?鎃?卭@頒H{\$X?砰]%2碃d厑CCIj#?9\"C孍Z膅諣肽訅\n孰垿T?滈i?r埢丄nSt誃淛淡?搓?C?Z緋偣??壆獫5v詶'om袱KgY瓟L\"?イQT?吹Ik\$埰X竴I]S攇▋\"鰵カ靐\$@萦H_庯b[尨4[恞稉(睍€?{弍蓯睦.tT?搋j雌齫皌J6D戩踪U8└f?d靋靄nmo[针鎪yf僮\\騸髓淾D麇&#qE/烩葮?癶蘶鰌	鐥餆螭#尣+8=(?+ 患穎韩険[?胢u钹en|烧B噂聮I箤蹜ⅵu1?V?F諕C\n744蹨b4e弤孿$9<叼垱唄?}=凫閈nt?=/B?n蒾f?玨c疬s鏱?腘A肭y|?瓾垬v5C礣洯贇逭{澅容V蛾愯_鉉铠桥衈踛g孎9暟?鐞晗暆擂?/扪P泔q;?\"査S镒>?kン餀cW眍=盎?:含伟f&j纺?狛???嗩怇C%8玻@\$孍	傮脌忭碶\怽"Q頓j\r?排Nl鞃?E0?/蟿8pJY?@?l?E?剜JZ4#J<PbIP2?D餻W饃盌鳦wm?Pa	鬨n嬂昽仲忁?ぜ閂?赕胩]?\0n妃J柚彧\n癳\nз\r恾-u??	t?\$h﨑\\H霠╄\\黊p碗巬?謑葤?疑\r:潐酫J\"怃-?@h?0e腐'f<腏割哣%⑶B?k?G??韱?&#?c擻r€V檅絚8寰-‐\綈>T 鋂/B=盛*e} 猏n€?爌*\0?&\0齑?jNf惽,H腖?啔蒶F翘2jL2担%Ti+?t嶍'V脾8mK?1?)聵\"?罆萅焻z贗耮耛 儨辒?袯&B?c#@綛添研b釮#H4噫,b???S#o\0嗏D\$23\$?#猑?襐郇茴R^?,逦\"@5c(?鑢i?d露舨j\$%G	%斓?&傑/\r??颧0瘼j錦"oi8姙韧膰€闍咜潚姧€??\n﹄~浲?r@i*嶾r陹p獘晔﹔鬷搔嬓!獂\n??&嵦T婍蓄	\0t	牃@n`";break;case"ja":$f="錡'輁nc?梼/犐?-藜O倓⑨櫂@鏢N4U苽P窃懪\\}%QGq菳\r[^G0e<	?汩0S?€r?必鼌#A蒔KY}t 溔Q篭$倹I?塥悦?▋B0??<?愄h5\r?怱漅?9P??aKI 蠺\n\n>姕Ygn4\n攴T:Shi?zR偁xL&埍蝕`⑸缄 4N芉皋 8?cI笆g2溎My脏d0?嘋At0樁锣S憕澀?件崋瓝=斪O\嚕?蹼??鮂搎烌塃:S*L摇\0鑅'公整?T#d	?H?E犈q蘀?)xZ溑JA棭1叁 ?畠?@???獔颥0D	s镮U?蚶儽\$蕑K曩.r?酣S/?l?盐_')<EГ゛'すJs,r8H*霢U*壒晲dB8W?詵崘E?U#?聨RT?#迨8D*?俖a槓E晌T荌B?阣+球	lr?j℉纬嗀?眺>?狮棎E偖YД乸?湓Eu x0?愂3??儉?醲颽吤?絻(?\r銗?專u?8Cp?嶖怐▏翲?6胢?亁?Da拟\r?v迬m`?墐K勬#撜A殚NE漒$袔h酜 扟	seⅪK??WaXft?)蜯曅L.N腁 \n??=?H菀函<G戶?sj9毺 VQ滀\"V??乗0?崈ㄋ?%撂E?GI,Q襳t梢撂R?hQ9ベvs剕裓n褃虽F?[k腬$o暠躿漒$﹐/\$Y+弫B6?7nKlc?=7??俸e?蠥?嘻觗鼲N?Raxl研I=婔冤驭\$<窦?齹`I镻T綴F?醇饛?葽?粹*Q%忎=?}P?N丅\"ёv妫﹂镏?4?A?儀?\r朚饤#鮶RAH权7点o<?Cc7!?40@xg=佁颁g'?AFX簭`u8@?倱?缻碌\rT聵R奢2?9D3l?h R桟葊?%Z麵A~┼*愜托fYk炐@V:?P41瓡?P Vj誟珤?侌d['敭U尉?D}綀2喭X?铛'?ALl?T.鼉北hu÷嘼??C櫬F翫0畛Wpe?玚?⒁碶r\n賊\+瘱耎?d鍞?r衂RIj璾?重s[珆p?毯\n婈w旁CY琟屏e?㎜儰h岻~6绒I夝?少VCxr嘍\n悙?DSXCt[?sj??*%%幕?f慛\"\0@ ? 4丼抯Cv\r`s+?9,该KHg1犜凱?ED?萗夃P	A性?愯B?DL铚i峣糀櫂 ?&0愬U裺F痔,?dm\r备]亮f嘋tq峢oh璡"p?蝜!刾??霈\"EH閈$G婜ED匭>(嶾"d4贗*榡I乴h鈢?)rI??	U???uA\$?椞J??x嗛zqM叶-*D俓0?儀m夞FSH硤磆,^3\"N`P	酟*9碰?QA&?泩 Dr5龟⊕?呎xa蛡 湴媇#燭\n詪^+%磹SZ橥‐n鵐;姕嗿,g?i鄟y勊,mMa碫?*蟘牚擗癠①{2?Q玒e銻	a????S禆?E觙	?P?T?俓0?B`E翬??\$9Dx偔xy?s.p??園\"獖L>B悹塲??P徑g>漈寨S嬳邪撫屼d,DF辌軉?0閨\rB@WA矾_\"!az?T%獋5(@}?Э??q-?匢匛?凑櫣Y?俓n4(??Q銥妷TxA娙???\n\r?1/??愐歖8[餴0蕀rO=缒鶙Q僁T訫?砖s?銾	}簛w@?剩l?挤b驥玙A耊d?杺]c#怼?嚞??f憢_她€tX臂B亩G魐跑谙t?'?僐帹?鎝樂:?饧紙qty勝y?^i挵贒7M!?o|祻Tj鸋n夎f\"C	\0偵瑺襫_:订60逿@鋚獑鹸壯E?V 臝0\"K??f趆x鍍|?@L轎?衅羱傝稄B甧鐮BG蠤俽IL:(a蘉纥ˋs诗蠄樾?b#貀术Y\r?tIYJ)Wy?楁5.?)棗R赪輿M(儫W?hB覤妚)c桋ビDc\$??墛7{薪缣?戜G<?祳\nh諮儒,€V?_梓s\"鼇妬?厘)LV搬?凘?马\0踶╲亽2宎?蜀懴烰蒷閷倍:铇版蕥瞭2\$謿X蘿.捅?炄诎扆迼囮?婚\r8V8z?楡淞觤嶾$孒彐jM.L鋳0>€埑\0郉`~Re./?CM 櫸#嶆v0-趰?m0>櫖餠,I冭k?D荈t?崬bfff*Ho&鰫奛/%\"#`徨鏫\齦?O?L|S瓲R!?\"n?H 殊彀捝皢藢?,繩?蘺,~謵^b哮蓫h{?鏝?l\$歪\r枪0??"伿呗?娨v.逳?b?婌]螐?+?a焅r熬垩%?衎,Q\r乐?獍?霞趐?'娳??^?(n?+A 0?.Io劼R堫 细謏,4B畏p槽\r磃\"ph凚3唓p0db+閈0M??.爱J0癓kAx?賊r⒚婗扰瓊`?蹜??皬限m勜巬愰Q??禚1.瘊q?襦a袶r?.A?C(羄潦c?VdA??g2:1\0R?\0 g?\"9%k?R?%嚔r啫I汀!廐赑顒?'匹'o??%拃H2哻襖\'?獭M燣餖Pc&鞁 !/?\"?+q劝?P2_r蒤0不!伴-2?懴,A-d?a~0HdD怤P??騋膱臞?\r?c?螋#蝙?/錀.s\n釹H?r疬\r?彙+?,\$捃?莶g彦4?r??嵭/餸'妥6oI!洙F?偖幛钼2?-Z#?HSRu?8rp?悜\n\0択N莢w?a0?wGx0糱?蟸甛$|傭槳趟+孓?\"恺-葉耀! ??D=?n?尔鸒?\"`?@?`苶犉\r`@[+緃鎾8g騗犚区^脴诵]@瓴┮偐萛n牗繸\0@Z(?帉榍Dw?x&?覩60\0??L台+f丢l,?	?C襱9?飹2m&鐜T?#&殡?@榎r爰\r5儉9絃d=?@'?>/Ol??懭yAqC??#vP鉎'#?6?O/?0躙n??R5k?獲\r噜淓愖囘P4?Q尕neo発怸K勬氩n五It侪梀b旄+h3B璥\n衫犼\r窜!颇x造zNB?g?f(I	?T?&朑?迩捌殔N鮘no码\\U贂u軷?r筡r蜿#祜??G,U7dx鴵vU?B0@";break;case"ko":$f="霦?ヾH佢昄@帴拋貖Z貉h嘡??	E?0佖碊潹腸?紦!#蓆+瑽渦び恉獋<圠J行鴮N\$?HiBvr靂??2X闬\,S橽n?撋枒錦n沿濾A?zc?姙D???0寙cAㄘn8取碦`霱?i塍?XZ:?J躁?€衇ㄥ帽N懣牀掉,?峷%鐀U?Y7滵?厥 7?懁靑6L鍿榾椴:??鑘4颪?鎮霵 +闧Gu,孑??嶊魮蔨莌A?揑R?蛸(闤 E=iぼg太z	塌[*K屔XvEJ鬖d?纳*閯\n乣?㎎<A@p*膧?DY8v\"?#@N?yp?腃挡 Q諺2ゑ 欣'd1*鐰餫贚U撬??孅P薎?L?F猺\r\"P捙-颧YTTツ靌F朶n掩BBhj磭腞E糖a?Rlu潜泊u斠塺Bo壷Yq3?D?∫yRFIy訹菠?'Qk?	豊塺gSR敉-X?屃鐳4儬?嘇x^;讈p?\r?脁?呫(載?(??}?*侌?嶾r熔e佮^0囇Am搞x冗8沕)奬"`意?\\?M掜>v%刣Y枑撐Y?az?篼??儠?R髷鋌bRB@P?嶤s?膩-螧睌t掟淇棨≈T?nGdy2v碾帙晙?崈燖;#`?!@v恠2T壜狆2?dLdU	堾陹@Vd徰?k6票綣?*???g僣|?!\0??s鐅煎RZP9\$r?te镠M魹?魴贏嘫NDq鳺\"乺湻0v=俳??閙,n鐴q(ㄆD~A7颼?Q)坆D焈}^TiiG恤娊I丅\"?r|?㈣鶫瀻M;Rc\rx?胑厁以绿顡d*\r韾劬?\0雊帲妻c6x\r儀嘻ac|焗a釀?\n菞??0Rs蘚"bc琀0?聬F ?`?!K??葽婥▆?鴦|罰?嘀oC2苶薂麄\0偘r翇i-\0劝?琔柿Y@D僜"?宮o.?▍'.Y塡n1B<飬U!窽B漲A	9淧鋖鉦s?s哖?J?悅%區琔毜V赍]~癈r肵?d斐杺?隤9璭岸栦U\\%Qq哢使旺?!f斑\\塡r烈+艛J撢<屝?緋衚?c婦7\0頽癰5崃a脨涠?a压??攉?/頭梭巓セz+l8舴KAfI!\$匼r鏄(€爟Py?\0牚杗G挊?( H擻0?qd#艦u?喆篶k犢汼nnM阽:訏l{>h/?哫鯻鄨獋pV1迈T?bP???RGYK&??t)E?\$d^4\\i丂Dc疁r鸂gC以\$懶蝓?i\\媾?犦(A経崤∑蠤儛o\r苞 H樲q諸?+猯Qp醆0?A\n<)匔渭詒l為H祳露朎楗25葆(驓S蕧D?癛訮:厞AK?\nD€厠??ZB赚j涗?/錩絸@僅g?U髉k秃?罵w氛?V?€铁癡&舭蛂?鈊\\眑Sk\\k蛝'勦@B€D!P\"€珰 E	??b<?zU|挶X槍雗+M薥n婅y??@楕b`梭e笖?R((╇妹M?瀑a<Kj\n窭/7)'+QQ漾r烶R€猥藢林*|=;,鉋瀤./`鐇呢?棫c*銟re_gI?髓?錅P鐃Pⅷ?硸yE+I乗0:Dw痰掫\"vüM}??|肏zh?l@秷?箺Tx鼰基rNu缙篙8^鯶\\孳2噓鲰椨竊翿鶊扡υ因)撂?糏^CHa\"?賟.5萻窤羞&]ql輴?V[|O挏S卤?藏0Q9?????d?^#?	#霳飿\n?!剙AWi7廰W褗猵h榬8磡v鮇f镵咜餈FW;r/鸝耚0@??隆@嗗f軩鱲鲢篒??褫迒?gI^啔m]痽饐?;瘟a}细梤羐談;FV,X樇鷈蹟2NJ蒳/&\$,他H菻棫黒r饂O_.#??P?9y阍?qtL'e?跙?吨乗n晫&[P?讹0慍鑩哀妓勞籝d厣橲.^榡cB谼??r>E磓-束iA搶3呆.f?f薰W=?劙缕I傓?H斤F?xfBJ4=贸劣鷣d?Sべ?帕?O&皣FF8境M1h≠?H嬽e饄疍摦(嵭jO解录_-?隑2tq<颮()8涅璾€坝橇?况_和7狭?8m焝c紑?怿黍???鷁鯃?亡徻纗7踉_}鈤蚾8滇o?秭s吞摇\0'6y?~馩?笇Mb謆碱??*m?铎?钼竗姼?襨耺5\r璡$鷐??趙?\0000O@<醏阄)ll\"W鈽f&f\$??\nM劺漳轅抬?L?p!R#羦坚>%只飏鱧,0幜j翡ヰ+吕 饧癌\n西??蚯t学4鄑O|?{?槲?e?猺?p ^!n*Qw町?(飌@?D祚'/嗦?l餺埿?丏%FANr?竎?乥 ??:峘諱h遵)0,邪)B?lR'\nS\$擟悖杋ǚf*??嘸P\"r栅?a??K#?衩?0Xln]/?p?娘\r	鹏朶$\n姿.HD塡n祆?CM匉G胲??\0蠿Gq鶩?!r\0Na;?!2*H1?\$?孯訊2??乤\r.硬M戙?\$偀%?\"F2W\$?&M=Q朓彉P韕讙&G稔l?籽??G`	貣嗌0,t荘T霂4&?GO	b<鏄??舉L拍嗝冟A?#裄?\$煴=弼#?c暮?qQR蔯邑仨襚犂?@?`苳榔\r`@ZKLh?窃\\酪勤]鈧薧\\`戢蓜€蓏\n牗繸\0@YH埅#铑P:衔靧a@u?1?饘?i>??觱@?S8K`!fI2?r蚅KS炿鄻\r隞\r5銌9`:鍉cbD?+律?,j哪隒?A`?1g辭儖%O\n蝮|D\\!俀8梆痧>r餋?s?&?\n嗮賑X5薔\r噜梕偽Sx蟡x<馶"?jllj肂髣r-km	E咹@a8km腬n蓃犼\r)#犜觬FAm&敎?.鞦|噱>銏h倊▌V﨩?l淥鎒(t???郔翽狡?K苕nHOD<K?€t#?";break;case"lt":$f="T4毼FH?%搪?渆8N菗Y粿腤毺γ·@f?\r忄Q4耴9歁?a早惻寚?-	Nd)!Ba棝對S9阬t:浲F €0寙cAㄘn8偐Ui0倣?I溡n朠!藾?@l2泿懗Kg\$)L?=&:\nb+爑猛鼭l稦0j磹瞣:圽r#(€?8Y茮仠?:E帶萏@t4M存翲I??S9?癙於沨瘠濮b&Nq?术|塉槇PV鉼碘o㈥黕<k4?`\$躦,?H(?1XI?&???倩?AuP?薲t芎杋孺灖閦垼8jJ枓\n?P:-B奥94-曰4鉐\"驃cZ?(??粇6 愹\"???:l瓞鉢\P唸???\"栴9lZ??V?Z?皵(?KP?亰_\r楝Vで僼0魪K`(I僅?浑鵂?#瞈\齃?緯-A嗦??z\r犺8a衈庺(\\0寖j蟎$吽??€鸸嵣H??t	#k?.#爔??G岲灿碈?)奬"c?桉峮 ?.1槬,喝en:?)V9;k述痉乗0靷C%掋賻\"喙#n?﹊{0珛P?款?寔异╘0M製 ?	w]7X杌;夽?.坖\0垺\wP耴P??\0?n4?B 蕫ㄥ湒?[W鴯4\rc?、毋^Y~\$尓?砍c橁9B?4*W+瓋RT?杧?U?_衧唻3???歏嗐鉦卣惮ㄦ1?s筙?6m?\r+劁?O脼鱕K鎟Wx絓0?袟?h龆4H呜fn&拦?y晦	.楌??砽頕営扦B*Q虰挆	\n#趾纩 V?算垐N嗲繦?:颍櫍嚷lㄞ3胑Z帀L?犧?cp蟀遥ㄆ1炽樛姯銁蚃厤>?9;?'7M7a(P9?\"功?錀坆槫#U堃??篖蠐Z@\r魪?谏5M?!?r?JX慕<d?祥晑X敎4屔a揬r蘑涷\\鼇\0AQ*,9=衅ドHdI ?'?炆衆"谴?辔ㄕ)\$\nf}藗漯奟t%氘8鹨?搨袓Y焤竐崢j\$d?C6\0霉c]!?|^5\r	?гT???洌C拸R1慗)e0殰S帕嚹LN旴0\r\n瓌挷4}谩鶬/5P?垍?E<?N倘餬X??v?L╝duK俓0頶竍29h^焅0f.f龣=7诠\"{r胳唭N?`aG€亞棩BXb-e?煶?CHo歟浮汨e獗鶕H??侜?俓\ \0@\n	禹A\rK?W\nI檙唒嘆馩笰6蟻?痫r0o徣廜éY?	n伶ic|aB╘$浃晵襘\\JW,? 曵]霖A内(&瞛Mbˇ'F紖嚀 ?I枲j?.揚j?qc'弴\$w\nc?5苀%]1蚎3膼(C2鰉\"圤\naR?骂;戎*翰鉐CJ#€9擊?Md4腡7b时?*?犪:}\nws1?訡郵E柊6\n靄\q`*N楟}泽洅*鋽?i\\,h葌RN孈T?/n%1拌Z醙k珸?{d\\椝_慭"番鷄kSYU5拮蝖li??\0?R揨S半潛稶Z攤救嘰"妇.?#剏+蜃揨醲G拕?Rw咏fq嶄K扜轁k?銬?r?@7日]8或稖kp鵣wR?{?t??BZ俌gB\n)P?藟a?-?t╁?猭嗞諲?q傜棥?夞偠?薞尞@LT+e扦@羝Б瀩) 窲蝉€oV<呥煲1L嫆頷湈篛爓HK/?悥碾9歹$6獾M頻%?Q@K'j(輾璅s孾L诇6?]?甆兮,??-睘Y縗0闯6e奙F/v凱⒅ 2\$-XA?J鹕\0甛"ga!遲籈悖8?\n敚?B燭!\$\n叄齦僒煅销滟{l-?鈹茥x/)私o?娼欱\r;cj樍f偖蘬┸宩瞗?i'o攇jL,Pp	躙"砣+??慓ur=籿竹辿再=蠛7?(檫€ac6泳鏈?眔M泟斯]<W俹~S6?怵#r慚?9?萩拞较杺?m?鞙Z?売\re贬\\倈g9a鐟*p蕀岌bIIsds鬾┫荌冲抦s\\癐減W4謓r<g頊\r?筦i貓&f9?p趁cl晚蜆鏑悏y潘w}邁黜}歖鹝H唀倽彝湺V?'嬋暱匴?愮Y諽k蒒?o?jhD?因@J鄊-?#閶?禀猶58 \"嘙衩X5H?冒儥H~汔?D?岑扎甲塃">T帤?JK贻殸P覫??傘柇]Y勖否岈爹餆?騃%\\m心p7閝辦?嗬镦鷐炙@λV裉.給颸0N?p?\0瑟?铌渭?\"/J疸蝑?谙)\0d-IE?幆乓郫?垷妼园6嘈:遬>坌B醕^碈屁N(%徿欳p袗|W0乗0N恱FB^嘘3?\$岇?di儈#絚Tは?	@]IF#沈m\r??{按p笝F贷?\$^撯?AV8媊=撀晰d?~綣)幘(g0v0?饉螾??t虉??蠵糩-(虆?0(桉8绦?Q@ZE\nIN?鷽袻;c誮⑤馠餸T\"慴鷰?0r6歂鎅甖#T羛h鏼(L?翸h?#?盺涫DM孳6c?衏萝\"/J孕O/-e1P薋鲞?dT;q?er”???嚠剄?蚭P3兌耜廂&\0I=o軖??qp\$戅p收慥?v9?押栩7忷栩'?雛/\r\r,?2:歁%o]%M\$ 歊F{?襮唗抰襋?凴-Q?l艬mj[┞飍RI覓&Gp攐)摹)Q螝L靄r ?Bq?mb~獾怕X傼]?0?-\r噗致KJ}n6q廪2?.1-茵怰忐]睥f)??-蚴Mrd|镯?嵵唣V菖??	s郛en\r€Vg?`?	Z?02?K2竬悴'U歖C*|@猏n€?爌鈪阘釯饊#妮\r??#訄籔_顑8!?yN鏻绹J??砐莉f狉+?8艝相?b?e8Y?B魽2媆0??=厲9*\"僲4?姳?c*4⒙	擻0~D?抹Ff\0罫蛱bm?F*孤泽疺]@?茦+偠#?/;G娎1D\"ㄌL洹Dl覥1?,4繺0?傕%?E砲﹢轏耸E1\0b焓HfXe艢沥O<cD滛刦??0樄Dg(BmC俕>擠??嗥犼\r?	魛QT(=纻-匨ぴm蔐F 鎚€╨TAN嗣9儲伀??[Tc虶涮翔哱" j霦K樣C\n2)6罣T5?";break;case"ms":$f="A7\"亜鎡4徚BQp烫 9倝	蠤n0歁b4d?3榙&羛(?=G#?i勚s4汵ρ渎n3?啌?r5湍奥h	Nd))W丗午SQ陨%?愄h5\r?怮s7?Pca?T4?f猏$RH\n*槰?1宰A7[?!桎i9蒨J労Xe6?﹂堡@k2??苊B蓾/伫艬k4洸證%谹?蒍s.g憽@嵮	磁摐漮F?觭B枩镓仈鑕9NyCJ|y鉦J#h(匞僽H??騩(詢淭爰遬(T猯U帢{Q*|?夝?紑P?访x浞?8证7Ic嘛50j?&?偢癨"8?9?L烝ㄋ妰瞈0P?ㄉ?'7??@埨%ⅷ?\"幵2牗挖::逌??#I?蘃\0Px亶愂3??儉?醲?吺 谠?t3呴糈<9鉹`磪??<h肻0?|q*?刓rF?猏\nb垬4归(?剆(*€?顖盅Ak蕩係1+Q)\rb?	.zh?燩?礗耚"寣(蜱?舤纰\"X?;U`??#J?巸|\rJ#!wRt?#8	刄\$R睠\"0\",'p?ケ唉?`U:?悽F?j?\n灄丅\n^?-舐萜cp隩賭嶰wF墍S~爜I僸S竨\"q 8騖"駧巐耑颸"埗J覾$?e豳玡矷?习8(?€P姉鏲杬!B?U?M?樔T笀!e筦酛\r. 佚?\n9尛襯7屆2??標艌?*:坜?堒f9nqkH饟攳派蔅憛垍〡n植D?魜子;T:\$尢7b??嵔\\<尧o\"L,共,?韺椉??潞群	?牔\nC1垼\r\$??汕:嫱?[wC#r楢*黍蕯訞辱%充﹪5Tq鉢$:p)兾6o2L炄/KjKH?e缛塷契诿甾撛K	i.%淅槗\"fM?\$貨?p'商7'T顬TXn{升@?q?j 3員€`〔re浂给洑<'E臤啇蘞坔?1悅?簲#漉\0?虃屸?!樼篠???a?戺仉M蹵匼"-贸趃V{p劯喢`嫅?媵?刈A\0P	@毢€PR丩3-槣9犚TbT*蔋肫沅n塘g懼>砈8gt€'d魺脝K??蝨挻D?\"J??朗毄朶rF??豱s顔?1?s燶n	K4〉??珓.凸镐圥崄:B纴?垳嗤?M槷觀j?DG1??脫nv嚩?浴蘃d\r烌-儭??讪3/??矐攽r2F汝攖\n:V?g)Xpu2?*GD\"m\$]G哬⒁n滆(d赖5哘●??P?T?憘\0?B`E檜哃椋鶩h&S嗢qZ鸆\$?5I剝1Ho?&??愺}錦r\"z3?!#形?睞橭胀浨=X]b漮鞶摬鑘僁朳-U廣杁?Jd\r5?9`礐€r,飬o由鱋涎頫"!X?\"?狚狢?鏍輟Mog4?觗\nR#\$.晸??棂\r%0?I肏zF幞垨鬆灾蠮=?)查Y敀D??辞G蔶謿謵H&\"*蕉\0煌裥\$菂?2?#rrtd?cSW銐>?垐轡n拃Cu?Jah\$犚YWt#D?倰?+|脨p襣€T赿M迹D\nC┬.?-~N丬,\$╞?Cp坮\$-\\傪A?*\"8C	aGl@少F%滢?|a?M\rA敽Fr?Q,聞??跒ň(?礊?_慖vG??鉆秸?\"\$L娤?J敗煠c/?>N錦\煕3.妴\\渡^mE?鰴棼hm褹9櫂?u4糱4丩)?1g跌?筩Z=咢?臸[€i ?6蒭Zd4?e虜?]>JV?o篕[珳G蝱诛V陧Ti?掌籜忠x蔍*0M嚀?嬛+f%狠W	p萉踙JB諞窰F杺樬t啘昌返V橣`桪楇}s.忷労Yd,@@\n臖崁謯鱔?接5絽?aZ鷨p壻憘[pk2宙鼕饖韄7蹋唟炥歮o?嶪獐雭I=€詘?'{滍脌g~穒N?cl硦?;谴bZ8Nx鑙?X%轏7y?面攋驡辳??︿绣]桱凮l?P镊櫭\"d太F?鈧硼锣MN靻}P鎖穡彝鏡i糂倱尝UJ攤?<鳉篌簥?妁詥:Y?匱?\5(禇:謾\$眸sw养?e?3Y!蝭邔w8蓑-q屑瘻?'?[ㄜ镇Q枣\"崟?╘"5鴦)?5L|?鑋矟tX鳫虳?e€0忬蹮狳疘穷V呕迂&竗P_A漮z?`鑈鄝)彖`BⅣ究;_y煆鶱婁醸鴡?Y睥狚l?ト麹r笙茏N厄襈碭秫\"蘷K蚓E?寪嬧\"鵲A?綦??? /冓鬨"?騲g?M滙E=.r鋵o<舣`ht彁濎鶧C綡?W暇呿n镶鐕?%|k?wg耺#ⅷ鄲'?? ?荓x 翵c鯸r€Vb?f鋶#T躄哖????3?橞??劉藼 猏n€?爌\$琻?r?剱勎R貗~涩^é词銊愢?0T忟ю覙0愇Z璊u閄斏PR艱H聢硷aj?佬秴騶悚拘濭悽◢va蚽]d瑩璥笃N2x帚趌mt中X弑w<\r噜3bf汁^橣&婕▍?罡q\"h貑|\r蛶??,:甂`@輐珀默<臔\n缆n猵	?褷;别崋1颥g\"4-疡y?&挟璲栜C礬r媦镄齇?0儝?鋕儈g?";break;case"nl":$f="W2橬?█?對?葉\n媶fa?O7M鎠)耙j5?FS櫺耼2哫!镭o0?︶p(歛<Mlㄞe?2硉奍&?嚏#y奸+Nb)虆5!Q潋搎?;?9`1苾Q败p9 &pQ间i3歁?`(?⑸藬?Y;肕`ⅳ@欉?躬萛n,涏	赬n7?s宝?4'S亽?:*R?婂5'?t)<_u饥棠銛儒F臏眦烀'5?懜?2沣溌瀡鮰+CN颃6D┫具蘂#┃牿{?焼o6v鍮)鈭9榯?j麓??瀬嶩?眻ZJ?oj9)C*d3/CI哢’罔<?#\$?寛垺??胄?痢8?h皽?/x?崹?丅b>捙Jj0巌 骪$)‘\$(銢?蔅嘎1?狀Ω燭V罥??%?睹CR(鐛蠕?€Px雿h?凷栎Ax^;?rb6疕h\\?醶gI?讶冶??	#j](爔??H-堔數H\$?\nb寣暒p7*rj?k樒琀ㄨ鯳儴?B布;?犪&I蝶j庂???P湳禶視水⒒:⒘*R1)Xs\$WLL%?H??嵣3?#璟7'抃n?堂(?帲b;#`隲"	p#y?盋\"-'頩赈a矚韃瞈"虠末C2漠T\"5ぁ\n3?b?h?儤妻謀"`@7担斂0K#?挽?睁u犎妔㈦糲P艏j毎陔滕鰹1M(0丅愃0(€U:8dhk\"\"?€鍜ZL獙?骫4I??爨P讐aVC2偤塦?d鬸j*垠l違U	8騻Wㄆ1樛勬H隰9?60岏殜?塎€%a@???2/\0?夿2|鍏???巸燾2鞚Hn?+?簧颞鄯\$嵿?&ⅲ87f溿幇?#'f喓#臷08?鰞O??肻"腜晰甅f\$瞻W妷S8尃?L笥z玹X鍖?Ik?苢O鉼F坕饪t?侾?Du麛hrQ嵘H??愿nS*m窏%皎昞"?獱?匳O溕*\$\r柕蝣綢猅€鋺T驁?鴗\r&y悞>a?,??6tH?\r|?攩摊H珵ta褑荍^J)?\$▋慣窴\r&K?霸 _?7R?DR傦?\n (Bq	>6A@@\n\nK??if樔栰\n櫝4\r啋??缓O\rr;濗 g暳5&滗潛澡??D?炧桉^<F#h殑?L岩\r%p?Rf玕r慡A∨嚦蘏	腠}?販 芀誽?k<?P?聵T霙2燫蔿蟲???幧| 髄閈$E\$?鏗朌7?愢gX餦0002揥鵈5劶槵褼颶鏁?B俓0?\$**y懩吠:&餽8勗#`蔨\n)I??H\0X埜NT(@?-I\"劺婽\0R?岬-?爑#櫝D坣b?\n青?O觴O\r碒媶准睴鋘G0孒鵼?\"M&瓖4廓??赴娊]6娥檼U亴D澃?燬#歲BaX闔S?3蒤\??誏拻抁E燛鳬映籝”Z鐝蘄蘜?礃纽奛鄆!R?鼞⒒%i邈祿薩%詯l?#^]豰翪T?噓挷眈僲艑<諰?EjK`葎\"榮!?/?k53橭fhg?曊貴鷜嫼n!*`8q鹰?丂喣錍搜媟佇乾嬸资\n册叫E帀?罇@?t,舭M9?*???fgC劘剬L?7a寖恲\"??唀%&T葏怘\"??豦^鉌o?溻嫦ht蔴?d?2??岣;黽#^榙h桶醘TK0]?蛧8銲v?屸傡晫rzO?@專槑蜹O8O<溎專`o鋁瑺?H蓜僥zzA捼I㎝瀮\$墏kg\n*M4\0努嶾"	)お?wt猄5X鎒戺蛷@PE|婹鏫\sX寜揈zA?jT柸AE%L懀厶?Hr谷唈?鐶枷m藗!毄\\%羚oGq鑋碌7;,I洬yo媊镇坩孵幉ㄝ刅蝲 ?QB?!輔脷鲷鹧詪Uq>7+^:殜鬅主?苷紕﹝U曗OAC3%`籁b笈嚤6榷RuI鴐盶\酲稂0鱓8潲钂?细wj稰腼瀼汉沇{峞鞅??k椠3.H\rYd玺峔r嗮飁誜W?詐?m軼鉄郀AP簠z掭驙w吟M<м纔n鬡/x-E荍?綹綷"?8L0⒓?1麩湵培?帇?D 蓷畵Ss?獌邃I?佮r:k?,魊e}o	擢f綟幾唽X征.玤`?晈|G)?czx)q踔g庎?o疬?圲e嬁v膎M搱縏 ?'齄摀z7怇搅宙?Rc捆\$祁谾坢?nFV醗|??)犚;?靗<F鏿*脦菷鸑??wN?f嵇拘6?<精鼐餘?隽PWPf臚?E?.ZJ宒b蝦躉紛 ?鏎閜JJp奱饊隻>氘?bg罡k児\nP?€╚??oJ麼躛oK\n?惔狼?/芾里查?\rL/荺r?犥?恘c括'D堼蚰幂\rnt嗄痿??q?b?€?潋\nLz嗝!bf夒芚bc咆4p8*cP豯?绺\$?F\r'@謪豽T_B鸤0f坋,嶽洌1V%1€\rⅶ痄e哱r€V\rb<\$&?儎醤Fq聑&B毋?C.蔞'fb?`\n牗繸\\~GxN薯岨绺蚃hn?协蓤蝤)?_bV0#B?釨鶊?W婗&臯\r 倘F?N8M?Q\$#?侨\0E\"F?嗨1?%愄2鄻?狥H瑿娋??塦fE+aD揠€?J(\"孓+~0矂骲%?@??F遏飄h偨\r玻2L(百鉰.B?圽"\$c?\"t籖?r愺e朶"?荿(玕0M-扤?i鎑j錉?\$阥拆\n?m,??e孞J?K睮環#琝r劅珗_\"?Mh	%b??0覘&娄Kl?勮剤x驑(b,^\0?希袠巊	 ?n%D`	\0?@?爐\n`?;break;case"no":$f="E9嘠桃k5橬C餚擻\33AAD畅杠eA醆"a勬t??樢l墻\\趗6?抶橐A%撉豮儜仁l9?B)虆)#I苔?朲i徛╭?\nFC1犜l7AGCy?o9L鎿q勜\n\$泴艄憚?6B?#)捳\n坛h蘘醨??K??6榥W?鷐j4`閝儩杄>?涠?\rKM7'?\\^雡6^M覓a勏>mv?>屼t犪4?斛绺輏望??L嬙w;i袼y沗N-1?B9{舖i舱?紷€聉渓睌?鏗\$裞/?:4;觉狉80r`6? 虏Zd4寧a斖罍翈儾??柿?薁?聵颞?:?膮-0?\n?9B皃杌#?r宸玠n(!L?79胏柖A嗦\r	鹛凜Bl8a衈庴\\艒玝舸醶?	\0軆\r鉷^(○???&亁?>?:\rx葯\r醆0隊?槩&\r)R騖r嶈??P ??娫礳耙2庎UF?鸴穳盟埮丅嘎9\r薫?〈8?0HK_X?7上?*@?柌蟩#禱ri酡???崕p旆?(3丅2*枍S媆0)?l鱫暿淅鹦;-柃台?碋\0T?!-L???e┤鹍3眬P惿?飖6-z?巆\$姥醜議cx??幏uUH孯鮰儥U??瑘'硿9鐈?H\n墳g聜覵/+[;?#\0\"ズ?熻0?貋Y畵!?㈢暂yM餦0?`Z4'c藀,嶈%n悓?4c;{kYc}%VHㄦ:宑?屪9'歪c?Y6肻n芈〝>k?"ㄎ<崑蜾b槫#n~磈桟荣謽0癶认?`P?I?tC蛨騽0iH?a?桃Q~8?`鑇,1?3€蔙き,(?|2N0}u>祥I哃\rnu?'c儩陧僺蚞刹#?伱\r薥0:扸TC?璐(r嘃攥?皷儮\\K蓙1&D?乺hMI?σ枩抰i?'?b€.奬rC嚘@J)?邠砎crI*剧?\0t'd貙訂惲玥噭2(x)^q?翆櫑@伞?\n犈C2( ??7 錇+泴\n橢犳糎纁8凹4栥黒\K橪Z蕵鶖 Oq?妚%?@P瞈r\n騻k丄E%4€?~R藳鹥\r8憍格衼踈r-@2?\r淺r良?錅穗睽悚g奪?l尋yv?VS蓎12H龓哹~絆yL\r杪)椬zn[?潲悞DC藋 HPK6嗧悛?僚r瀫?岓讃2t虜榔摂b凷?箶僅G?bOlP?梩褳h /?爯(`nr培⊥聇O	耵)慭\?d釯?弔?玢*辤?伂??M?\$.擻0€ㄠ?I0ly?`?奅O\rZ桰迶鑚0)e!mF`芫L燶nGh3饻≒?*Z? E	?u拻鎶8V襻#Tn(傛-刷?\$'N帀 ]!?!G^腴B??噮.?S?挅慶\$?z1c瘟 €猦煩k挖踜蛫萛$&?赨楧跞礂j?漾燱愭jLPt燯2S?JJHR0Q\\	s9五[{€?1濆@?F\"p*%U\n呞奬"愐?丮W6'?t巍?菩`2!Q趔]?B歍軎楠?c	kWff黀?I亘M4沤U湁Zo[?━雩媷榌隆ipEH茑z頶薘I葿?R貀|qk?畳衐XRZ衹U6芢n?櫧=H屉U括BH蝉熡躩?k\$mX2€蔍壬???薨羂0/*鵃?E劇颟€	r貳@?巔O	n[*竆0i?r!0宥:挡??嵨?繖?i蛃x?芅紮M483~^蘚0?飚4E:袡薋睷肨>D蓴鏞\0畀\nJN\$dt徴]CLu!31猈rkf???+P?狪\n?\"鄆坾|O?y魭鋜挹廗{丐潒\"r些諽;&--0?_?禜AH艞B噁?蹟FNW噜蚉){1p鏾狖咵瀠?;x€?檉锃)匼r蹤m猥鳓鎕T?芰ァdE(玴葘騖r?貑#搤T&)CC萕?0缙N??w優Dx┪眖咖讆3;7十z同覕??cH\n	咋扦檇螹杊vf旙???4?羯?G(t莵倬嵗w?a庬揄f9軲rS豅廬 =f玩膺姷W襢2e屚笥?=?o?苊闻?溦Ju?┧鋭?私L馲3?思掤驑;起└{n\0m?A`:=Y?N4顯偗b瓓蛂?覛x爢JL-楓<{V渖鼸魨堹埛J?4X'?覠夡A?囹U€誵xg籤焷?挩鞦Y?蹼闚??俦屽罷刓\]纜?克Rd橌问??L\\k婦0€薥0隸V?\n`豘?	\rj<?r#b?2Q傤\\c剸耧众蘔.Z蠬?O@膂r&沅鉢0╘0??嗢HKBhBJ]pdF饁k枚??-?eB@?0\"渕帳齈[	€??00P嵇咝h(0睲?惤	艝Y癊\n%楢\r数?昆Z鍼?悢HL\"肻"?o蜻\$8鸲鄲?鹱\0o艨d铆#??:括B?v?HDd!0狛'鸸?\r奟b噫3,S?旾XjQっ豱+a臁kR?1N?餷q鈫=駀0朰%zQ	榒@?裿`L蕣绦鹛鲅觳 /\n痣6d\0\r€V\rc?z.?犎n噊权?f夎\n€?鄷?P舤%1庈犚╟~?樭諔鐴讠璟y\"鎘鉫\0皫詭@C娵<O?蛅骅l4儐?X\"胅j?c蠥?S4`牔挭さq//幠kb0e栟Cd睳挷"枲靌耜?X>畞&o?鄴n5襯鐼 \$NQ&蝄0005谓\r~(K)(BD&c\"<?(霜魪鑇€喣?厕c?﹉-S 炬#,璪T颼S-芣钄?バh?聽0\0?坷??Zq??戍L?PB磫o0?X噜?n?B€鍻&F\n?h楤d*\"嘁";break;case"pl":$f="C=D?惕ebδ)芤e7罛Qp烫 9倞鎠憚?厸\r&敞€膟b爫?鶖趏b痋$Gs(?M0毼g搃勜n0?芐a甡沚!?9)襐%9惁?甕 4隶癐皜0寙cAㄘn8値X1?b2瀯?\n!Gj荂\r蕾6\"?'C┄D7?8k啼@r2褞FF田6普帶檗Z臖挸.苆4?姝U鰣i?\n褪関7v;=▋SF7&惝A?樨墲扌鐁澡馴?杙荏k'摷z\n*溛篭0Q+?5茝&(y若\n(嶞兤?襚zSq斘暜O愻鐚痳BA牘钸+Hz?\n寠7狉8 O????	猫??愈脤+銃c新寛CJ€9Eb?B8?你犱?Bb册B?5?聙丅淺n?Oc?\$FiH藜I?軐cCv6\r???[?Zh(??腥凌D4儬?嘇x^;?p?.?\r銗??`^2?8?\r鉷^*骴4嵈猏\?働x?餉 ?獱/办\nb寣儶cx??<穃nr?皥隯?译(鎲Y漭g!?枹M聇0?惾?1膌3?(葥1c?u]僑厀輗u涫庎P?崙2乗r詠T\\痻?┝\0?l凬嘬儝渼縈跀i麱8W?x猫?措p値??K(廣;?魢b嗶妕峈'?悾?.#攷(?橛 埽莻簒0岅\n斂u睿闬n鵩9???葮\r銧钍嚼Td?雠?O涮壅?泰tZ餹[㈠耚r6?皓栝v 6?\n??稠+帒祙BMK?B*u巄\\F鎅街刭7o?=??H痨圄vd+?\r?蕚犺H@7屆2D诖?0蛽Dih肟毯?1??!b0蝱?9饱珰儀Q窩?>吧??粉Af?d.蠙i?襨ZY\$?.封p煟?i?嚰運ni|m??嗄鷶靄nm??fM俼sD82%囝@妏k\"\0€!??乻m兦?RO衒R!?喥\nB?渮!鎈0戔V??'??Ffr?b锕蠠??\n孎?驑疝庩?囃緣怈濧{P0D?|9BeUl攦榡(0浆冕Q撚Mi?@様?婼iq?萷@蒍鴎ぎBIP?c剅帄A(E?簨Q?H)%(職S妟:?漏3U1鮓x~胮?2斷痊儧鎂ж?蹿R?,(34敁S設Z葽?d鍐)襢歷5!?\0?	癟q1嘆咬Ji\r伆???rD氍0哹埨ua寕??`萭F幽:Aj?歱m?要傡櫂/Q?霍貮P?j,:8?2跍罖?騜L顺@n\$檮孿\?憯櫨L'-MAP/鎚?Fu勆貧?@觲~鸐HbK帑;愎<欬n覩鉂毿?掳?IQ4r筒&禦僘騀0匴搾v蟜肻$H?P鄀K?D:,?F^915?噐a!娅?da!)?\\??瘷兄G蚦	W蚇坊鵟r嫏'ㄏ鈂n脮淰?oI躄?怰牜?瘋4H聇m杧n?€?`覛堩3\rW\r懌|乗nXk5-筗?xAK恮#慭0り挙Hw拍`㎏/隖R釢A?I癒_粹n蠦预d衍me虪稨邬\n,?2觏戎Cx挅艵#D	?钴E嵵峔rir?屟?Ij?疣侍A託U ?ci?仢?靆Aq塀4FT敒膟+%?牌w?(@璲`r朵=2鳭P殁#槭k5c貋K?嵭U??邿鈌H?瘑??z窴?B2謹偘?Y廊PL餴?)Q场	鸫M?b|/翓71!_?匼rs>古?糐yI?耿趁孮\$*3禐'銐参E?媶湚?乙Z?顭\rddu?\n欵鞍葏嵱?(踎摚t1E?u??坙Vy渑&.鈅2錶昝q?s?~踖G?^€ ??!H改\\谌\"?9樢嘝銨峂dl??\"蜜丞:I|l爛 匑?BH#鴸噓V槮?7v訥茅]`集/陇C\"?鍳?濽商瀒6||怋髝扳DQc\$段\\奡譥0怗欚甹y??b)哵zC三t滠吧嚍垏:3l媸w渢弗?7P琊7暜%馶nHc4Rs瘦?譓(]礌de崆核鬨n	?薹輟铍摻w慰漾O侊\0BD緉a?ir}\n莘讠Ja#楇藭Z¦?銁vk?斻!餉飠?x?\r	搚侶n?'ΣrUl0(bβe厏癗E%A?侭GR)?0?	儑?<恔穊?y;s烫満睮陾椳??照h泘Q?h傢m胂茪?撂Χ???,沑0缥??鞜\0&銻,?P聠桃#`l(~4h綽+l?诸-<蔍?B燶"@燶\4钂mc?儝 処CN6\0?値?J\r蛫'p 茈/嚑`},?鯻犣汙P?Di`S?蒅lr饐囷蚛0b??汝~{?0霵苽惺茆俛=幸D肻rp稈胣s耙rrP???w疳?忕xrp邶序?r&廓鯸$蔋喈M闥Q\0001(鯾觌師N扈/诛Q0~?0?醛?鐽?-鏍慟T>裏鈦1!/朱弭谒瓴矬芯1堐峔0?O揖J卩摩q\rp?*B?*賹*:-鐼*f((?墕\$泗 婕$Nk脛-g蘡?%犥B\0?t貏,歂譅懩g?	勤R\$濽庳o﹩H耵?pO刓n\"?瘠F1媆0聢LQ聕m燵!鄊?悶仆nZ?p?P\n\nJ?颸r欹2W%%沩+\0牚q'`.I頩mpZ脴擀\n??p,?-?\$覘)矋r?\n恼-⑵R?瞬z顁?铞F)刬?%犉=C€8苿?豔隳鲯哼娲変熷轿C??騧馷0憀抻襬2s+R<\r鬱媔#峴D?g^v3*弐纕35%?霋v鉚Cd?\"ha屽%骦\rs^4?\r?-6硂61s1邑OO6?2?四?觍M括Cq\r&1?77q昌3?3F.S磈团\"荧)3?煤蹆m髤S?颓?30[M?;n?戕 f=R?嗒tD\$sⅫ雑??D\"?秤@診0囵?Gn?耚rf鰂?引憷卶霩?[C63?Dln苎F(R?1LF瑞 ?毳Eう?酕!\nt1??*n銵t<E?鬨\\r2?8;煸靚\H#?T焅rR騼,&绬H@?`?獲(Pxii擻$??煤)+?+転詝!豛$抿)B??琎黒n牗繸mI甉胫t鎈$^齫?+.桋	M3P钐2規}速PLm圅K?8B:bて?筱#碡蹛iL?@囹5嵲\$%iL?c?礬nigⅩ逆?枲僗藔疻話蛢鋉锷0t=c诨/耕镁譩鼊o?@?蒤"醛璟倝Z衆0 K?ゞ[?\\#??\\斋欤@厃#}^?刧C0[鋉'韋;僼j脼e蟲險.摇蛒Lあ\rp;M岇?窱Cn\\皳+奐Y嘣p傑H束(4琠/?-,恼蟒FZ0纻(Ee洧卙ZPj卨K[Ax?埀'敧\$l?I鞇?~3?`CiG浈9哣K夢?禱r琂о贔dM傑%?;break;case"pt":$f="T2汥屖r:OF?J.檮0Q9啠7?j?擂s9罢)癅e7?悅2f4樛SI绒.&?秆6霸'僆?d椞fsX蘬@%9惂jT襩 7E?Z!?8?愄h5\r?怮芈z4浟F髴のi7M慫詾??&))勭8&浱啓亷X\n\$泿py1~4谞\"憱颺徫&蟥€衋扸#'贋2溎H稍郿0聉f屛?瘻尾土?骡K\$餝y搁x崴`哱\[\rOZ泗x蓟芅??&愧灑餲M擺?搵7?ES??儺L@:p?圞\$a柇姙脕J?#R勌3I绬0寜犅湇(骵?p窑6C侸诠颶?缺t6犺?\"7.汱篊b稹.珢り?束尟V	屗?-?2繰<?U\"瞈$??LV篕)魋)蓑糳\"姑?&?つ?寽??形屃鐳4儬?嘇x^;?t06?8\\?醶QI0娓嵙xD?翲?5駜??}?€锜實沯\nb寬-x荓9ST槒糔Sb??LK乒IR絓r靥bc_+脮僡胋p?#1??B篩\r?(眨騽? As!(爢7崈#繳逹戔馊\r?;|#\"\r傴∟x乒??崈燖穅2尩粴菆讚?6 P傟吼J((&?ㄣ.贁犪\0?彼貫9C+藣咄?鏗2M劎)趜熇H?J瓸6孉竍L?Mz&荺r壮鉃?b&L?钤夼Y蘲[)?覅ub鞏BZ劐彁喓??\"巤纯碕掖1d僈\\嵁駮<?x?q嵐n犅丆训o锠?=;汝€胠矸a?F谣挔?蟈??\0錐f葲b愰偁逘'K??豧\\7怷賻]鹇3?繟閉]2?楽貚鉠Pb槫#ziJ匁?pA6%NR^篭r竍X傅Ku褙K)鷦鰋kpssx.軟摀N僘?邱K?@禽?yl蒤"6Z濵2|O臔鈵^Nz酺姌?7鬳枢p&╜0挤~O踥MP歛熱0撂;桬[\nI┰}Pa=挨鼱凱?;?C拸JEI燫Pノj歋?P拃??PU)V*錜^笥a葯贀丶N	?o閼%RH@曻t9骞Bf@??爛;啇豂? ?贊B√xN葩抐^騞 iUf?T`AL?9彘c.淰@?'€衻\"/蔣? ??6判罧 PTI'+萀艊2<垑 lB?兹?峜倫屏V赣doCpoa砰棁x刣%e-,寳€禊?a'D釡橐擻n	C(才*?G銼?钀?c?Q?чl\$挕P'\$?揌€?猘少VzgYa^?\$貋A鋲榥 QdJ筮繮	酟* \$j旾鈼o鄝3︵軉_R?佋厭銃O	?♂唭陈D靮瀲07聸"4T=?魼信GE侪+#?貀+*K柊翮?峊l`銲\"婗4鋺-z时?LC洉0倄NT(@?-€癆\"劺媌鞜躐y-T紨?b塙2uP	齹m??艥┈b挞f賊\!襫 澄撞朽K#朶r!?'?涒is/杝???SC睑~S豝P%b枲錦\0?呎r?\$晼椡c0€凱+?2処藵棩?wpFJ€:U?NqR囄殨婂鯷藪爳?`?鵢饌皨襰q肼q漺r`?\ni?痯圊斋!!?#驆o勖z溣◆琒re0Hz懩?噋屗*罬??0膍7&,uf垛4+q用?旨詅羠谦<?騜?hC甶Q_觠馶n晌D?葕d毹洳?A@冊妓嬂k<搶V泟黒r蓃d棃虐(I!蜦H异7BZ癲2sK?*?,.?匝)tl?∪珬殭\0榡]@及D拑z閁簗?銢?~b?<?g?廐\0曓?为d姻旪G?.步r朩 \0謀r]缸Z哺)?╭\$舠U朊櫏5涽只;S澳朌鰱俗喩冺?稄Hx讦=烮?霉p蝠?覗x鳑壀)C{!杴jQ?対涠?v??-\"3???畞昍櫂砻o F89攟━2R糓姆幙rO?燞IV皘\0кQ嫑r?hI蟍粗溦血栚绸*谠堫橪JN暴隅/t?蠔?@楦CJW垃媬7輁$d潒搜tAF??蝨?!6,嗁?撠?qc汾F:惮?砬>rv^gH??(@?渠蒋*F鏷a?鯖捼n?閣B鋆o2g	BD厔阆R轼亢繚粇殀xY胖1烜7;忱_b??鲨?孠敋?k絒=!沋緷m穟吓諉鉝k鱂l綺?5仍eJ旄k?哈忣湯]疥H[)?{?_闺逆/髍蓈D{眙痙橃3c糷ㄆb?d:\r鐤C/?鈐??\$O\$鑖 m锐项M,悰#?-H驿?釶V阦L?娾?帖飚X帨軎?.B鹈颂狛?配?徳痣惼决帢'|?P鼖?0C蚁.o狏袠(~痧爧?琂蒮蘿p听惉_侱b?(レ厡起碞惍>%@謈屛i?艾麿j'?愯螻狌?,?鞍喰?F2+,)念FKF荺"?&51 9K?q\n?K??爐O\0悚瞖!?EP滭?慚O涔V盞饀C?qY?鋩?pD\"?#徐?p畁惓?\0駕\0抨\n屄m?鐀?谭瘆瘭	B[辔薻L?kQ?	?p耚nぢLqlK?磋凾o鈁bp	\r:汣趈批H宲痿8耪?6l?投毐\$	痨褜A€唀鎙!臶Ch0B鲰?]I43o步r&岺G2B媚\r€Vc謊?!D銧?獇貾?@Ze猞?猓Iz@猏n€?爍F1e?\r^纰妐環設捲	-?	L)?C??lV衘 怹Y嗂.j莆靄"恦1耵聤|u雷鸲峨d/G?俻	姲U'僸	SC翁b剏,nF(珃?怖p轠捴6E€_╔6O\"ZS8!'禼胑3#騁瞄覐AO?嚲`鑄涳鑢ll丼Q?5啠5虾]`蕒噢濹孴嘼陜9p挴L萻?W+??m幘筹&窪?\n侹?翠俹n:?I ?畒+幚d腬0?娖`?1?粟.娌?瘠^F潭@X+d籀?+~]噌-裞q俢署nn禗3#8k犖G\0";break;case"pt-br":$f="V7権j?惺m抬(1杪?	E?0€鎈n'0詅?\rR 8蝕6挫e6︺堡聄G%?─靜妴i勡h?Xj沥?2L嶴I磒?6歂啔Lv>%9惂\$\\謓 7FZ)蝄r9?愄h5\r?怮芈z4浟F髴のi7M憢?&)A勭9\"?R餛\$躶厷NXH?觙儓F[龢錦"湒M鏠犆'癝觙愂s偳?!哱r4g喔浆洄偦f蜭?o7T颓Y|??RA\\緄擜€蘝f肠煼罝IA?沑$鋶笮QT鐢(_m桕?獄7葍2?j蹌\n露0浴惩r!?\"V0JB蹸C3\0猏$IP?c獑警H蓆6诌.r€9C??P?聾P?緊r?	岥媻rR\nhZZこo碩P艓赩?B顲P\$3畬p蛪儂?D脪z7%h0FF3??儉?醲顰呅剩8Ar?呴]<A汄7??	#h嘹?坸??蹻270\0)?J?6?&攴狫.&+迹ㄨ:荺0P? ?@枻堓卋!u跰_X鄿7鸍虔B篰7=(窴TC?坩聝\"???:悂WU::G嬘,1磜? 紫殕k迂??幜?`2諲?#]?O6?%塨埜犛寁??I?\r?	銛4莱p震邸N?\$?抴7?#純R袃孻X€財盋j?i踱虱X&L[?>頲)a禺\0L5琫琘﹥o??彵{\$8\"?L0雜?鉓樢6#它eL?c(\"?脒x祛6C?繚LU持![f摘=竛XX屰T?铕?胏\0002该4漒r闬n|<?戈1蛡鋼S? X0岧4乩A礒_?"犧5\0?夿3緰(}?*Z辏??喋z蜇烪螭绦?S\$搦-p??騚?\0?P鑏p繪筎di兄騐>)&?u>∟1穀%嵗櫎2]脈?g魳2P温Aj\0\r薖??Lr臷$89噐 p3I霡D?S聑O夰@(%塓j5J rV倳R眈N'▕?T獫T撟榳芒mM槟?缠o雪榎$le?xuMpbn鍹霌犘w?c*g@v頙Lbm~攘T蚛n焝?n虜羚???禽揊适檪1鎝????	m#T\na攲d\n (h歼(+\0d(d儥![劀6!s牅#擓喨?sl??P??J帷晵?4杸G\0vz0搻屧L%?i<w欽欴?7\$H亙妙滐`鼡鳰蓘a@P橯搻扙C色@匬嘏?vN?l埑砃B埤&\n欐?J€1?耋匼0?垄b1L铻‐$?:8;.?#鹑Hq18l鄮O╀鶃瀱eL?萛0垹?欝?9?O怽n沑r鑖槷b?y麠??\0?%+M;髨咵?|炔R!h\\?ti夝g癤嫲唎敍(	纮*匼0?B燛瑻€\"P?k?H﹫绠跑翠ja\n糰?Jy櫣>(?1?E哓ir荰8r奞繰竆$笈YK4忍[??攞6梊\[]n廚i\n?V n.1?P?i?w呝2al鞸巐暮呲栨銙If涗亷A\$d?C\$鎪溶4圽\T`镼?u4匤 F瞓鞪9JV\0Ri穌q€攞箊\n?A翟?y:1f5&_F純兡筏2,+t咣jO祿N6聟奒?zH02噋岡b縉1vl?l掆b?韇\rЛ^|?;睯虡:簑沚篭r諍琒X儠?V楈€倎P'膳?\0助i?A餂際螒巖\$滆?堓%沫垾z??C	\0亼?鏶歃\nd凱鋓?5€!攀薐?k\\赢EQ犚Q'C>Q踩??w襤抎弐c?u:禚a磥?篛C镾L塩鰴V匿'I?{ZiN%鲗<j^NW.{`磎磼?莡z/唽?m7畉f?腦8腠k?垢`9週靏#臭奾(臜?痤E垆_:ぬ?j╞┶a軈5s??[卍0?B8xR檤XH@瘯]饓	勅J弅隻`W\na7?捅j?R?<殊?\0鎽Y?舞萛$\$,穗?墮??3(ず檒籲螎'﹌in]n\r裨?k歳肙^醺<f6?@N痃7%N塁羮逡oJ0Mf辴n犫:R?烛?7c@QG梖n?SFn(榙Ld鯕p啜葏冝?攫介c槸]瘽醛邽蔩∣7{ 庆O)?n?q:+|+K?l[罬zF凄\\tK衜思檗r??送#F彛y進mZ鯑艘踍モO{8%鶿0脕鉶簉M??e饈踛鳊S欍bxe朮0覽j7俬滚椪D??敞6囍覛Ti巈\$??鎽c膓跃褒8咻惘蓠ySY経?O噩*讫飳H瞠贓謁瓥L\"?菤nB膛仁}咶*b??w4屆蓼耧\n%D處騧趃P刢??燥坝RVJ?n#?^/w\0\$8觌朇PR/Ep2I歫靻茒?b?戴蟨兀A	僜n飨廪P??雓`竎猋4鳯笚o圄O?奥{?g鉢rc\0巊i槻C?汹???,!Za(赔傚劷冩Sm2&*6浃j闖鶦kw\n贱o?q%像\r鸫+o澠\"be斈k(梗\$_P?旅??倣啜瘰.翁q崍/團禱$??\r衑gdTQ|┌? ?憠饻陱?Q奀慪1?nU\"C?P軕味鎞D?^t\n寏dp?愔桉譂幸鶄s1怆0?啿&匀?芁?犖揉?遽毯錎琟惫?K?!躺\"绝頵	\r}?膩骧HN\\? +滈E婇М兴?F翡p1\"狕mV^&Jr逅Iv1C頒(\\ⅳ4/|5%覇2頬&jc(襫c蔦r€V±襠B,\r嗄4jU凈浍?嗦' 尒g罓x\0猏n€?爍F2Lv譢rJ鼛斾嵟%宜m)掟?P拏琝$DRIh?c	k?\r饒\$|1\"騂p`?l\"s虤~c?q謍?墟i&?蚬湟▊?Cz1K舀r?@?d置X倢磧n貰?梕?}/?W眧赲"?K鰍?L殙&?j7??\r鑔??L99畺踓@8?:犑y嘲*b⒙@?s?肖变?驢蹯?孂1縅X秾辣\"~裉J萬m?bB8I ?s\"鼈.?:@FQ=K鑚?鏽?0?d+?E??砿鍲H\\洞G逶!Q{K 珻睠帉F榭%rlC噚/€?;break;case"ro":$f="S:泿哣Bl?9歀鏢悺垉徚BQp掏帰	碄p:漒$\"杠c嚋宖樢萀歀?┎>e凩斡1p(?樚姊i勷i?L営I藹-	Nd芿9??懭@n崣h鯓|鬤\nFC1犜l7AFsy?o9B?鉢r賳?F园?2`u?Z:LFSa杬E2`xHx(抧9烫鼓g彃I巉;烫?,涖f?罹o忁N茰?:n?N,鑘︷2YY镹??蛊蝸? 楢蘤?祀?鎟'-K煟??!?{轩:<碣肝\nd& g-?槫0`P傓尒蜿7?*€八谸哱r▄?紝ˊ?m\0覂狪陗歙I材幓5)腧4菮脛	X?宱躙n*\r)]\$-嘁赂+薓恈?\"1Ic侧)	?鱘nB?M饥8?崳(柚垦\$\n)藽k&r淕~?\0Pn.?!0?臔疚墐x蟎n'俧?螄塦序凌D4儬?嘇x^;觼r敠Q#怽\?醹S????	#h嗍栓x?颌??8B\nb孇伖瑺??鑳寞R矚F╠?足J\\?O 囹TS乞?投氩,権殎K鸃?├苜3⒓(7/c8鎵?}?!-鹒A@P??s;(`义臷n\r#??瞂0??螆?蛯\r娦炀幊昮:\"21罜L3紨蓛!閈r化(?玫o#W	N/鷺:??韦4n0殠箁? 0.T6&譒,蔗.晫9(?珀榔鋑c浳柢缎觧0S蘝=燻V踫赱8盛鈜k攒5cF鑫妠覌杠(<`饫t?篰]X??\"?ㄥ?o撘錧@S骂q|?圢梊r;4,甈魜Y屫 @7屆4軩БJ樻b犧躋????巆2?PO€X鄉h?A?堬 a@?Б??譋l4孧郳\J寅愅'2稷W舆砆婲驃?\n喰7矞龏饀!'?朸蓻?hh脮?{REH嗳wR鵙赕\$覇hHICdq箶Xb灅rPD 雵c?諽?Fd蜡0闛Bha+\$虖??寺?A??嗍慠jUK6?TJ慡錚獌J琔镣X+%h浮?E/厏癘k鐌%iC%笘L)_Y/哖脑I纒:涔B梾鸩\0T'?F歪62d?@労?f?d!浼窔筠審3A犩8\"GI连<+?椥鍻H?坧? YbVY禃6u??窩\n(勅喯X訇I?熊?|4洿?衪)?y暍糔MHYH攒?魔#a?耏.	?婩XT圡	盓(鋣U辦Q費r^H瞆?魨4?啟?_?3腬\<沑$^V?!筦s抷?叭廆錋;?oAa砚?\r鬇+?0?聵T朏-o匆妝xT/-+恟夾?\nQ.樑盯7=蓎埁蚟蟿bw	qFh(2辅?I?曕)?冋榦)P宾唘堊蓃7d?@燝(汩VL??窷C?TL?y?擧\n;s?B?塦m[+m泟臄&O倬flt?缅U迌	岯P椱?	??&XA毆1!?漼盄n鶱/皼n&9}煕2丼脽qf屌椂F泝!eN?e:WG埚+'?獊Bz﹫畏朊u?+\$眔癳圴bI?&|墱zi+俘-&\$?@\$Wr熝{K?砡?_諗2a?7?c5嶧鍵e\$y?n搻0葉???羂$G襂四9篞傥xA?≥*哯z窰7\n榩??c.n砑霔紡扤?怓暵嗮噍瑸L4?孾S赞墫\0?qe梧躄?藮裻愊f乗0(0舡勬剛\nm揃:裰;ǔJ?Z0&Ge檮g頱摂2*釗\$灢髩;-旂Q觿Rv?玼?懴t跊襖n\n丳 ?愗2)乌?噌6gGb俤阉诱o)c_€€俓rw?歕n馺+`/\\倠bx艍e砢梏拗艩馍.f?Ap	賊$蟚噸歞vyQ貑玞\"愍蹓\\垨&8乁uj淨8賮廹椎畍钸1[g{鞝[炍?檥浇奱h鄠u龌憮p%葌|.覾0?R?淟牎Y?1yL灡襬`,>+垎(nP歕\七恷?bGoOX?澙倅\rj硸?璄{炿D躦娚x暚?騖n逑?-!w3H屜\$,籈k湣NI艃wVZn蹗袃S3脃毢]U弱~5??蟣H湀P麖\\??wrm轏&Y?鮱w?v錠鸋?{D襒篖ォR7+?Cg溯Q铺r%皠靤l氉?疋祜?>?2溏U?3詐眃??9Z荟RD%嚀姜雃?邪合矻9?E譼?婳漦硊绣最M夂0?S=>囑鷡宁硓%瞎?[t?X挢筷鞲葇?觜=o躅庩%2"/脏-老m<%\r茻邂鷭恩m疄€\0忶\0蓲7+苎刧幬?\\??M??轚\"f 顲6?k#??庪PP蘌l齇?&Q/n+鳃忊蔮8}儺F厰!??驆鶥zp姁h=DF杒瓼 5儡:鋿 ,^阮N眏?@?澳罰b碍?L?瑔]BX5l豗薴怂A\rc:J虀a??畋\\i痋0?`嗜?n??|-:[瑌寕fm,QF?O巖.荫F\$Nq慡M3)FjPqa嵭<T?浪ぜ?C?羻@?&?鍠f悝:8nf_詅ge?4pa-Dg恜?惭q二霕苚恌VAE?T奖蠪f?俒?計??FG\"?侲Ⅱe羷cBm. 犅Aw?!rr\"1灶?Yr/#1?褓U#?QN?r!?\$?!騐G盠飍Q%呅G#n囻to樖胨(6鎈\˙砆h籷N瑀屚頨伛R?i镳?鋤拵M2俿珏)膶GdQB??@獪虭/?矽-詽\n??2褿义-*?	刾LO颃3牋P玷鰊Dm?翁?e@羾?蒧1?/?20黄z:%躕#\"&??.Y裖*%④P>埽-2揝.?葼^`木\r€V轡rnN7炶e\n\\Bh厙?\$<r垇B磼d\n牗繸.?x盱X\0錈艀}G6適嗎摳殉架L朶":#釨\$gZ?鷋xt)'θJ?C`<#4f?8B>瑿%销鲌nv猨H\"啅銈,?抈bzP*植N?ろB摦N@耰b?Bj懄鴛B碶\B1E?鍞鲶*??r鳜埡痯€卩O	EiE⒋;h榯鬞2碭m3愵26僱2g惺訢绵蒅\$,Ie?泞H@哻V窂 2?G&a)<夏n床;慈t瘈e俠:I豭€@M?H泡劸M铻?	噌I迕\0b恽`?哖vB?t_%&靄$+?\"?gFD畦@牄RJ`魚v膾N啼?q瞗:?榁B嗈內 R?\0t	牃@n`";break;case"ru":$f="蠭4Qb奬r牪h-Z(KA{倓⑨櫂@s4皹\$h蠿4m驟袴yAg偸?唺\nQBKW2)R鯝@耡pz\0]NKWRi汚y-]??傛	惌鑠E#甑yl矡\n@N'R)麎\0?	Nd*;AEJ扠?頕盀荺$蠽??AA??@\nFC1犜l7c+?\"I欼蟹橖>墓尋,q?愊赐.娜u??隊嗢糒?劲,&矋NsD歁憫樲辝!_涕媄G*剅?i9X冟p漝麘戺'藢6ky珆鱒挽\n關鼗N?\0\$??)篺?nB>鋅$e碶n洬mz旣杆嗣!0<=洊斄霺<悺lP?*鬍羒箐?畲(P1燱娆E?$聵炻姃磧1赨	,騎??焘秼#膆??緤蹭簲媃v帤眏???LZj筺;啓?昏?f剺慖序A瓗鉖h钜偪$?苁?2^\$}\"?	?艾p?1巃營‘B?籘选\0;-鯸\Sql诩萿z姠-J滾妓盛F&O}&啰5q?C蟅2)?6d+R麮埳<??N翍?丟Q8!\0??z\r犺8a衈庽萛\0寖h?\\7嶤8^2嵷8?a樢7??笎窉?噥x?%U[	.#榅?锘?P5?a禺LN\nb垬4釈?\"锐鯑?Mk旈N	盶0樃?嶢姿2h?2Z[慹G&??餱f?\r鄞C 錦\.?r:b嘎9\r坐螌?V?燦牖瞩籰;艶兂vB?2M/*~簢?蕦?Wцn?9蟦D擤!愲?k??\\薇`噬姛&羽\"hGH?{S墛|蕀hhr﹟平9]阨e/5時Y%J?勒Y苅劰=[阳?e嶯节跉Ш4??B?觮U筟k<?}b伧T.~宁慲Vjkj<?@憭JbJ[Gi ?DJ呂沍k?7?J??F薛旇(嫇仯;奱?ξ?\"兟?B?娨亙%?\r~jS?_魳鯃拳8i-\0磓屔懓k镨r?Mb?p蚸€爤\rse:陈皰`tI?b乃?糝茘	3ⅷ擭*\"7墎螖绀?檣,(?u>礯瞼eG5欱@塗7€l瑯?P_玲e\n祛%桏彙g,A傕歛h/FG堲崏孞忦l诙硲 ?簮㏄XH坙^d[禼f%7斏\"O茓汣2Y?B?砂嫇襽鞪'颂yJ杨T氰i+T癢蚷薸別裊JR?y%K屌)瞚;禼窯遰t@??b?聵R蓝A??栙墍mX铇\"rIHd\$%H蜡%釽?漨eq*縡?I宩)唴r怰?@a\r连9俓0塘\0ua粮3俓0偪W?d釐?嗳繟鑍K眞1 ?侌db?7&:怯聑朒jx焧[\n\n\nsb??荲绻q梭諦D?妽GG夿?泞\0潛敵PuU+?DSブ籛z馸k調瘣罹閮\0`L???sb\0緹1F,T\njO淩颍?<c\r#%d?A才?cCA莚i:鸥IDy`灺??倉+B昹??訦CAy??H( !帰盶0@肏l\r€€1\\嗬i8r\r?堂?1哖??u筧?唘q倮h?\\?n?k矝嗞?C`s.颏rN楶阣*澈?鈈vj?JhjS:乜?XE?P斜鬋鯙汸P\\両GlA€\\F鍅脁 ?噆?C=耘L:RP覫Cpo梊n?痫u/賊r爂AB,G痃息榤,紹琯2wJW??番\"P]T?3且<纹F魤雦eBz棗>KE祭N~Q馁?搷瓳J娈.e埃W櫢?\$蜦D㎜岶)@LI?蔯E-?J塧谺\$?%歗楷Y?\r=H閦柸+EF瓗碙耰3?琁?:V憚TZ@'?‐0bが浫0?x魪杴?岞\r\\配%発?4A團PsY鱛都狧Y%Y磭摐敢??&赛l??刣碅?勡敍SAu*Mj瑡獽焺渚撋\\0T\n\nT氘\\???f褩x钨C?\r滿D聕蛈?\":?D3哻碶r曂T?疾湒疛紪m蔞恽D鼚???﨤U茉檚tq?^?歶??鬹9e佬FfP憟?+.s賬c尤Gh隯[鮑W桗?鋑=-|(yゴ?枽篩鍠诃;U+gf烦)冥h驹{rO??膫Y?t~fCU`&蹱@.雯咴浈楌?Zu2镠E劰P5楬\n?荕衔#眗寠r:h=鋚??y浪鬨\Fl ??⒕X?蕔%'/€kUX€H渨AA绯Y於C呗c箰粘0韾?Hz訐軛躥<??喺>1疱璬O?I_?q娃氯\$'薂}o渹F滪*槇mI/<忊歐!L瀳\"kp\nk膢閹堠雙饽@*啮穉O??簜藗鬢﹏薋T箜萴嘌剞O?*?譢"膋\$摇V&?璅?x&8&旑!wH嗆G~Al乨窾臷$?~鹋﹂鞓X俋膳Y  ╘n€?`悁-6慶校\\Pl,Wn@[?&翹怅[m?嶄\\H襛$n繼1骣朗擻$Q卲t耓苖N碙\n?K4F荘?!尕檊N褻幰?鬊??冶B飍H€O Q?Ν裗!?俤nF洮掟掾??,h貺⑿岇\$qDD轩駒騆磳薛廱#▓軗褝QV(*?堁Ⅵ?BI?\r?C压h(u?(1迬懫v别纳\$*R%耟 耎?燤C診\dx隥,\$'?\"Y2撷F=騖"鈂"隥瞼d`倝j@騖$釫v挠#廜l鯤剩%I蟎"Εnh?*[NH餍厘-x)盶0p忸誫:Jo\\p*/?Hx鱫|便??媝0n?LR殾1\$码!%b0dPenVQ,部-涠?ZD掰&畗?秭le? F騈q?产*揀?g0R蝙h?蹭??賝虅蝝2螖7?O?3揬n?桃uQ瑄勜u?v'緤冷\r噜d"b?蜤橓澹7鐐X缬6As*贠黋m茘\0f穃0\0F[Q??O欹9酶蘏巔霓4|釦&?'dp鍫眍祚/蓘彶?庢奜汅#11鷛r	嚱/?|K隘2NE2?0s我3嫖池=q@q蛉?G=溆鳺S)=%か薁6徦0aCC?A摜?gnz迗\"3.偐83,=p囹僞?`d袷;?ゥA?1?ER?\"臙?	BKFF〒b盕宴-隷GI憜JH%T?c	敂\$橽$q愗撡J4G.*?.)?鉔8箅01次(T襆P斲M?q翡Z粞达這s?╫\$&-?4?G?J?蘚$=	%DP晩瞴墕?↙C銍H???M芽\n顭\$食肻\#瘢 垀埮\$*,\$鄵d鋧鐽:T????瀿?諊疭鉢nP迓l??A匣渏(玄忢.?玺#眅A褖P詹l冂?.\c焅\倒Ls&?,薣B?A襂Fu逮h恊匘s踽,U觀曻鄂逧t?辟`?U\r觍^4	J暍翿t蛑G絕蛎c齛笃窉??躡?諮\$\$,j惢铼甜S?Y?@H?t慒攖}3輂3g0枬鰕[磜L赤弼uK?g?C慻!孝 莢壝磡R僫v塈F薬?k霆,yk67E峩?e疊潢嬨\$,8'A?v\\Q銉W癨$J?亜Mv[t</6&}吤o.Go夁o虪贪`:W(?g鯺禙d棇媝%[魗-?\0耾q蠆j?{6??pv掖BSuH	u?s鱝t7o?譢ni蹼^Ccqq?-?怆kv,C搗h梟忭pZ踀籡?髗怟z引t崈{PDt\"鮷⒂z??桳?h聸倠zu}衁|脷xl昤氨cP_s鹎s?Pv{\"P汰WrXt鮆BW鷉u?E縸-?N挸?c?iV嘑t?v鄍匣,路'%MJ淖眪眐Ko+J?厒`L1墔?騼e.iτq7喪*掵a嘾<.?#{P9嵘?貍V廰RM睆,z蕋鱰?F嬷VQqG鴊仏婽? j8h腬r€VR瀰>hB僢赫?5Be4靄$?e'陈锤縰M!s昻>R潆颮Od轡n牗焋q}n?墧?wC﹋撴窊绛僴}唨&i棔.GV?韶嚂鵍W晎?L瑩hv轷\\?隮?9椮I?7a圦?Fg疻y?KFU?蚼讷q?%u鉢n细噒V⑧Aq匦?/&?!?闬nC碁&PpU錢vV?譜涿JS/掫*?'啿E?P??3?=媌\$箚t摠Z詺#Ekc>锼\$瓊餁Y雑)屰,鵇,34f桑r??飠W?c8???6+}抏皶h曵?怱篖瑘??霌@驟淸Gl剽縏S弜謀r??蘋.WJ纙掏€翠u}苺Z炻0?殽?os~O乍YE櫀刋膞??EL[y?匧陞.zd阜1焅"^搙?炆X?奖X╭塤晿泂7o燲r巆vSl<X?撌k#U炡?W駹@";break;case"sk":$f="N0浵FP?%搪?γ]嶇(a凘n2淺r鍯	纫l7盘&儜厞?墻沥诿P沑r裩沿辧2洣睍埦5浳rxdB\$r:圽rFQ\0旀B斆?8箶?9?垂H€0寙cAㄘn8値)佽?D?sL阞\nb疢&}0鑑1g娉踏玨0潔2pQZ@臺b苑嬚? 廮0拻删抙挠\r?Y?83橬b阷?/苾Nb渁冰aWw?M\r婀+o;I敵?Cv?蚛0?缷肤F\"<耹b╔j豽&阦崷0曥<汃?P9P糵夔惺96JP史?蠤爫??專Z??2ǐ丢腋\nC*N?c+ㄈ<nKd煄cY員祪揉<丗!駧c`?墏逮\"?聠圞猔9.????專?魻I樭\nc食崹s嶡P犗DlD?繮愓\$犅郗睕??b`9?渇*NL?4砽逌羳Px媆$??凜@?榯呫?/僯?吶樜?鲤賊r觻???	#h鄿Ip??}?@?#mc\\9﹤槩&\r-扲+EQ償懘f-\r铽剜<2P?巿倫粽.44'脲?(嵒?燩滀'h觱5芺?7<鑘J2:7}銀?y\rMh靽?t8?*E@P??塁,?玓	0H??A#ㄘ:'庿?X厔?猫?宻鑲3忏;⒔緑羭?@P?A~灳VD?寪=(J朽竁敄4\"`L呅?黟 鍣6\r峜\0???!肇@导w@舾帀?芻纬x山V銝匕m?廣獔9篟ッ`m珫罆#m??]???	鸄B;#dgR\0\"??耺?剂?琅4苽破c祩V蜭f?,唱J:r??RiH?OE嗥\n儂B鯈萌A?cㄇ巆樛?	镹厤`彗#8潞?%鞩\r貝?aJR'#1愯?蛋譁??羛@鹞?W?37洏x F屼??蚂)叕2?蕸Ivl迦?RR\r+5p?T?? !戶骱倲鑙g凲??犝s@?)粑y誦?&㎡泮Z??/u<?湜9?g?@缆JIYY?頋?頓讈W咷齖ra簞P?E(?詣,Ra蒍?.?埅匭古P胋\n?逝\$獷嗄蟍鱸瑏?'樏b誠r*~(眰rN慍奛X1拡MI?D饇4缆盲搱淋彽?傧黒$I?哻dE嬘垙]+櫖敜U\$\0?Xi{\r園?产f?l^	.\$€?I5騚s,S1巘?1?N斝SHV虲?AN}?!1*:秺&槒哠R??\7?綡?}锱3腿殠?-)凘?p凪洎膅?Q?S諯Iy1y發鉢$?M壝魸+橊苦磘晖俼J*釸HXy3?PFAd9?l\\8??1?惍慐f? W\n亣?II?o\0饟睦墤@P	酟*,E岾旾醼u楶楏侼擻n??矲V??盘:淶8┿Z呯S`頵3cy隃7椕偧K?WA2襵^羂0F\n丂鄦遴K?嫨(?u)=╠S\\5擈!IKQ9劁蚉?乗0U\n 匑? ?&[|笅i??伓+愪甎V\$挘F榁g满Nア<G徂<堯僒蕡丏V宆颺rt.奬$=\r媶\0,??洊sY?扲儷rO8?\0@F噬l.fQ?燧?z>n丰袖梊n葋a匎稗?E鞺2a€?鞾)篱X!?E?3MI甋l?t鄶Y?xb亶-煑0L-獇\n?o楤C?灙欟%bq*?榎$?孙C?l!?ErT櫹?藛P顤儃6[Y,罉77g姾,n箈鍡Vx3衐?!獄 聗扼??,1趷?韍镜?儜辔j^XmK燈?鋤獈?26?9噬?A#k絿?褽乀嶶)R?6t瞹.i\$綒薟\n丳 ??*.i5G嬘?k?\n瀬狕櫜_驂^\0集/c3CZ?8耼-綪W齔J羍h譧訚軄疹郮猶怫杨I'?悍d菰cx镣JRp(i掬鍽\"嶔[Rq呥宄u炌?鳿$茳 洅)Ph)}岚趓	Iy櫰]磓W&H応lh0斞}鄚a觯^绪lo頼聺?洔顐?}莥?滙Бm嶱|鶓宨hr@	'3)慙┉>眰巻汖p\?6%)莲\"咬S袘恉?P抃$M忊疙膞?M*[q=(炜槱>G?詡?eZ矆W棄>埌\$!Q?襔?萓?rK釒Xv<)\$犵?	官'瑏梛城Z棬FX舡9}wK郤瞡??;/S???:輳嶌鳯鈢飢p鬼\"\r:r€?伩D】S螇\rj蔰啴璋\"愢內0R L虍古癪E”霋傿6K鍸J鞝b纻n酧⑨?EG氏\0餼k榒€茷\0群逍/赌,\0骡,?斔?/畟匯?`快\"rOd鮋谗0P繮T?虈o?瘯嘺O癿系衱??r?\r`X\$皹1/R.完?殈?邔8咝癌\n袭 p?O?嶐鑞H?8釶浦0??\"ab@醠F丳噤囔% 喲?盗t8蠠,?罿@?M??礠襋?vPj溾RM\r嘣\\凱\"蔦$'馤筬:V(L??寣&dL~\\囮凾{^R裻RQX宫8酙4濋:?.癨\~*?#f?腜X\"??(+)蔦$?疡\"?&肖繺\丅k蠚]\r葖綳b?n?鋉p筡r盇叧苹?/_?1>? 峷?cㄖ(彲蠰?h;?9p?"\"?袘\"優8S\"聠2gHp脳\$?n€麦d?fS?`罇\$羭X?睞\nJ'Q\" c?p?%p?钮???挍褸\"o聪c€z鎂e?o享*0鑊rR陋恊F瞤r%Hne\/黵釰_晌E 郕乐'??\"藀匉H?鈘e皝*┸鷃柴0P?爨鶿$?\r2新?0騖\&?1`?抻	 +诣識?掙N傛?3揈5M:\"?页V媠A-)?舶[??M,?8\\Gr\$妙驻B?}5铲玷踵闗ぞ'?提:m}:硾72\"F\$罜蚠*P晡\nPh来\$MC媲??鏙, .>%?'炷^?z嶾$婷]>J:閾曛\0骈鄸\$?呾C犡(\$猏n充h狱?\"A癁\$#怲囹s\n\rI@?`謝\0謁?願X('篫&藽?1牙誯,揊@曠萛n牗繸\0A0\"6<頹?@\"e鼫薪\r鹄\r畮涝朄?頙?$4獻瓹K殪枭?0淏:#?vgj2`汬嗵E€瑵aJ\$dX5?衫U\"?E鶿$/誠0?;J??O虶 槺ム漤歰\0Qb??必#Db@g铻忳.jaS-历懽0dT罛?誅砂€倗&鶎?L黤L澅璙?o揢?V4z^\"瑘擂	RRL誖0g纼q隢@?\n茺=%3谊\n士\"曦tu籠$餦"乡籭窻CT5?軘鋽嚓おr祹鱿竒 ?o鵡?\ndIN:9#r打1咾T逻OUZ?颣??k踑+?fV瑢g32?KHl€f?xGB	\0?@?爐\n`?;break;case"sl":$f="S:D憱ib#L&鉎?%搪??6涏ρ嘎l7盬茡·@d0漒r?Y擼0殠芚I 櫅\r&硑涕'斒滩??%9惀銳瞡n?蘏閴哵 #!樞j6? ?勽n7偅F??l婭巻斮/*罫啇QZ╲?でc旞襝棖M鏠犆3帥鄃#N\0豦3橬b	P€阷擛s唭Nn鎎怂蔲償.置栝哖l5MB謟67Q崰瓎籪n淿頣9?n3倝'?Q姟?導┴(猵峕/?旚襪g???e?骀骪$熼)??奭6嗼猭歭棸N慵醍坈?瓹H嗑?? R?ㄣh剬(▌?#?	?E堛(?專犱勀b浂廫r瓄J€竓L_!僜\饘PQB?q`巌\0!,蝎?μ(2丅5#虦犌隆鈔??z\r犺8a衈庴h\\跢獉?#C8^鳱懵7cH???	#h嗨艃p??|q`?>屻\$:巋?墢r^楫麕塰(\r鉞聭\$眯沃寖?爟-?;.28暛n?嫴?\r镎j2R@P?p螉劘槑€M?ZcR鏺ZV犛n[?C`?宺?	q[喙嶯r22裁\$?hH?!j4-0?ㄘ熯僠?T+(猫?宺劏-儛隫Bn摦劘僙?'売垗\$埠熔&#}?S豹?\r鉫Y,郷豩?X\rB9宧[経7簇樀?9祶uz嵕	5?Vu觫奬r惨*ё錏N&?湪???幟|轫??k藭?jp▓!lU?4簶R鶃?S?0虧*	x?J)53*嶌柸7,豇:寋P?屫@?炽?s#溱6柤??@?罈陧(?瞆?b槫#?P敕p@3#Cn?贿嚨"_'??s鸿騘*1貃7?L酐g\r惙aOH?戏/1?臕a|2O镵Q蚒闙??伆?#薀H砷<?劍枩?%???鑣鋒鷨P饍擞羱	侚螝SZm榻螫\$?摬x兩?犜*嘨私?驉挃>?BH@豐梋風?儀M蕴#&祃BL娒xgeB4?dA\0ad?俓0?Y谪 K?>X}Cf偰Q?鏎铦!磳闘殉鹇?\0c/K?戰鍷?7袩?T澥?\r\$9P衹艍?\$\0@\n\n@)#,队p蓌CO錌1?,枌睒г鯂C6iL?#鋩;?jNR塒2mdMl:鐽4'??掔€?(璗蒤">?hㄗ蒤n[EC漒"&LY'\r'源???d8皉|裣)|膳匞訍??r?棪AI?^陳盃聵Tx!i藛.?薩s5Q蓳鬐章艡`跍?&相\np?厼m?U鄟?x蠤?7罵O酬y濠?釟|?銵託U7D?泙昵\0Q診r&?uF瞎╣圆*#猧W韁\Pr?倀?5狧殖dH闰\$\$(馂扸`J\r?I2锑檮淔?k6Qix濬齚??<?韻翉K-鍰f~d冄?Si茲'W?[k▍㈱垖泫揬r顈q獸??vT?~庒6R\0镠2?╝7?rO匩e屨9?[藢脵3U€(-讪?J丮?IT呟.藸€礷??J(68? 磪'A闥搥?C骇?炀]掚旔9喗?\"芙[搉h8?殀;Da麤?n阨?->蛊剒_0\"?喣z┾I]顚?悃?奰E蜅刧扟o?\r崃3?1戗懃窆稴詯?!P*?鮬Fj0怸s劦椖?*ㄜ3V%駅傭暗?唄+?扸#?.n姑5_,譁€/\\2綋%澝\$=!??\0Q袭m0錢獚瀐{袡鬚理牨瘹.H篃?淟8i?7桫??|掀?f-1?佯产x渏炸魐湤隄'竌衵ㄉx??\$琳珖eA拮鶷蒳Or€毿餵mF?圃\"歷乵嵈I柧葑Y弌?V ~?F_nj]謁wn彷鸂o\">d種鎏A塐畈b9?銽'o鮔P	Q,Xd}誟^ P僞?	EヴZ	y奖辊遏豺Y袉\\:9妊9;1?筚??sJEH阱悠猆Y#\"扅?旌鸟D閹`K芎gwY?4?鴖!t?x*螟獹卯,刐?v/?矸}?湅坐籿齛劥7m魁絃7DC辦A4鲗睧?q汰?F網\\@yC倫!薁謬ヨN?綷\??賤蠖亟帨p	r[Wb嵌儙>隟憳畃?霺3 漓捯o?腳E?p婀<髆~=瘉?鱺^&}\r3?3}l焅n蛍#U{缸}k轡0辗?菰O€U4?银捎A9龀卫J?k貁?靰>蚆r??o?Bㄖ?b-G\0O溷Pw/-d\"嶾0戾/猊?秕#嘤m屟\rj虶?M?麖堨姅?d醢_5M\$鶬⑧DBL6哱"7袌翲?#餢\$犩x 濦\"猏$皽妼9僯?歁砌"掋h*B?屑奻R芢$耡C郌\nB萷{0~涟???\\翷@掳蝄\判縀t鲸?S臦#陘/喅o奬r葯麓o?虋磪G|>倗??邱Gpy,0??W珩}qDG宋_BX]?].园&纬 ?€辤Ut1H硤?盧g馱??傸q`愧Lt&b 詊玘????b犵,?向/跴甝dd\rbf\r苾?嬔?嬲汛?O?厎倗奄??- \$*躏#.q?呑?8U孡'n4>?侗-\$bG\$北忴5LI\$剓 7%qbj韅默O\$\r3'兒?C盭(d~=抝€2PE襎/H2M ?)虘*/?\"^尖x/cb-1?芵斅鴔囔緞k筒!P蹆蕇衆"O?錗:??P.怎r氐c4訞]惨5蠾/kX耝?bb8憥?vZ2蠧?'*?r桦Г3(型??炻嬖s7'P:酚A/覩淆4臷$X㏑E镭o劂)J舄険`?雑%鄬﹁€铷?郂\n牗繸\0A\"\"鯵吗m鉓慭0\r??訐=虲:j?m?0>&?sU?v熬V蚗:g?	h\r ? \nN?\0媲硆杔?鐛?&p峧D鴅竜?誉3妐6?%鄻\r阘奲4\$+A:?+?脗B爢.蘠,蘤?柁嶀>洚㈦;DmfW?2EP8攥w1TR籘ck9E忤2?1?.‐"JF庺約刉+鴆AB_P═?=?\r痣n'Bx為'\n?J?烉铝\$湣?膶t+\0满孈闏 	魟<?1L \"逳fL笆愮馐0D酑1k垼d?F*ù\\&?fd??膤P蘐#?j蛤耣";break;case"sr":$f="蠮4傢牳4P-Ak	@邻6奬rh/`沭P擻\33`?hΑ蠩あ締C?‐\f袻J獍_貲錯h︵R苽鶢穐Q?檾jQ熗旭*?a1楥V?枣%9惃P	u6cc歎鉖?/淎鐱繮纀2?膏s\$_培T鶬0?\"u蘘頗憴-?諆AcYXZ?錠\$Q?玒宨q椞耤9m:彙M鏠犅v2圽r岂冷i;M哠9旀 :q?!勯?\r<蟆勁说色鑨璪緲抶?D歲凪|];俅RT塕滓?弎0?/kV譅鑲N?\nS?枫H?<??託谄?E襀?	昏讱鈿摬E?欴疤N贰+1爾偿??圽"瑓&,雗?kB謤屡\" ?XM爥騚?	蓀禂I憉 Q苋s植>鑛%)+A\"臞‐$悊<眛ūKV?Q??袻阧?HItAC蒨?Q掁岩Yx祱臏嬎褜颅,咉嗾!詃W&藡`为\n佳H2\"HO?虆A缶R峛A嗦迬C(?凜@?榯呫綔# ?\\7嶤8^2嵵仞雿脴?邸?	#h噱嵍噼?|-陟嶃#犻n?墐K1岆?J蝩Z跉?茀`热?.\"?稤\"?*設閗?p\\o?q??绳6h(嵅?W??嶤t\$3-鯏艰`?岨z蝕劀,52摡什I,铁[V屓4翣H'ixZ炑(戮Dj疈塧#ㄘ:奥6?+傚8DPR<ㄔ禖&?薿k?镯_:??E?拃俤)nO岁C鲶彪?V	?A珠?紂K@?|?緶A 櫄;?Y?蜣K1k蒍kT	??珱6培餢墤|V仪97矮??o+n渄墫=牨e?(舥fQS;壝蚔VRr-,3诶p襠^eeG蕙鐚b閰I,_纮┦偆馃?斫*2哹蘇?锡??I{堭斗?\$~I賈%R躊繺nl崛軟癅?o翗6-B?懞奿AP7淍?Cpy誴嘝?蝡s蜆擂袗s嘆9C犅肻nI?0?N?`さ擝茞診nOA!)?岏戉. ??&<?玀EeH剤G褽K[鈂"\$!埠鱝懛(AP?嘀s?貒k?俓0偞枲r塧峳. 鹊A綳	b€D僜"?梯x/\"咒遯'啺埡鯺Y弮0.淴D陡?抜F挳	樧歅俬ag\\9Y?煤豞A?\0野C\$j揂?姳諮薡?h舉质踇?p.%??s]﹙.镴甲\r鍈痐??8玍嗗躗裄%%袰\"?E攊1c??耳AJ\n晬鋰H0衟Cc媽7\0顁僠 G8-Y梛?!歜(}淏垜\$Q?vN?\$A卾俓0?pima痰檮>S y偽 ?嶲?棦信(拞D( \n (T嚁獽?汹盕黚砰Bk?Q=N1?G02癄喽∠;g7秵?兘u嫟? 襧mLcwe?A凭UQ?y睼?:A峴AM嚱?讱4JLUf8?慗+ 鹊晥男蒢FA\$悋楲J?m嗗魐k诹-禷俓0?儀m懸BLS卜)鬎_存絿?lbI缺2U牉楼S偆卧Po耚ny??臨墯煹r鮇敨`]撱O塺45H靌?鐄拳?g謻║甞?浝?!陔\r隖???母胀丛 @偉]???跡枪\$塲?瑉\\-hNilL摬?朽蜂?'︵倄NT(@?( 軌Z?j戀<籾X?\n@VA\"劺嫆2VLqDI?!b媮 Ya?抃$,@&??屴鱘n麊P贻7:3(?亯u佩喛示鸋嫽d褖9\n\n塬Wd(暻紃恉t峖wf牪g#]?2蓨??#j搓湩挍遆yj|╢t翚s?冹D掮牿爔衹曱^t蕤{祥Zb}夂#良Q74{T*橓P扸Q9龈臷"癨\?だM胶稺l瞟I??p??.吥︻傂I鯮&N?@晇闥仴廙??泆k]Qa?0蕆枵u€圿0!碤斓b┮?愠?舱≒穲/C函犙恭?@廴訋矆q?W甧9莹郇X?aLM乃誂垼C9?宩??踿&J綱鷆?礑?%X!趡芖6箓y橱聖\$笒\n瞖4/3+颉+s*挏t3?|F屝鐣vG\n?!剙Ap鵔蝿?綶莽]脩讱.p鎋/hcu}餉鏫r撝h締7扑淎VD嚀个R#馦謮覇昘栃铿椇L?P\\`灨呵?祜系碸輢>9U賜?v娪?TM?壶戱?蠍臺(靳灀x?u?缬1?劁?蜸灖冝襎饋jP脚g娇h媧岥耚$侠飨LD傞?瘖e\0/椟/?\"杲'P麖bS??茭倐鉷8憷`%?釬\$﹉v嗜-杕\0蝒@)?A蠋鴐%?吕-鋱<-b翼萲妮衸?陑?AbR饒a腣vCL>-?鏧?.%鶸?蘇柑?p?q?b-€=纭p乞⑷a?J卾I.\0Le\"C?jk2郌荈P(曷迱帜L艭p坌ia??甆?.0?k賟酕鈻徫?V甽釔*.忕馛Q\n岯s發烨?-6TX琩:Rp??l<替I.?@埞\0嗔b9?E?钛?5k?FQ奐q?r??嶒?J?惇K\$?vqHi卹蒵?>L?3霼N淳q8镧?耵侻敿q??侽憛鞽早鹬	UqX&鏫r\"???c烯頏y@植騅n? b?r*&笔5?#M1哱\靴G!騒b?L娩黲sF@鶳	? o碿R傁驁缤b???飦'2朩/??*尧z如%徰)<<.爏韦脾,騈銘\nG2蠶2苙?策\$B3.q].邑=o蟎"騙/p@r,\n>?*孿nw\r<睪\"g璮q*鋯?g~L?塯Z???~嵵V绫冣t畠R?驤?t裄 炉4&糀G.凇n??謧1-s?,h陙犺?1S\\醝h鉷鬋帤雔炗芖'&B袲{Rk?营z疫爸??0\$0s耐溆p2s?癶%?騍=-d.骐s盶$1檀D庮Oz<笸%裓\?荺n診0顜粼d耀玉@'?てw圁Dm?鋯擘Isj#H俲 >?B嗿懋辴瞘?<\rq#N?鬛/3?鬫+蛏0SS@窑>?n術2?{,F>砿獑&2|钭%鹫GZn?u魯貟1:嚞?k蝫(冇柚晷皌镍h鞪撗L聼FRl魑斃蜠€s誂惥5澡j{Lr??QW<?N'疧饖5孇s擒L蠢`氘疧?=5\"N縈拥R幁R?@?GT堧?@H豤丕賂N絋仭FJN赓>3騬仩D?OuRS?umL晀Sn-daV焐@beMbH痑JO磌(F漋3X)薞辘?v?橩	X揬$F室魎?m?Z3隃漉臞跎	O?敌袕窒祎.b?t訒?pu\"?'铈r??_鸾\r跬,禱n鷱铘?'r参@?€鋅r€V拥婌o?K?鬋5SH?@屆€?珚Γ牚\n€?爌笒媝Bo瘗畗[抬\0弎*O瀧gむv粢乮.廷栎b&???O鋅\Uf6	ヲ\r ?.?禙C抝s??&鞃乨痝M抏笋f`J??k\"&枕T?韔#U8阸?摤v?桠芐???娉攚v訬?S*+r慼'O犐?彚?巷s址t孈蓔?+uS# 4葃7Ov>醴B)?(G?R}v?u1H?珻?-4? 珞7v宔SehEQo&?嘐?o蜆t,鼺.€??熹3?\0'o钲,OP@ ?犤Z?w鹨=?K杠秦抟苙Q\$异蜫p聽渔k怐鋅n%拋js\"砸?渍?_乹?#K!?童鏪!?P蹴(dg胐VCtbH.`";break;case"ta":$f="郬* ?i蜡F羂\Hd_啱曅?+罛Qp烫 9偄衪\\U劔り鬇?W∴(<蒤\睌@1	|燖(:淺r嗴	怱.WA曡ht錧哛&戍滖\\祦涕覫`篋甁蒤$蚤:?甌蠣X挸`?鷕j1k€,暾厇@%9惈?|朥d冞?j洇笀?C埲f4崋銇蛜鵏涒g采鶖趐:E5鹐&瓖諤.悕曨兯qu?僕[曡琝"?@駇搭\0但,-舡一[茏?蟥€衋;D鉿€鄏4潔&?準s<?!勯?\r?啮8\nRl壃庶灛蝃zR.?洩薥n8N\"姥0黻鋯AN?诿卶`矫	?&癇吾%0dB晳狟食?B愔秐K傛*?9Q?膩B浝4嵜:緛?斅Nr\$兟泞瘧)20?\n端q\$&偁???A\$€:S篜z?譬k\0覐杠9?x埽?蔝-琍?	Ju8揬r,suY┧訠胬.姯'鈽梏I-\\??娨W\",埻眿??箔J!\n?€7\r?謶<??怶*擅{cQkR腡赑阒+C??c@佶+?V伸蜴泛娉原鋌??尨鸗阚黻?墉鯚2A迓淥傺癙)?涱6訨含Z*氖湴豔9<#?\r?璒T誷b|\n傋h嶚qC\nRR蛣??|B棋h?)侄?+%抃\喃I憁5罆NB懼pD!許G噧??z\r犺8a衈廁鑌\睩\r銗?專v??潼凩\0|\$达e?佮^0囁v?#x萨緓餈)奬"`饮?r#栢賩s\nY栦?)S5罡D6腀垿D2敟n?T?\"逥VY\"\rc%)?鎟pES?R\"餡s?m?戈?韽逤1諆rA??R;+娿?I:B餿廍l?eh?蟍檚v砮\\5c圪g??+?敳UA\0+?凢?C╨€€;?C+眗??橨j?猎70锜S?A鑽^AD襖ng鞞3焗@罭6G*貈0E\njtD甿???拈劙竩胲銧?H?UY奟zN錯ひ?AKi.J\r@愗|O耢\$?嗕娾JC恾*望4韯dY@q\n臇\\DY伭Vh踯Gt驖5畢H酣怢移x裃錃朹M?tO?葧Ⅰ蔇S?汀Di 蘝\\w\\襾U ?磀?)?z亶zBR?#`^R4o.&\"\$'?#勃sd?\$魝?籠rn伭矅F\n亹耨/婁p巨x癲晟'&2擇闁M橤9擷乗nH?R瞓D妭D艒?. 罯Y?9\06w^砚\r針3颇p鵼-閞b\$@??m尅?A梨Cc=崽3@怈P?H`傍?(ajH6?O?`く0??H6f諰j珷糧^启欯?Ar2[槭>\$8p畊/綜Z峖iL蠪袎蝻\r\n噂??r態f鬥忓rD博蕆?罰飭嘀|3eⅸ馶$俓0?)s?'廊昧Mi鞥\0D僜"~吷%??>E筕я?訳R麼]jㄌ0_謗?莨}?帹???E \r-?*沂餗,\n?v没epa?\0以%I盇〃5&ㄕ毭Zk峺? 滟3hmW=6嬖蹸泂n捶桍逽粈\r	?\n\$????胨e?橠6l€?-瞚7e=X+﹙唻歕r/勞?\\肁?0z\0顉怿b<A羾讗浠a擒9\n1F儩T倳as騶p?+?;憏CLuz ?OwnMe爺(嘝蘳?A@\$??侠I?杮o0U?0朐C??~矩R緹#蘻Q??f 鑭巽\r?0?nL癉2?獦Tr擔蔦"?(楯嵃y7騀?Y殡?k臄?嶍?:P卙	模邂:暸峻\n錹T妐窹騳?z?]Sb栽?榏ts0e4!4铮慭r`Y\r-??镛|N瓍盏侷'p@亦蟎$c凉翢溾??`@€3%譥?制\r??\r窂吘=?i?kvL翍?K匼0?娄窚珚X悑W:6U牗n?H┞?簻w?韣鋟滾h蠶apf\r!??\\煻窹痄i岸q(;[R2?P?!嫅竫讶?阨?*d枋嗝I串頬吻槂c3债稿5茩	f蕰?敩马~謝O	纮*匼0?B燛]?@?/igUpPd\\:?e3-6k5⒑/CL焻祵譳|?z鏣T\阺覶/*9?G\"蒆彠菙r贕橑騛桪;DB=鸮朐獘8?赻筼=Q?y懽坧V|?~V?Z(Co憆燝Vg沂I旼襵,觞碙?佦o})煼鬨n瓬М缱鳛b<洴f祯涶/H继o%?颱奤M*圢^-陫耷豞垃{Lr?戕`?珼BgS⑽1??犺猣#c嘀M2惃?M?-?犖\r\0@蓪溔雎0^H矵栻%[Z奬$玕$4 b~\nF\0鎈r@J儀&尉T?氬潴奌犚H\"?N?\"\n`???r淒爯CF抦B4i,奵O垁Dz|#\0P	 軄?p`?l\"hKt膶r犘減c?狀瀏f戬\$w隤垗鳜鰚n菜7\r?帓1鴅?壐'?笌\\塵剏俙Bn??i荺0)JO铙)偽B&螰侪rvO*钀帹蛟o?駎廉??H&镳%唞?`*Ep銗r渏序*趭薧渁,j宺蓯謊?剖?溱B且杖'苪?癲鏥枼|?傖FTz?\n宖d邺-枔o钃脤韁0? ?\0@?\r#?\n蜯?,?祢衆$h龕YH赆M啒Cz黒$坾蒼#g裸?鉹|睳钛岤.-鴶L愻.?'淕彫t?xMj?庮:厙殊莉|鸤r*鉅\\21蠔?旪陱/?D麾\"襯榮餺(RZZd飍T?cO?纯o*庽+/;'? \rO┬?~沂眬瀄n€爽?睱茨?N?醒.?黂?1驘(l?2駙?'?D??3?-璩.)?褄彛宷F聛m?釨0岮mZ騻浮盫'鈧(b?si4d?陘麴啇z珦x?茭埠玆?z?L\"帱矇#n??/C汄c@F	p鯎讹e8D??=N?ⅶ??燗鎺)	牞f?昀d3?雐,鐟/玚硦尩膄犸K?孻	鍳Cf憷?嚧`Z/膾?AD,J\$剥S躛kJf驯:?矟Dr栥4Ny皁=?英?璲8	紼g畽F饶 1P性sF2?\"S8謶汬t'?J)I饞d?沾#)4?敯ㄣ?yJ1ⅸ魚蕢:涝?T螷1	Ln沢F駍QH萮?.璈se&Rむ朢貈P€捞?逋=H?o6嵦?Q?铒2\rk@2R蔝?賚}??O/??檫&?/1(ィR舟媺r廗鍙2\$4礈w?S眅&塯Uh\0@\n€蛎???扵4€QE €??噺昅慄倞G丟r軼表W醴苀釴V鐆L揓舴U+Tv5?徻弎H?譁促R絓\T橬U?SD數鱙訍B逧攝澅舍#獼會?Ir齃?礦f??IM敨^4臹v旜=鯜驢蚢c1砃68w鎻袇fjí*U??ER?币?玜?捘滊絔鮯a4?沉)摇 1衉q匀斴\0獉5秲\\嘆謱R?\"?r薞1閍V`貣S繡巉m?漭2峑VK\\65E?7I?峬蝍a厂cu?鄂p肿MVG_謪fUx1#?庆嗕軁覣%譢"?&i眅Vq#Q崅戟?贃籶uI?q銲&燪€蘟嬉祢惹!圁1FA辰5d魉L驊塽(醎AdA?Y?t%哫穀0Q燸?J3囜t姨i#曪%k&擬&?P钚5? ?瑢葀z?厃G:毩柕z駊?1?礷旉姉4q?+蛞铈Z瞽|?D撛慡?5諅j胷郧\\噀?籦?:Vq??a[蝶 wclwpD?'?\$;dT^???i?\n?FBo崊柵勚Qf薵O脄?J樇?W諍Vi\\槍r恉篷媥粔貈zx卍祏N菃/i\0槸?Ui漲?疙h眽Q伉蓉j磝#D茭	腏IV垫兤\n萣脝\$C迠??KAv?垨9そ坰鐉q?f6vx鶹穮磚p6灦豺寻愿If8]cV	鶀?晳9Qc{暣Z僪:冾Qe?4踬\\鵟"嵯觟鳥H檾聶?賵鱅?聺歺3 載椔鱱z?乂諄3湋???^惯i兮慩趡m兏q咗ut醗瑰徶劐`x欟犢ㄘ洄?)?駸y菬?慦9孿n忝SYW荹鴒孹鐭賆`Q?藨'燊炟O帤SC愚'鶼嬾0憦湙槇瀜噣w!?Go?枙瑭塎1y潯k?┃Z牚殽X9攻鷧?g?jHZ嫍粅?)Ww珮→%浌螠d?埍幁晫餦\b弊?痀?锚?塭Z8箔鋔?c櫻べ\$U;1鶀皯飠闁T暚毎@惙l\"橶栺y曨Ci'?Zl+tk?皊Ek2裑曬?F飜??+函2扽€/駁蹆喍3?蝽^Vin錀}p'?O赱搚YC硵|趜╫鍭??yO]0?dxLX[)?P獤鋡晒{邎:棐Y?绐^;飝k?繱嘭`茽榔\r`@?漒r?綘趐@??qb?弥<@?肑V胬猏n€?爌{??踼僜n灅撳扄陯囟檌汬暚)烹藏`礫鮹昦0诶m`cU)旈L萸?芹咈x-?篭$?磖韚牵zT伐B?K洟砻5E蚡术e€劁漩?sDLj??ht鵺m)晞?€VW:o縶P獻㎞\"鍬	巖狡?C?絓"?怀[_b緧E[纇葞?麬?摠+竖??c灪菫恺鋬埳\"须jx6臾}om夯斔长鏝??猘偣傉堅??\\斖?|·篹妕淺n埫!憔<.v\r鉖?毾嫶抜?k{压?M韧冮I\\踿?賫旐}托(dy峅O格?樃I&膯?a襓?X铸i`冹鑖爞:-,?P`?犤E?x賸|@P	l0漎h怶-EK?匯^?矧橙?y?gvM滤轓衵\0┲?>劭器.?37趰褼H{譎銑鮋凰?€徎邛潣szⅩ 崸O~澸絒邬萜事Er韡z鸬\$呀?\0?@?爐\n`?;break;case"th":$f="郳\! ?M拦@?0tD\0喡 \nX:&\0*郳n8轡0?	E?0?\0ZB?(^\0?A郖?2\0獣?珘b?窴G?n倢泥	I??J\\?珚b?.槷)圽\驐SМ\"??s\0C賅Jざ_6\\+eV?6r窲茅5k裔碷氤8跄@%9惈94樊fv2?#!樞j6?5樒:飅\\??z食y網 e耲嘰0MLrS珎{q\0甲и|\\Iq	緉隱璕銃笖棣洨?;Z玲4	=j劯崔.簌?癥7滵?厥 7?懁靑6L鍿榾棂?帍x?\r/梃0孫?诙響p?瞈0@?眕P?慊JQpXD1挋玧Cb?挛?梵梊$3€竆$\r?姑屑J倍?氱??粩Q髣煥1谮?`P?p维P.錔V?塍\0?J硕煭?糪\?鸼?H胐原I鶶艗KをZ\0Q奓\\N|?9┟嗚7吤[%B?b穑Qi(脦p{鞍*\n擻$煜拍?&?€嬃?99E愩?'适岴膿.Bh8?b76廫nzL叼寘M\$#;r蚸嫖R薥\児彩禜0KTXC箞f熎L}秬ET}En裫趜櫷S?擖敒攚?B炸€jmVH陫部?縘詭L?豀U靄\R板]蟲rl8J霻贓壾^R?陲E,顠|CM??gy?nD醖媶OCN?*?/X?屃鐳4儬?嘇x^;?p?\r波?脁?呫(莓?(??~?1饞6?熔?佮^0囋繟防鉿?@涋)奬"`?付?锘y?^,M臃E)?r靄r	€稄-裏?Q賺\\a2旑S髊=yNn??7蘿D庒Tn遝_b\r?\n??J?鎼飆?梎V罂,脡躧F`k滎J+4獀炏Nm*鄺D埜'r蝆渡头'朤ulo趼I?鄸€P墷#ㄘ:奥╡]	d垄?S悏?\ny?#?簉CD?\n睝崏]R玀\\桪Lv妊襕嬳E潟D鍩3,C尒撚愊撾O錮蔷s秶梦tボ潽2z湂阢.(EW懖蹭Yz?┸▽熜l??鼈\0??n傡傅@庑\0Lu*0?晼[惇宯t?J胼#Xk?傅H鉧\$pup澲篭$?獍c\r??并堘??A萒??A帒8瓝绩X?愪?	?驪擨fI?(W,?4?r)?7f??+1裙弗沁癇戲6CBH鈂0S?@(?{脁f帘?鵓挆2g^爨@迀?n €:????a欭\0??U`?)?C8aJ爞y俈稣Cpu@牋9倵?8r遗?\0?聬F\$??殝钨皢G丄蔳I-慿/材閈"萀v塥;Rs9?硡4?8剟?*8'W挦v*儡翔fkSq?`@ZS?秄??h\r	?c侌dl?夥&鑆溾l」A蠫\"??v喣S?P欼识fd鯕瞚_Ra埛?碓捔+40?\n彎}a莪7笆€iha?TEh?ゴ譃訸滧j韊挚a?dl澜?6咱sp阅7p兽[?n釀5烑|诩賜\n9#毈薰}XYa芢n促─??嘕?锅夾堶?疦儞ooa?W7?s渟杝螝箃P9A?娥@靃p\r/齃滸|c蝯⑹H?t蘡洚讽>n澤蹵嬦@\$\0@\n@)PhR=áz鲚笰w梊r褿3擴J竆nm?[汃[狍>к鼰饿衪?╘$?鼬?w???ap¢*?笸\r\"?繋^;?[嶾nt厖;慳]-呚?\n浏Ni蹓暀壑勚愪鶩挃}L€扞C砷?烦?餹? 0鉢0k?寥7嗂Pq-€@韟魑v齴睜p??沌杙⑵誓[	娰]'/媯靑暥b!J欐l,慇!BQQ.z尒?戌洿:|?/:H湤誗y伸箸(盬鏹w, ??佇G圜焩?偊??短c=鎯斜Y珵姹排- 陎櫜R\"釱?泥罦L?\n	?P?T??@?/\nz?乄y(?k逾lJ齝呬8(睤紿t湽|囯',wGcT\$|z氽?鲉P?(=9歝\$?t坖B}<ㄣ4閌躃9-ィ筩:?芉{懾縊犯??鞏_R挺p\r蒙C?桺?諶9n衅恨梐c擖?澔(;?耱臰?jI蓖?麢K€?[\\1E蘔p'iu弍`?b%RrbL?j?恻罣).廟z3瑱釷i惹?-旮鵫JA?@,F???骀憔槚⒓肌}L閡瞵╮=|蝔{V鰙?wYQ戂{k臁R?d?酣跓]r\"<.E0B击2?f<瘀?鱰?{懍裙?韭舵y颸"肉挽Dナ?:N膢?句蚛"t澀?i咲D?(0S?;リ帀0翼~覯?镽v鋇(脤e&E?+呅{昴驽 葽鹕?鐲耡J\"?貴2N\n€?`?嘁?嫋hlj?芢0銨瑇豀?靷獇?[夓\0^3禗ff鋃Z%tDBf豤n凧艸%;y#笌愣?H塨骖鴮泽瑨貝>儴?羼j?p恬?+锯性亍挟}	Dz序暿d瑒蔛a@pF??鐜;?偠鼴?C(辭PIqP5g?劄2e;P鑤K??ae&0D?H_?1`\n嗍F?M苒h(:|?BQ??{'X?`Qd)叢V聉銈銿蔀V聗G#宺V胔闵?劈9币VN?ф%?h貜?DDP峔n驙e?顝RD靄"燞16?u傌<%鈴庪\r+#暗#芇rP23\"~g/RO扥#r\0W?IU&R.5\rJ〔Zt?`懭F馾8M酎塔譏(<.?J&雸禸毖\$劝T?0獬	VS?N?O⒍r!E+?,,pT鸑()&圧间ㄑ,E?#Z恹楮帱d#)?酧(1,}铥\$腟磬E?EЕ令N噺&\"郣鉪p槠3)镁霊t?#R?H鰨?(aq)畠3?0?客=)幍nⅲk?S4掵t2N?sV挀=5蓈?En?\n皰	8駑広rRk%\0??s@V弱7o\0tcQ:r]*r鱘$w0{P:BRG婈w+?媻Q*;p?鋾葦款鳬d猙迏x誠r馶r摪IS?坱?a-?Q#@銵凤?H??9M酇坲\0#峔0gI!摗644D盰@?鎰朱JS;SGY1.-1?C嚙?R??jV荺"轍vl諑蔈挰圗6}墅gi癲gs?\$Yr鈘耮F劀zM纩匜E?筵K癨0T碶n龒圉+}斁?g%銷\\?织鴜?K堾t没=o?o??AT唗箴脬PT鮄tE6mD睮N?Q'lV蠿円2a討P罅4hIR①R?PB嘒47辰Q墙(旴?GBGs	_S硆O;?7?U押'?&臾S鮹?\nW*攓-瑯:#h?[!)U鋔]茽Em6??Y?(?<%@?+溎碀4G!虂%薀F璢0T荣B誗P5l+運\氵T庂D?E誷^誠0麫@奬0苣嫱7V	7揀臔逌 ?XSc`榛aH礯餸b%b?tFnV舙B攄?虴#0暱1鉹?媋5鸙SC8朻€6e^J鞶昸!?f婕?uT贷UUvl禼hU齚U隣?W昹JV昰檉擥Q?舎剸K_兆D礥dc沰霰g拲Q梅 \"?q8Y?d?Q肚6蕧pW眬X\$蔦n冴?hvk_)玱?i佃Yj6憄桚険l??W焣s簭郃q鱘0j鲦4?p?剳Zuz鮑_(祪41a0uok塙%OS譂qH鵴帗u皊=筇米+k2so&鸚{vN?\n鶿rO=.婻斐'マu枅td顎?>剷?蓇/DQ綝J肞W??乫yFE#娂+7蔤T遻1\"筝(碋?C汫擔ww?€鋅r€Vi?`种b\09騿8重9G(.d+\0屰嗩?簤璜€猏n€?爌俹G?噿8语k?硞%?傇?b肎鈳?斣5f腬0	窰莉?PQ?|銦F耚0撉泚襛NWx6劤J暑*3隲0?\\?9?.陖7-v覯e	,TB	€挹`趉C轅dX蘪g?D鎠.榖瑯?偘螐m斍+鴔#罂g荍柳c\$鍢slzI舼肺?c怱~饠Y+&tCSd!8€▕悙=冘跔恃€?渏瘻窉媟凞_%*5烎x\\L\"粨rv鈚y)H?TS(錍籉Y?c剣㈩?sI攙%蜓-鵮B?ヌ剎P\"?\n藰犼\r存H?m庠N?撊萕z夕:#殼\"z_B湎T咂Z蓜X厬尞扡;eT?阛巠:\$翳FC揺82拵8韫w嗌9&觝e觎|?+?TU恮?;峰殐?z8.g?\0?@?爐\n`?;break;case"tr":$f="E6歁?	?i=罛Qp烫 9倛嗴欎?3爸沏!斾i6`'搚萛\\nb,P!? 2捞慔皜膐<漀嘪?bn?)虆'壟b嬗)厍:GX夰淍\nFC1犜l7ASv*|%4殸F`(╝1\r?!異胇?Q讄%極3悭羞vK吺s?宖Sd啒kXjya涫t5料XlF?:蹿塱枺x?财\\鮂歛6?瞉7泿F	赣嚎橝E=閿?4?\\?K狵:錖&鑉藹u=v螕鉧唴?2v嫫?@k禊h鶧??L`斱y覑?頢绊>c?/払徆l润-??5??籭A`袓僅 猔P?嶊`?	僅纥羘?cㄜ:╉S忭1b\n0掾丅瞊-?q堬`也?嫀4/c.X??|n7C??a?4C(?凜@?榯呫间#\"7#羠J3呴岤<?#r鄥??(?寫愱?}-@夝軗菻?2砢P???X?碸閳栊淙?j疔*rY>:=悐鉁'姃ú謳槼'=餼b詩ǔ悟篴(葲0C?eY兯R%穷\n?由(?丅}V尷?JN槵?v錢梵桸郟屶峢2H貰]Z蔦$NU???堯:濞+d????H毾p澝K+-?en1?09б皹髂┬?4柚娴4藦廐餄資W燪奜\$Vo^V罐zG悱x:芤i?诡I?[ew%,軉 峺\n\$??嚞kR*澧\r?g?Iu5ヤ?厺g惱9轡0P?丗Γ鉮僧轹烓廔>魺\r|駽搬\0?廜.垵嶸谹枖鹈m<)?镻<淁bY鯴堚\r9{€醆"锶轴嶾\踙裓$?? ?P!奲悓?S>鄮Ay嶤k2躏3韁$鲻懰H陔?駽泜鵷I8? H??蕽,?r鶻?稨?烟A?M\n(DH?bY\\鴓C\n屪嬄诗鄋R\nI韫G,蠬es奶6(蠿ax仒?鏯FT\0\"蕜?疖E?i蓴?8 /,G??貛J?de\r?茩S:iMi??鏉S簓Oi?'?犫j?j ?耭?Rg罦耊ゅM?E昴?Y媋>tD檶夡-?64!?檰90#颼?Q>讌嬝\"峋?鑌\A寘?釕?諑K@#鋭傻撠I漏醆r蒆?(\$雺\nx a@\$?U? Dt亗倞?	沗jh?鉅畩?'?茟b_?龒菆?cB朶"?鵃2.B	cj\$寬籙郍澤颸r1言灨?僆'j3D検t@躿慭"?,&炲?坱`€&A?@訨?舀?e圣??1尓?C?晩攷璎t[∑4a垶.愹汔#/	F€8?嬂y/`(穰\ri 衈i搸?bR d贼擟糮瀠\"#dy\0恈?C萭FM愺H內酇!*JbH賒6?岝?蕢鰸魣^???j8?椡q膁%黎;噃诌鵁r饾5e?檟r瀄"尿傑倄NT(@?(  ?g\\q??2?%[[?[?\"P?lE姳則3X餉dV \ng@?€薴枴r i諕VDg?梩@*L??讃VO\$闃?z炗瑪?,嘮騺肻r{C韚2⑧Q莴-S蛡JY檖H阘棿箳?2#搮 传耐洟漟WY#3f娧螜)cD?\"rA?岈疆鄨糁鈮呹琟衭M牶墧挋鍶凾q蓙莰?蘂??|{―?蚟腙朝閁??艍嫂眿?\$\0	?梟k帚F覲?	〥棖?s???7*訢獱B芘╦啹TZJr╯昄齓玈M	??]逵?s5肇酳?ツ-倨鍥萵,Q姨*g?8?葿闧乨挒樿?y鍚M% 3?%鱨鏝脜@?翧?U\n鬀d^rR嵫毀-=嘮j?aY`极?^ㄖr蠳`隲rIι鋨?D退挈旂?Yz搪犒\$g嗅19類)闡橎?捵惯_瑆E碍执刂轴?九[?zf[)0ピ摥诞6|z鸋S?垑螭諪硍?惝鳓雯[嵫妇斝j鍨搇4獴\$}╟蜥?垝?N+7\r劀)諱L員Hw坬昵VJSO鈊Zm7\0笯PHJ2\r矕V惡J媓9則煽ng师?1差櫆懲甓@Sc壍?禌,辵3L檿賅苍E浂lw尢[??炱4归(^/b.v?嗁IR\n鑍G獇 ポv┍\n钢鷈懆3僈郆鹗?m徜5徊匩}礎a朠_hIPV鰁?\"	/﹋视羙儵S秈镛肿{?d?投?@覆騴y畵;0幼^~?謋鞤潯9痚?o4l菘鈣5\$z/鵢hSp5镾谀鹟lMk便4≠`'B-\r??e沓?U焱?f韦絅?h\0;l謉/j醆0j閈0诬zn郳$炀~\r!硪禘恟囹f嗓dD乗":l?舞/婬e0<蔶9妞&貌FPF(c~徖?谜﹋?癉椔愅0蛶c.L萭剪蒐楿?鲗炆l?钍v瑺???馃	ll彟m\r0Pれ0?0氷愃损鴑??s\r0?+努眹bB?-?戌4??.T搦胭徔6陸70盶r侼^`躛猏\x彯S?揵D8?:q\$^璂 p?12?1?(DD??/\0A`鬬垰荺0001i鸬bW雉歕n]駎8疰\n囜翺坅\rO?Q惲?睍,郳\1j焯??i??H?睅螑?CpC0蔉群??\r?薏?溠膸?割.dy#秥剋?蹱@S1薔-堉誄2縞r?gFt02荳!╁\0?,H漂綴MH_\n掅\r\\XO铨.哆M?忟鉢r缄?v.?戓菕y?3bX6^O\0@dN\r€VJBE.錬.\n牗繸P兪嘽墟恇(州\$襯互4璉\0偔骪"?+Τ+霧祀?僨茾?啨CD:,瓛:qX/,\n虘W&‐$2蚨%掝殄I啌g|錒嫅?鏝Jr%910B訡??J珤Z鸷?闟琜\"葟骘\"铄#痳G钯-?I?3^y炎4g?J€˙JB懷潢損v#~?笌呡8jk獖@氼?8雤6OR鎂罄属疶1 迉d辏?\r[犩V帓5缞5&?@赳償矂?債?=臣k︼掕\"?雳N核?毪Z揹H侲⑥\r`鞗d:?K?D燭`?;break;case"uk":$f="蠭4偵牽h-`??袺罛Qp烫 9倸	豶駹緃-??-}[?筞酡倳H`R?仮剺甦b枰rb篽燿遍Z恝寙G鄫H?犕\r鮉s6@Se+葍E6淛鏣d€Jsh\$g?\$鍳啳f蒵>爺?C埲f4崋銇蘪警SdR闎鸤rh″SE?\rV岹!TI绰V睉绦詛Z?L暚轵蕯i%Q螧?剀vUXhZ?Z<,浳?A勳e嶁伻襳4?)藹t鍧NC	訍t4z荂	嫢kK?\\L+U0\\F?縦C?圓鴻2@僜$M涏?閶TAJ\\G綩R?騻???\nK丅泴4嵜;\\挼\r?T?蟂X6剫VZ(鑌"I(Lー 尮犑盶n薴@?\\挌?)D?鎵櫕(S?kZ诒-觋剹.?b轊丏挕~菻M僔僃: 偅E:f柩(沙藲l蒅??R綊猟X#D??蟖?癮燩狊贾蠹挭6隞b斖S赯檺ㄕ1DJ4MM旛'N?O瞛蔃?堁#Q?*僬&丟A?C醄?郚堞憚航抃"鐶A嗦?C(?凜@?榯呫皆# ?\\7嶤8^2嵶葛颸r脴???	#h嚅\r防??},K?寧徊9?槩&\r.蛑€猠宊7i奬\KY?th%6擇\"RdV燰t?珝鯂扜艢F芊y溺澸m婡?m摆块*瘱&3J?\n??D:2獍r臈??衚祧卯鞏J_9朥z殥\$lt峀隀稲r\\蟁橝燞B墕髼6l敍╠M鮵)oH|\"[??乗0?崈ㄋ?柖5{憿旬労5?TV}t嵨S)fh諩F刞[挅礣俚謸涫忙?曍H~??奺+q?沑0????h敤#rcc篐榔0嵭???S泋哪翕R鷘MS湬?幥Q╆^L?:&kM\"R:跖	4 ?柴?屲佹匍5鏍殲*腣锪dC亻唨員J+3X缒?.皯??晪鶽(9?1⒁跭-蕿\r@劒牂汦f??湢rG岬c??f\r嬃彺鉠y薥r瘣<俓0昕C╟gT9唃&`o鑰9@?㈣a釁曦梮n0RZ萄籒i!/脆@聵R螹?燶\A隳+㎜?E&#?厰h垝?X穵┄僜"V鄰b磾&喃#l.	郥8「5漙探\"蟒D € ?戉c`?/@稏廪\\?嗳?隮a?氮并]{鑵L枞扵nTDb<E窝?p氀?V?AIi?CS騧愒孫hagx9婶煤鬮<\0曳C\$彊赂?鏬+璿菚饧转鱛4~/鎈0?s`??│盟;琈姖哱"CY萩?x虐苈ΚZ肈K煠TT萲'le=?妗蚛nV\"?€?芒\r纮;??嶡p^2?0?C4????鉒k猽T?z欶	巹0犚?蓹倝=?胒a7囚い€H\n\0逮W鸳_垡5?I:R妐綟屇≡A谀aQ髩脽滠?Aq'乗r€Sz犞X碧9茾?F*爐:菆鋯??Hw??w"?鈀艽{祥O-i炷\$Ct蠐??\".Q\r偊鯚攦z洡?寒馤潮O曐l戝?蝁編IT鈤i团垈?伊<	\$\\<?@K9NU?闦xN草.j}俓0?儀m棐鷽嫌谰+渋c恨?OC扤\nTχI\$舋ПybxS\n庌利纨鞃拽鉘ˋ龢縩(;嘜憛萊-瞇 B櫋%2霢5?nIP;#u\郹g荰卧i]爜m???	榅铚儬堵0T\n?Gf\rnc硶馒d?幖恔Md??矋g訐(卪盶n挷\r怱?\n嘤	?zI鬨"#?fi?@D秘o鉆M?RG5z擻$编~?枓5P?^??y?鑎\$XS??b嘶?円㏎Ae惗|恀焊U婾性M狝?,s寯⒗??珃/颵羂\z!KZ恐pa琂唫D?r毴塨烛臬?鱮??	?~搧朸{杅踘骧]x栝觢€:e緻桒虳\n#Q3\\堀€u?=壉v5(伢隤Z7,顁u,剳*悜?\\煓?[=崙碨爝>謄叒N橰蔁\$肳H嘋Hzsv眱G??要q锴鉸T壖Z?*a>犟O?S?C俱g??F鐻Z9⒂P垎斕癩T泖h{樄敒齱S{Aj憅&郌??黰?[┕!)裄N邈\r詹f儗鵙)?糙/Z诫(K|<骈Nr倦澝葋-????w嶖?菳\"峔n侭e3稙(\"[頰	??p番颯?!P*?鞧W6-踸?崭Gz鈒鲵T蒤":G砳鮷柲擞bR澰ξ7?秭dm='襽m羲БCI砸b鐹i炜Bg榎$雉fO鴈@\\0j0垍糚 ▏勼?C'?0!f€L塧S\$癑釵2褌?衂q?b癨n}願怽n鰆@F?翺倹蝋鈞lP?耞?P#0&CP?\n芠\r綷$皉T饁*?羮&?o觇按n0?帀\r塆四5?]?肻0?0B移L哾賯耏\"FA?b鳳\$笒n汣@亹鑩乯=	ZU?U?-傑l胳eZE聟蜖?j?p?Qc?d亦绵?,HK郥鄦泣?携賲&蓩虝c僀\0B44n庅	癊壓濹ns鉒?柜S惏-?0濭往,S	b?)Nj?鸭jA??Q竼m/B珠坔顰K1俠??.餌?偋f溞Y?帤颕?dn织嚇祉d讎n騣/rf虦Y\$c\$y?}	??NO伴B?@埫\0郖\$LJ	?酮0?&鏍F?L璿%\$喁係(~f餋\$?駂B鹎ㄚD2\$蒔.€Q躄男甬?\$?N<EB=僃揬0P組圽$23(垎轖劰哑D?|?蒡瑙投Ng旇?驍.	/挮n庒K\0#磴/R銾?? h€飑?0?咉0鄴斾+1採3?嵊C*眼3研蘷?FM餞\$|2琟eqL鴥??羞D?b??e!P?霼/?陥埬yS勷???r'9s^T?7N0?螬??2挶3R髉綿?6螥? \r?3?m? 撹??s-3嘌據篝3SFV2?&氉'\$|?橃褕).*琤*B2%埐荋迹,?\$+B1}t*鲧fd撃€Oz楤e刓"H6鎬7痐簧挑	.碩Y-K淜蚂勨???@~? 駽謷9 蛂驆藤Sa\"捘A蚴頕~畲8雄LN?s?芋5屃Lt誂?A?,3HH堫pb鵵€嗶诌r?1丱丙=s??Pb籔砈1Ha\"虞;*MQ揚?\$?'d桻g^P\rlE_lWV@1b氌?.勷浒??JrMU擎?B(6WS?O? SW3?彄4?T?a>怏x?{NU艴?0倖At(Tu餒O臲尝俁+S#馴恣[58?0M瞱Y摗X矓n?采=	?V骡?D鯉'-\r繩薃W?Q#!U?EMz擞Q唇4?`碟ㄕU?P?4倒褢b)bK柦/N鬭c弇@?铈韅U3典螓A?@?Rg諦鷉奙桴EeT跕g偨L?Zv侶C熠_NvcZvf饘㎝錧]VD?愻偧N??荠?T犀絽jP|?l邡鉟l?@暓meI?廞涨1次JA洇i把XSw]韯誖p?js餶?Re}n┑VeVP^k稻>緭g	鹎r3??Z礂;w3q馰颗~炞>)誸?孳n扸\n螌(鮎#窠s嶿]穁t迟;7U<窨r髶ux倳x厌tw1棁讒83芯@h轡r€V箢)c靄0輋?昰F蹶=R['M覺 屛"??飒`猏n€?爌饦LD0??-+A億#萖钟 p	€pee?S-皃R?餫\0000泙菷wx)乽2T&L^乸dH岰2#虐	?\r ?\$E?BS冴D?IE95m85e敁鳿$鯸$n锽m|醕}64BO尀?\$當'€榎r熘\rヨ9?€奺趉5/抧v\n唒︿Qp>あ?氥铒?W=c2Cf撘?R;嶖S.%_1Se抃n槟'?j)畨V龔剀t扅敂賚蕳嵄??5\$診$?绑R虻?QB鎨N楽丳ft瑚@zy<?&蕡萊D缑匀蘮徼朙h,m+噋??渊躜?/?癰沝鑌n蕿犼\r瓘掚:7赜嘒O?歸hL>и.曍L砕鴳腩}d+湙?冢??1\nz偱IDY[?漝蔖蓄侉隿?宷?⒌5菆5訣C?k哊";break;case"vi":$f="Bp當&?崋硞?*?(J.檮0Q,忻Z屸?v儙@Tf橽n?pj?肰樛肅`醈μrY<?\$b\$L2?€@%9惀臝聂?屍螕劀?4藚€膁3\rF胵冷t9N1燪奅3凇県膉[桱;焙妎?鏫n?(?Ub??da艻戮RiD?\0\0丄)鱔?@q:瀏!?C絖#y锰笝6:偠?掩??楎姎鞬;?饹儅F幨图S0潔6铝絾?岟\\菖v嗄N5皣S??够g	摛p?碑鷙#鬩撫襗?版0帯規9﹋jP牁e顒Ad毑c@隃鉐*?煊奨刓n\npE嵣?4匥\n?d嬄駭菮3??&?\0陲?亴??扭嬾?b壚C@\$)远H?|?;暊堃l?嘃IV开zT穃"孭??胐PC?! bk腓V嶾0P?2蔦rENiD﨣跑???(c@?屃鐳4儬?嘇x^;?p?\r?脁?呫(較?9?\0^)饞6?`?酌爔??#ㄨ?#儀@:巆(@)奬"`觓%屡烏铂?-衕 苺敱P鋋桯lp?\nx隕e`荇筂傔&邦?+?愜韺锠KnC蛣aL@龓嵲灛D箃?	揬rI狪腨A媊塕Bc?#`?乄S!繦JpTvP??th﹢篶[俖盞袹e賁(榚r?EzP<:磍€?l袮6??C,?P\$兊&辑蜈?鍚l?帵R庱@?衒鸾节?6)步?C艦\r嵜41鯴J"r?;(瑭 鏅Y?榿[軽阎鉫贞_	逧?\\T]祻驲傄痋r擭旁駵膤?讛6骲?s茺]?軗7\" ?v]?舊C?,嶌?q\r?虯\r??;?:?q鶈Z\nH\n)\$)靯?w?媝q?.(疡=N@??牧骭?P翶抃"i泥A?蠵?R萧4镭彂姇%),?\$P 萄?B?掑慥堰?♂\0w鏁僗s橾-鯃]俓n碫潦?\0?\"?\n?*5J?榎"翍\0枘氄%罖4斝Q?E4潯?}鴗吶e?Pf?3+?铻膚:稈囟╞颚U\n¬*錪諗R~*醈+舼?nX?0?z??Q?茣	c{MTH簛v?A.=頊?BF庥?∥Q捵6竷c岃\0p?ay\\A羀睦浯郺?90???a????櫮t?\$?*!?砊(b蚛"?续鼈徺l4?GP.吂齖n (F瀎堭?尼\r%糝%襖0~3)??僆赮翜2喈儰J\r1(7篾蚲8wぅ.\0鑋醕骾琏\n(女煎?忕D膫郂\n!?涩]??沑\Ipu熽?K迸'镈⊙i鲟??,p济xr@a?%羂$?椧z肑堀p嗗窯iZ\nΒa熜?螠QV瞡v?胃htJ啋鄨籘橽$'寓繼xS\n?锩2s#侱|S崙~睷fGja:'劉浶倂#鼲v鋆?0Q\\崜\$悿V?T缭#鯪_淩zJ塧隡遑#Js?29難戋脪熿們嚚仦?:F橗??#!?I*>哱"?^pA鷊?T?奥t蜫:P穷?C埮?L傡F?bN÷Q▌月B	r\n谗%寚戲0k#a捲粅]豅?rUC\"[姆斤謁?墲k{琇脷Y羂"?bg趡-&劑{?#u蓏hM	姀B鑘eX+\rb嗢毱@PV/绡懩褧脱E:h帝?懪\$'oM&劵LM-I\rib??q乊缩:畎6?谚?r?Fenzぇ84哖頱座扯?仦?\"g衿_F綗?佄:;?TC騜枟郛1\r5鷀鹣xQ0xWY甴?鋄莫\\]rj	??禿?倱閷锬?刌?憋j冉茍?-WM衫?C	C?@?浟聯??%褁衕?DR钪嚽餪?寔扞?L?wn6?#P4窊2jM蠥vE?侫?F眎h?1Y-?锣?x?]6{铏莊|@爥p涮?媸??A熡?龋╖拾<煺歕rC\$OP釪[膙炼荺\禦I?oH閶N欀派雐審&l硖-ZT'紤\"&楮c刼?塎?昰\$V鐩悛l汼闥_C剛E絓$Ⅴ5]奉0嶒睢娢?揖TH?N缧浥n;_岄`?牝駘JNih2嘻,U吋uJR?凜﨡\n@?Q爆?诹呅??QK[*捰K?k胬肼蓴礎b-悡?N??>斾髆?镞覮m趹钅妄\r,k閠lc友橉?\"?脊,B皲4*纰?I\0Bh箫vt	?鹇&蠄>?苝\"vl?;GS鏩%缼武L鄤软?瓥?h??2.01g?蛳蝠耚\\"衒?h麿葄?-Z乗r_甛\魩 羲t3棉~.C?腓??蚤鲩b頝?@?鈐?2黒"修笑k\0{e	#?J\n?8ⅹ稤?M\\?&6P衐荕t6:Mt劲,?\0切}	/蔪皡cPl臥p?\0`QNv*???鸢f9-瀆04s?慖g#P-m犨C討`鏕爒&U崲騛_\n劋l鉹	mr:%騃Av?,€Q哾@苼犎xb衊0(D貳m?\"I餝捅懏狙Rm屌Im媱釰?n佈?甐秋睴弆?d/c?dùK?(艖0吋2 z??rG蓑堮乒R\n?痋0!傉p ?q?#K娥<{%籖&[?#g萛nl!\r9%L.Ir8[襚津d`咘&瞂<?D杝d豛$剙S蜐M?\r\\跭擭\\`?6>餬鄴)騼)pb?+B?絓n茞羍?Pw鉞0题€姨`h0屻玧?仨垖:嗦簜.%)?r?蔐焸逍Y?	描?b袣+爅H渌d€鸒驏?n?睺\$屟+d?O?N?\n牗繸癔€筃\$P鼗b?%2\$?\r狿抪00J胜\$抢5聍B?J栌?02q棼c6(g%吱喪?轕默6d朡∟z?D括p?繊p8C?n\$螭4蜮U+?餬髈4紣廃q拆琝r饽危疎>饉獴H7牝悽(?襆|L醁i:籑闌3d鬙怞蹒27?<鈅\n薖?U\rss,逥礚齅B趓F睴l肍柈.I沛?&?T7弳\"铼€\rND鐷劺銯?繿^0牁蘆?楼\$醌?,4iT聡J鈧D帽?r?r#\"膂nx顳此C:S%7(l.g瓁倾F* ";break;case"zh":$f="鋇??s昞\歳?铛鈢%搪:漒$\nr.畡?妑/d?然[8? S?€r?T\竤扞4?駮衻Js!Kd瞮磂錠?┡D猉,#!樞j6? ?\nr頤:.Z睵藨.匼rVWd^%?鋵?抮苍紞*皊#U誤Qd辵'c(€躱F摫へe3橬b阷2N橲樱:LY駎a~潹&6蹔嫊r秙?k烍{竟6麧蛸?扩c(甘2?騠搎炐圥:S*@S璽*呹擳yU離秽鑏\嫟蹤T湧?尭┯規?奱蔥朜bㄆ*刮V壬d?1[滃塿r撍q堂卢!J??.[\$筯?Dc餗湦Al?侼-9@€?6_ラD飹耄鈙杄蹅?蕐P湦虩描I??蜳)k臓パ&?1zJ穏1@滙l??\"9?z\r犺8a衈庺H\\0寖k?嶢p?醲?R妹V7cH週J8|\$崳?6毅爔?驅颜\rh?4?媸奲垬4祄┮@'1T撵C枔裎RN	&s?lW摹rt?宊Zv憨E伿]梀,?\n??;?鎳謵┬E%懮.睤Q\$LY?IE<?Tr慐A蔘遵撹?崈燖;#`?乁齼a?韹寭v?D%8s枓ZN]溎\"哵懅9zW%\0]ao煖<#Fi鈂\V諱朷<D剆鄥B 貈匾6L鳣9宑莒譍)\"?o#麵湧阒?嵱昷Z?r蚔钰TK??!秃l竈?馘1t?蘊恴L繼:<Y蔆牌]I?嵗a奛骱?凾乆堜票?允嶃0?Q愆蛜\$V*\r炖郗!\0隢?蒲c6 \r儀晤acH9w#?粊?謹p?礱@?跆,ND??NR銲玙膉Iq鋶~毊?J翝噀iDQ>c\r连褑e&顢檩F潋?烻H驗雨(鄨E>j梛玌υ)?<?G郈⒙崗涰}檎7?傤Cs5a忍脨?詺?∴8旞tOA?'錦0爺\"哘\n)F=e S\rM┱>?sTj昐獦D珚8 V!玐?CY昗唀H;p塥a\$&S黏_圦?E罔B瑒婓轢塪21嘓N篂ja埵?!儝╒亜3C懂颹鴖x/\r饧xQ\$MirT9?PGU!?\\\\扊@窏8癉牤NI袧\0?€ 桯\"堸|`??D樌啩慵峕备??h*?\nL:3^e儃b?;?篴凜??乴!aa.&壤揜nND\"赂Z琕U?穈鈟俓n^cI.?昲e貟穃r市治t?X??疔鄉w噯礙?姯錞?82汻b琅!脴'?????G?\"咝駔呅誢H協,童6Hcq恔0犛糢閬\0b\r!?+悪H纣杸€#I捴暊iT硲?*II毢?奃碶nA,靁犳	`W嫄聀 \n\"?l=??&[Zh棤b?? ??\"T_?L芕扒L陾As??郋Qwl腯?倻]?镊劏坥砝I 嶰	愀iㄆ1?r覽抩U?q?Z鰎G墕YQ?	?緵?b	歜餏>c??P檋	Wθk!叙方K?媤轐l灏p0?樐譚痑孊S?#g	吖'恡壯<肽珱o?C筯?B?;濽捕餦"Oe-?6导?,%㈣HA6?\0噉VstF\"?1Q?丮w奩>7I蔦n|廃rQhb鑳	∫\$硼??蕉G!€cv?B胼杧~巍(r藷&_?琾T!\$\n@?I沈tQ揙8脩珘碠奡蛯\\儽+?餉?v勑录Q酧k??釼紷A?x桰\"膔??目濧\n?k宖瀙迩B鑨T\"-:\\P静铽蹊\nWj9塕P罨衖(#鋭PSmμ眨澛萾't3J?,%バC跩?d媖陗叜堠?A2媴板\"ps\n諸.?EYK3Ea^Zr?鑜s堻x肆z/?~?梣?镜C?躠d9勜磢麿姉}nt?弎&摳?Z埽挕轡\灟訦%黊9剺巆\"霯aH9D\0糰敂8*饉w中孻魜艘簑J辰甌.q?1漝^	TB堹j鰵6幰嫛M5G5\"⒗磖k}t8稠{竢軝軼?挲愣蜢'啗?铐罄蜣麽|?C?受~?.C檎ik祅T簾籷菒?)戆\\?夃箋擊?_鉋?D悓鈽郈??吙???靿?腚??Q祆?\\弾_o ?\$S~FD?愻狳鬎oP?{G+账C~劬鮱岸?ㄤ鵁轪??擖\$~|?橍OI\0BP?a\0翿.畀C?!t?榣仑-艤p洙骖薧?mr?玑Z虌膀[隆恬/祯PN矜p1幃q?0靨厡?颰餽韺?嫲<?6蠁?荏鎝^?鮌烓pVZ?\n魀Y\ne钌惍鵳H聀?p\惽写Z星刑閭軈P\0<l屔昞nギ尚鐺P噬瑸??/Il犤袊>-郌\$g嗅痦瘅B?r昤锐蠷g尨窯-t雦褍税赼v窶殳GB?&罛(?81TIm<:頓粛D?璈陨?€鋅r€VgX`?鯫F(b肵v舊\r 蘷%x6爩??狣拠\0猏n€?爌.?*;油0羔^q??#亃古??\\\0?q?醘償.!咩屷C捊汜 銗熟菜g:P襔醊1€榎r昃\r?26-?Q?叁?Ii?.t?羂0.P.膧诸,産??z媗鍌XI朽慬n蝻藑'€\n啰螩\$2娐猌\r噜懪?k'蟗ジ淍佁d蘞o庑氘q%k婰,孷氩天讨1RhF\$6軵t\n?犼\r?偆??犉√rZ啸?\$距?&兯'+lG%???'Ky啑\n?&g蜇漩?\$d@?\0t	牃@n`";break;case"zh-tw":$f="鋇??訒\\歳パ熙鈢%涛u:H鏐(\\?珣p妑爾neRQ獭D8? S昞n乼*.t?I&擥慛斒A胜S筕?	t%9悂Sy:\"<峳玈T鉅,#!樞j6?1uL\0紪頤:.柌I9搱桞?鍷&]\nD猉鏪?舽-,皉〒蛀嵨鰧??蟥€衋;D鉿€鄏4潔&?準s3亹聇?\r滱新b?エE旹1晦裕蔳:鍃鏬#0,'}眉b1Q鋅\y\0鏥E<沥躦枹S?)歇OLP\0?敨:}U锘嵩r?蝈磞Z??se\B溑ABs枻 @?*bPr栴\nΚ???Oc犄癉\nt擻$袷O-?*\\CJY.R瓺L怗I,I綆I褸H嫋艖衃哀)r_ K痮婌?')tU滃檞/ax].J??チft(q蔠惾泻踏U蓈?猋`\\吷\ns蜸?,颁2屃鐳4儬?嘇x^;?p?\r?脁?呫(軳廫r€??}>)饞6嶾r 跲佮^0囆{QW禖x仍礳?)奬"`邑7GI\\@??Q!^s攨?H薻豞暻1(\\蠸襪痩踲Z髊:,I<t??WB嘎9\r勿?□啬<?@?蓈lK塿t?藽旼)J匮3??崈燖;#`?俣=挅愬霻\\Yべr?B朒?躵e偬B耨蝆?1IJD}歀?1Tb'1pM?鈢儊B犓P?I*[蔈2[嚑?#ccR鄞乗0??s穈湦墈??I扑q兽7?碶\芤導絓\瞹尉Zv]贠烕&鸲尔7溎駇?ebv灔_?佳蔆桰os馶\艟<?邐)\\_Z跂祶dd8寧L?^l修3胑,軴摕A◢扈鄞?\0隥帲朴巆60\r儀物acR9y??涣?譼ㄜ:叻垖臘Bib槫#W僝<?DY?膇袿傫??D爱B\" ??馶\2!P藛嘀j2歽蕫飩\0偉皉{翇S*@去?€PJC€D僜"?胭Y+Ct蔻r纴\n%?憠忰?(?!40?`岕Ma軲+鼎J?€??袪?嘠*-F\"みR桽*mNΘ昞"?隊9X珪?V?+€挟曚}/轶1犩マXnV?猦x/??燪\n笔%`y饌a犕?!?鎹?#5!脭J絔???褄a完絯馋彳?F6`芦羂0c婮?毙纣纫@?犛\\凨4i%m\n裉#牛骪n ( D!PB\nA??倫CI?j欵I蹴 L4f?唳儭?唋7宝:鯟减?霹巃\$G@瓭\$dF Dq.&声 ?叓'?殫!\0O?g囃uQ(?	!?梫J?宨_鍁lи?,~'\0?儀m冃侲EdЕ賅因}??M蠵	酟*)i@/?M?閲0圽\(姃襲l??凴*d太h噁膘?xi鄟`蕔<剀?*yM?瑹烼\n劘儜橲碦	a???⒃BP戻O	纮*匼0?B燛V?@?-㊣l?嶲 ??渖f祐踩E蚂??悒u幜?DP]灹p\"頰忪?w?_?q長容?匫摄\"惾?搘??w?	Q蝄$H?m荘:p奷鋅\E??KqH鈂$D!XC詜Gb>凸??虦j?軦!\n(毫!f?腏~謟?斱槭癝\r!閻N礨?84拁z?膟H??ビ8莁幄Y疪?醔舦h?w)b﹐.碾姲?倛r嬆?脅蔣S+?9呅怽"虢墬\0.n%%捕^藤程)拍﹡艉K诇3杢奢<?\0(謾?埍汊1y昛痪b椤AtuE囟乃0r?鎨Q\0鐳@*?@?翤 踊??)‖炨蓉E矕'??\"?烋>:\\宴<癄餈綥y-廛菐ma瑓O	q	?鹟~盆?\"|_舔孥[x?栙挽3哖eb T嶿?DbWh靰f唚8?K	J豹€茁)膢悑<朜7?\$P魋媋'%\$皝垇嬰寲翌s?v赡鈄隲nnm壓7覾$Z鈑#A寺??D碅?B持廫$譊讫攧??\\\";艵?僺bT?|EL>]w棉xn?耹Z呌 U闒uuu逬Ig噍B皴粡`:?怽\鰘N揳飇o}?w #m赮盛U鍤(卝@%燶"T\0喹侚醗b7湴4Q鈬/岒2輀?K{VY[yo綑9晳\"&聍謗礷???竭奸4軘犸d紳kp犷港捃鱇^稶w=?驧筮娍w觳儘撄渵[}遰p=阶?椫剮?槊E_D+喻幪?ыУ}夆<匎薡?-~徝龣橱拯u?9?泗$9L???]?%羘?楨?9K磘螧`垊*丳?示?扞燖筲:L#?飀@菍O?\"??蚾虺?\0尃天?G?O0鳱豙ゾ\\\"镌紁€尚嗻-*絇?BO{	ツ?n淹 镶韾琭惐	O{m\"o?\r%	l?厷随Z荺n?羄hP, ?琝"|?n?痙&?!!??Q	N豷鍸El螄?为Hd面]倈*Q%?D翬oF?娵m颈J?Q\0[k?J鶤s?M腚慓+厉眜F?QiP???2袖?f掆QN务?P?慳祢L?穴)dhF膓\r娂m0>\r4睓冀Q?鉢"	殦€萛"脘h\"?蘚nr荄K嵷\0牗	f`P4郣*A??VHYAF?z%羈軭x@B.?錏蜉幖蜑?#@?@?`苮@芢r`@懪c?6'擶@?菤Xct薥0\r犼ЗL|葀\n牗繸\0@S菻??Obs葤侪畜青#嬏v璬HN?罌'RxY?佇嫖€9?C栬Dv?`蛻`2 榎r觎\r?3C\\6顽.覡<*)a8p??nK?g\n萍闚z馐煜?z+?BX?泥騖"'甛nb刌R决H&l岼2?痋0施\0?	@R瑢7S5\0000,涣蘤d%锆\\/L佛E8oQ83 鋋,\"蛬垃摾?犤0A\0 fs?馟\"蘀贺年韆?罵鐒?M2珯\$螟 ?綋泻c??Q?Q#撂?瓌fF@?\0t	牃@n`";break;}$mi=array();foreach(explode("\n",lzw_decompress($f))as$X)$mi[]=(strpos($X,"\t")?explode("\t",$X):$X);return$mi;}if(!$mi){$mi=get_translations($ca);$_SESSION["translations"]=$mi;}if(extension_loaded('pdo')){class
Min_PDO
extends
PDO{var$_result,$server_info,$affected_rows,$errno,$error;function
__construct(){global$b;$Xf=array_search("SQL",$b->operators);if($Xf!==false)unset($b->operators[$Xf]);}function
dsn($jc,$V,$G,$rf=array()){try{parent::__construct($jc,$V,$G,$rf);}catch(Exception$Ac){auth_error(h($Ac->getMessage()));}$this->setAttribute(13,array('Min_PDOStatement'));$this->server_info=@$this->getAttribute(4);}function
query($H,$wi=false){$I=parent::query($H);$this->error="";if(!$I){list(,$this->errno,$this->error)=$this->errorInfo();return
false;}$this->store_result($I);return$I;}function
multi_query($H){return$this->_result=$this->query($H);}function
store_result($I=null){if(!$I){$I=$this->_result;if(!$I)return
false;}if($I->columnCount()){$I->num_rows=$I->rowCount();return$I;}$this->affected_rows=$I->rowCount();return
true;}function
next_result(){if(!$this->_result)return
false;$this->_result->_offset=0;return@$this->_result->nextRowset();}function
result($H,$p=0){$I=$this->query($H);if(!$I)return
false;$K=$I->fetch();return$K[$p];}}class
Min_PDOStatement
extends
PDOStatement{var$_offset=0,$num_rows;function
fetch_assoc(){return$this->fetch(2);}function
fetch_row(){return$this->fetch(3);}function
fetch_field(){$K=(object)$this->getColumnMeta($this->_offset++);$K->orgtable=$K->table;$K->orgname=$K->name;$K->charsetnr=(in_array("blob",(array)$K->flags)?63:0);return$K;}}}$ec=array();class
Min_SQL{var$_conn;function
__construct($g){$this->_conn=$g;}function
select($R,$M,$Z,$md,$tf=array(),$_=1,$F=0,$fg=false){global$b,$y;$Td=(count($md)<count($M));$H=$b->selectQueryBuild($M,$Z,$md,$tf,$_,$F);if(!$H)$H="SELECT".limit(($_GET["page"]!="last"&&$_!=""&&$md&&$Td&&$y=="sql"?"SQL_CALC_FOUND_ROWS ":"").implode(", ",$M)."\nFROM ".table($R),($Z?"\nWHERE ".implode(" AND ",$Z):"").($md&&$Td?"\nGROUP BY ".implode(", ",$md):"").($tf?"\nORDER BY ".implode(", ",$tf):""),($_!=""?+$_:null),($F?$_*$F:0),"\n");$vh=microtime(true);$J=$this->_conn->query($H);if($fg)echo$b->selectQuery($H,$vh,!$J);return$J;}function
delete($R,$pg,$_=0){$H="FROM ".table($R);return
queries("DELETE".($_?limit1($R,$H,$pg):" $H$pg"));}function
update($R,$P,$pg,$_=0,$N="\n"){$Ni=array();foreach($P
as$z=>$X)$Ni[]="$z = $X";$H=table($R)." SET$N".implode(",$N",$Ni);return
queries("UPDATE".($_?limit1($R,$H,$pg,$N):" $H$pg"));}function
insert($R,$P){return
queries("INSERT INTO ".table($R).($P?" (".implode(", ",array_keys($P)).")\nVALUES (".implode(", ",$P).")":" DEFAULT VALUES"));}function
insertUpdate($R,$L,$dg){return
false;}function
begin(){return
queries("BEGIN");}function
commit(){return
queries("COMMIT");}function
rollback(){return
queries("ROLLBACK");}function
convertSearch($v,$X,$p){return$v;}function
value($X,$p){return$X;}function
quoteBinary($Rg){return
q($Rg);}function
warnings(){return'';}function
tableHelp($D){}}$ec["sqlite"]="SQLite 3";$ec["sqlite2"]="SQLite 2";if(isset($_GET["sqlite"])||isset($_GET["sqlite2"])){$ag=array((isset($_GET["sqlite"])?"SQLite3":"SQLite"),"PDO_SQLite");define("DRIVER",(isset($_GET["sqlite"])?"sqlite":"sqlite2"));if(class_exists(isset($_GET["sqlite"])?"SQLite3":"SQLiteDatabase")){if(isset($_GET["sqlite"])){class
Min_SQLite{var$extension="SQLite3",$server_info,$affected_rows,$errno,$error,$_link;function
__construct($Uc){$this->_link=new
SQLite3($Uc);$Qi=$this->_link->version();$this->server_info=$Qi["versionString"];}function
query($H){$I=@$this->_link->query($H);$this->error="";if(!$I){$this->errno=$this->_link->lastErrorCode();$this->error=$this->_link->lastErrorMsg();return
false;}elseif($I->numColumns())return
new
Min_Result($I);$this->affected_rows=$this->_link->changes();return
true;}function
quote($Q){return(is_utf8($Q)?"'".$this->_link->escapeString($Q)."'":"x'".reset(unpack('H*',$Q))."'");}function
store_result(){return$this->_result;}function
result($H,$p=0){$I=$this->query($H);if(!is_object($I))return
false;$K=$I->_result->fetchArray();return$K[$p];}}class
Min_Result{var$_result,$_offset=0,$num_rows;function
__construct($I){$this->_result=$I;}function
fetch_assoc(){return$this->_result->fetchArray(SQLITE3_ASSOC);}function
fetch_row(){return$this->_result->fetchArray(SQLITE3_NUM);}function
fetch_field(){$d=$this->_offset++;$U=$this->_result->columnType($d);return(object)array("name"=>$this->_result->columnName($d),"type"=>$U,"charsetnr"=>($U==SQLITE3_BLOB?63:0),);}function
__desctruct(){return$this->_result->finalize();}}}else{class
Min_SQLite{var$extension="SQLite",$server_info,$affected_rows,$error,$_link;function
__construct($Uc){$this->server_info=sqlite_libversion();$this->_link=new
SQLiteDatabase($Uc);}function
query($H,$wi=false){$Me=($wi?"unbufferedQuery":"query");$I=@$this->_link->$Me($H,SQLITE_BOTH,$o);$this->error="";if(!$I){$this->error=$o;return
false;}elseif($I===true){$this->affected_rows=$this->changes();return
true;}return
new
Min_Result($I);}function
quote($Q){return"'".sqlite_escape_string($Q)."'";}function
store_result(){return$this->_result;}function
result($H,$p=0){$I=$this->query($H);if(!is_object($I))return
false;$K=$I->_result->fetch();return$K[$p];}}class
Min_Result{var$_result,$_offset=0,$num_rows;function
__construct($I){$this->_result=$I;if(method_exists($I,'numRows'))$this->num_rows=$I->numRows();}function
fetch_assoc(){$K=$this->_result->fetch(SQLITE_ASSOC);if(!$K)return
false;$J=array();foreach($K
as$z=>$X)$J[($z[0]=='"'?idf_unescape($z):$z)]=$X;return$J;}function
fetch_row(){return$this->_result->fetch(SQLITE_NUM);}function
fetch_field(){$D=$this->_result->fieldName($this->_offset++);$Tf='(\\[.*]|"(?:[^"]|"")*"|(.+))';if(preg_match("~^($Tf\\.)?$Tf\$~",$D,$C)){$R=($C[3]!=""?$C[3]:idf_unescape($C[2]));$D=($C[5]!=""?$C[5]:idf_unescape($C[4]));}return(object)array("name"=>$D,"orgname"=>$D,"orgtable"=>$R,);}}}}elseif(extension_loaded("pdo_sqlite")){class
Min_SQLite
extends
Min_PDO{var$extension="PDO_SQLite";function
__construct($Uc){$this->dsn(DRIVER.":$Uc","","");}}}if(class_exists("Min_SQLite")){class
Min_DB
extends
Min_SQLite{function
__construct(){parent::__construct(":memory:");$this->query("PRAGMA foreign_keys = 1");}function
select_db($Uc){if(is_readable($Uc)&&$this->query("ATTACH ".$this->quote(preg_match("~(^[/\\\\]|:)~",$Uc)?$Uc:dirname($_SERVER["SCRIPT_FILENAME"])."/$Uc")." AS a")){parent::__construct($Uc);$this->query("PRAGMA foreign_keys = 1");return
true;}return
false;}function
multi_query($H){return$this->_result=$this->query($H);}function
next_result(){return
false;}}}class
Min_Driver
extends
Min_SQL{function
insertUpdate($R,$L,$dg){$Ni=array();foreach($L
as$P)$Ni[]="(".implode(", ",$P).")";return
queries("REPLACE INTO ".table($R)." (".implode(", ",array_keys(reset($L))).") VALUES\n".implode(",\n",$Ni));}function
tableHelp($D){if($D=="sqlite_sequence")return"fileformat2.html#seqtab";if($D=="sqlite_master")return"fileformat2.html#$D";}}function
idf_escape($v){return'"'.str_replace('"','""',$v).'"';}function
table($v){return
idf_escape($v);}function
connect(){return
new
Min_DB;}function
get_databases(){return
array();}function
limit($H,$Z,$_,$E=0,$N=" "){return" $H$Z".($_!==null?$N."LIMIT $_".($E?" OFFSET $E":""):"");}function
limit1($R,$H,$Z,$N="\n"){global$g;return(preg_match('~^INTO~',$H)||$g->result("SELECT sqlite_compileoption_used('ENABLE_UPDATE_DELETE_LIMIT')")?limit($H,$Z,1,0,$N):" $H WHERE rowid = (SELECT rowid FROM ".table($R).$Z.$N."LIMIT 1)");}function
db_collation($m,$qb){global$g;return$g->result("PRAGMA encoding");}function
engines(){return
array();}function
logged_user(){return
get_current_user();}function
tables_list(){return
get_key_vals("SELECT name, type FROM sqlite_master WHERE type IN ('table', 'view') ORDER BY (name = 'sqlite_sequence'), name",1);}function
count_tables($l){return
array();}function
table_status($D=""){global$g;$J=array();foreach(get_rows("SELECT name AS Name, type AS Engine, 'rowid' AS Oid, '' AS Auto_increment FROM sqlite_master WHERE type IN ('table', 'view') ".($D!=""?"AND name = ".q($D):"ORDER BY name"))as$K){$K["Rows"]=$g->result("SELECT COUNT(*) FROM ".idf_escape($K["Name"]));$J[$K["Name"]]=$K;}foreach(get_rows("SELECT * FROM sqlite_sequence",null,"")as$K)$J[$K["name"]]["Auto_increment"]=$K["seq"];return($D!=""?$J[$D]:$J);}function
is_view($S){return$S["Engine"]=="view";}function
fk_support($S){global$g;return!$g->result("SELECT sqlite_compileoption_used('OMIT_FOREIGN_KEY')");}function
fields($R){global$g;$J=array();$dg="";foreach(get_rows("PRAGMA table_info(".table($R).")")as$K){$D=$K["name"];$U=strtolower($K["type"]);$Sb=$K["dflt_value"];$J[$D]=array("field"=>$D,"type"=>(preg_match('~int~i',$U)?"integer":(preg_match('~char|clob|text~i',$U)?"text":(preg_match('~blob~i',$U)?"blob":(preg_match('~real|floa|doub~i',$U)?"real":"numeric")))),"full_type"=>$U,"default"=>(preg_match("~'(.*)'~",$Sb,$C)?str_replace("''","'",$C[1]):($Sb=="NULL"?null:$Sb)),"null"=>!$K["notnull"],"privileges"=>array("select"=>1,"insert"=>1,"update"=>1),"primary"=>$K["pk"],);if($K["pk"]){if($dg!="")$J[$dg]["auto_increment"]=false;elseif(preg_match('~^integer$~i',$U))$J[$D]["auto_increment"]=true;$dg=$D;}}$qh=$g->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ".q($R));preg_match_all('~(("[^"]*+")+|[a-z0-9_]+)\s+text\s+COLLATE\s+(\'[^\']+\'|\S+)~i',$qh,$ze,PREG_SET_ORDER);foreach($ze
as$C){$D=str_replace('""','"',preg_replace('~^"|"$~','',$C[1]));if($J[$D])$J[$D]["collation"]=trim($C[3],"'");}return$J;}function
indexes($R,$h=null){global$g;if(!is_object($h))$h=$g;$J=array();$qh=$h->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ".q($R));if(preg_match('~\bPRIMARY\s+KEY\s*\((([^)"]+|"[^"]*"|`[^`]*`)++)~i',$qh,$C)){$J[""]=array("type"=>"PRIMARY","columns"=>array(),"lengths"=>array(),"descs"=>array());preg_match_all('~((("[^"]*+")+|(?:`[^`]*+`)+)|(\S+))(\s+(ASC|DESC))?(,\s*|$)~i',$C[1],$ze,PREG_SET_ORDER);foreach($ze
as$C){$J[""]["columns"][]=idf_unescape($C[2]).$C[4];$J[""]["descs"][]=(preg_match('~DESC~i',$C[5])?'1':null);}}if(!$J){foreach(fields($R)as$D=>$p){if($p["primary"])$J[""]=array("type"=>"PRIMARY","columns"=>array($D),"lengths"=>array(),"descs"=>array(null));}}$th=get_key_vals("SELECT name, sql FROM sqlite_master WHERE type = 'index' AND tbl_name = ".q($R),$h);foreach(get_rows("PRAGMA index_list(".table($R).")",$h)as$K){$D=$K["name"];$w=array("type"=>($K["unique"]?"UNIQUE":"INDEX"));$w["lengths"]=array();$w["descs"]=array();foreach(get_rows("PRAGMA index_info(".idf_escape($D).")",$h)as$Qg){$w["columns"][]=$Qg["name"];$w["descs"][]=null;}if(preg_match('~^CREATE( UNIQUE)? INDEX '.preg_quote(idf_escape($D).' ON '.idf_escape($R),'~').' \((.*)\)$~i',$th[$D],$Ag)){preg_match_all('/("[^"]*+")+( DESC)?/',$Ag[2],$ze);foreach($ze[2]as$z=>$X){if($X)$w["descs"][$z]='1';}}if(!$J[""]||$w["type"]!="UNIQUE"||$w["columns"]!=$J[""]["columns"]||$w["descs"]!=$J[""]["descs"]||!preg_match("~^sqlite_~",$D))$J[$D]=$w;}return$J;}function
foreign_keys($R){$J=array();foreach(get_rows("PRAGMA foreign_key_list(".table($R).")")as$K){$r=&$J[$K["id"]];if(!$r)$r=$K;$r["source"][]=$K["from"];$r["target"][]=$K["to"];}return$J;}function
view($D){global$g;return
array("select"=>preg_replace('~^(?:[^`"[]+|`[^`]*`|"[^"]*")* AS\\s+~iU','',$g->result("SELECT sql FROM sqlite_master WHERE name = ".q($D))));}function
collations(){return(isset($_GET["create"])?get_vals("PRAGMA collation_list",1):array());}function
information_schema($m){return
false;}function
error(){global$g;return
h($g->error);}function
check_sqlite_name($D){global$g;$Kc="db|sdb|sqlite";if(!preg_match("~^[^\\0]*\\.($Kc)\$~",$D)){$g->error=lang(21,str_replace("|",", ",$Kc));return
false;}return
true;}function
create_database($m,$pb){global$g;if(file_exists($m)){$g->error=lang(22);return
false;}if(!check_sqlite_name($m))return
false;try{$A=new
Min_SQLite($m);}catch(Exception$Ac){$g->error=$Ac->getMessage();return
false;}$A->query('PRAGMA encoding = "UTF-8"');$A->query('CREATE TABLE adminer (i)');$A->query('DROP TABLE adminer');return
true;}function
drop_databases($l){global$g;$g->__construct(":memory:");foreach($l
as$m){if(!@unlink($m)){$g->error=lang(22);return
false;}}return
true;}function
rename_database($D,$pb){global$g;if(!check_sqlite_name($D))return
false;$g->__construct(":memory:");$g->error=lang(22);return@rename(DB,$D);}function
auto_increment(){return" PRIMARY KEY".(DRIVER=="sqlite"?" AUTOINCREMENT":"");}function
alter_table($R,$D,$q,$bd,$vb,$uc,$pb,$Ma,$Nf){$Hi=($R==""||$bd);foreach($q
as$p){if($p[0]!=""||!$p[1]||$p[2]){$Hi=true;break;}}$c=array();$Bf=array();foreach($q
as$p){if($p[1]){$c[]=($Hi?$p[1]:"ADD ".implode($p[1]));if($p[0]!="")$Bf[$p[0]]=$p[1][0];}}if(!$Hi){foreach($c
as$X){if(!queries("ALTER TABLE ".table($R)." $X"))return
false;}if($R!=$D&&!queries("ALTER TABLE ".table($R)." RENAME TO ".table($D)))return
false;}elseif(!recreate_table($R,$D,$c,$Bf,$bd))return
false;if($Ma)queries("UPDATE sqlite_sequence SET seq = $Ma WHERE name = ".q($D));return
true;}function
recreate_table($R,$D,$q,$Bf,$bd,$x=array()){if($R!=""){if(!$q){foreach(fields($R)as$z=>$p){if($x)$p["auto_increment"]=0;$q[]=process_field($p,$p);$Bf[$z]=idf_escape($z);}}$eg=false;foreach($q
as$p){if($p[6])$eg=true;}$hc=array();foreach($x
as$z=>$X){if($X[2]=="DROP"){$hc[$X[1]]=true;unset($x[$z]);}}foreach(indexes($R)as$be=>$w){$e=array();foreach($w["columns"]as$z=>$d){if(!$Bf[$d])continue
2;$e[]=$Bf[$d].($w["descs"][$z]?" DESC":"");}if(!$hc[$be]){if($w["type"]!="PRIMARY"||!$eg)$x[]=array($w["type"],$be,$e);}}foreach($x
as$z=>$X){if($X[0]=="PRIMARY"){unset($x[$z]);$bd[]="  PRIMARY KEY (".implode(", ",$X[2]).")";}}foreach(foreign_keys($R)as$be=>$r){foreach($r["source"]as$z=>$d){if(!$Bf[$d])continue
2;$r["source"][$z]=idf_unescape($Bf[$d]);}if(!isset($bd[" $be"]))$bd[]=" ".format_foreign_key($r);}queries("BEGIN");}foreach($q
as$z=>$p)$q[$z]="  ".implode($p);$q=array_merge($q,array_filter($bd));if(!queries("CREATE TABLE ".table($R!=""?"adminer_$D":$D)." (\n".implode(",\n",$q)."\n)"))return
false;if($R!=""){if($Bf&&!queries("INSERT INTO ".table("adminer_$D")." (".implode(", ",$Bf).") SELECT ".implode(", ",array_map('idf_escape',array_keys($Bf)))." FROM ".table($R)))return
false;$si=array();foreach(triggers($R)as$qi=>$Yh){$pi=trigger($qi);$si[]="CREATE TRIGGER ".idf_escape($qi)." ".implode(" ",$Yh)." ON ".table($D)."\n$pi[Statement]";}if(!queries("DROP TABLE ".table($R)))return
false;queries("ALTER TABLE ".table("adminer_$D")." RENAME TO ".table($D));if(!alter_indexes($D,$x))return
false;foreach($si
as$pi){if(!queries($pi))return
false;}queries("COMMIT");}return
true;}function
index_sql($R,$U,$D,$e){return"CREATE $U ".($U!="INDEX"?"INDEX ":"").idf_escape($D!=""?$D:uniqid($R."_"))." ON ".table($R)." $e";}function
alter_indexes($R,$c){foreach($c
as$dg){if($dg[0]=="PRIMARY")return
recreate_table($R,$R,array(),array(),array(),$c);}foreach(array_reverse($c)as$X){if(!queries($X[2]=="DROP"?"DROP INDEX ".idf_escape($X[1]):index_sql($R,$X[0],$X[1],"(".implode(", ",$X[2]).")")))return
false;}return
true;}function
truncate_tables($T){return
apply_queries("DELETE FROM",$T);}function
drop_views($Si){return
apply_queries("DROP VIEW",$Si);}function
drop_tables($T){return
apply_queries("DROP TABLE",$T);}function
move_tables($T,$Si,$Ph){return
false;}function
trigger($D){global$g;if($D=="")return
array("Statement"=>"BEGIN\n\t;\nEND");$v='(?:[^`"\\s]+|`[^`]*`|"[^"]*")+';$ri=trigger_options();preg_match("~^CREATE\\s+TRIGGER\\s*$v\\s*(".implode("|",$ri["Timing"]).")\\s+([a-z]+)(?:\\s+OF\\s+($v))?\\s+ON\\s*$v\\s*(?:FOR\\s+EACH\\s+ROW\\s)?(.*)~is",$g->result("SELECT sql FROM sqlite_master WHERE type = 'trigger' AND name = ".q($D)),$C);$cf=$C[3];return
array("Timing"=>strtoupper($C[1]),"Event"=>strtoupper($C[2]).($cf?" OF":""),"Of"=>($cf[0]=='`'||$cf[0]=='"'?idf_unescape($cf):$cf),"Trigger"=>$D,"Statement"=>$C[4],);}function
triggers($R){$J=array();$ri=trigger_options();foreach(get_rows("SELECT * FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ".q($R))as$K){preg_match('~^CREATE\\s+TRIGGER\\s*(?:[^`"\\s]+|`[^`]*`|"[^"]*")+\\s*('.implode("|",$ri["Timing"]).')\\s*(.*)\\s+ON\\b~iU',$K["sql"],$C);$J[$K["name"]]=array($C[1],$C[2]);}return$J;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER","INSTEAD OF"),"Event"=>array("INSERT","UPDATE","UPDATE OF","DELETE"),"Type"=>array("FOR EACH ROW"),);}function
begin(){return
queries("BEGIN");}function
last_id(){global$g;return$g->result("SELECT LAST_INSERT_ROWID()");}function
explain($g,$H){return$g->query("EXPLAIN QUERY PLAN $H");}function
found_rows($S,$Z){}function
types(){return
array();}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($Ug){return
true;}function
create_sql($R,$Ma,$Ah){global$g;$J=$g->result("SELECT sql FROM sqlite_master WHERE type IN ('table', 'view') AND name = ".q($R));foreach(indexes($R)as$D=>$w){if($D=='')continue;$J.=";\n\n".index_sql($R,$w['type'],$D,"(".implode(", ",array_map('idf_escape',$w['columns'])).")");}return$J;}function
truncate_sql($R){return"DELETE FROM ".table($R);}function
use_sql($k){}function
trigger_sql($R){return
implode(get_vals("SELECT sql || ';;\n' FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ".q($R)));}function
show_variables(){global$g;$J=array();foreach(array("auto_vacuum","cache_size","count_changes","default_cache_size","empty_result_callbacks","encoding","foreign_keys","full_column_names","fullfsync","journal_mode","journal_size_limit","legacy_file_format","locking_mode","page_size","max_page_count","read_uncommitted","recursive_triggers","reverse_unordered_selects","secure_delete","short_column_names","synchronous","temp_store","temp_store_directory","schema_version","integrity_check","quick_check")as$z)$J[$z]=$g->result("PRAGMA $z");return$J;}function
show_status(){$J=array();foreach(get_vals("PRAGMA compile_options")as$qf){list($z,$X)=explode("=",$qf,2);$J[$z]=$X;}return$J;}function
convert_field($p){}function
unconvert_field($p,$J){return$J;}function
support($Pc){return
preg_match('~^(columns|database|drop_col|dump|indexes|move_col|sql|status|table|trigger|variables|view|view_trigger)$~',$Pc);}$y="sqlite";$vi=array("integer"=>0,"real"=>0,"numeric"=>0,"text"=>0,"blob"=>0);$_h=array_keys($vi);$Bi=array();$of=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL","SQL");$jd=array("hex","length","lower","round","unixepoch","upper");$pd=array("avg","count","count distinct","group_concat","max","min","sum");$mc=array(array(),array("integer|real|numeric"=>"+/-","text"=>"||",));}$ec["pgsql"]="PostgreSQL";if(isset($_GET["pgsql"])){$ag=array("PgSQL","PDO_PgSQL");define("DRIVER","pgsql");if(extension_loaded("pgsql")){class
Min_DB{var$extension="PgSQL",$_link,$_result,$_string,$_database=true,$server_info,$affected_rows,$error;function
_error($xc,$o){if(ini_bool("html_errors"))$o=html_entity_decode(strip_tags($o));$o=preg_replace('~^[^:]*: ~','',$o);$this->error=$o;}function
connect($O,$V,$G){global$b;$m=$b->database();set_error_handler(array($this,'_error'));$this->_string="host='".str_replace(":","' port='",addcslashes($O,"'\\"))."' user='".addcslashes($V,"'\\")."' password='".addcslashes($G,"'\\")."'";$this->_link=@pg_connect("$this->_string dbname='".($m!=""?addcslashes($m,"'\\"):"postgres")."'",PGSQL_CONNECT_FORCE_NEW);if(!$this->_link&&$m!=""){$this->_database=false;$this->_link=@pg_connect("$this->_string dbname='postgres'",PGSQL_CONNECT_FORCE_NEW);}restore_error_handler();if($this->_link){$Qi=pg_version($this->_link);$this->server_info=$Qi["server"];pg_set_client_encoding($this->_link,"UTF8");}return(bool)$this->_link;}function
quote($Q){return"'".pg_escape_string($this->_link,$Q)."'";}function
value($X,$p){return($p["type"]=="bytea"?pg_unescape_bytea($X):$X);}function
quoteBinary($Q){return"'".pg_escape_bytea($this->_link,$Q)."'";}function
select_db($k){global$b;if($k==$b->database())return$this->_database;$J=@pg_connect("$this->_string dbname='".addcslashes($k,"'\\")."'",PGSQL_CONNECT_FORCE_NEW);if($J)$this->_link=$J;return$J;}function
close(){$this->_link=@pg_connect("$this->_string dbname='postgres'");}function
query($H,$wi=false){$I=@pg_query($this->_link,$H);$this->error="";if(!$I){$this->error=pg_last_error($this->_link);return
false;}elseif(!pg_num_fields($I)){$this->affected_rows=pg_affected_rows($I);return
true;}return
new
Min_Result($I);}function
multi_query($H){return$this->_result=$this->query($H);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($H,$p=0){$I=$this->query($H);if(!$I||!$I->num_rows)return
false;return
pg_fetch_result($I->_result,0,$p);}function
warnings(){return
h(pg_last_notice($this->_link));}}class
Min_Result{var$_result,$_offset=0,$num_rows;function
__construct($I){$this->_result=$I;$this->num_rows=pg_num_rows($I);}function
fetch_assoc(){return
pg_fetch_assoc($this->_result);}function
fetch_row(){return
pg_fetch_row($this->_result);}function
fetch_field(){$d=$this->_offset++;$J=new
stdClass;if(function_exists('pg_field_table'))$J->orgtable=pg_field_table($this->_result,$d);$J->name=pg_field_name($this->_result,$d);$J->orgname=$J->name;$J->type=pg_field_type($this->_result,$d);$J->charsetnr=($J->type=="bytea"?63:0);return$J;}function
__destruct(){pg_free_result($this->_result);}}}elseif(extension_loaded("pdo_pgsql")){class
Min_DB
extends
Min_PDO{var$extension="PDO_PgSQL";function
connect($O,$V,$G){global$b;$m=$b->database();$Q="pgsql:host='".str_replace(":","' port='",addcslashes($O,"'\\"))."' options='-c client_encoding=utf8'";$this->dsn("$Q dbname='".($m!=""?addcslashes($m,"'\\"):"postgres")."'",$V,$G);return
true;}function
select_db($k){global$b;return($b->database()==$k);}function
value($X,$p){return$X;}function
quoteBinary($Rg){return
q($Rg);}function
warnings(){return'';}function
close(){}}}class
Min_Driver
extends
Min_SQL{function
insertUpdate($R,$L,$dg){global$g;foreach($L
as$P){$Ci=array();$Z=array();foreach($P
as$z=>$X){$Ci[]="$z = $X";if(isset($dg[idf_unescape($z)]))$Z[]="$z = $X";}if(!(($Z&&queries("UPDATE ".table($R)." SET ".implode(", ",$Ci)." WHERE ".implode(" AND ",$Z))&&$g->affected_rows)||queries("INSERT INTO ".table($R)." (".implode(", ",array_keys($P)).") VALUES (".implode(", ",$P).")")))return
false;}return
true;}function
convertSearch($v,$X,$p){return(preg_match('~char|text'.(is_numeric($X["val"])&&!preg_match('~LIKE~',$X["op"])?'|'.number_type():'').'~',$p["type"])?$v:"CAST($v AS text)");}function
value($X,$p){return$this->_conn->value($X,$p);}function
quoteBinary($Rg){return$this->_conn->quoteBinary($Rg);}function
warnings(){return$this->_conn->warnings();}function
tableHelp($D){$se=array("information_schema"=>"infoschema","pg_catalog"=>"catalog",);$A=$se[$_GET["ns"]];if($A)return"$A-".str_replace("_","-",$D).".html";}}function
idf_escape($v){return'"'.str_replace('"','""',$v).'"';}function
table($v){return
idf_escape($v);}function
connect(){global$b,$vi,$_h;$g=new
Min_DB;$j=$b->credentials();if($g->connect($j[0],$j[1],$j[2])){if(min_version(9,0,$g)){$g->query("SET application_name = 'Adminer'");if(min_version(9.2,0,$g)){$_h[lang(23)][]="json";$vi["json"]=4294967295;if(min_version(9.4,0,$g)){$_h[lang(23)][]="jsonb";$vi["jsonb"]=4294967295;}}}return$g;}return$g->error;}function
get_databases(){return
get_vals("SELECT datname FROM pg_database WHERE has_database_privilege(datname, 'CONNECT') ORDER BY datname");}function
limit($H,$Z,$_,$E=0,$N=" "){return" $H$Z".($_!==null?$N."LIMIT $_".($E?" OFFSET $E":""):"");}function
limit1($R,$H,$Z,$N="\n"){return(preg_match('~^INTO~',$H)?limit($H,$Z,1,0,$N):" $H WHERE ctid = (SELECT ctid FROM ".table($R).$Z.$N."LIMIT 1)");}function
db_collation($m,$qb){global$g;return$g->result("SHOW LC_COLLATE");}function
engines(){return
array();}function
logged_user(){global$g;return$g->result("SELECT user");}function
tables_list(){$H="SELECT table_name, table_type FROM information_schema.tables WHERE table_schema = current_schema()";if(support('materializedview'))$H.="
UNION ALL
SELECT matviewname, 'MATERIALIZED VIEW'
FROM pg_matviews
WHERE schemaname = current_schema()";$H.="
ORDER BY 1";return
get_key_vals($H);}function
count_tables($l){return
array();}function
table_status($D=""){$J=array();foreach(get_rows("SELECT c.relname AS \"Name\", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'm' THEN 'materialized view' ELSE 'view' END AS \"Engine\", pg_relation_size(c.oid) AS \"Data_length\", pg_total_relation_size(c.oid) - pg_relation_size(c.oid) AS \"Index_length\", obj_description(c.oid, 'pg_class') AS \"Comment\", CASE WHEN c.relhasoids THEN 'oid' ELSE '' END AS \"Oid\", c.reltuples as \"Rows\", n.nspname
FROM pg_class c
JOIN pg_namespace n ON(n.nspname = current_schema() AND n.oid = c.relnamespace)
WHERE relkind IN ('r', 'm', 'v', 'f')
".($D!=""?"AND relname = ".q($D):"ORDER BY relname"))as$K)$J[$K["Name"]]=$K;return($D!=""?$J[$D]:$J);}function
is_view($S){return
in_array($S["Engine"],array("view","materialized view"));}function
fk_support($S){return
true;}function
fields($R){$J=array();$Da=array('timestamp without time zone'=>'timestamp','timestamp with time zone'=>'timestamptz',);foreach(get_rows("SELECT a.attname AS field, format_type(a.atttypid, a.atttypmod) AS full_type, d.adsrc AS default, a.attnotnull::int, col_description(c.oid, a.attnum) AS comment
FROM pg_class c
JOIN pg_namespace n ON c.relnamespace = n.oid
JOIN pg_attribute a ON c.oid = a.attrelid
LEFT JOIN pg_attrdef d ON c.oid = d.adrelid AND a.attnum = d.adnum
WHERE c.relname = ".q($R)."
AND n.nspname = current_schema()
AND NOT a.attisdropped
AND a.attnum > 0
ORDER BY a.attnum")as$K){preg_match('~([^([]+)(\((.*)\))?([a-z ]+)?((\[[0-9]*])*)$~',$K["full_type"],$C);list(,$U,$pe,$K["length"],$xa,$Ga)=$C;$K["length"].=$Ga;$eb=$U.$xa;if(isset($Da[$eb])){$K["type"]=$Da[$eb];$K["full_type"]=$K["type"].$pe.$Ga;}else{$K["type"]=$U;$K["full_type"]=$K["type"].$pe.$xa.$Ga;}$K["null"]=!$K["attnotnull"];$K["auto_increment"]=preg_match('~^nextval\\(~i',$K["default"]);$K["privileges"]=array("insert"=>1,"select"=>1,"update"=>1);if(preg_match('~(.+)::[^)]+(.*)~',$K["default"],$C))$K["default"]=($C[1]=="NULL"?null:(($C[1][0]=="'"?idf_unescape($C[1]):$C[1]).$C[2]));$J[$K["field"]]=$K;}return$J;}function
indexes($R,$h=null){global$g;if(!is_object($h))$h=$g;$J=array();$Ih=$h->result("SELECT oid FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema()) AND relname = ".q($R));$e=get_key_vals("SELECT attnum, attname FROM pg_attribute WHERE attrelid = $Ih AND attnum > 0",$h);foreach(get_rows("SELECT relname, indisunique::int, indisprimary::int, indkey, indoption , (indpred IS NOT NULL)::int as indispartial FROM pg_index i, pg_class ci WHERE i.indrelid = $Ih AND ci.oid = i.indexrelid",$h)as$K){$Bg=$K["relname"];$J[$Bg]["type"]=($K["indispartial"]?"INDEX":($K["indisprimary"]?"PRIMARY":($K["indisunique"]?"UNIQUE":"INDEX")));$J[$Bg]["columns"]=array();foreach(explode(" ",$K["indkey"])as$Id)$J[$Bg]["columns"][]=$e[$Id];$J[$Bg]["descs"]=array();foreach(explode(" ",$K["indoption"])as$Jd)$J[$Bg]["descs"][]=($Jd&1?'1':null);$J[$Bg]["lengths"]=array();}return$J;}function
foreign_keys($R){global$jf;$J=array();foreach(get_rows("SELECT conname, condeferrable::int AS deferrable, pg_get_constraintdef(oid) AS definition
FROM pg_constraint
WHERE conrelid = (SELECT pc.oid FROM pg_class AS pc INNER JOIN pg_namespace AS pn ON (pn.oid = pc.relnamespace) WHERE pc.relname = ".q($R)." AND pn.nspname = current_schema())
AND contype = 'f'::char
ORDER BY conkey, conname")as$K){if(preg_match('~FOREIGN KEY\s*\((.+)\)\s*REFERENCES (.+)\((.+)\)(.*)$~iA',$K['definition'],$C)){$K['source']=array_map('trim',explode(',',$C[1]));if(preg_match('~^(("([^"]|"")+"|[^"]+)\.)?"?("([^"]|"")+"|[^"]+)$~',$C[2],$ye)){$K['ns']=str_replace('""','"',preg_replace('~^"(.+)"$~','\1',$ye[2]));$K['table']=str_replace('""','"',preg_replace('~^"(.+)"$~','\1',$ye[4]));}$K['target']=array_map('trim',explode(',',$C[3]));$K['on_delete']=(preg_match("~ON DELETE ($jf)~",$C[4],$ye)?$ye[1]:'NO ACTION');$K['on_update']=(preg_match("~ON UPDATE ($jf)~",$C[4],$ye)?$ye[1]:'NO ACTION');$J[$K['conname']]=$K;}}return$J;}function
view($D){global$g;return
array("select"=>trim($g->result("SELECT view_definition
FROM information_schema.views
WHERE table_schema = current_schema() AND table_name = ".q($D))));}function
collations(){return
array();}function
information_schema($m){return($m=="information_schema");}function
error(){global$g;$J=h($g->error);if(preg_match('~^(.*\\n)?([^\\n]*)\\n( *)\\^(\\n.*)?$~s',$J,$C))$J=$C[1].preg_replace('~((?:[^&]|&[^;]*;){'.strlen($C[3]).'})(.*)~','\\1<b>\\2</b>',$C[2]).$C[4];return
nl_br($J);}function
create_database($m,$pb){return
queries("CREATE DATABASE ".idf_escape($m).($pb?" ENCODING ".idf_escape($pb):""));}function
drop_databases($l){global$g;$g->close();return
apply_queries("DROP DATABASE",$l,'idf_escape');}function
rename_database($D,$pb){return
queries("ALTER DATABASE ".idf_escape(DB)." RENAME TO ".idf_escape($D));}function
auto_increment(){return"";}function
alter_table($R,$D,$q,$bd,$vb,$uc,$pb,$Ma,$Nf){$c=array();$og=array();foreach($q
as$p){$d=idf_escape($p[0]);$X=$p[1];if(!$X)$c[]="DROP $d";else{$Mi=$X[5];unset($X[5]);if(isset($X[6])&&$p[0]=="")$X[1]=($X[1]=="bigint"?" big":" ")."serial";if($p[0]=="")$c[]=($R!=""?"ADD ":"  ").implode($X);else{if($d!=$X[0])$og[]="ALTER TABLE ".table($R)." RENAME $d TO $X[0]";$c[]="ALTER $d TYPE$X[1]";if(!$X[6]){$c[]="ALTER $d ".($X[3]?"SET$X[3]":"DROP DEFAULT");$c[]="ALTER $d ".($X[2]==" NULL"?"DROP NOT":"SET").$X[2];}}if($p[0]!=""||$Mi!="")$og[]="COMMENT ON COLUMN ".table($R).".$X[0] IS ".($Mi!=""?substr($Mi,9):"''");}}$c=array_merge($c,$bd);if($R=="")array_unshift($og,"CREATE TABLE ".table($D)." (\n".implode(",\n",$c)."\n)");elseif($c)array_unshift($og,"ALTER TABLE ".table($R)."\n".implode(",\n",$c));if($R!=""&&$R!=$D)$og[]="ALTER TABLE ".table($R)." RENAME TO ".table($D);if($R!=""||$vb!="")$og[]="COMMENT ON TABLE ".table($D)." IS ".q($vb);if($Ma!=""){}foreach($og
as$H){if(!queries($H))return
false;}return
true;}function
alter_indexes($R,$c){$i=array();$fc=array();$og=array();foreach($c
as$X){if($X[0]!="INDEX")$i[]=($X[2]=="DROP"?"\nDROP CONSTRAINT ".idf_escape($X[1]):"\nADD".($X[1]!=""?" CONSTRAINT ".idf_escape($X[1]):"")." $X[0] ".($X[0]=="PRIMARY"?"KEY ":"")."(".implode(", ",$X[2]).")");elseif($X[2]=="DROP")$fc[]=idf_escape($X[1]);else$og[]="CREATE INDEX ".idf_escape($X[1]!=""?$X[1]:uniqid($R."_"))." ON ".table($R)." (".implode(", ",$X[2]).")";}if($i)array_unshift($og,"ALTER TABLE ".table($R).implode(",",$i));if($fc)array_unshift($og,"DROP INDEX ".implode(", ",$fc));foreach($og
as$H){if(!queries($H))return
false;}return
true;}function
truncate_tables($T){return
queries("TRUNCATE ".implode(", ",array_map('table',$T)));return
true;}function
drop_views($Si){return
drop_tables($Si);}function
drop_tables($T){foreach($T
as$R){$xh=table_status($R);if(!queries("DROP ".strtoupper($xh["Engine"])." ".table($R)))return
false;}return
true;}function
move_tables($T,$Si,$Ph){foreach(array_merge($T,$Si)as$R){$xh=table_status($R);if(!queries("ALTER ".strtoupper($xh["Engine"])." ".table($R)." SET SCHEMA ".idf_escape($Ph)))return
false;}return
true;}function
trigger($D,$R=null){if($D=="")return
array("Statement"=>"EXECUTE PROCEDURE ()");if($R===null)$R=$_GET['trigger'];$L=get_rows('SELECT t.trigger_name AS "Trigger", t.action_timing AS "Timing", (SELECT STRING_AGG(event_manipulation, \' OR \') FROM information_schema.triggers WHERE event_object_table = t.event_object_table AND trigger_name = t.trigger_name ) AS "Events", t.event_manipulation AS "Event", \'FOR EACH \' || t.action_orientation AS "Type", t.action_statement AS "Statement" FROM information_schema.triggers t WHERE t.event_object_table = '.q($R).' AND t.trigger_name = '.q($D));return
reset($L);}function
triggers($R){$J=array();foreach(get_rows("SELECT * FROM information_schema.triggers WHERE event_object_table = ".q($R))as$K)$J[$K["trigger_name"]]=array($K["action_timing"],$K["event_manipulation"]);return$J;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("FOR EACH ROW","FOR EACH STATEMENT"),);}function
routine($D,$U){$L=get_rows('SELECT routine_definition AS definition, LOWER(external_language) AS language, *
FROM information_schema.routines
WHERE routine_schema = current_schema() AND specific_name = '.q($D));$J=$L[0];$J["returns"]=array("type"=>$J["type_udt_name"]);$J["fields"]=get_rows('SELECT parameter_name AS field, data_type AS type, character_maximum_length AS length, parameter_mode AS inout
FROM information_schema.parameters
WHERE specific_schema = current_schema() AND specific_name = '.q($D).'
ORDER BY ordinal_position');return$J;}function
routines(){return
get_rows('SELECT specific_name AS "SPECIFIC_NAME", routine_type AS "ROUTINE_TYPE", routine_name AS "ROUTINE_NAME", type_udt_name AS "DTD_IDENTIFIER"
FROM information_schema.routines
WHERE routine_schema = current_schema()
ORDER BY SPECIFIC_NAME');}function
routine_languages(){return
get_vals("SELECT LOWER(lanname) FROM pg_catalog.pg_language");}function
routine_id($D,$K){$J=array();foreach($K["fields"]as$p)$J[]=$p["type"];return
idf_escape($D)."(".implode(", ",$J).")";}function
last_id(){return
0;}function
explain($g,$H){return$g->query("EXPLAIN $H");}function
found_rows($S,$Z){global$g;if(preg_match("~ rows=([0-9]+)~",$g->result("EXPLAIN SELECT * FROM ".idf_escape($S["Name"]).($Z?" WHERE ".implode(" AND ",$Z):"")),$Ag))return$Ag[1];return
false;}function
types(){return
get_vals("SELECT typname
FROM pg_type
WHERE typnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema())
AND typtype IN ('b','d','e')
AND typelem = 0");}function
schemas(){return
get_vals("SELECT nspname FROM pg_namespace ORDER BY nspname");}function
get_schema(){global$g;return$g->result("SELECT current_schema()");}function
set_schema($Tg){global$g,$vi,$_h;$J=$g->query("SET search_path TO ".idf_escape($Tg));foreach(types()as$U){if(!isset($vi[$U])){$vi[$U]=0;$_h[lang(24)][]=$U;}}return$J;}function
create_sql($R,$Ma,$Ah){global$g;$J='';$Jg=array();$dh=array();$xh=table_status($R);$q=fields($R);$x=indexes($R);ksort($x);$Zc=foreign_keys($R);ksort($Zc);if(!$xh||empty($q))return
false;$J="CREATE TABLE ".idf_escape($xh['nspname']).".".idf_escape($xh['Name'])." (\n    ";foreach($q
as$Rc=>$p){$Kf=idf_escape($p['field']).' '.$p['full_type'].default_value($p).($p['attnotnull']?" NOT NULL":"");$Jg[]=$Kf;if(preg_match('~nextval\(\'([^\']+)\'\)~',$p['default'],$ze)){$ch=$ze[1];$ph=reset(get_rows(min_version(10)?"SELECT *, cache_size AS cache_value FROM pg_sequences WHERE schemaname = current_schema() AND sequencename = ".q($ch):"SELECT * FROM $ch"));$dh[]=($Ah=="DROP+CREATE"?"DROP SEQUENCE IF EXISTS $ch;\n":"")."CREATE SEQUENCE $ch INCREMENT $ph[increment_by] MINVALUE $ph[min_value] MAXVALUE $ph[max_value] START ".($Ma?$ph['last_value']:1)." CACHE $ph[cache_value];";}}if(!empty($dh))$J=implode("\n\n",$dh)."\n\n$J";foreach($x
as$Dd=>$w){switch($w['type']){case'UNIQUE':$Jg[]="CONSTRAINT ".idf_escape($Dd)." UNIQUE (".implode(', ',array_map('idf_escape',$w['columns'])).")";break;case'PRIMARY':$Jg[]="CONSTRAINT ".idf_escape($Dd)." PRIMARY KEY (".implode(', ',array_map('idf_escape',$w['columns'])).")";break;}}foreach($Zc
as$Yc=>$Xc)$Jg[]="CONSTRAINT ".idf_escape($Yc)." $Xc[definition] ".($Xc['deferrable']?'DEFERRABLE':'NOT DEFERRABLE');$J.=implode(",\n    ",$Jg)."\n) WITH (oids = ".($xh['Oid']?'true':'false').");";foreach($x
as$Dd=>$w){if($w['type']=='INDEX')$J.="\n\nCREATE INDEX ".idf_escape($Dd)." ON ".idf_escape($xh['nspname']).".".idf_escape($xh['Name'])." USING btree (".implode(', ',array_map('idf_escape',$w['columns'])).");";}if($xh['Comment'])$J.="\n\nCOMMENT ON TABLE ".idf_escape($xh['nspname']).".".idf_escape($xh['Name'])." IS ".q($xh['Comment']).";";foreach($q
as$Rc=>$p){if($p['comment'])$J.="\n\nCOMMENT ON COLUMN ".idf_escape($xh['nspname']).".".idf_escape($xh['Name']).".".idf_escape($Rc)." IS ".q($p['comment']).";";}return
rtrim($J,';');}function
truncate_sql($R){return"TRUNCATE ".table($R);}function
trigger_sql($R){$xh=table_status($R);$J="";foreach(triggers($R)as$oi=>$ni){$pi=trigger($oi,$xh['Name']);$J.="\nCREATE TRIGGER ".idf_escape($pi['Trigger'])." $pi[Timing] $pi[Events] ON ".idf_escape($xh["nspname"]).".".idf_escape($xh['Name'])." $pi[Type] $pi[Statement];;\n";}return$J;}function
use_sql($k){return"\connect ".idf_escape($k);}function
show_variables(){return
get_key_vals("SHOW ALL");}function
process_list(){return
get_rows("SELECT * FROM pg_stat_activity ORDER BY ".(min_version(9.2)?"pid":"procpid"));}function
show_status(){}function
convert_field($p){}function
unconvert_field($p,$J){return$J;}function
support($Pc){return
preg_match('~^(database|table|columns|sql|indexes|comment|view|'.(min_version(9.3)?'materializedview|':'').'scheme|routine|processlist|sequence|trigger|type|variables|drop_col|kill|dump)$~',$Pc);}function
kill_process($X){return
queries("SELECT pg_terminate_backend(".number($X).")");}function
connection_id(){return"SELECT pg_backend_pid()";}function
max_connections(){global$g;return$g->result("SHOW max_connections");}$y="pgsql";$vi=array();$_h=array();foreach(array(lang(25)=>array("smallint"=>5,"integer"=>10,"bigint"=>19,"boolean"=>1,"numeric"=>0,"real"=>7,"double precision"=>16,"money"=>20),lang(26)=>array("date"=>13,"time"=>17,"timestamp"=>20,"timestamptz"=>21,"interval"=>0),lang(23)=>array("character"=>0,"character varying"=>0,"text"=>0,"tsquery"=>0,"tsvector"=>0,"uuid"=>0,"xml"=>0),lang(27)=>array("bit"=>0,"bit varying"=>0,"bytea"=>0),lang(28)=>array("cidr"=>43,"inet"=>43,"macaddr"=>17,"txid_snapshot"=>0),lang(29)=>array("box"=>0,"circle"=>0,"line"=>0,"lseg"=>0,"path"=>0,"point"=>0,"polygon"=>0),)as$z=>$X){$vi+=$X;$_h[$z]=array_keys($X);}$Bi=array();$of=array("=","<",">","<=",">=","!=","~","!~","LIKE","LIKE %%","ILIKE","ILIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL");$jd=array("char_length","lower","round","to_hex","to_timestamp","upper");$pd=array("avg","count","count distinct","max","min","sum");$mc=array(array("char"=>"md5","date|time"=>"now",),array(number_type()=>"+/-","date|time"=>"+ interval/- interval","char|text"=>"||",));}$ec["oracle"]="Oracle (beta)";if(isset($_GET["oracle"])){$ag=array("OCI8","PDO_OCI");define("DRIVER","oracle");if(extension_loaded("oci8")){class
Min_DB{var$extension="oci8",$_link,$_result,$server_info,$affected_rows,$errno,$error;function
_error($xc,$o){if(ini_bool("html_errors"))$o=html_entity_decode(strip_tags($o));$o=preg_replace('~^[^:]*: ~','',$o);$this->error=$o;}function
connect($O,$V,$G){$this->_link=@oci_new_connect($V,$G,$O,"AL32UTF8");if($this->_link){$this->server_info=oci_server_version($this->_link);return
true;}$o=oci_error();$this->error=$o["message"];return
false;}function
quote($Q){return"'".str_replace("'","''",$Q)."'";}function
select_db($k){return
true;}function
query($H,$wi=false){$I=oci_parse($this->_link,$H);$this->error="";if(!$I){$o=oci_error($this->_link);$this->errno=$o["code"];$this->error=$o["message"];return
false;}set_error_handler(array($this,'_error'));$J=@oci_execute($I);restore_error_handler();if($J){if(oci_num_fields($I))return
new
Min_Result($I);$this->affected_rows=oci_num_rows($I);}return$J;}function
multi_query($H){return$this->_result=$this->query($H);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($H,$p=1){$I=$this->query($H);if(!is_object($I)||!oci_fetch($I->_result))return
false;return
oci_result($I->_result,$p);}}class
Min_Result{var$_result,$_offset=1,$num_rows;function
__construct($I){$this->_result=$I;}function
_convert($K){foreach((array)$K
as$z=>$X){if(is_a($X,'OCI-Lob'))$K[$z]=$X->load();}return$K;}function
fetch_assoc(){return$this->_convert(oci_fetch_assoc($this->_result));}function
fetch_row(){return$this->_convert(oci_fetch_row($this->_result));}function
fetch_field(){$d=$this->_offset++;$J=new
stdClass;$J->name=oci_field_name($this->_result,$d);$J->orgname=$J->name;$J->type=oci_field_type($this->_result,$d);$J->charsetnr=(preg_match("~raw|blob|bfile~",$J->type)?63:0);return$J;}function
__destruct(){oci_free_statement($this->_result);}}}elseif(extension_loaded("pdo_oci")){class
Min_DB
extends
Min_PDO{var$extension="PDO_OCI";function
connect($O,$V,$G){$this->dsn("oci:dbname=//$O;charset=AL32UTF8",$V,$G);return
true;}function
select_db($k){return
true;}}}class
Min_Driver
extends
Min_SQL{function
begin(){return
true;}}function
idf_escape($v){return'"'.str_replace('"','""',$v).'"';}function
table($v){return
idf_escape($v);}function
connect(){global$b;$g=new
Min_DB;$j=$b->credentials();if($g->connect($j[0],$j[1],$j[2]))return$g;return$g->error;}function
get_databases(){return
get_vals("SELECT tablespace_name FROM user_tablespaces");}function
limit($H,$Z,$_,$E=0,$N=" "){return($E?" * FROM (SELECT t.*, rownum AS rnum FROM (SELECT $H$Z) t WHERE rownum <= ".($_+$E).") WHERE rnum > $E":($_!==null?" * FROM (SELECT $H$Z) WHERE rownum <= ".($_+$E):" $H$Z"));}function
limit1($R,$H,$Z,$N="\n"){return" $H$Z";}function
db_collation($m,$qb){global$g;return$g->result("SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'");}function
engines(){return
array();}function
logged_user(){global$g;return$g->result("SELECT USER FROM DUAL");}function
tables_list(){return
get_key_vals("SELECT table_name, 'table' FROM all_tables WHERE tablespace_name = ".q(DB)."
UNION SELECT view_name, 'view' FROM user_views
ORDER BY 1");}function
count_tables($l){return
array();}function
table_status($D=""){$J=array();$Vg=q($D);foreach(get_rows('SELECT table_name "Name", \'table\' "Engine", avg_row_len * num_rows "Data_length", num_rows "Rows" FROM all_tables WHERE tablespace_name = '.q(DB).($D!=""?" AND table_name = $Vg":"")."
UNION SELECT view_name, 'view', 0, 0 FROM user_views".($D!=""?" WHERE view_name = $Vg":"")."
ORDER BY 1")as$K){if($D!="")return$K;$J[$K["Name"]]=$K;}return$J;}function
is_view($S){return$S["Engine"]=="view";}function
fk_support($S){return
true;}function
fields($R){$J=array();foreach(get_rows("SELECT * FROM all_tab_columns WHERE table_name = ".q($R)." ORDER BY column_id")as$K){$U=$K["DATA_TYPE"];$pe="$K[DATA_PRECISION],$K[DATA_SCALE]";if($pe==",")$pe=$K["DATA_LENGTH"];$J[$K["COLUMN_NAME"]]=array("field"=>$K["COLUMN_NAME"],"full_type"=>$U.($pe?"($pe)":""),"type"=>strtolower($U),"length"=>$pe,"default"=>$K["DATA_DEFAULT"],"null"=>($K["NULLABLE"]=="Y"),"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),);}return$J;}function
indexes($R,$h=null){$J=array();foreach(get_rows("SELECT uic.*, uc.constraint_type
FROM user_ind_columns uic
LEFT JOIN user_constraints uc ON uic.index_name = uc.constraint_name AND uic.table_name = uc.table_name
WHERE uic.table_name = ".q($R)."
ORDER BY uc.constraint_type, uic.column_position",$h)as$K){$Dd=$K["INDEX_NAME"];$J[$Dd]["type"]=($K["CONSTRAINT_TYPE"]=="P"?"PRIMARY":($K["CONSTRAINT_TYPE"]=="U"?"UNIQUE":"INDEX"));$J[$Dd]["columns"][]=$K["COLUMN_NAME"];$J[$Dd]["lengths"][]=($K["CHAR_LENGTH"]&&$K["CHAR_LENGTH"]!=$K["COLUMN_LENGTH"]?$K["CHAR_LENGTH"]:null);$J[$Dd]["descs"][]=($K["DESCEND"]?'1':null);}return$J;}function
view($D){$L=get_rows('SELECT text "select" FROM user_views WHERE view_name = '.q($D));return
reset($L);}function
collations(){return
array();}function
information_schema($m){return
false;}function
error(){global$g;return
h($g->error);}function
explain($g,$H){$g->query("EXPLAIN PLAN FOR $H");return$g->query("SELECT * FROM plan_table");}function
found_rows($S,$Z){}function
alter_table($R,$D,$q,$bd,$vb,$uc,$pb,$Ma,$Nf){$c=$fc=array();foreach($q
as$p){$X=$p[1];if($X&&$p[0]!=""&&idf_escape($p[0])!=$X[0])queries("ALTER TABLE ".table($R)." RENAME COLUMN ".idf_escape($p[0])." TO $X[0]");if($X)$c[]=($R!=""?($p[0]!=""?"MODIFY (":"ADD ("):"  ").implode($X).($R!=""?")":"");else$fc[]=idf_escape($p[0]);}if($R=="")return
queries("CREATE TABLE ".table($D)." (\n".implode(",\n",$c)."\n)");return(!$c||queries("ALTER TABLE ".table($R)."\n".implode("\n",$c)))&&(!$fc||queries("ALTER TABLE ".table($R)." DROP (".implode(", ",$fc).")"))&&($R==$D||queries("ALTER TABLE ".table($R)." RENAME TO ".table($D)));}function
foreign_keys($R){$J=array();$H="SELECT c_list.CONSTRAINT_NAME as NAME,
c_src.COLUMN_NAME as SRC_COLUMN,
c_dest.OWNER as DEST_DB,
c_dest.TABLE_NAME as DEST_TABLE,
c_dest.COLUMN_NAME as DEST_COLUMN,
c_list.DELETE_RULE as ON_DELETE
FROM ALL_CONSTRAINTS c_list, ALL_CONS_COLUMNS c_src, ALL_CONS_COLUMNS c_dest
WHERE c_list.CONSTRAINT_NAME = c_src.CONSTRAINT_NAME
AND c_list.R_CONSTRAINT_NAME = c_dest.CONSTRAINT_NAME
AND c_list.CONSTRAINT_TYPE = 'R'
AND c_src.TABLE_NAME = ".q($R);foreach(get_rows($H)as$K)$J[$K['NAME']]=array("db"=>$K['DEST_DB'],"table"=>$K['DEST_TABLE'],"source"=>array($K['SRC_COLUMN']),"target"=>array($K['DEST_COLUMN']),"on_delete"=>$K['ON_DELETE'],"on_update"=>null,);return$J;}function
truncate_tables($T){return
apply_queries("TRUNCATE TABLE",$T);}function
drop_views($Si){return
apply_queries("DROP VIEW",$Si);}function
drop_tables($T){return
apply_queries("DROP TABLE",$T);}function
last_id(){return
0;}function
schemas(){return
get_vals("SELECT DISTINCT owner FROM dba_segments WHERE owner IN (SELECT username FROM dba_users WHERE default_tablespace NOT IN ('SYSTEM','SYSAUX'))");}function
get_schema(){global$g;return$g->result("SELECT sys_context('USERENV', 'SESSION_USER') FROM dual");}function
set_schema($Ug){global$g;return$g->query("ALTER SESSION SET CURRENT_SCHEMA = ".idf_escape($Ug));}function
show_variables(){return
get_key_vals('SELECT name, display_value FROM v$parameter');}function
process_list(){return
get_rows('SELECT sess.process AS "process", sess.username AS "user", sess.schemaname AS "schema", sess.status AS "status", sess.wait_class AS "wait_class", sess.seconds_in_wait AS "seconds_in_wait", sql.sql_text AS "sql_text", sess.machine AS "machine", sess.port AS "port"
FROM v$session sess LEFT OUTER JOIN v$sql sql
ON sql.sql_id = sess.sql_id
WHERE sess.type = \'USER\'
ORDER BY PROCESS
');}function
show_status(){$L=get_rows('SELECT * FROM v$instance');return
reset($L);}function
convert_field($p){}function
unconvert_field($p,$J){return$J;}function
support($Pc){return
preg_match('~^(columns|database|drop_col|indexes|processlist|scheme|sql|status|table|variables|view|view_trigger)$~',$Pc);}$y="oracle";$vi=array();$_h=array();foreach(array(lang(25)=>array("number"=>38,"binary_float"=>12,"binary_double"=>21),lang(26)=>array("date"=>10,"timestamp"=>29,"interval year"=>12,"interval day"=>28),lang(23)=>array("char"=>2000,"varchar2"=>4000,"nchar"=>2000,"nvarchar2"=>4000,"clob"=>4294967295,"nclob"=>4294967295),lang(27)=>array("raw"=>2000,"long raw"=>2147483648,"blob"=>4294967295,"bfile"=>4294967296),)as$z=>$X){$vi+=$X;$_h[$z]=array_keys($X);}$Bi=array();$of=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");$jd=array("length","lower","round","upper");$pd=array("avg","count","count distinct","max","min","sum");$mc=array(array("date"=>"current_date","timestamp"=>"current_timestamp",),array("number|float|double"=>"+/-","date|timestamp"=>"+ interval/- interval","char|clob"=>"||",));}$ec["mssql"]="MS SQL (beta)";if(isset($_GET["mssql"])){$ag=array("SQLSRV","MSSQL","PDO_DBLIB");define("DRIVER","mssql");if(extension_loaded("sqlsrv")){class
Min_DB{var$extension="sqlsrv",$_link,$_result,$server_info,$affected_rows,$errno,$error;function
_get_error(){$this->error="";foreach(sqlsrv_errors()as$o){$this->errno=$o["code"];$this->error.="$o[message]\n";}$this->error=rtrim($this->error);}function
connect($O,$V,$G){$this->_link=@sqlsrv_connect($O,array("UID"=>$V,"PWD"=>$G,"CharacterSet"=>"UTF-8"));if($this->_link){$Kd=sqlsrv_server_info($this->_link);$this->server_info=$Kd['SQLServerVersion'];}else$this->_get_error();return(bool)$this->_link;}function
quote($Q){return"'".str_replace("'","''",$Q)."'";}function
select_db($k){return$this->query("USE ".idf_escape($k));}function
query($H,$wi=false){$I=sqlsrv_query($this->_link,$H);$this->error="";if(!$I){$this->_get_error();return
false;}return$this->store_result($I);}function
multi_query($H){$this->_result=sqlsrv_query($this->_link,$H);$this->error="";if(!$this->_result){$this->_get_error();return
false;}return
true;}function
store_result($I=null){if(!$I)$I=$this->_result;if(!$I)return
false;if(sqlsrv_field_metadata($I))return
new
Min_Result($I);$this->affected_rows=sqlsrv_rows_affected($I);return
true;}function
next_result(){return$this->_result?sqlsrv_next_result($this->_result):null;}function
result($H,$p=0){$I=$this->query($H);if(!is_object($I))return
false;$K=$I->fetch_row();return$K[$p];}}class
Min_Result{var$_result,$_offset=0,$_fields,$num_rows;function
__construct($I){$this->_result=$I;}function
_convert($K){foreach((array)$K
as$z=>$X){if(is_a($X,'DateTime'))$K[$z]=$X->format("Y-m-d H:i:s");}return$K;}function
fetch_assoc(){return$this->_convert(sqlsrv_fetch_array($this->_result,SQLSRV_FETCH_ASSOC));}function
fetch_row(){return$this->_convert(sqlsrv_fetch_array($this->_result,SQLSRV_FETCH_NUMERIC));}function
fetch_field(){if(!$this->_fields)$this->_fields=sqlsrv_field_metadata($this->_result);$p=$this->_fields[$this->_offset++];$J=new
stdClass;$J->name=$p["Name"];$J->orgname=$p["Name"];$J->type=($p["Type"]==1?254:0);return$J;}function
seek($E){for($t=0;$t<$E;$t++)sqlsrv_fetch($this->_result);}function
__destruct(){sqlsrv_free_stmt($this->_result);}}}elseif(extension_loaded("mssql")){class
Min_DB{var$extension="MSSQL",$_link,$_result,$server_info,$affected_rows,$error;function
connect($O,$V,$G){$this->_link=@mssql_connect($O,$V,$G);if($this->_link){$I=$this->query("SELECT SERVERPROPERTY('ProductLevel'), SERVERPROPERTY('Edition')");$K=$I->fetch_row();$this->server_info=$this->result("sp_server_info 2",2)." [$K[0]] $K[1]";}else$this->error=mssql_get_last_message();return(bool)$this->_link;}function
quote($Q){return"'".str_replace("'","''",$Q)."'";}function
select_db($k){return
mssql_select_db($k);}function
query($H,$wi=false){$I=@mssql_query($H,$this->_link);$this->error="";if(!$I){$this->error=mssql_get_last_message();return
false;}if($I===true){$this->affected_rows=mssql_rows_affected($this->_link);return
true;}return
new
Min_Result($I);}function
multi_query($H){return$this->_result=$this->query($H);}function
store_result(){return$this->_result;}function
next_result(){return
mssql_next_result($this->_result->_result);}function
result($H,$p=0){$I=$this->query($H);if(!is_object($I))return
false;return
mssql_result($I->_result,0,$p);}}class
Min_Result{var$_result,$_offset=0,$_fields,$num_rows;function
__construct($I){$this->_result=$I;$this->num_rows=mssql_num_rows($I);}function
fetch_assoc(){return
mssql_fetch_assoc($this->_result);}function
fetch_row(){return
mssql_fetch_row($this->_result);}function
num_rows(){return
mssql_num_rows($this->_result);}function
fetch_field(){$J=mssql_fetch_field($this->_result);$J->orgtable=$J->table;$J->orgname=$J->name;return$J;}function
seek($E){mssql_data_seek($this->_result,$E);}function
__destruct(){mssql_free_result($this->_result);}}}elseif(extension_loaded("pdo_dblib")){class
Min_DB
extends
Min_PDO{var$extension="PDO_DBLIB";function
connect($O,$V,$G){$this->dsn("dblib:charset=utf8;host=".str_replace(":",";unix_socket=",preg_replace('~:(\\d)~',';port=\\1',$O)),$V,$G);return
true;}function
select_db($k){return$this->query("USE ".idf_escape($k));}}}class
Min_Driver
extends
Min_SQL{function
insertUpdate($R,$L,$dg){foreach($L
as$P){$Ci=array();$Z=array();foreach($P
as$z=>$X){$Ci[]="$z = $X";if(isset($dg[idf_unescape($z)]))$Z[]="$z = $X";}if(!queries("MERGE ".table($R)." USING (VALUES(".implode(", ",$P).")) AS source (c".implode(", c",range(1,count($P))).") ON ".implode(" AND ",$Z)." WHEN MATCHED THEN UPDATE SET ".implode(", ",$Ci)." WHEN NOT MATCHED THEN INSERT (".implode(", ",array_keys($P)).") VALUES (".implode(", ",$P).");"))return
false;}return
true;}function
begin(){return
queries("BEGIN TRANSACTION");}}function
idf_escape($v){return"[".str_replace("]","]]",$v)."]";}function
table($v){return($_GET["ns"]!=""?idf_escape($_GET["ns"]).".":"").idf_escape($v);}function
connect(){global$b;$g=new
Min_DB;$j=$b->credentials();if($g->connect($j[0],$j[1],$j[2]))return$g;return$g->error;}function
get_databases(){return
get_vals("SELECT name FROM sys.databases WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb')");}function
limit($H,$Z,$_,$E=0,$N=" "){return($_!==null?" TOP (".($_+$E).")":"")." $H$Z";}function
limit1($R,$H,$Z,$N="\n"){return
limit($H,$Z,1,0,$N);}function
db_collation($m,$qb){global$g;return$g->result("SELECT collation_name FROM sys.databases WHERE name = ".q($m));}function
engines(){return
array();}function
logged_user(){global$g;return$g->result("SELECT SUSER_NAME()");}function
tables_list(){return
get_key_vals("SELECT name, type_desc FROM sys.all_objects WHERE schema_id = SCHEMA_ID(".q(get_schema()).") AND type IN ('S', 'U', 'V') ORDER BY name");}function
count_tables($l){global$g;$J=array();foreach($l
as$m){$g->select_db($m);$J[$m]=$g->result("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES");}return$J;}function
table_status($D=""){$J=array();foreach(get_rows("SELECT name AS Name, type_desc AS Engine FROM sys.all_objects WHERE schema_id = SCHEMA_ID(".q(get_schema()).") AND type IN ('S', 'U', 'V') ".($D!=""?"AND name = ".q($D):"ORDER BY name"))as$K){if($D!="")return$K;$J[$K["Name"]]=$K;}return$J;}function
is_view($S){return$S["Engine"]=="VIEW";}function
fk_support($S){return
true;}function
fields($R){$J=array();foreach(get_rows("SELECT c.max_length, c.precision, c.scale, c.name, c.is_nullable, c.is_identity, c.collation_name, t.name type, CAST(d.definition as text) [default]
FROM sys.all_columns c
JOIN sys.all_objects o ON c.object_id = o.object_id
JOIN sys.types t ON c.user_type_id = t.user_type_id
LEFT JOIN sys.default_constraints d ON c.default_object_id = d.parent_column_id
WHERE o.schema_id = SCHEMA_ID(".q(get_schema()).") AND o.type IN ('S', 'U', 'V') AND o.name = ".q($R))as$K){$U=$K["type"];$pe=(preg_match("~char|binary~",$U)?$K["max_length"]:($U=="decimal"?"$K[precision],$K[scale]":""));$J[$K["name"]]=array("field"=>$K["name"],"full_type"=>$U.($pe?"($pe)":""),"type"=>$U,"length"=>$pe,"default"=>$K["default"],"null"=>$K["is_nullable"],"auto_increment"=>$K["is_identity"],"collation"=>$K["collation_name"],"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),"primary"=>$K["is_identity"],);}return$J;}function
indexes($R,$h=null){$J=array();foreach(get_rows("SELECT i.name, key_ordinal, is_unique, is_primary_key, c.name AS column_name, is_descending_key
FROM sys.indexes i
INNER JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id
INNER JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id
WHERE OBJECT_NAME(i.object_id) = ".q($R),$h)as$K){$D=$K["name"];$J[$D]["type"]=($K["is_primary_key"]?"PRIMARY":($K["is_unique"]?"UNIQUE":"INDEX"));$J[$D]["lengths"]=array();$J[$D]["columns"][$K["key_ordinal"]]=$K["column_name"];$J[$D]["descs"][$K["key_ordinal"]]=($K["is_descending_key"]?'1':null);}return$J;}function
view($D){global$g;return
array("select"=>preg_replace('~^(?:[^[]|\\[[^]]*])*\\s+AS\\s+~isU','',$g->result("SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = SCHEMA_NAME() AND TABLE_NAME = ".q($D))));}function
collations(){$J=array();foreach(get_vals("SELECT name FROM fn_helpcollations()")as$pb)$J[preg_replace('~_.*~','',$pb)][]=$pb;return$J;}function
information_schema($m){return
false;}function
error(){global$g;return
nl_br(h(preg_replace('~^(\\[[^]]*])+~m','',$g->error)));}function
create_database($m,$pb){return
queries("CREATE DATABASE ".idf_escape($m).(preg_match('~^[a-z0-9_]+$~i',$pb)?" COLLATE $pb":""));}function
drop_databases($l){return
queries("DROP DATABASE ".implode(", ",array_map('idf_escape',$l)));}function
rename_database($D,$pb){if(preg_match('~^[a-z0-9_]+$~i',$pb))queries("ALTER DATABASE ".idf_escape(DB)." COLLATE $pb");queries("ALTER DATABASE ".idf_escape(DB)." MODIFY NAME = ".idf_escape($D));return
true;}function
auto_increment(){return" IDENTITY".($_POST["Auto_increment"]!=""?"(".number($_POST["Auto_increment"]).",1)":"")." PRIMARY KEY";}function
alter_table($R,$D,$q,$bd,$vb,$uc,$pb,$Ma,$Nf){$c=array();foreach($q
as$p){$d=idf_escape($p[0]);$X=$p[1];if(!$X)$c["DROP"][]=" COLUMN $d";else{$X[1]=preg_replace("~( COLLATE )'(\\w+)'~","\\1\\2",$X[1]);if($p[0]=="")$c["ADD"][]="\n  ".implode("",$X).($R==""?substr($bd[$X[0]],16+strlen($X[0])):"");else{unset($X[6]);if($d!=$X[0])queries("EXEC sp_rename ".q(table($R).".$d").", ".q(idf_unescape($X[0])).", 'COLUMN'");$c["ALTER COLUMN ".implode("",$X)][]="";}}}if($R=="")return
queries("CREATE TABLE ".table($D)." (".implode(",",(array)$c["ADD"])."\n)");if($R!=$D)queries("EXEC sp_rename ".q(table($R)).", ".q($D));if($bd)$c[""]=$bd;foreach($c
as$z=>$X){if(!queries("ALTER TABLE ".idf_escape($D)." $z".implode(",",$X)))return
false;}return
true;}function
alter_indexes($R,$c){$w=array();$fc=array();foreach($c
as$X){if($X[2]=="DROP"){if($X[0]=="PRIMARY")$fc[]=idf_escape($X[1]);else$w[]=idf_escape($X[1])." ON ".table($R);}elseif(!queries(($X[0]!="PRIMARY"?"CREATE $X[0] ".($X[0]!="INDEX"?"INDEX ":"").idf_escape($X[1]!=""?$X[1]:uniqid($R."_"))." ON ".table($R):"ALTER TABLE ".table($R)." ADD PRIMARY KEY")." (".implode(", ",$X[2]).")"))return
false;}return(!$w||queries("DROP INDEX ".implode(", ",$w)))&&(!$fc||queries("ALTER TABLE ".table($R)." DROP ".implode(", ",$fc)));}function
last_id(){global$g;return$g->result("SELECT SCOPE_IDENTITY()");}function
explain($g,$H){$g->query("SET SHOWPLAN_ALL ON");$J=$g->query($H);$g->query("SET SHOWPLAN_ALL OFF");return$J;}function
found_rows($S,$Z){}function
foreign_keys($R){$J=array();foreach(get_rows("EXEC sp_fkeys @fktable_name = ".q($R))as$K){$r=&$J[$K["FK_NAME"]];$r["table"]=$K["PKTABLE_NAME"];$r["source"][]=$K["FKCOLUMN_NAME"];$r["target"][]=$K["PKCOLUMN_NAME"];}return$J;}function
truncate_tables($T){return
apply_queries("TRUNCATE TABLE",$T);}function
drop_views($Si){return
queries("DROP VIEW ".implode(", ",array_map('table',$Si)));}function
drop_tables($T){return
queries("DROP TABLE ".implode(", ",array_map('table',$T)));}function
move_tables($T,$Si,$Ph){return
apply_queries("ALTER SCHEMA ".idf_escape($Ph)." TRANSFER",array_merge($T,$Si));}function
trigger($D){if($D=="")return
array();$L=get_rows("SELECT s.name [Trigger],
CASE WHEN OBJECTPROPERTY(s.id, 'ExecIsInsertTrigger') = 1 THEN 'INSERT' WHEN OBJECTPROPERTY(s.id, 'ExecIsUpdateTrigger') = 1 THEN 'UPDATE' WHEN OBJECTPROPERTY(s.id, 'ExecIsDeleteTrigger') = 1 THEN 'DELETE' END [Event],
CASE WHEN OBJECTPROPERTY(s.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing],
c.text
FROM sysobjects s
JOIN syscomments c ON s.id = c.id
WHERE s.xtype = 'TR' AND s.name = ".q($D));$J=reset($L);if($J)$J["Statement"]=preg_replace('~^.+\\s+AS\\s+~isU','',$J["text"]);return$J;}function
triggers($R){$J=array();foreach(get_rows("SELECT sys1.name,
CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsertTrigger') = 1 THEN 'INSERT' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsUpdateTrigger') = 1 THEN 'UPDATE' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsDeleteTrigger') = 1 THEN 'DELETE' END [Event],
CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing]
FROM sysobjects sys1
JOIN sysobjects sys2 ON sys1.parent_obj = sys2.id
WHERE sys1.xtype = 'TR' AND sys2.name = ".q($R))as$K)$J[$K["name"]]=array($K["Timing"],$K["Event"]);return$J;}function
trigger_options(){return
array("Timing"=>array("AFTER","INSTEAD OF"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("AS"),);}function
schemas(){return
get_vals("SELECT name FROM sys.schemas");}function
get_schema(){global$g;if($_GET["ns"]!="")return$_GET["ns"];return$g->result("SELECT SCHEMA_NAME()");}function
set_schema($Tg){return
true;}function
use_sql($k){return"USE ".idf_escape($k);}function
show_variables(){return
array();}function
show_status(){return
array();}function
convert_field($p){}function
unconvert_field($p,$J){return$J;}function
support($Pc){return
preg_match('~^(columns|database|drop_col|indexes|scheme|sql|table|trigger|view|view_trigger)$~',$Pc);}$y="mssql";$vi=array();$_h=array();foreach(array(lang(25)=>array("tinyint"=>3,"smallint"=>5,"int"=>10,"bigint"=>20,"bit"=>1,"decimal"=>0,"real"=>12,"float"=>53,"smallmoney"=>10,"money"=>20),lang(26)=>array("date"=>10,"smalldatetime"=>19,"datetime"=>19,"datetime2"=>19,"time"=>8,"datetimeoffset"=>10),lang(23)=>array("char"=>8000,"varchar"=>8000,"text"=>2147483647,"nchar"=>4000,"nvarchar"=>4000,"ntext"=>1073741823),lang(27)=>array("binary"=>8000,"varbinary"=>8000,"image"=>2147483647),)as$z=>$X){$vi+=$X;$_h[$z]=array_keys($X);}$Bi=array();$of=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL");$jd=array("len","lower","round","upper");$pd=array("avg","count","count distinct","max","min","sum");$mc=array(array("date|time"=>"getdate",),array("int|decimal|real|float|money|datetime"=>"+/-","char|text"=>"+",));}$ec['firebird']='Firebird (alpha)';if(isset($_GET["firebird"])){$ag=array("interbase");define("DRIVER","firebird");if(extension_loaded("interbase")){class
Min_DB{var$extension="Firebird",$server_info,$affected_rows,$errno,$error,$_link,$_result;function
connect($O,$V,$G){$this->_link=ibase_connect($O,$V,$G);if($this->_link){$Fi=explode(':',$O);$this->service_link=ibase_service_attach($Fi[0],$V,$G);$this->server_info=ibase_server_info($this->service_link,IBASE_SVC_SERVER_VERSION);}else{$this->errno=ibase_errcode();$this->error=ibase_errmsg();}return(bool)$this->_link;}function
quote($Q){return"'".str_replace("'","''",$Q)."'";}function
select_db($k){return($k=="domain");}function
query($H,$wi=false){$I=ibase_query($H,$this->_link);if(!$I){$this->errno=ibase_errcode();$this->error=ibase_errmsg();return
false;}$this->error="";if($I===true){$this->affected_rows=ibase_affected_rows($this->_link);return
true;}return
new
Min_Result($I);}function
multi_query($H){return$this->_result=$this->query($H);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($H,$p=0){$I=$this->query($H);if(!$I||!$I->num_rows)return
false;$K=$I->fetch_row();return$K[$p];}}class
Min_Result{var$num_rows,$_result,$_offset=0;function
__construct($I){$this->_result=$I;}function
fetch_assoc(){return
ibase_fetch_assoc($this->_result);}function
fetch_row(){return
ibase_fetch_row($this->_result);}function
fetch_field(){$p=ibase_field_info($this->_result,$this->_offset++);return(object)array('name'=>$p['name'],'orgname'=>$p['name'],'type'=>$p['type'],'charsetnr'=>$p['length'],);}function
__destruct(){ibase_free_result($this->_result);}}}class
Min_Driver
extends
Min_SQL{}function
idf_escape($v){return'"'.str_replace('"','""',$v).'"';}function
table($v){return
idf_escape($v);}function
connect(){global$b;$g=new
Min_DB;$j=$b->credentials();if($g->connect($j[0],$j[1],$j[2]))return$g;return$g->error;}function
get_databases($ad){return
array("domain");}function
limit($H,$Z,$_,$E=0,$N=" "){$J='';$J.=($_!==null?$N."FIRST $_".($E?" SKIP $E":""):"");$J.=" $H$Z";return$J;}function
limit1($R,$H,$Z,$N="\n"){return
limit($H,$Z,1,0,$N);}function
db_collation($m,$qb){}function
engines(){return
array();}function
logged_user(){global$b;$j=$b->credentials();return$j[1];}function
tables_list(){global$g;$H='SELECT RDB$RELATION_NAME FROM rdb$relations WHERE rdb$system_flag = 0';$I=ibase_query($g->_link,$H);$J=array();while($K=ibase_fetch_assoc($I))$J[$K['RDB$RELATION_NAME']]='table';ksort($J);return$J;}function
count_tables($l){return
array();}function
table_status($D="",$Oc=false){global$g;$J=array();$Lb=tables_list();foreach($Lb
as$w=>$X){$w=trim($w);$J[$w]=array('Name'=>$w,'Engine'=>'standard',);if($D==$w)return$J[$w];}return$J;}function
is_view($S){return
false;}function
fk_support($S){return
preg_match('~InnoDB|IBMDB2I~i',$S["Engine"]);}function
fields($R){global$g;$J=array();$H='SELECT r.RDB$FIELD_NAME AS field_name,
r.RDB$DESCRIPTION AS field_description,
r.RDB$DEFAULT_VALUE AS field_default_value,
r.RDB$NULL_FLAG AS field_not_null_constraint,
f.RDB$FIELD_LENGTH AS field_length,
f.RDB$FIELD_PRECISION AS field_precision,
f.RDB$FIELD_SCALE AS field_scale,
CASE f.RDB$FIELD_TYPE
WHEN 261 THEN \'BLOB\'
WHEN 14 THEN \'CHAR\'
WHEN 40 THEN \'CSTRING\'
WHEN 11 THEN \'D_FLOAT\'
WHEN 27 THEN \'DOUBLE\'
WHEN 10 THEN \'FLOAT\'
WHEN 16 THEN \'INT64\'
WHEN 8 THEN \'INTEGER\'
WHEN 9 THEN \'QUAD\'
WHEN 7 THEN \'SMALLINT\'
WHEN 12 THEN \'DATE\'
WHEN 13 THEN \'TIME\'
WHEN 35 THEN \'TIMESTAMP\'
WHEN 37 THEN \'VARCHAR\'
ELSE \'UNKNOWN\'
END AS field_type,
f.RDB$FIELD_SUB_TYPE AS field_subtype,
coll.RDB$COLLATION_NAME AS field_collation,
cset.RDB$CHARACTER_SET_NAME AS field_charset
FROM RDB$RELATION_FIELDS r
LEFT JOIN RDB$FIELDS f ON r.RDB$FIELD_SOURCE = f.RDB$FIELD_NAME
LEFT JOIN RDB$COLLATIONS coll ON f.RDB$COLLATION_ID = coll.RDB$COLLATION_ID
LEFT JOIN RDB$CHARACTER_SETS cset ON f.RDB$CHARACTER_SET_ID = cset.RDB$CHARACTER_SET_ID
WHERE r.RDB$RELATION_NAME = '.q($R).'
ORDER BY r.RDB$FIELD_POSITION';$I=ibase_query($g->_link,$H);while($K=ibase_fetch_assoc($I))$J[trim($K['FIELD_NAME'])]=array("field"=>trim($K["FIELD_NAME"]),"full_type"=>trim($K["FIELD_TYPE"]),"type"=>trim($K["FIELD_SUB_TYPE"]),"default"=>trim($K['FIELD_DEFAULT_VALUE']),"null"=>(trim($K["FIELD_NOT_NULL_CONSTRAINT"])=="YES"),"auto_increment"=>'0',"collation"=>trim($K["FIELD_COLLATION"]),"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),"comment"=>trim($K["FIELD_DESCRIPTION"]),);return$J;}function
indexes($R,$h=null){$J=array();return$J;}function
foreign_keys($R){return
array();}function
collations(){return
array();}function
information_schema($m){return
false;}function
error(){global$g;return
h($g->error);}function
types(){return
array();}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($Tg){return
true;}function
support($Pc){return
preg_match("~^(columns|sql|status|table)$~",$Pc);}$y="firebird";$of=array("=");$jd=array();$pd=array();$mc=array();}$ec["simpledb"]="SimpleDB";if(isset($_GET["simpledb"])){$ag=array("SimpleXML + allow_url_fopen");define("DRIVER","simpledb");if(class_exists('SimpleXMLElement')&&ini_bool('allow_url_fopen')){class
Min_DB{var$extension="SimpleXML",$server_info='2009-04-15',$error,$timeout,$next,$affected_rows,$_result;function
select_db($k){return($k=="domain");}function
query($H,$wi=false){$Hf=array('SelectExpression'=>$H,'ConsistentRead'=>'true');if($this->next)$Hf['NextToken']=$this->next;$I=sdb_request_all('Select','Item',$Hf,$this->timeout);if($I===false)return$I;if(preg_match('~^\s*SELECT\s+COUNT\(~i',$H)){$Dh=0;foreach($I
as$Wd)$Dh+=$Wd->Attribute->Value;$I=array((object)array('Attribute'=>array((object)array('Name'=>'Count','Value'=>$Dh,))));}return
new
Min_Result($I);}function
multi_query($H){return$this->_result=$this->query($H);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
quote($Q){return"'".str_replace("'","''",$Q)."'";}}class
Min_Result{var$num_rows,$_rows=array(),$_offset=0;function
__construct($I){foreach($I
as$Wd){$K=array();if($Wd->Name!='')$K['itemName()']=(string)$Wd->Name;foreach($Wd->Attribute
as$Ja){$D=$this->_processValue($Ja->Name);$Y=$this->_processValue($Ja->Value);if(isset($K[$D])){$K[$D]=(array)$K[$D];$K[$D][]=$Y;}else$K[$D]=$Y;}$this->_rows[]=$K;foreach($K
as$z=>$X){if(!isset($this->_rows[0][$z]))$this->_rows[0][$z]=null;}}$this->num_rows=count($this->_rows);}function
_processValue($pc){return(is_object($pc)&&$pc['encoding']=='base64'?base64_decode($pc):(string)$pc);}function
fetch_assoc(){$K=current($this->_rows);if(!$K)return$K;$J=array();foreach($this->_rows[0]as$z=>$X)$J[$z]=$K[$z];next($this->_rows);return$J;}function
fetch_row(){$J=$this->fetch_assoc();if(!$J)return$J;return
array_values($J);}function
fetch_field(){$ce=array_keys($this->_rows[0]);return(object)array('name'=>$ce[$this->_offset++]);}}}class
Min_Driver
extends
Min_SQL{public$dg="itemName()";function
_chunkRequest($Ad,$wa,$Hf,$Ec=array()){global$g;foreach(array_chunk($Ad,25)as$ib){$If=$Hf;foreach($ib
as$t=>$u){$If["Item.$t.ItemName"]=$u;foreach($Ec
as$z=>$X)$If["Item.$t.$z"]=$X;}if(!sdb_request($wa,$If))return
false;}$g->affected_rows=count($Ad);return
true;}function
_extractIds($R,$pg,$_){$J=array();if(preg_match_all("~itemName\(\) = (('[^']*+')+)~",$pg,$ze))$J=array_map('idf_unescape',$ze[1]);else{foreach(sdb_request_all('Select','Item',array('SelectExpression'=>'SELECT itemName() FROM '.table($R).$pg.($_?" LIMIT 1":"")))as$Wd)$J[]=$Wd->Name;}return$J;}function
select($R,$M,$Z,$md,$tf=array(),$_=1,$F=0,$fg=false){global$g;$g->next=$_GET["next"];$J=parent::select($R,$M,$Z,$md,$tf,$_,$F,$fg);$g->next=0;return$J;}function
delete($R,$pg,$_=0){return$this->_chunkRequest($this->_extractIds($R,$pg,$_),'BatchDeleteAttributes',array('DomainName'=>$R));}function
update($R,$P,$pg,$_=0,$N="\n"){$Ub=array();$Od=array();$t=0;$Ad=$this->_extractIds($R,$pg,$_);$u=idf_unescape($P["`itemName()`"]);unset($P["`itemName()`"]);foreach($P
as$z=>$X){$z=idf_unescape($z);if($X=="NULL"||($u!=""&&array($u)!=$Ad))$Ub["Attribute.".count($Ub).".Name"]=$z;if($X!="NULL"){foreach((array)$X
as$Yd=>$W){$Od["Attribute.$t.Name"]=$z;$Od["Attribute.$t.Value"]=(is_array($X)?$W:idf_unescape($W));if(!$Yd)$Od["Attribute.$t.Replace"]="true";$t++;}}}$Hf=array('DomainName'=>$R);return(!$Od||$this->_chunkRequest(($u!=""?array($u):$Ad),'BatchPutAttributes',$Hf,$Od))&&(!$Ub||$this->_chunkRequest($Ad,'BatchDeleteAttributes',$Hf,$Ub));}function
insert($R,$P){$Hf=array("DomainName"=>$R);$t=0;foreach($P
as$D=>$Y){if($Y!="NULL"){$D=idf_unescape($D);if($D=="itemName()")$Hf["ItemName"]=idf_unescape($Y);else{foreach((array)$Y
as$X){$Hf["Attribute.$t.Name"]=$D;$Hf["Attribute.$t.Value"]=(is_array($Y)?$X:idf_unescape($Y));$t++;}}}}return
sdb_request('PutAttributes',$Hf);}function
insertUpdate($R,$L,$dg){foreach($L
as$P){if(!$this->update($R,$P,"WHERE `itemName()` = ".q($P["`itemName()`"])))return
false;}return
true;}function
begin(){return
false;}function
commit(){return
false;}function
rollback(){return
false;}}function
connect(){return
new
Min_DB;}function
support($Pc){return
preg_match('~sql~',$Pc);}function
logged_user(){global$b;$j=$b->credentials();return$j[1];}function
get_databases(){return
array("domain");}function
collations(){return
array();}function
db_collation($m,$qb){}function
tables_list(){global$g;$J=array();foreach(sdb_request_all('ListDomains','DomainName')as$R)$J[(string)$R]='table';if($g->error&&defined("PAGE_HEADER"))echo"<p class='error'>".error()."\n";return$J;}function
table_status($D="",$Oc=false){$J=array();foreach(($D!=""?array($D=>true):tables_list())as$R=>$U){$K=array("Name"=>$R,"Auto_increment"=>"");if(!$Oc){$Le=sdb_request('DomainMetadata',array('DomainName'=>$R));if($Le){foreach(array("Rows"=>"ItemCount","Data_length"=>"ItemNamesSizeBytes","Index_length"=>"AttributeValuesSizeBytes","Data_free"=>"AttributeNamesSizeBytes",)as$z=>$X)$K[$z]=(string)$Le->$X;}}if($D!="")return$K;$J[$R]=$K;}return$J;}function
explain($g,$H){}function
error(){global$g;return
h($g->error);}function
information_schema(){}function
is_view($S){}function
indexes($R,$h=null){return
array(array("type"=>"PRIMARY","columns"=>array("itemName()")),);}function
fields($R){return
fields_from_edit();}function
foreign_keys($R){return
array();}function
table($v){return
idf_escape($v);}function
idf_escape($v){return"`".str_replace("`","``",$v)."`";}function
limit($H,$Z,$_,$E=0,$N=" "){return" $H$Z".($_!==null?$N."LIMIT $_":"");}function
unconvert_field($p,$J){return$J;}function
fk_support($S){}function
engines(){return
array();}function
alter_table($R,$D,$q,$bd,$vb,$uc,$pb,$Ma,$Nf){return($R==""&&sdb_request('CreateDomain',array('DomainName'=>$D)));}function
drop_tables($T){foreach($T
as$R){if(!sdb_request('DeleteDomain',array('DomainName'=>$R)))return
false;}return
true;}function
count_tables($l){foreach($l
as$m)return
array($m=>count(tables_list()));}function
found_rows($S,$Z){return($Z?null:$S["Rows"]);}function
last_id(){}function
hmac($Ca,$Lb,$z,$tg=false){$Va=64;if(strlen($z)>$Va)$z=pack("H*",$Ca($z));$z=str_pad($z,$Va,"\0");$Zd=$z^str_repeat("\x36",$Va);$ae=$z^str_repeat("\x5C",$Va);$J=$Ca($ae.pack("H*",$Ca($Zd.$Lb)));if($tg)$J=pack("H*",$J);return$J;}function
sdb_request($wa,$Hf=array()){global$b,$g;list($yd,$Hf['AWSAccessKeyId'],$Wg)=$b->credentials();$Hf['Action']=$wa;$Hf['Timestamp']=gmdate('Y-m-d\TH:i:s+00:00');$Hf['Version']='2009-04-15';$Hf['SignatureVersion']=2;$Hf['SignatureMethod']='HmacSHA1';ksort($Hf);$H='';foreach($Hf
as$z=>$X)$H.='&'.rawurlencode($z).'='.rawurlencode($X);$H=str_replace('%7E','~',substr($H,1));$H.="&Signature=".urlencode(base64_encode(hmac('sha1',"POST\n".preg_replace('~^https?://~','',$yd)."\n/\n$H",$Wg,true)));@ini_set('track_errors',1);$Tc=@file_get_contents((preg_match('~^https?://~',$yd)?$yd:"http://$yd"),false,stream_context_create(array('http'=>array('method'=>'POST','content'=>$H,'ignore_errors'=>1,))));if(!$Tc){$g->error=$php_errormsg;return
false;}libxml_use_internal_errors(true);$fj=simplexml_load_string($Tc);if(!$fj){$o=libxml_get_last_error();$g->error=$o->message;return
false;}if($fj->Errors){$o=$fj->Errors->Error;$g->error="$o->Message ($o->Code)";return
false;}$g->error='';$Oh=$wa."Result";return($fj->$Oh?$fj->$Oh:true);}function
sdb_request_all($wa,$Oh,$Hf=array(),$Xh=0){$J=array();$vh=($Xh?microtime(true):0);$_=(preg_match('~LIMIT\s+(\d+)\s*$~i',$Hf['SelectExpression'],$C)?$C[1]:0);do{$fj=sdb_request($wa,$Hf);if(!$fj)break;foreach($fj->$Oh
as$pc)$J[]=$pc;if($_&&count($J)>=$_){$_GET["next"]=$fj->NextToken;break;}if($Xh&&microtime(true)-$vh>$Xh)return
false;$Hf['NextToken']=$fj->NextToken;if($_)$Hf['SelectExpression']=preg_replace('~\d+\s*$~',$_-count($J),$Hf['SelectExpression']);}while($fj->NextToken);return$J;}$y="simpledb";$of=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","IS NOT NULL");$jd=array();$pd=array("count");$mc=array(array("json"));}$ec["mongo"]="MongoDB";if(isset($_GET["mongo"])){$ag=array("mongo","mongodb");define("DRIVER","mongo");if(class_exists('MongoDB')){class
Min_DB{var$extension="Mongo",$error,$last_id,$_link,$_db;function
connect($O,$V,$G){global$b;$m=$b->database();$rf=array();if($V!=""){$rf["username"]=$V;$rf["password"]=$G;}if($m!="")$rf["db"]=$m;try{$this->_link=@new
MongoClient("mongodb://$O",$rf);return
true;}catch(Exception$Ac){$this->error=$Ac->getMessage();return
false;}}function
query($H){return
false;}function
select_db($k){try{$this->_db=$this->_link->selectDB($k);return
true;}catch(Exception$Ac){$this->error=$Ac->getMessage();return
false;}}function
quote($Q){return$Q;}}class
Min_Result{var$num_rows,$_rows=array(),$_offset=0,$_charset=array();function
__construct($I){foreach($I
as$Wd){$K=array();foreach($Wd
as$z=>$X){if(is_a($X,'MongoBinData'))$this->_charset[$z]=63;$K[$z]=(is_a($X,'MongoId')?'ObjectId("'.strval($X).'")':(is_a($X,'MongoDate')?gmdate("Y-m-d H:i:s",$X->sec)." GMT":(is_a($X,'MongoBinData')?$X->bin:(is_a($X,'MongoRegex')?strval($X):(is_object($X)?get_class($X):$X)))));}$this->_rows[]=$K;foreach($K
as$z=>$X){if(!isset($this->_rows[0][$z]))$this->_rows[0][$z]=null;}}$this->num_rows=count($this->_rows);}function
fetch_assoc(){$K=current($this->_rows);if(!$K)return$K;$J=array();foreach($this->_rows[0]as$z=>$X)$J[$z]=$K[$z];next($this->_rows);return$J;}function
fetch_row(){$J=$this->fetch_assoc();if(!$J)return$J;return
array_values($J);}function
fetch_field(){$ce=array_keys($this->_rows[0]);$D=$ce[$this->_offset++];return(object)array('name'=>$D,'charsetnr'=>$this->_charset[$D],);}}class
Min_Driver
extends
Min_SQL{public$dg="_id";function
select($R,$M,$Z,$md,$tf=array(),$_=1,$F=0,$fg=false){$M=($M==array("*")?array():array_fill_keys($M,true));$mh=array();foreach($tf
as$X){$X=preg_replace('~ DESC$~','',$X,1,$Eb);$mh[$X]=($Eb?-1:1);}return
new
Min_Result($this->_conn->_db->selectCollection($R)->find(array(),$M)->sort($mh)->limit($_!=""?+$_:0)->skip($F*$_));}function
insert($R,$P){try{$J=$this->_conn->_db->selectCollection($R)->insert($P);$this->_conn->errno=$J['code'];$this->_conn->error=$J['err'];$this->_conn->last_id=$P['_id'];return!$J['err'];}catch(Exception$Ac){$this->_conn->error=$Ac->getMessage();return
false;}}}function
get_databases($ad){global$g;$J=array();$Qb=$g->_link->listDBs();foreach($Qb['databases']as$m)$J[]=$m['name'];return$J;}function
count_tables($l){global$g;$J=array();foreach($l
as$m)$J[$m]=count($g->_link->selectDB($m)->getCollectionNames(true));return$J;}function
tables_list(){global$g;return
array_fill_keys($g->_db->getCollectionNames(true),'table');}function
drop_databases($l){global$g;foreach($l
as$m){$Fg=$g->_link->selectDB($m)->drop();if(!$Fg['ok'])return
false;}return
true;}function
indexes($R,$h=null){global$g;$J=array();foreach($g->_db->selectCollection($R)->getIndexInfo()as$w){$Xb=array();foreach($w["key"]as$d=>$U)$Xb[]=($U==-1?'1':null);$J[$w["name"]]=array("type"=>($w["name"]=="_id_"?"PRIMARY":($w["unique"]?"UNIQUE":"INDEX")),"columns"=>array_keys($w["key"]),"lengths"=>array(),"descs"=>$Xb,);}return$J;}function
fields($R){return
fields_from_edit();}function
found_rows($S,$Z){global$g;return$g->_db->selectCollection($_GET["select"])->count($Z);}$of=array("=");}elseif(class_exists('MongoDB\Driver\Manager')){class
Min_DB{var$extension="MongoDB",$error,$last_id;var$_link;var$_db,$_db_name;function
connect($O,$V,$G){global$b;$m=$b->database();$rf=array();if($V!=""){$rf["username"]=$V;$rf["password"]=$G;}if($m!="")$rf["db"]=$m;try{$kb='MongoDB\Driver\Manager';$this->_link=new$kb("mongodb://$O",$rf);return
true;}catch(Exception$Ac){$this->error=$Ac->getMessage();return
false;}}function
query($H){return
false;}function
select_db($k){try{$this->_db_name=$k;return
true;}catch(Exception$Ac){$this->error=$Ac->getMessage();return
false;}}function
quote($Q){return$Q;}}class
Min_Result{var$num_rows,$_rows=array(),$_offset=0,$_charset=array();function
__construct($I){foreach($I
as$Wd){$K=array();foreach($Wd
as$z=>$X){if(is_a($X,'MongoDB\BSON\Binary'))$this->_charset[$z]=63;$K[$z]=(is_a($X,'MongoDB\BSON\ObjectID')?'MongoDB\BSON\ObjectID("'.strval($X).'")':(is_a($X,'MongoDB\BSON\UTCDatetime')?$X->toDateTime()->format('Y-m-d H:i:s'):(is_a($X,'MongoDB\BSON\Binary')?$X->bin:(is_a($X,'MongoDB\BSON\Regex')?strval($X):(is_object($X)?json_encode($X,256):$X)))));}$this->_rows[]=$K;foreach($K
as$z=>$X){if(!isset($this->_rows[0][$z]))$this->_rows[0][$z]=null;}}$this->num_rows=$I->count;}function
fetch_assoc(){$K=current($this->_rows);if(!$K)return$K;$J=array();foreach($this->_rows[0]as$z=>$X)$J[$z]=$K[$z];next($this->_rows);return$J;}function
fetch_row(){$J=$this->fetch_assoc();if(!$J)return$J;return
array_values($J);}function
fetch_field(){$ce=array_keys($this->_rows[0]);$D=$ce[$this->_offset++];return(object)array('name'=>$D,'charsetnr'=>$this->_charset[$D],);}}class
Min_Driver
extends
Min_SQL{public$dg="_id";function
select($R,$M,$Z,$md,$tf=array(),$_=1,$F=0,$fg=false){global$g;$M=($M==array("*")?array():array_fill_keys($M,1));if(count($M)&&!isset($M['_id']))$M['_id']=0;$Z=where_to_query($Z);$mh=array();foreach($tf
as$X){$X=preg_replace('~ DESC$~','',$X,1,$Eb);$mh[$X]=($Eb?-1:1);}if(isset($_GET['limit'])&&is_numeric($_GET['limit'])&&$_GET['limit']>0)$_=$_GET['limit'];$_=min(200,max(1,(int)$_));$kh=$F*$_;$kb='MongoDB\Driver\Query';$H=new$kb($Z,array('projection'=>$M,'limit'=>$_,'skip'=>$kh,'sort'=>$mh));$Ig=$g->_link->executeQuery("$g->_db_name.$R",$H);return
new
Min_Result($Ig);}function
update($R,$P,$pg,$_=0,$N="\n"){global$g;$m=$g->_db_name;$Z=sql_query_where_parser($pg);$kb='MongoDB\Driver\BulkWrite';$Za=new$kb(array());if(isset($P['_id']))unset($P['_id']);$Cg=array();foreach($P
as$z=>$Y){if($Y=='NULL'){$Cg[$z]=1;unset($P[$z]);}}$Ci=array('$set'=>$P);if(count($Cg))$Ci['$unset']=$Cg;$Za->update($Z,$Ci,array('upsert'=>false));$Ig=$g->_link->executeBulkWrite("$m.$R",$Za);$g->affected_rows=$Ig->getModifiedCount();return
true;}function
delete($R,$pg,$_=0){global$g;$m=$g->_db_name;$Z=sql_query_where_parser($pg);$kb='MongoDB\Driver\BulkWrite';$Za=new$kb(array());$Za->delete($Z,array('limit'=>$_));$Ig=$g->_link->executeBulkWrite("$m.$R",$Za);$g->affected_rows=$Ig->getDeletedCount();return
true;}function
insert($R,$P){global$g;$m=$g->_db_name;$kb='MongoDB\Driver\BulkWrite';$Za=new$kb(array());if(isset($P['_id'])&&empty($P['_id']))unset($P['_id']);$Za->insert($P);$Ig=$g->_link->executeBulkWrite("$m.$R",$Za);$g->affected_rows=$Ig->getInsertedCount();return
true;}}function
get_databases($ad){global$g;$J=array();$kb='MongoDB\Driver\Command';$tb=new$kb(array('listDatabases'=>1));$Ig=$g->_link->executeCommand('admin',$tb);foreach($Ig
as$Qb){foreach($Qb->databases
as$m)$J[]=$m->name;}return$J;}function
count_tables($l){$J=array();return$J;}function
tables_list(){global$g;$kb='MongoDB\Driver\Command';$tb=new$kb(array('listCollections'=>1));$Ig=$g->_link->executeCommand($g->_db_name,$tb);$rb=array();foreach($Ig
as$I)$rb[$I->name]='table';return$rb;}function
drop_databases($l){return
false;}function
indexes($R,$h=null){global$g;$J=array();$kb='MongoDB\Driver\Command';$tb=new$kb(array('listIndexes'=>$R));$Ig=$g->_link->executeCommand($g->_db_name,$tb);foreach($Ig
as$w){$Xb=array();$e=array();foreach(get_object_vars($w->key)as$d=>$U){$Xb[]=($U==-1?'1':null);$e[]=$d;}$J[$w->name]=array("type"=>($w->name=="_id_"?"PRIMARY":(isset($w->unique)?"UNIQUE":"INDEX")),"columns"=>$e,"lengths"=>array(),"descs"=>$Xb,);}return$J;}function
fields($R){$q=fields_from_edit();if(!count($q)){global$n;$I=$n->select($R,array("*"),null,null,array(),10);while($K=$I->fetch_assoc()){foreach($K
as$z=>$X){$K[$z]=null;$q[$z]=array("field"=>$z,"type"=>"string","null"=>($z!=$n->primary),"auto_increment"=>($z==$n->primary),"privileges"=>array("insert"=>1,"select"=>1,"update"=>1,),);}}}return$q;}function
found_rows($S,$Z){global$g;$Z=where_to_query($Z);$kb='MongoDB\Driver\Command';$tb=new$kb(array('count'=>$S['Name'],'query'=>$Z));$Ig=$g->_link->executeCommand($g->_db_name,$tb);$fi=$Ig->toArray();return$fi[0]->n;}function
sql_query_where_parser($pg){$pg=trim(preg_replace('/WHERE[\s]?[(]?\(?/','',$pg));$pg=preg_replace('/\)\)\)$/',')',$pg);$cj=explode(' AND ',$pg);$dj=explode(') OR (',$pg);$Z=array();foreach($cj
as$aj)$Z[]=trim($aj);if(count($dj)==1)$dj=array();elseif(count($dj)>1)$Z=array();return
where_to_query($Z,$dj);}function
where_to_query($Yi=array(),$Zi=array()){global$of;$Lb=array();foreach(array('and'=>$Yi,'or'=>$Zi)as$U=>$Z){if(is_array($Z)){foreach($Z
as$Hc){list($nb,$mf,$X)=explode(" ",$Hc,3);if($nb=="_id"){$X=str_replace('MongoDB\BSON\ObjectID("',"",$X);$X=str_replace('")',"",$X);$kb='MongoDB\BSON\ObjectID';$X=new$kb($X);}if(!in_array($mf,$of))continue;if(preg_match('~^\(f\)(.+)~',$mf,$C)){$X=(float)$X;$mf=$C[1];}elseif(preg_match('~^\(date\)(.+)~',$mf,$C)){$Nb=new
DateTime($X);$kb='MongoDB\BSON\UTCDatetime';$X=new$kb($Nb->getTimestamp()*1000);$mf=$C[1];}switch($mf){case'=':$mf='$eq';break;case'!=':$mf='$ne';break;case'>':$mf='$gt';break;case'<':$mf='$lt';break;case'>=':$mf='$gte';break;case'<=':$mf='$lte';break;case'regex':$mf='$regex';break;default:continue;}if($U=='and')$Lb['$and'][]=array($nb=>array($mf=>$X));elseif($U=='or')$Lb['$or'][]=array($nb=>array($mf=>$X));}}}return$Lb;}$of=array("=","!=",">","<",">=","<=","regex","(f)=","(f)!=","(f)>","(f)<","(f)>=","(f)<=","(date)=","(date)!=","(date)>","(date)<","(date)>=","(date)<=",);}function
table($v){return$v;}function
idf_escape($v){return$v;}function
table_status($D="",$Oc=false){$J=array();foreach(tables_list()as$R=>$U){$J[$R]=array("Name"=>$R);if($D==$R)return$J[$R];}return$J;}function
last_id(){global$g;return$g->last_id;}function
error(){global$g;return
h($g->error);}function
collations(){return
array();}function
logged_user(){global$b;$j=$b->credentials();return$j[1];}function
connect(){global$b;$g=new
Min_DB;$j=$b->credentials();if($g->connect($j[0],$j[1],$j[2]))return$g;return$g->error;}function
alter_indexes($R,$c){global$g;foreach($c
as$X){list($U,$D,$P)=$X;if($P=="DROP")$J=$g->_db->command(array("deleteIndexes"=>$R,"index"=>$D));else{$e=array();foreach($P
as$d){$d=preg_replace('~ DESC$~','',$d,1,$Eb);$e[$d]=($Eb?-1:1);}$J=$g->_db->selectCollection($R)->ensureIndex($e,array("unique"=>($U=="UNIQUE"),"name"=>$D,));}if($J['errmsg']){$g->error=$J['errmsg'];return
false;}}return
true;}function
support($Pc){return
preg_match("~database|indexes~",$Pc);}function
db_collation($m,$qb){}function
information_schema(){}function
is_view($S){}function
convert_field($p){}function
unconvert_field($p,$J){return$J;}function
foreign_keys($R){return
array();}function
fk_support($S){}function
engines(){return
array();}function
alter_table($R,$D,$q,$bd,$vb,$uc,$pb,$Ma,$Nf){global$g;if($R==""){$g->_db->createCollection($D);return
true;}}function
drop_tables($T){global$g;foreach($T
as$R){$Fg=$g->_db->selectCollection($R)->drop();if(!$Fg['ok'])return
false;}return
true;}function
truncate_tables($T){global$g;foreach($T
as$R){$Fg=$g->_db->selectCollection($R)->remove();if(!$Fg['ok'])return
false;}return
true;}$y="mongo";$jd=array();$pd=array();$mc=array(array("json"));}$ec["elastic"]="Elasticsearch (beta)";if(isset($_GET["elastic"])){$ag=array("json");define("DRIVER","elastic");if(function_exists('json_decode')){class
Min_DB{var$extension="JSON",$server_info,$errno,$error,$_url;function
rootQuery($Rf,$_b=array(),$Me='GET'){@ini_set('track_errors',1);$Tc=@file_get_contents("$this->_url/".ltrim($Rf,'/'),false,stream_context_create(array('http'=>array('method'=>$Me,'content'=>$_b===null?$_b:json_encode($_b),'header'=>'Content-Type: application/json','ignore_errors'=>1,))));if(!$Tc){$this->error=$php_errormsg;return$Tc;}if(!preg_match('~^HTTP/[0-9.]+ 2~i',$http_response_header[0])){$this->error=$Tc;return
false;}$J=json_decode($Tc,true);if($J===null){$this->errno=json_last_error();if(function_exists('json_last_error_msg'))$this->error=json_last_error_msg();else{$zb=get_defined_constants(true);foreach($zb['json']as$D=>$Y){if($Y==$this->errno&&preg_match('~^JSON_ERROR_~',$D)){$this->error=$D;break;}}}}return$J;}function
query($Rf,$_b=array(),$Me='GET'){return$this->rootQuery(($this->_db!=""?"$this->_db/":"/").ltrim($Rf,'/'),$_b,$Me);}function
connect($O,$V,$G){preg_match('~^(https?://)?(.*)~',$O,$C);$this->_url=($C[1]?$C[1]:"http://")."$V:$G@$C[2]";$J=$this->query('');if($J)$this->server_info=$J['version']['number'];return(bool)$J;}function
select_db($k){$this->_db=$k;return
true;}function
quote($Q){return$Q;}}class
Min_Result{var$num_rows,$_rows;function
__construct($L){$this->num_rows=count($this->_rows);$this->_rows=$L;reset($this->_rows);}function
fetch_assoc(){$J=current($this->_rows);next($this->_rows);return$J;}function
fetch_row(){return
array_values($this->fetch_assoc());}}}class
Min_Driver
extends
Min_SQL{function
select($R,$M,$Z,$md,$tf=array(),$_=1,$F=0,$fg=false){global$b;$Lb=array();$H="$R/_search";if($M!=array("*"))$Lb["fields"]=$M;if($tf){$mh=array();foreach($tf
as$nb){$nb=preg_replace('~ DESC$~','',$nb,1,$Eb);$mh[]=($Eb?array($nb=>"desc"):$nb);}$Lb["sort"]=$mh;}if($_){$Lb["size"]=+$_;if($F)$Lb["from"]=($F*$_);}foreach($Z
as$X){list($nb,$mf,$X)=explode(" ",$X,3);if($nb=="_id")$Lb["query"]["ids"]["values"][]=$X;elseif($nb.$X!=""){$Sh=array("term"=>array(($nb!=""?$nb:"_all")=>$X));if($mf=="=")$Lb["query"]["filtered"]["filter"]["and"][]=$Sh;else$Lb["query"]["filtered"]["query"]["bool"]["must"][]=$Sh;}}if($Lb["query"]&&!$Lb["query"]["filtered"]["query"]&&!$Lb["query"]["ids"])$Lb["query"]["filtered"]["query"]=array("match_all"=>array());$vh=microtime(true);$Vg=$this->_conn->query($H,$Lb);if($fg)echo$b->selectQuery("$H: ".print_r($Lb,true),$vh,!$Vg);if(!$Vg)return
false;$J=array();foreach($Vg['hits']['hits']as$xd){$K=array();if($M==array("*"))$K["_id"]=$xd["_id"];$q=$xd['_source'];if($M!=array("*")){$q=array();foreach($M
as$z)$q[$z]=$xd['fields'][$z];}foreach($q
as$z=>$X){if($Lb["fields"])$X=$X[0];$K[$z]=(is_array($X)?json_encode($X):$X);}$J[]=$K;}return
new
Min_Result($J);}function
update($U,$ug,$pg){$Pf=preg_split('~ *= *~',$pg);if(count($Pf)==2){$u=trim($Pf[1]);$H="$U/$u";return$this->_conn->query($H,$ug,'POST');}return
false;}function
insert($U,$ug){$u="";$H="$U/$u";$Fg=$this->_conn->query($H,$ug,'POST');$this->_conn->last_id=$Fg['_id'];return$Fg['created'];}function
delete($U,$pg){$Ad=array();if(is_array($_GET["where"])&&$_GET["where"]["_id"])$Ad[]=$_GET["where"]["_id"];if(is_array($_POST['check'])){foreach($_POST['check']as$db){$Pf=preg_split('~ *= *~',$db);if(count($Pf)==2)$Ad[]=trim($Pf[1]);}}$this->_conn->affected_rows=0;foreach($Ad
as$u){$H="{$U}/{$u}";$Fg=$this->_conn->query($H,'{}','DELETE');if(is_array($Fg)&&$Fg['found']==true)$this->_conn->affected_rows++;}return$this->_conn->affected_rows;}}function
connect(){global$b;$g=new
Min_DB;$j=$b->credentials();if($g->connect($j[0],$j[1],$j[2]))return$g;return$g->error;}function
support($Pc){return
preg_match("~database|table|columns~",$Pc);}function
logged_user(){global$b;$j=$b->credentials();return$j[1];}function
get_databases(){global$g;$J=$g->rootQuery('_aliases');if($J){$J=array_keys($J);sort($J,SORT_STRING);}return$J;}function
collations(){return
array();}function
db_collation($m,$qb){}function
engines(){return
array();}function
count_tables($l){global$g;$J=array();$I=$g->query('_stats');if($I&&$I['indices']){$Hd=$I['indices'];foreach($Hd
as$Gd=>$wh){$Fd=$wh['total']['indexing'];$J[$Gd]=$Fd['index_total'];}}return$J;}function
tables_list(){global$g;$J=$g->query('_mapping');if($J)$J=array_fill_keys(array_keys($J[$g->_db]["mappings"]),'table');return$J;}function
table_status($D="",$Oc=false){global$g;$Vg=$g->query("_search",array("size"=>0,"aggregations"=>array("count_by_type"=>array("terms"=>array("field"=>"_type")))),"POST");$J=array();if($Vg){$T=$Vg["aggregations"]["count_by_type"]["buckets"];foreach($T
as$R){$J[$R["key"]]=array("Name"=>$R["key"],"Engine"=>"table","Rows"=>$R["doc_count"],);if($D!=""&&$D==$R["key"])return$J[$D];}}return$J;}function
error(){global$g;return
h($g->error);}function
information_schema(){}function
is_view($S){}function
indexes($R,$h=null){return
array(array("type"=>"PRIMARY","columns"=>array("_id")),);}function
fields($R){global$g;$I=$g->query("$R/_mapping");$J=array();if($I){$ve=$I[$R]['properties'];if(!$ve)$ve=$I[$g->_db]['mappings'][$R]['properties'];if($ve){foreach($ve
as$D=>$p){$J[$D]=array("field"=>$D,"full_type"=>$p["type"],"type"=>$p["type"],"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),);if($p["properties"]){unset($J[$D]["privileges"]["insert"]);unset($J[$D]["privileges"]["update"]);}}}}return$J;}function
foreign_keys($R){return
array();}function
table($v){return$v;}function
idf_escape($v){return$v;}function
convert_field($p){}function
unconvert_field($p,$J){return$J;}function
fk_support($S){}function
found_rows($S,$Z){return
null;}function
create_database($m){global$g;return$g->rootQuery(urlencode($m),null,'PUT');}function
drop_databases($l){global$g;return$g->rootQuery(urlencode(implode(',',$l)),array(),'DELETE');}function
alter_table($R,$D,$q,$bd,$vb,$uc,$pb,$Ma,$Nf){global$g;$lg=array();foreach($q
as$Mc){$Rc=trim($Mc[1][0]);$Sc=trim($Mc[1][1]?$Mc[1][1]:"text");$lg[$Rc]=array('type'=>$Sc);}if(!empty($lg))$lg=array('properties'=>$lg);return$g->query("_mapping/{$D}",$lg,'PUT');}function
drop_tables($T){global$g;$J=true;foreach($T
as$R)$J=$J&&$g->query(urlencode($R),array(),'DELETE');return$J;}function
last_id(){global$g;return$g->last_id;}$y="elastic";$of=array("=","query");$jd=array();$pd=array();$mc=array(array("json"));$vi=array();$_h=array();foreach(array(lang(25)=>array("long"=>3,"integer"=>5,"short"=>8,"byte"=>10,"double"=>20,"float"=>66,"half_float"=>12,"scaled_float"=>21),lang(26)=>array("date"=>10),lang(23)=>array("string"=>65535,"text"=>65535),lang(27)=>array("binary"=>255),)as$z=>$X){$vi+=$X;$_h[$z]=array_keys($X);}}$ec=array("server"=>"MySQL")+$ec;if(!defined("DRIVER")){$ag=array("MySQLi","MySQL","PDO_MySQL");define("DRIVER","server");if(extension_loaded("mysqli")){class
Min_DB
extends
MySQLi{var$extension="MySQLi";function
__construct(){parent::init();}function
connect($O="",$V="",$G="",$k=null,$Wf=null,$lh=null){global$b;mysqli_report(MYSQLI_REPORT_OFF);list($yd,$Wf)=explode(":",$O,2);$uh=$b->connectSsl();if($uh)$this->ssl_set($uh['key'],$uh['cert'],$uh['ca'],'','');$J=@$this->real_connect(($O!=""?$yd:ini_get("mysqli.default_host")),($O.$V!=""?$V:ini_get("mysqli.default_user")),($O.$V.$G!=""?$G:ini_get("mysqli.default_pw")),$k,(is_numeric($Wf)?$Wf:ini_get("mysqli.default_port")),(!is_numeric($Wf)?$Wf:$lh),($uh?64:0));return$J;}function
set_charset($cb){if(parent::set_charset($cb))return
true;parent::set_charset('utf8');return$this->query("SET NAMES $cb");}function
result($H,$p=0){$I=$this->query($H);if(!$I)return
false;$K=$I->fetch_array();return$K[$p];}function
quote($Q){return"'".$this->escape_string($Q)."'";}}}elseif(extension_loaded("mysql")&&!(ini_get("sql.safe_mode")&&extension_loaded("pdo_mysql"))){class
Min_DB{var$extension="MySQL",$server_info,$affected_rows,$errno,$error,$_link,$_result;function
connect($O,$V,$G){$this->_link=@mysql_connect(($O!=""?$O:ini_get("mysql.default_host")),("$O$V"!=""?$V:ini_get("mysql.default_user")),("$O$V$G"!=""?$G:ini_get("mysql.default_password")),true,131072);if($this->_link)$this->server_info=mysql_get_server_info($this->_link);else$this->error=mysql_error();return(bool)$this->_link;}function
set_charset($cb){if(function_exists('mysql_set_charset')){if(mysql_set_charset($cb,$this->_link))return
true;mysql_set_charset('utf8',$this->_link);}return$this->query("SET NAMES $cb");}function
quote($Q){return"'".mysql_real_escape_string($Q,$this->_link)."'";}function
select_db($k){return
mysql_select_db($k,$this->_link);}function
query($H,$wi=false){$I=@($wi?mysql_unbuffered_query($H,$this->_link):mysql_query($H,$this->_link));$this->error="";if(!$I){$this->errno=mysql_errno($this->_link);$this->error=mysql_error($this->_link);return
false;}if($I===true){$this->affected_rows=mysql_affected_rows($this->_link);$this->info=mysql_info($this->_link);return
true;}return
new
Min_Result($I);}function
multi_query($H){return$this->_result=$this->query($H);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($H,$p=0){$I=$this->query($H);if(!$I||!$I->num_rows)return
false;return
mysql_result($I->_result,0,$p);}}class
Min_Result{var$num_rows,$_result,$_offset=0;function
__construct($I){$this->_result=$I;$this->num_rows=mysql_num_rows($I);}function
fetch_assoc(){return
mysql_fetch_assoc($this->_result);}function
fetch_row(){return
mysql_fetch_row($this->_result);}function
fetch_field(){$J=mysql_fetch_field($this->_result,$this->_offset++);$J->orgtable=$J->table;$J->orgname=$J->name;$J->charsetnr=($J->blob?63:0);return$J;}function
__destruct(){mysql_free_result($this->_result);}}}elseif(extension_loaded("pdo_mysql")){class
Min_DB
extends
Min_PDO{var$extension="PDO_MySQL";function
connect($O,$V,$G){global$b;$rf=array();$uh=$b->connectSsl();if($uh)$rf=array(PDO::MYSQL_ATTR_SSL_KEY=>$uh['key'],PDO::MYSQL_ATTR_SSL_CERT=>$uh['cert'],PDO::MYSQL_ATTR_SSL_CA=>$uh['ca'],);$this->dsn("mysql:charset=utf8;host=".str_replace(":",";unix_socket=",preg_replace('~:(\\d)~',';port=\\1',$O)),$V,$G,$rf);return
true;}function
set_charset($cb){$this->query("SET NAMES $cb");}function
select_db($k){return$this->query("USE ".idf_escape($k));}function
query($H,$wi=false){$this->setAttribute(1000,!$wi);return
parent::query($H,$wi);}}}class
Min_Driver
extends
Min_SQL{function
insert($R,$P){return($P?parent::insert($R,$P):queries("INSERT INTO ".table($R)." ()\nVALUES ()"));}function
insertUpdate($R,$L,$dg){$e=array_keys(reset($L));$bg="INSERT INTO ".table($R)." (".implode(", ",$e).") VALUES\n";$Ni=array();foreach($e
as$z)$Ni[$z]="$z = VALUES($z)";$Ch="\nON DUPLICATE KEY UPDATE ".implode(", ",$Ni);$Ni=array();$pe=0;foreach($L
as$P){$Y="(".implode(", ",$P).")";if($Ni&&(strlen($bg)+$pe+strlen($Y)+strlen($Ch)>1e6)){if(!queries($bg.implode(",\n",$Ni).$Ch))return
false;$Ni=array();$pe=0;}$Ni[]=$Y;$pe+=strlen($Y)+2;}return
queries($bg.implode(",\n",$Ni).$Ch);}function
convertSearch($v,$X,$p){return(preg_match('~char|text|enum|set~',$p["type"])&&!preg_match("~^utf8~",$p["collation"])?"CONVERT($v USING ".charset($this->_conn).")":$v);}function
warnings(){$I=$this->_conn->query("SHOW WARNINGS");if($I&&$I->num_rows){ob_start();select($I);return
ob_get_clean();}}function
tableHelp($D){$we=preg_match('~MariaDB~',$this->_conn->server_info);if(information_schema(DB))return
strtolower(($we?"information-schema-$D-table/":str_replace("_","-",$D)."-table.html"));if(DB=="mysql")return($we?"mysql$D-table/":"system-database.html");}}function
idf_escape($v){return"`".str_replace("`","``",$v)."`";}function
table($v){return
idf_escape($v);}function
connect(){global$b,$vi,$_h;$g=new
Min_DB;$j=$b->credentials();if($g->connect($j[0],$j[1],$j[2])){$g->set_charset(charset($g));$g->query("SET sql_quote_show_create = 1, autocommit = 1");if(min_version('5.7.8',10.2,$g)){$_h[lang(23)][]="json";$vi["json"]=4294967295;}return$g;}$J=$g->error;if(function_exists('iconv')&&!is_utf8($J)&&strlen($Rg=iconv("windows-1250","utf-8",$J))>strlen($J))$J=$Rg;return$J;}function
get_databases($ad){$J=get_session("dbs");if($J===null){$H=(min_version(5)?"SELECT SCHEMA_NAME FROM information_schema.SCHEMATA":"SHOW DATABASES");$J=($ad?slow_query($H):get_vals($H));restart_session();set_session("dbs",$J);stop_session();}return$J;}function
limit($H,$Z,$_,$E=0,$N=" "){return" $H$Z".($_!==null?$N."LIMIT $_".($E?" OFFSET $E":""):"");}function
limit1($R,$H,$Z,$N="\n"){return
limit($H,$Z,1,0,$N);}function
db_collation($m,$qb){global$g;$J=null;$i=$g->result("SHOW CREATE DATABASE ".idf_escape($m),1);if(preg_match('~ COLLATE ([^ ]+)~',$i,$C))$J=$C[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$i,$C))$J=$qb[$C[1]][-1];return$J;}function
engines(){$J=array();foreach(get_rows("SHOW ENGINES")as$K){if(preg_match("~YES|DEFAULT~",$K["Support"]))$J[]=$K["Engine"];}return$J;}function
logged_user(){global$g;return$g->result("SELECT USER()");}function
tables_list(){return
get_key_vals(min_version(5)?"SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ORDER BY TABLE_NAME":"SHOW TABLES");}function
count_tables($l){$J=array();foreach($l
as$m)$J[$m]=count(get_vals("SHOW TABLES IN ".idf_escape($m)));return$J;}function
table_status($D="",$Oc=false){$J=array();foreach(get_rows($Oc&&min_version(5)?"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$K){if($K["Engine"]=="InnoDB")$K["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\\1',$K["Comment"]);if(!isset($K["Engine"]))$K["Comment"]="";if($D!="")return$K;$J[$K["Name"]]=$K;}return$J;}function
is_view($S){return$S["Engine"]===null;}function
fk_support($S){return
preg_match('~InnoDB|IBMDB2I~i',$S["Engine"])||(preg_match('~NDB~i',$S["Engine"])&&min_version(5.6));}function
fields($R){$J=array();foreach(get_rows("SHOW FULL COLUMNS FROM ".table($R))as$K){preg_match('~^([^( ]+)(?:\\((.+)\\))?( unsigned)?( zerofill)?$~',$K["Type"],$C);$J[$K["Field"]]=array("field"=>$K["Field"],"full_type"=>$K["Type"],"type"=>$C[1],"length"=>$C[2],"unsigned"=>ltrim($C[3].$C[4]),"default"=>($K["Default"]!=""||preg_match("~char|set~",$C[1])?$K["Default"]:null),"null"=>($K["Null"]=="YES"),"auto_increment"=>($K["Extra"]=="auto_increment"),"on_update"=>(preg_match('~^on update (.+)~i',$K["Extra"],$C)?$C[1]:""),"collation"=>$K["Collation"],"privileges"=>array_flip(preg_split('~, *~',$K["Privileges"])),"comment"=>$K["Comment"],"primary"=>($K["Key"]=="PRI"),);}return$J;}function
indexes($R,$h=null){$J=array();foreach(get_rows("SHOW INDEX FROM ".table($R),$h)as$K){$D=$K["Key_name"];$J[$D]["type"]=($D=="PRIMARY"?"PRIMARY":($K["Index_type"]=="FULLTEXT"?"FULLTEXT":($K["Non_unique"]?($K["Index_type"]=="SPATIAL"?"SPATIAL":"INDEX"):"UNIQUE")));$J[$D]["columns"][]=$K["Column_name"];$J[$D]["lengths"][]=($K["Index_type"]=="SPATIAL"?null:$K["Sub_part"]);$J[$D]["descs"][]=null;}return$J;}function
foreign_keys($R){global$g,$jf;static$Tf='`(?:[^`]|``)+`';$J=array();$Fb=$g->result("SHOW CREATE TABLE ".table($R),1);if($Fb){preg_match_all("~CONSTRAINT ($Tf) FOREIGN KEY ?\\(((?:$Tf,? ?)+)\\) REFERENCES ($Tf)(?:\\.($Tf))? \\(((?:$Tf,? ?)+)\\)(?: ON DELETE ($jf))?(?: ON UPDATE ($jf))?~",$Fb,$ze,PREG_SET_ORDER);foreach($ze
as$C){preg_match_all("~$Tf~",$C[2],$nh);preg_match_all("~$Tf~",$C[5],$Ph);$J[idf_unescape($C[1])]=array("db"=>idf_unescape($C[4]!=""?$C[3]:$C[4]),"table"=>idf_unescape($C[4]!=""?$C[4]:$C[3]),"source"=>array_map('idf_unescape',$nh[0]),"target"=>array_map('idf_unescape',$Ph[0]),"on_delete"=>($C[6]?$C[6]:"RESTRICT"),"on_update"=>($C[7]?$C[7]:"RESTRICT"),);}}return$J;}function
view($D){global$g;return
array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\\s+AS\\s+~isU','',$g->result("SHOW CREATE VIEW ".table($D),1)));}function
collations(){$J=array();foreach(get_rows("SHOW COLLATION")as$K){if($K["Default"])$J[$K["Charset"]][-1]=$K["Collation"];else$J[$K["Charset"]][]=$K["Collation"];}ksort($J);foreach($J
as$z=>$X)asort($J[$z]);return$J;}function
information_schema($m){return(min_version(5)&&$m=="information_schema")||(min_version(5.5)&&$m=="performance_schema");}function
error(){global$g;return
h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",$g->error));}function
create_database($m,$pb){return
queries("CREATE DATABASE ".idf_escape($m).($pb?" COLLATE ".q($pb):""));}function
drop_databases($l){$J=apply_queries("DROP DATABASE",$l,'idf_escape');restart_session();set_session("dbs",null);return$J;}function
rename_database($D,$pb){$J=false;if(create_database($D,$pb)){$Dg=array();foreach(tables_list()as$R=>$U)$Dg[]=table($R)." TO ".idf_escape($D).".".table($R);$J=(!$Dg||queries("RENAME TABLE ".implode(", ",$Dg)));if($J)queries("DROP DATABASE ".idf_escape(DB));restart_session();set_session("dbs",null);}return$J;}function
auto_increment(){$Na=" 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)){$Na="";break;}if($w["type"]=="PRIMARY")$Na=" UNIQUE";}}return" AUTO_INCREMENT$Na";}function
alter_table($R,$D,$q,$bd,$vb,$uc,$pb,$Ma,$Nf){$c=array();foreach($q
as$p)$c[]=($p[1]?($R!=""?($p[0]!=""?"CHANGE ".idf_escape($p[0]):"ADD"):" ")." ".implode($p[1]).($R!=""?$p[2]:""):"DROP ".idf_escape($p[0]));$c=array_merge($c,$bd);$xh=($vb!==null?" COMMENT=".q($vb):"").($uc?" ENGINE=".q($uc):"").($pb?" COLLATE ".q($pb):"").($Ma!=""?" AUTO_INCREMENT=$Ma":"");if($R=="")return
queries("CREATE TABLE ".table($D)." (\n".implode(",\n",$c)."\n)$xh$Nf");if($R!=$D)$c[]="RENAME TO ".table($D);if($xh)$c[]=ltrim($xh);return($c||$Nf?queries("ALTER TABLE ".table($R)."\n".implode(",\n",$c).$Nf):true);}function
alter_indexes($R,$c){foreach($c
as$z=>$X)$c[$z]=($X[2]=="DROP"?"\nDROP INDEX ".idf_escape($X[1]):"\nADD $X[0] ".($X[0]=="PRIMARY"?"KEY ":"").($X[1]!=""?idf_escape($X[1])." ":"")."(".implode(", ",$X[2]).")");return
queries("ALTER TABLE ".table($R).implode(",",$c));}function
truncate_tables($T){return
apply_queries("TRUNCATE TABLE",$T);}function
drop_views($Si){return
queries("DROP VIEW ".implode(", ",array_map('table',$Si)));}function
drop_tables($T){return
queries("DROP TABLE ".implode(", ",array_map('table',$T)));}function
move_tables($T,$Si,$Ph){$Dg=array();foreach(array_merge($T,$Si)as$R)$Dg[]=table($R)." TO ".idf_escape($Ph).".".table($R);return
queries("RENAME TABLE ".implode(", ",$Dg));}function
copy_tables($T,$Si,$Ph){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($T
as$R){$D=($Ph==DB?table("copy_$R"):idf_escape($Ph).".".table($R));if(!queries("\nDROP TABLE IF EXISTS $D")||!queries("CREATE TABLE $D LIKE ".table($R))||!queries("INSERT INTO $D SELECT * FROM ".table($R)))return
false;}foreach($Si
as$R){$D=($Ph==DB?table("copy_$R"):idf_escape($Ph).".".table($R));$Ri=view($R);if(!queries("DROP VIEW IF EXISTS $D")||!queries("CREATE VIEW $D AS $Ri[select]"))return
false;}return
true;}function
trigger($D){if($D=="")return
array();$L=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($D));return
reset($L);}function
triggers($R){$J=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_\\")))as$K)$J[$K["Trigger"]]=array($K["Timing"],$K["Event"]);return$J;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("FOR EACH ROW"),);}function
routine($D,$U){global$g,$wc,$Md,$vi;$Da=array("bool","boolean","integer","double precision","real","dec","numeric","fixed","national char","national varchar");$oh="(?:\\s|/\\*[\s\S]*?\\*/|(?:#|-- )[^\n]*\n?|--\r?\n)";$ui="((".implode("|",array_merge(array_keys($vi),$Da)).")\\b(?:\\s*\\(((?:[^'\")]|$wc)++)\\))?\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s,]+)['\"]?)?";$Tf="$oh*(".($U=="FUNCTION"?"":$Md).")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$ui";$i=$g->result("SHOW CREATE $U ".idf_escape($D),2);preg_match("~\\(((?:$Tf\\s*,?)*)\\)\\s*".($U=="FUNCTION"?"RETURNS\\s+$ui\\s+":"")."(.*)~is",$i,$C);$q=array();preg_match_all("~$Tf\\s*,?~is",$C[1],$ze,PREG_SET_ORDER);foreach($ze
as$Gf){$D=str_replace("``","`",$Gf[2]).$Gf[3];$q[]=array("field"=>$D,"type"=>strtolower($Gf[5]),"length"=>preg_replace_callback("~$wc~s",'normalize_enum',$Gf[6]),"unsigned"=>strtolower(preg_replace('~\\s+~',' ',trim("$Gf[8] $Gf[7]"))),"null"=>1,"full_type"=>$Gf[4],"inout"=>strtoupper($Gf[1]),"collation"=>strtolower($Gf[9]),);}if($U!="FUNCTION")return
array("fields"=>$q,"definition"=>$C[11]);return
array("fields"=>$q,"returns"=>array("type"=>$C[12],"length"=>$C[13],"unsigned"=>$C[15],"collation"=>$C[16]),"definition"=>$C[17],"language"=>"SQL",);}function
routines(){return
get_rows("SELECT ROUTINE_NAME AS SPECIFIC_NAME, ROUTINE_NAME, ROUTINE_TYPE, DTD_IDENTIFIER FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ".q(DB));}function
routine_languages(){return
array();}function
routine_id($D,$K){return
idf_escape($D);}function
last_id(){global$g;return$g->result("SELECT LAST_INSERT_ID()");}function
explain($g,$H){return$g->query("EXPLAIN ".(min_version(5.1)?"PARTITIONS ":"").$H);}function
found_rows($S,$Z){return($Z||$S["Engine"]!="InnoDB"?null:$S["Rows"]);}function
types(){return
array();}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($Tg){return
true;}function
create_sql($R,$Ma,$Ah){global$g;$J=$g->result("SHOW CREATE TABLE ".table($R),1);if(!$Ma)$J=preg_replace('~ AUTO_INCREMENT=\\d+~','',$J);return$J;}function
truncate_sql($R){return"TRUNCATE ".table($R);}function
use_sql($k){return"USE ".idf_escape($k);}function
trigger_sql($R){$J="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_\\")),null,"-- ")as$K)$J.="\nCREATE TRIGGER ".idf_escape($K["Trigger"])." $K[Timing] $K[Event] ON ".table($K["Table"])." FOR EACH ROW\n$K[Statement];;\n";return$J;}function
show_variables(){return
get_key_vals("SHOW VARIABLES");}function
process_list(){return
get_rows("SHOW FULL PROCESSLIST");}function
show_status(){return
get_key_vals("SHOW STATUS");}function
convert_field($p){if(preg_match("~binary~",$p["type"]))return"HEX(".idf_escape($p["field"]).")";if($p["type"]=="bit")return"BIN(".idf_escape($p["field"])." + 0)";if(preg_match("~geometry|point|linestring|polygon~",$p["type"]))return(min_version(8)?"ST_":"")."AsWKT(".idf_escape($p["field"]).")";}function
unconvert_field($p,$J){if(preg_match("~binary~",$p["type"]))$J="UNHEX($J)";if($p["type"]=="bit")$J="CONV($J, 2, 10) + 0";if(preg_match("~geometry|point|linestring|polygon~",$p["type"]))$J=(min_version(8)?"ST_":"")."GeomFromText($J)";return$J;}function
support($Pc){return!preg_match("~scheme|sequence|type|view_trigger|materializedview".(min_version(5.1)?"":"|event|partitioning".(min_version(5)?"":"|routine|trigger|view"))."~",$Pc);}function
kill_process($X){return
queries("KILL ".number($X));}function
connection_id(){return"SELECT CONNECTION_ID()";}function
max_connections(){global$g;return$g->result("SELECT @@max_connections");}$y="sql";$vi=array();$_h=array();foreach(array(lang(25)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(26)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(23)=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),lang(30)=>array("enum"=>65535,"set"=>64),lang(27)=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),lang(29)=>array("geometry"=>0,"point"=>0,"linestring"=>0,"polygon"=>0,"multipoint"=>0,"multilinestring"=>0,"multipolygon"=>0,"geometrycollection"=>0),)as$z=>$X){$vi+=$X;$_h[$z]=array_keys($X);}$Bi=array("unsigned","zerofill","unsigned zerofill");$of=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","FIND_IN_SET","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");$jd=array("char_length","date","from_unixtime","lower","round","floor","ceil","sec_to_time","time_to_sec","upper");$pd=array("avg","count","count distinct","group_concat","max","min","sum");$mc=array(array("char"=>"md5/sha1/password/encrypt/uuid","binary"=>"md5/sha1","date|time"=>"now",),array(number_type()=>"+/-","date"=>"+ interval/- interval","time"=>"addtime/subtime","char|text"=>"concat",));}define("SERVER",$_GET[DRIVER]);define("DB",$_GET["db"]);define("ME",preg_replace('~^[^?]*/([^?]*).*~','\\1',$_SERVER["REQUEST_URI"]).'?'.(sid()?SID.'&':'').(SERVER!==null?DRIVER."=".urlencode(SERVER).'&':'').(isset($_GET["username"])?"username=".urlencode($_GET["username"]).'&':'').(DB!=""?'db='.urlencode(DB).'&'.(isset($_GET["ns"])?"ns=".urlencode($_GET["ns"])."&":""):''));$ia="4.6.2";class
Adminer{var$operators;function
name(){return"<a href='https://www.adminer.org/'".target_blank()." id='h1'>Adminer</a>";}function
credentials(){return
array(SERVER,$_GET["username"],get_password());}function
connectSsl(){}function
permanentLogin($i=false){return
password_file($i);}function
bruteForceKey(){return$_SERVER["REMOTE_ADDR"];}function
serverName($O){return
h($O);}function
database(){return
DB;}function
databases($ad=true){return
get_databases($ad);}function
schemas(){return
schemas();}function
queryTimeout(){return
5;}function
headers(){}function
csp(){return
csp();}function
head(){return
true;}function
css(){$J=array();$Uc="adminer.css";if(file_exists($Uc))$J[]=$Uc;return$J;}function
loginForm(){global$ec;echo'<table cellspacing="0">
<tr><th>',lang(31),'<td>',html_select("auth[driver]",$ec,DRIVER)."\n",'<tr><th>',lang(32),'<td><input name="auth[server]" value="',h(SERVER),'" title="hostname[:port]" placeholder="localhost" autocapitalize="off">
<tr><th>',lang(33),'<td><input name="auth[username]" id="username" value="',h($_GET["username"]),'" autocapitalize="off">
<tr><th>',lang(34),'<td><input type="password" name="auth[password]">
<tr><th>',lang(35),'<td><input name="auth[db]" value="',h($_GET["db"]),'" autocapitalize="off">
</table>
',script("focus(qs('#username'));"),"<p><input type='submit' value='".lang(36)."'>\n",checkbox("auth[permanent]",1,$_COOKIE["adminer_permanent"],lang(37))."\n";}function
login($te,$G){global$y;if($y=="sqlite")return
lang(38,target_blank(),'<code>login()</code>');return
true;}function
tableName($Gh){return
h($Gh["Name"]);}function
fieldName($p,$tf=0){return'<span title="'.h($p["full_type"]).'">'.h($p["field"]).'</span>';}function
selectLinks($Gh,$P=""){global$y,$n;echo'<p class="links">';$se=array("select"=>lang(39));if(support("table")||support("indexes"))$se["table"]=lang(40);if(support("table")){if(is_view($Gh))$se["view"]=lang(41);else$se["create"]=lang(42);}if($P!==null)$se["edit"]=lang(43);$D=$Gh["Name"];foreach($se
as$z=>$X)echo" <a href='".h(ME)."$z=".urlencode($D).($z=="edit"?$P:"")."'".bold(isset($_GET[$z])).">$X</a>";echo
doc_link(array($y=>$n->tableHelp($D)),"?"),"\n";}function
foreignKeys($R){return
foreign_keys($R);}function
backwardKeys($R,$Fh){return
array();}function
backwardKeysPrint($Pa,$K){}function
selectQuery($H,$vh,$Nc=false){global$y,$n;$J="</p>\n";if(!$Nc&&($Vi=$n->warnings())){$u="warnings";$J=", <a href='#$u'>".lang(44)."</a>".script("qsl('a').onclick = partial(toggle, '$u');","")."$J<div id='$u' class='hidden'>\n$Vi</div>\n";}return"<p><code class='jush-$y'>".h(str_replace("\n"," ",$H))."</code> <span class='time'>(".format_time($vh).")</span>".(support("sql")?" <a href='".h(ME)."sql=".urlencode($H)."'>".lang(10)."</a>":"").$J;}function
sqlCommandQuery($H){return
shorten_utf8(trim($H),1000);}function
rowDescription($R){return"";}function
rowDescriptions($L,$cd){return$L;}function
selectLink($X,$p){}function
selectVal($X,$A,$p,$Af){$J=($X===null?"<i>NULL</i>":(preg_match("~char|binary|boolean~",$p["type"])&&!preg_match("~var~",$p["type"])?"<code>$X</code>":$X));if(preg_match('~blob|bytea|raw|file~',$p["type"])&&!is_utf8($X))$J="<i>".lang(45,strlen($Af))."</i>";if(preg_match('~json~',$p["type"]))$J="<code class='jush-js'>$J</code>";return($A?"<a href='".h($A)."'".(is_url($A)?target_blank():"").">$J</a>":$J);}function
editVal($X,$p){return$X;}function
tableStructurePrint($q){echo"<table cellspacing='0' class='nowrap'>\n","<thead><tr><th>".lang(46)."<td>".lang(47).(support("comment")?"<td>".lang(48):"")."</thead>\n";foreach($q
as$p){echo"<tr".odd()."><th>".h($p["field"]),"<td><span title='".h($p["collation"])."'>".h($p["full_type"])."</span>",($p["null"]?" <i>NULL</i>":""),($p["auto_increment"]?" <i>".lang(49)."</i>":""),(isset($p["default"])?" <span title='".lang(50)."'>[<b>".h($p["default"])."</b>]</span>":""),(support("comment")?"<td>".nbsp($p["comment"]):""),"\n";}echo"</table>\n";}function
tableIndexesPrint($x){echo"<table cellspacing='0'>\n";foreach($x
as$D=>$w){ksort($w["columns"]);$fg=array();foreach($w["columns"]as$z=>$X)$fg[]="<i>".h($X)."</i>".($w["lengths"][$z]?"(".$w["lengths"][$z].")":"").($w["descs"][$z]?" DESC":"");echo"<tr title='".h($D)."'><th>$w[type]<td>".implode(", ",$fg)."\n";}echo"</table>\n";}function
selectColumnsPrint($M,$e){global$jd,$pd;print_fieldset("select",lang(51),$M);$t=0;$M[""]=array();foreach($M
as$z=>$X){$X=$_GET["columns"][$z];$d=select_input(" name='columns[$t][col]'",$e,$X["col"],($z!==""?"selectFieldChange":"selectAddRow"));echo"<div>".($jd||$pd?"<select name='columns[$t][fun]'>".optionlist(array(-1=>"")+array_filter(array(lang(52)=>$jd,lang(53)=>$pd)),$X["fun"])."</select>".on_help("getTarget(event).value && getTarget(event).value.replace(/ |\$/, '(') + ')'",1).script("qsl('select').onchange = function () { helpClose();".($z!==""?"":" qsl('select, input', this.parentNode).onchange();")." };","")."($d)":$d)."</div>\n";$t++;}echo"</div></fieldset>\n";}function
selectSearchPrint($Z,$e,$x){print_fieldset("search",lang(54),$Z);foreach($x
as$t=>$w){if($w["type"]=="FULLTEXT"){echo"<div>(<i>".implode("</i>, <i>",array_map('h',$w["columns"]))."</i>) AGAINST"," <input type='search' name='fulltext[$t]' value='".h($_GET["fulltext"][$t])."'>",script("qsl('input').oninput = selectFieldChange;",""),checkbox("boolean[$t]",1,isset($_GET["boolean"][$t]),"BOOL"),"</div>\n";}}$bb="this.parentNode.firstChild.onchange();";foreach(array_merge((array)$_GET["where"],array(array()))as$t=>$X){if(!$X||("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators))){echo"<div>".select_input(" name='where[$t][col]'",$e,$X["col"],($X?"selectFieldChange":"selectAddRow"),"(".lang(55).")"),html_select("where[$t][op]",$this->operators,$X["op"],$bb),"<input type='search' name='where[$t][val]' value='".h($X["val"])."'>",script("mixin(qsl('input'), {oninput: function () { $bb }, onkeydown: selectSearchKeydown, onsearch: selectSearchSearch});",""),"</div>\n";}}echo"</div></fieldset>\n";}function
selectOrderPrint($tf,$e,$x){print_fieldset("sort",lang(56),$tf);$t=0;foreach((array)$_GET["order"]as$z=>$X){if($X!=""){echo"<div>".select_input(" name='order[$t]'",$e,$X,"selectFieldChange"),checkbox("desc[$t]",1,isset($_GET["desc"][$z]),lang(57))."</div>\n";$t++;}}echo"<div>".select_input(" name='order[$t]'",$e,"","selectAddRow"),checkbox("desc[$t]",1,false,lang(57))."</div>\n","</div></fieldset>\n";}function
selectLimitPrint($_){echo"<fieldset><legend>".lang(58)."</legend><div>";echo"<input type='number' name='limit' class='size' value='".h($_)."'>",script("qsl('input').oninput = selectFieldChange;",""),"</div></fieldset>\n";}function
selectLengthPrint($Vh){if($Vh!==null){echo"<fieldset><legend>".lang(59)."</legend><div>","<input type='number' name='text_length' class='size' value='".h($Vh)."'>","</div></fieldset>\n";}}function
selectActionPrint($x){echo"<fieldset><legend>".lang(60)."</legend><div>","<input type='submit' value='".lang(51)."'>"," <span id='noindex' title='".lang(61)."'></span>","<script".nonce().">\n","var indexColumns = ";$e=array();foreach($x
as$w){$Kb=reset($w["columns"]);if($w["type"]!="FULLTEXT"&&$Kb)$e[$Kb]=1;}$e[""]=1;foreach($e
as$z=>$X)json_row($z);echo";\n","selectFieldChange.call(qs('#form')['select']);\n","</script>\n","</div></fieldset>\n";}function
selectCommandPrint(){return!information_schema(DB);}function
selectImportPrint(){return!information_schema(DB);}function
selectEmailPrint($rc,$e){}function
selectColumnsProcess($e,$x){global$jd,$pd;$M=array();$md=array();foreach((array)$_GET["columns"]as$z=>$X){if($X["fun"]=="count"||($X["col"]!=""&&(!$X["fun"]||in_array($X["fun"],$jd)||in_array($X["fun"],$pd)))){$M[$z]=apply_sql_function($X["fun"],($X["col"]!=""?idf_escape($X["col"]):"*"));if(!in_array($X["fun"],$pd))$md[]=$M[$z];}}return
array($M,$md);}function
selectSearchProcess($q,$x){global$g,$n;$J=array();foreach($x
as$t=>$w){if($w["type"]=="FULLTEXT"&&$_GET["fulltext"][$t]!="")$J[]="MATCH (".implode(", ",array_map('idf_escape',$w["columns"])).") AGAINST (".q($_GET["fulltext"][$t]).(isset($_GET["boolean"][$t])?" IN BOOLEAN MODE":"").")";}foreach((array)$_GET["where"]as$z=>$X){if("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators)){$bg="";$xb=" $X[op]";if(preg_match('~IN$~',$X["op"])){$Cd=process_length($X["val"]);$xb.=" ".($Cd!=""?$Cd:"(NULL)");}elseif($X["op"]=="SQL")$xb=" $X[val]";elseif($X["op"]=="LIKE %%")$xb=" LIKE ".$this->processInput($q[$X["col"]],"%$X[val]%");elseif($X["op"]=="ILIKE %%")$xb=" ILIKE ".$this->processInput($q[$X["col"]],"%$X[val]%");elseif($X["op"]=="FIND_IN_SET"){$bg="$X[op](".q($X["val"]).", ";$xb=")";}elseif(!preg_match('~NULL$~',$X["op"]))$xb.=" ".$this->processInput($q[$X["col"]],$X["val"]);if($X["col"]!="")$J[]=$bg.$n->convertSearch(idf_escape($X["col"]),$X,$q[$X["col"]]).$xb;else{$sb=array();foreach($q
as$D=>$p){if((is_numeric($X["val"])||!preg_match('~'.number_type().'|bit~',$p["type"]))&&(!preg_match("~[\x80-\xFF]~",$X["val"])||preg_match('~char|text|enum|set~',$p["type"])))$sb[]=$bg.$n->convertSearch(idf_escape($D),$X,$p).$xb;}$J[]=($sb?"(".implode(" OR ",$sb).")":"1 = 0");}}}return$J;}function
selectOrderProcess($q,$x){$J=array();foreach((array)$_GET["order"]as$z=>$X){if($X!="")$J[]=(preg_match('~^((COUNT\\(DISTINCT |[A-Z0-9_]+\\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\\)|COUNT\\(\\*\\))$~',$X)?$X:idf_escape($X)).(isset($_GET["desc"][$z])?" DESC":"");}return$J;}function
selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"50");}function
selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function
selectEmailProcess($Z,$cd){return
false;}function
selectQueryBuild($M,$Z,$md,$tf,$_,$F){return"";}function
messageQuery($H,$Wh,$Nc=false){global$y,$n;restart_session();$vd=&get_session("queries");if(!$vd[$_GET["db"]])$vd[$_GET["db"]]=array();if(strlen($H)>1e6)$H=preg_replace('~[\x80-\xFF]+$~','',substr($H,0,1e6))."\n...";$vd[$_GET["db"]][]=array($H,time(),$Wh);$sh="sql-".count($vd[$_GET["db"]]);$J="<a href='#$sh' class='toggle'>".lang(62)."</a>\n";if(!$Nc&&($Vi=$n->warnings())){$u="warnings-".count($vd[$_GET["db"]]);$J="<a href='#$u' class='toggle'>".lang(44)."</a>, $J<div id='$u' class='hidden'>\n$Vi</div>\n";}return" <span class='time'>".@date("H:i:s")."</span>"." $J<div id='$sh' class='hidden'><pre><code class='jush-$y'>".shorten_utf8($H,1000)."</code></pre>".($Wh?" <span class='time'>($Wh)</span>":'').(support("sql")?'<p><a href="'.h(str_replace("db=".urlencode(DB),"db=".urlencode($_GET["db"]),ME).'sql=&history='.(count($vd[$_GET["db"]])-1)).'">'.lang(10).'</a>':'').'</div>';}function
editFunctions($p){global$mc;$J=($p["null"]?"NULL/":"");foreach($mc
as$z=>$jd){if(!$z||(!isset($_GET["call"])&&(isset($_GET["select"])||where($_GET)))){foreach($jd
as$Tf=>$X){if(!$Tf||preg_match("~$Tf~",$p["type"]))$J.="/$X";}if($z&&!preg_match('~set|blob|bytea|raw|file~',$p["type"]))$J.="/SQL";}}if($p["auto_increment"]&&!isset($_GET["select"])&&!where($_GET))$J=lang(49);return
explode("/",$J);}function
editInput($R,$p,$Ka,$Y){if($p["type"]=="enum")return(isset($_GET["select"])?"<label><input type='radio'$Ka value='-1' checked><i>".lang(8)."</i></label> ":"").($p["null"]?"<label><input type='radio'$Ka value=''".($Y!==null||isset($_GET["select"])?"":" checked")."><i>NULL</i></label> ":"").enum_input("radio",$Ka,$p,$Y,0);return"";}function
editHint($R,$p,$Y){return"";}function
processInput($p,$Y,$s=""){if($s=="SQL")return$Y;$D=$p["field"];$J=q($Y);if(preg_match('~^(now|getdate|uuid)$~',$s))$J="$s()";elseif(preg_match('~^current_(date|timestamp)$~',$s))$J=$s;elseif(preg_match('~^([+-]|\\|\\|)$~',$s))$J=idf_escape($D)." $s $J";elseif(preg_match('~^[+-] interval$~',$s))$J=idf_escape($D)." $s ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+\$~i",$Y)?$Y:$J);elseif(preg_match('~^(addtime|subtime|concat)$~',$s))$J="$s(".idf_escape($D).", $J)";elseif(preg_match('~^(md5|sha1|password|encrypt)$~',$s))$J="$s($J)";return
unconvert_field($p,$J);}function
dumpOutput(){$J=array('text'=>lang(63),'file'=>lang(64));if(function_exists('gzencode'))$J['gz']='gzip';return$J;}function
dumpFormat(){return
array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
dumpDatabase($m){}function
dumpTable($R,$Ah,$Vd=0){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($Ah)dump_csv(array_keys(fields($R)));}else{if($Vd==2){$q=array();foreach(fields($R)as$D=>$p)$q[]=idf_escape($D)." $p[full_type]";$i="CREATE TABLE ".table($R)." (".implode(", ",$q).")";}else$i=create_sql($R,$_POST["auto_increment"],$Ah);set_utf8mb4($i);if($Ah&&$i){if($Ah=="DROP+CREATE"||$Vd==1)echo"DROP ".($Vd==2?"VIEW":"TABLE")." IF EXISTS ".table($R).";\n";if($Vd==1)$i=remove_definer($i);echo"$i;\n\n";}}}function
dumpData($R,$Ah,$H){global$g,$y;$Ae=($y=="sqlite"?0:1048576);if($Ah){if($_POST["format"]=="sql"){if($Ah=="TRUNCATE+INSERT")echo
truncate_sql($R).";\n";$q=fields($R);}$I=$g->query($H,1);if($I){$Od="";$Ya="";$ce=array();$Ch="";$Qc=($R!=''?'fetch_assoc':'fetch_row');while($K=$I->$Qc()){if(!$ce){$Ni=array();foreach($K
as$X){$p=$I->fetch_field();$ce[]=$p->name;$z=idf_escape($p->name);$Ni[]="$z = VALUES($z)";}$Ch=($Ah=="INSERT+UPDATE"?"\nON DUPLICATE KEY UPDATE ".implode(", ",$Ni):"").";\n";}if($_POST["format"]!="sql"){if($Ah=="table"){dump_csv($ce);$Ah="INSERT";}dump_csv($K);}else{if(!$Od)$Od="INSERT INTO ".table($R)." (".implode(", ",array_map('idf_escape',$ce)).") VALUES";foreach($K
as$z=>$X){$p=$q[$z];$K[$z]=($X!==null?unconvert_field($p,preg_match(number_type(),$p["type"])&&$X!=''?$X:q($X)):"NULL");}$Rg=($Ae?"\n":" ")."(".implode(",\t",$K).")";if(!$Ya)$Ya=$Od.$Rg;elseif(strlen($Ya)+4+strlen($Rg)+strlen($Ch)<$Ae)$Ya.=",$Rg";else{echo$Ya.$Ch;$Ya=$Od.$Rg;}}}if($Ya)echo$Ya.$Ch;}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",$g->error)."\n";}}function
dumpFilename($_d){return
friendly_url($_d!=""?$_d:(SERVER!=""?SERVER:"localhost"));}function
dumpHeaders($_d,$Pe=false){$Df=$_POST["output"];$Ic=(preg_match('~sql~',$_POST["format"])?"sql":($Pe?"tar":"csv"));header("Content-Type: ".($Df=="gz"?"application/x-gzip":($Ic=="tar"?"application/x-tar":($Ic=="sql"||$Df!="file"?"text/plain":"text/csv")."; charset=utf-8")));if($Df=="gz")ob_start('ob_gzencode',1e6);return$Ic;}function
importServerPath(){return"adminer.sql";}function
homepage(){echo'<p class="links">'.($_GET["ns"]==""&&support("database")?'<a href="'.h(ME).'database=">'.lang(65)."</a>\n":""),(support("scheme")?"<a href='".h(ME)."scheme='>".($_GET["ns"]!=""?lang(66):lang(67))."</a>\n":""),($_GET["ns"]!==""?'<a href="'.h(ME).'schema=">'.lang(68)."</a>\n":""),(support("privileges")?"<a href='".h(ME)."privileges='>".lang(69)."</a>\n":"");return
true;}function
navigation($Oe){global$ia,$y,$ec,$g;echo'<h1>
',$this->name(),' <span class="version">',$ia,'</span>
<a href="https://www.adminer.org/#download"',target_blank(),' id="version">',(version_compare($ia,$_COOKIE["adminer_version"])<0?h($_COOKIE["adminer_version"]):""),'</a>
</h1>
';if($Oe=="auth"){$Wc=true;foreach((array)$_SESSION["pwds"]as$Pi=>$fh){foreach($fh
as$O=>$Ki){foreach($Ki
as$V=>$G){if($G!==null){if($Wc){echo"<p id='logins'>".script("mixin(qs('#logins'), {onmouseover: menuOver, onmouseout: menuOut});");$Wc=false;}$Qb=$_SESSION["db"][$Pi][$O][$V];foreach(($Qb?array_keys($Qb):array(""))as$m)echo"<a href='".h(auth_url($Pi,$O,$V,$m))."'>($ec[$Pi]) ".h($V.($O!=""?"@".$this->serverName($O):"").($m!=""?" - $m":""))."</a><br>\n";}}}}}else{if($_GET["ns"]!==""&&!$Oe&&DB!=""){$g->select_db(DB);$T=table_status('',true);}echo
script_src(preg_replace("~\\?.*~","",ME)."?file=jush.js&version=4.6.2");if(support("sql")){echo'<script',nonce(),'>
';if($T){$se=array();foreach($T
as$R=>$U)$se[]=preg_quote($R,'/');echo"var jushLinks = { $y: [ '".js_escape(ME).(support("table")?"table=":"select=")."\$&', /\\b(".implode("|",$se).")\\b/g ] };\n";foreach(array("bac","bra","sqlite_quo","mssql_bra")as$X)echo"jushLinks.$X = jushLinks.$y;\n";}$eh=$g->server_info;echo'bodyLoad(\'',(is_object($g)?preg_replace('~^(\\d\\.?\\d).*~s','\\1',$eh):""),'\'',(preg_match('~MariaDB~',$eh)?", true":""),');
</script>
';}$this->databasesPrint($Oe);if(DB==""||!$Oe){echo"<p class='links'>".(support("sql")?"<a href='".h(ME)."sql='".bold(isset($_GET["sql"])&&!isset($_GET["import"])).">".lang(62)."</a>\n<a href='".h(ME)."import='".bold(isset($_GET["import"])).">".lang(70)."</a>\n":"")."";if(support("dump"))echo"<a href='".h(ME)."dump=".urlencode(isset($_GET["table"])?$_GET["table"]:$_GET["select"])."' id='dump'".bold(isset($_GET["dump"])).">".lang(71)."</a>\n";}if($_GET["ns"]!==""&&!$Oe&&DB!=""){echo'<a href="'.h(ME).'create="'.bold($_GET["create"]==="").">".lang(72)."</a>\n";if(!$T)echo"<p class='message'>".lang(9)."\n";else$this->tablesPrint($T);}}}function
databasesPrint($Oe){global$b,$g;$l=$this->databases();echo'<form action="">
<p id="dbs">
';hidden_fields_get();$Ob=script("mixin(qsl('select'), {onmousedown: dbMouseDown, onchange: dbChange});");echo"<span title='".lang(73)."'>".lang(74)."</span>: ".($l?"<select name='db'>".optionlist(array(""=>"")+$l,DB)."</select>$Ob":"<input name='db' value='".h(DB)."' autocapitalize='off'>\n"),"<input type='submit' value='".lang(20)."'".($l?" class='hidden'":"").">\n";if($Oe!="db"&&DB!=""&&$g->select_db(DB)){if(support("scheme")){echo"<br>".lang(75).": <select name='ns'>".optionlist(array(""=>"")+$b->schemas(),$_GET["ns"])."</select>$Ob";if($_GET["ns"]!="")set_schema($_GET["ns"]);}}echo(isset($_GET["sql"])?'<input type="hidden" name="sql" value="">':(isset($_GET["schema"])?'<input type="hidden" name="schema" value="">':(isset($_GET["dump"])?'<input type="hidden" name="dump" value="">':(isset($_GET["privileges"])?'<input type="hidden" name="privileges" value="">':"")))),"</p></form>\n";}function
tablesPrint($T){echo"<ul id='tables'>".script("mixin(qs('#tables'), {onmouseover: menuOver, onmouseout: menuOut});");foreach($T
as$R=>$xh){$D=$this->tableName($xh);if($D!=""){echo'<li><a href="'.h(ME).'select='.urlencode($R).'"'.bold($_GET["select"]==$R||$_GET["edit"]==$R,"select").">".lang(76)."</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"])),(is_view($xh)?"view":"structure"))." title='".lang(40)."'>$D</a>":"<span>$D</span>")."\n";}}echo"</ul>\n";}}$b=(function_exists('adminer_object')?adminer_object():new
Adminer);if($b->operators===null)$b->operators=$of;function
page_header($Zh,$o="",$Xa=array(),$ai=""){global$ca,$ia,$b,$ec,$y;page_headers();if(is_ajax()&&$o){page_messages($o);exit;}$bi=$Zh.($ai!=""?": $ai":"");$ci=strip_tags($bi.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$b->name());echo'<!DOCTYPE html>
<html lang="',$ca,'" dir="',lang(77),'">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex">
<title>',$ci,'</title>
<link rel="stylesheet" type="text/css" href="',h(preg_replace("~\\?.*~","",ME)."?file=default.css&version=4.6.2"),'">
',script_src(preg_replace("~\\?.*~","",ME)."?file=functions.js&version=4.6.2");if($b->head()){echo'<link rel="shortcut icon" type="image/x-icon" href="',h(preg_replace("~\\?.*~","",ME)."?file=favicon.ico&version=4.6.2"),'">
<link rel="apple-touch-icon" href="',h(preg_replace("~\\?.*~","",ME)."?file=favicon.ico&version=4.6.2"),'">
';foreach($b->css()as$Ib){echo'<link rel="stylesheet" type="text/css" href="',h($Ib),'">
';}}echo'
<body class="',lang(77),' nojs">
';$Uc=get_temp_dir()."/adminer.version";if(!$_COOKIE["adminer_version"]&&function_exists('openssl_verify')&&file_exists($Uc)&&filemtime($Uc)+86400>time()){$Qi=unserialize(file_get_contents($Uc));$mg="-----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($Qi["version"],base64_decode($Qi["signature"]),$mg)==1)$_COOKIE["adminer_version"]=$Qi["version"];}echo'<script',nonce(),'>
mixin(document.body, {onkeydown: bodyKeydown, onclick: bodyClick',(isset($_COOKIE["adminer_version"])?"":", onload: partial(verifyVersion, '$ia', '".js_escape(ME)."', '".get_token()."')");?>});
document.body.className = document.body.className.replace(/ nojs/, ' js');
var offlineMessage = '<?php echo
js_escape(lang(78)),'\';
var thousandsSeparator = \'',js_escape(lang(5)),'\';
</script>

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

';switch_lang();if($Oe!="auth"){echo'<form action="" method="post">
<p class="logout">
<input type="submit" name="logout" value="',lang(79),'" id="logout">
<input type="hidden" name="token" value="',$gi,'">
</p>
</form>
';}echo'<div id="menu">
';$b->navigation($Oe);echo'</div>
',script("setupSubmitHighlight(document);");}function
int32($Re){while($Re>=2147483648)$Re-=4294967296;while($Re<=-2147483649)$Re+=4294967296;return(int)$Re;}function
long2str($W,$Ui){$Rg='';foreach($W
as$X)$Rg.=pack('V',$X);if($Ui)return
substr($Rg,0,end($W));return$Rg;}function
str2long($Rg,$Ui){$W=array_values(unpack('V*',str_pad($Rg,4*ceil(strlen($Rg)/4),"\0")));if($Ui)$W[]=strlen($Rg);return$W;}function
xxtea_mx($hj,$gj,$Dh,$Yd){return
int32((($hj>>5&0x7FFFFFF)^$gj<<2)+(($gj>>3&0x1FFFFFFF)^$hj<<4))^int32(($Dh^$gj)+($Yd^$hj));}function
encrypt_string($zh,$z){if($zh=="")return"";$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($zh,true);$Re=count($W)-1;$hj=$W[$Re];$gj=$W[0];$ng=floor(6+52/($Re+1));$Dh=0;while($ng-->0){$Dh=int32($Dh+0x9E3779B9);$lc=$Dh>>2&3;for($Ef=0;$Ef<$Re;$Ef++){$gj=$W[$Ef+1];$Qe=xxtea_mx($hj,$gj,$Dh,$z[$Ef&3^$lc]);$hj=int32($W[$Ef]+$Qe);$W[$Ef]=$hj;}$gj=$W[0];$Qe=xxtea_mx($hj,$gj,$Dh,$z[$Ef&3^$lc]);$hj=int32($W[$Re]+$Qe);$W[$Re]=$hj;}return
long2str($W,false);}function
decrypt_string($zh,$z){if($zh=="")return"";if(!$z)return
false;$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($zh,false);$Re=count($W)-1;$hj=$W[$Re];$gj=$W[0];$ng=floor(6+52/($Re+1));$Dh=int32($ng*0x9E3779B9);while($Dh){$lc=$Dh>>2&3;for($Ef=$Re;$Ef>0;$Ef--){$hj=$W[$Ef-1];$Qe=xxtea_mx($hj,$gj,$Dh,$z[$Ef&3^$lc]);$gj=int32($W[$Ef]-$Qe);$W[$Ef]=$gj;}$hj=$W[$Re];$Qe=xxtea_mx($hj,$gj,$Dh,$z[$Ef&3^$lc]);$gj=int32($W[0]-$Qe);$W[0]=$gj;$Dh=int32($Dh-0x9E3779B9);}return
long2str($W,true);}$g='';$td=$_SESSION["token"];if(!$td)$_SESSION["token"]=rand(1,1e6);$gi=get_token();$Uf=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($z)=explode(":",$X);$Uf[$z]=$X;}}function
add_invalid_login(){global$b;$hd=file_open_lock(get_temp_dir()."/adminer.invalid");if(!$hd)return;$Rd=unserialize(stream_get_contents($hd));$Wh=time();if($Rd){foreach($Rd
as$Sd=>$X){if($X[0]<$Wh)unset($Rd[$Sd]);}}$Qd=&$Rd[$b->bruteForceKey()];if(!$Qd)$Qd=array($Wh+30*60,0);$Qd[1]++;file_write_unlock($hd,serialize($Rd));}function
check_invalid_login(){global$b;$Rd=unserialize(@file_get_contents(get_temp_dir()."/adminer.invalid"));$Qd=$Rd[$b->bruteForceKey()];$Xe=($Qd[1]>29?$Qd[0]-time():0);if($Xe>0)auth_error(lang(80,ceil($Xe/60)));}$La=$_POST["auth"];if($La){session_regenerate_id();$Pi=$La["driver"];$O=$La["server"];$V=$La["username"];$G=(string)$La["password"];$m=$La["db"];set_password($Pi,$O,$V,$G);$_SESSION["db"][$Pi][$O][$V][$m]=true;if($La["permanent"]){$z=base64_encode($Pi)."-".base64_encode($O)."-".base64_encode($V)."-".base64_encode($m);$gg=$b->permanentLogin(true);$Uf[$z]="$z:".base64_encode($gg?encrypt_string($G,$gg):"");cookie("adminer_permanent",implode(" ",$Uf));}if(count($_POST)==1||DRIVER!=$Pi||SERVER!=$O||$_GET["username"]!==$V||DB!=$m)redirect(auth_url($Pi,$O,$V,$m));}elseif($_POST["logout"]){if($td&&!verify_token()){page_header(lang(79),lang(81));page_footer("db");exit;}else{foreach(array("pwds","db","dbs","queries")as$z)set_session($z,null);unset_permanent();redirect(substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1),lang(82).' '.lang(83,'https://sourceforge.net/donate/index.php?group_id=264133'));}}elseif($Uf&&!$_SESSION["pwds"]){session_regenerate_id();$gg=$b->permanentLogin();foreach($Uf
as$z=>$X){list(,$jb)=explode(":",$X);list($Pi,$O,$V,$m)=array_map('base64_decode',explode("-",$z));set_password($Pi,$O,$V,decrypt_string(base64_decode($jb),$gg));$_SESSION["db"][$Pi][$O][$V][$m]=true;}}function
unset_permanent(){global$Uf;foreach($Uf
as$z=>$X){list($Pi,$O,$V,$m)=array_map('base64_decode',explode("-",$z));if($Pi==DRIVER&&$O==SERVER&&$V==$_GET["username"]&&$m==DB)unset($Uf[$z]);}cookie("adminer_permanent",implode(" ",$Uf));}function
auth_error($o){global$b,$td;$gh=session_name();if(isset($_GET["username"])){header("HTTP/1.1 403 Forbidden");if(($_COOKIE[$gh]||$_GET[$gh])&&!$td)$o=lang(84);else{add_invalid_login();$G=get_password();if($G!==null){if($G===false)$o.='<br>'.lang(85,target_blank(),'<code>permanentLogin()</code>');set_password(DRIVER,SERVER,$_GET["username"],null);}unset_permanent();}}if(!$_COOKIE[$gh]&&$_GET[$gh]&&ini_bool("session.use_only_cookies"))$o=lang(86);$Hf=session_get_cookie_params();cookie("adminer_key",($_COOKIE["adminer_key"]?$_COOKIE["adminer_key"]:rand_string()),$Hf["lifetime"]);page_header(lang(36),$o,null);echo"<form action='' method='post'>\n","<div>";if(hidden_fields($_POST,array("auth")))echo"<p class='message'>".lang(87)."\n";echo"</div>\n";$b->loginForm();echo"</form>\n";page_footer("auth");exit;}if(isset($_GET["username"])){if(!class_exists("Min_DB")){unset($_SESSION["pwds"][DRIVER]);unset_permanent();page_header(lang(88),lang(89,implode(", ",$ag)),false);page_footer("auth");exit;}list($yd,$Wf)=explode(":",SERVER,2);if(is_numeric($Wf)&&$Wf<1024)auth_error(lang(90));check_invalid_login();$g=connect();$n=new
Min_Driver($g);}$te=null;if(!is_object($g)||($te=$b->login($_GET["username"],get_password()))!==true)auth_error((is_string($g)?h($g):(is_string($te)?$te:lang(91))));if($La&&$_POST["token"])$_POST["token"]=$gi;$o='';if($_POST){if(!verify_token()){$Ld="max_input_vars";$Ee=ini_get($Ld);if(extension_loaded("suhosin")){foreach(array("suhosin.request.max_vars","suhosin.post.max_vars")as$z){$X=ini_get($z);if($X&&(!$Ee||$X<$Ee)){$Ld=$z;$Ee=$X;}}}$o=(!$_POST["token"]&&$Ee?lang(92,"'$Ld'"):lang(81).' '.lang(93));}}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$o=lang(94,"'post_max_size'");if(isset($_GET["sql"]))$o.=' '.lang(95);}if(!ini_bool("session.use_cookies")||@ini_set("session.use_cookies",false)!==false)session_write_close();function
select($I,$h=null,$wf=array(),$_=0){global$y;$se=array();$x=array();$e=array();$Ua=array();$vi=array();$J=array();odd('');for($t=0;(!$_||$t<$_)&&($K=$I->fetch_row());$t++){if(!$t){echo"<table cellspacing='0' class='nowrap'>\n","<thead><tr>";for($Xd=0;$Xd<count($K);$Xd++){$p=$I->fetch_field();$D=$p->name;$vf=$p->orgtable;$uf=$p->orgname;$J[$p->table]=$vf;if($wf&&$y=="sql")$se[$Xd]=($D=="table"?"table=":($D=="possible_keys"?"indexes=":null));elseif($vf!=""){if(!isset($x[$vf])){$x[$vf]=array();foreach(indexes($vf,$h)as$w){if($w["type"]=="PRIMARY"){$x[$vf]=array_flip($w["columns"]);break;}}$e[$vf]=$x[$vf];}if(isset($e[$vf][$uf])){unset($e[$vf][$uf]);$x[$vf][$uf]=$Xd;$se[$Xd]=$vf;}}if($p->charsetnr==63)$Ua[$Xd]=true;$vi[$Xd]=$p->type;echo"<th".($vf!=""||$p->name!=$uf?" title='".h(($vf!=""?"$vf.":"").$uf)."'":"").">".h($D).($wf?doc_link(array('sql'=>"explain-output.html#explain_".strtolower($D),'mariadb'=>"explain/#the-columns-in-explain-select",)):"");}echo"</thead>\n";}echo"<tr".odd().">";foreach($K
as$z=>$X){if($X===null)$X="<i>NULL</i>";elseif($Ua[$z]&&!is_utf8($X))$X="<i>".lang(45,strlen($X))."</i>";elseif(!strlen($X))$X="&nbsp;";else{$X=h($X);if($vi[$z]==254)$X="<code>$X</code>";}if(isset($se[$z])&&!$e[$se[$z]]){if($wf&&$y=="sql"){$R=$K[array_search("table=",$se)];$A=$se[$z].urlencode($wf[$R]!=""?$wf[$R]:$R);}else{$A="edit=".urlencode($se[$z]);foreach($x[$se[$z]]as$nb=>$Xd)$A.="&where".urlencode("[".bracket_escape($nb)."]")."=".urlencode($K[$Xd]);}$X="<a href='".h(ME.$A)."'>$X</a>";}echo"<td>$X";}}echo($t?"</table>":"<p class='message'>".lang(12))."\n";return$J;}function
referencable_primary($ah){$J=array();foreach(table_status('',true)as$Hh=>$R){if($Hh!=$ah&&fk_support($R)){foreach(fields($Hh)as$p){if($p["primary"]){if($J[$Hh]){unset($J[$Hh]);break;}$J[$Hh]=$p;}}}}return$J;}function
textarea($D,$Y,$L=10,$sb=80){global$y;echo"<textarea name='$D' rows='$L' cols='$sb' class='sqlarea jush-$y' spellcheck='false' wrap='off'>";if(is_array($Y)){foreach($Y
as$X)echo
h($X[0])."\n\n\n";}else
echo
h($Y);echo"</textarea>";}function
edit_type($z,$p,$qb,$dd=array(),$Lc=array()){global$_h,$vi,$Bi,$jf;$U=$p["type"];echo'<td><select name="',h($z),'[type]" class="type" aria-labelledby="label-type">';if($U&&!isset($vi[$U])&&!isset($dd[$U])&&!in_array($U,$Lc))$Lc[]=$U;if($dd)$_h[lang(96)]=$dd;echo
optionlist(array_merge($Lc,$_h),$U),'</select>
',on_help("getTarget(event).value",1),script("mixin(qsl('select'), {onfocus: function () { lastType = selectValue(this); }, onchange: editingTypeChange});",""),'<td><input name="',h($z),'[length]" value="',h($p["length"]),'" size="3"',(!$p["length"]&&preg_match('~var(char|binary)$~',$U)?" class='required'":""),' aria-labelledby="label-length">',script("mixin(qsl('input'), {onfocus: editingLengthFocus, oninput: editingLengthChange});",""),'<td class="options">';echo"<select name='".h($z)."[collation]'".(preg_match('~(char|text|enum|set)$~',$U)?"":" class='hidden'").'><option value="">('.lang(97).')'.optionlist($qb,$p["collation"]).'</select>',($Bi?"<select name='".h($z)."[unsigned]'".(!$U||preg_match(number_type(),$U)?"":" class='hidden'").'><option>'.optionlist($Bi,$p["unsigned"]).'</select>':''),(isset($p['on_update'])?"<select name='".h($z)."[on_update]'".(preg_match('~timestamp|datetime~',$U)?"":" class='hidden'").'>'.optionlist(array(""=>"(".lang(98).")","CURRENT_TIMESTAMP"),$p["on_update"]).'</select>':''),($dd?"<select name='".h($z)."[on_delete]'".(preg_match("~`~",$U)?"":" class='hidden'")."><option value=''>(".lang(99).")".optionlist(explode("|",$jf),$p["on_delete"])."</select> ":" ");}function
process_length($pe){global$wc;return(preg_match("~^\\s*\\(?\\s*$wc(?:\\s*,\\s*$wc)*+\\s*\\)?\\s*\$~",$pe)&&preg_match_all("~$wc~",$pe,$ze)?"(".implode(",",$ze[0]).")":preg_replace('~^[0-9].*~','(\0)',preg_replace('~[^-0-9,+()[\]]~','',$pe)));}function
process_type($p,$ob="COLLATE"){global$Bi;return" $p[type]".process_length($p["length"]).(preg_match(number_type(),$p["type"])&&in_array($p["unsigned"],$Bi)?" $p[unsigned]":"").(preg_match('~char|text|enum|set~',$p["type"])&&$p["collation"]?" $ob ".q($p["collation"]):"");}function
process_field($p,$ti){return
array(idf_escape(trim($p["field"])),process_type($ti),($p["null"]?" NULL":" NOT NULL"),default_value($p),(preg_match('~timestamp|datetime~',$p["type"])&&$p["on_update"]?" ON UPDATE $p[on_update]":""),(support("comment")&&$p["comment"]!=""?" COMMENT ".q($p["comment"]):""),($p["auto_increment"]?auto_increment():null),);}function
default_value($p){$Sb=$p["default"];return($Sb===null?"":" DEFAULT ".(preg_match('~char|binary|text|enum|set~',$p["type"])||preg_match('~^(?![a-z])~i',$Sb)?q($Sb):$Sb));}function
type_class($U){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$z=>$X){if(preg_match("~$z|$X~",$U))return" class='$z'";}}function
edit_fields($q,$qb,$U="TABLE",$dd=array(),$wb=false){global$Md;$q=array_values($q);echo'<thead><tr>
';if($U=="PROCEDURE"){echo'<td>&nbsp;';}echo'<th id="label-name">',($U=="TABLE"?lang(100):lang(101)),'<td id="label-type">',lang(47),'<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
<td><input type="radio" name="auto_increment_col" value=""><acronym id="label-ai" title="',lang(49),'">AI</acronym>',doc_link(array('sql'=>"example-auto-increment.html",'mariadb'=>"auto_increment/",'sqlite'=>"autoinc.html",'pgsql'=>"datatype.html#DATATYPE-SERIAL",'mssql'=>"ms186775.aspx",)),'<td id="label-default">',lang(50),(support("comment")?"<td id='label-comment'".($wb?"":" class='hidden'").">".lang(48):"");}echo'<td>',"<input type='image' class='icon' name='add[".(support("move_col")?0:count($q))."]' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.6.2")."' alt='+' title='".lang(104)."'>".script("row_count = ".count($q).";"),'</thead>
<tbody>
',script("mixin(qsl('tbody'), {onclick: editingClick, onkeydown: editingKeydown, oninput: editingInput});");foreach($q
as$t=>$p){$t++;$xf=$p[($_POST?"orig":"field")];$ac=(isset($_POST["add"][$t-1])||(isset($p["field"])&&!$_POST["drop_col"][$t]))&&(support("drop_col")||$xf=="");echo'<tr',($ac?"":" style='display: none;'"),'>
',($U=="PROCEDURE"?"<td>".html_select("fields[$t][inout]",explode("|",$Md),$p["inout"]):""),'<th>';if($ac){echo'<input name="fields[',$t,'][field]" value="',h($p["field"]),'" maxlength="64" autocapitalize="off" aria-labelledby="label-name">',script("qsl('input').oninput = function () { editingNameChange.call(this);".($p["field"]!=""||count($q)>1?"":" editingAddRow.call(this);")." };","");}echo'<input type="hidden" name="fields[',$t,'][orig]" value="',h($xf),'">
';edit_type("fields[$t]",$p,$qb,$dd);if($U=="TABLE"){echo'<td>',checkbox("fields[$t][null]",1,$p["null"],"","","block","label-null"),'<td><label class="block"><input type="radio" name="auto_increment_col" value="',$t,'"';if($p["auto_increment"]){echo' checked';}echo' aria-labelledby="label-ai"></label><td>',checkbox("fields[$t][has_default]",1,$p["has_default"],"","","","label-default"),'<input name="fields[',$t,'][default]" value="',h($p["default"]),'" aria-labelledby="label-default">',(support("comment")?"<td".($wb?"":" class='hidden'")."><input name='fields[$t][comment]' value='".h($p["comment"])."' maxlength='".(min_version(5.5)?1024:255)."' aria-labelledby='label-comment'>":"");}echo"<td>",(support("move_col")?"<input type='image' class='icon' name='add[$t]' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.6.2")."' alt='+' title='".lang(104)."'>&nbsp;"."<input type='image' class='icon' name='up[$t]' src='".h(preg_replace("~\\?.*~","",ME)."?file=up.gif&version=4.6.2")."' alt='鈫? title='".lang(105)."'>&nbsp;"."<input type='image' class='icon' name='down[$t]' src='".h(preg_replace("~\\?.*~","",ME)."?file=down.gif&version=4.6.2")."' alt='鈫? title='".lang(106)."'>&nbsp;":""),($xf==""||support("drop_col")?"<input type='image' class='icon' name='drop_col[$t]' src='".h(preg_replace("~\\?.*~","",ME)."?file=cross.gif&version=4.6.2")."' alt='x' title='".lang(107)."'>":"");}}function
process_fields(&$q){$E=0;if($_POST["up"]){$je=0;foreach($q
as$z=>$p){if(key($_POST["up"])==$z){unset($q[$z]);array_splice($q,$je,0,array($p));break;}if(isset($p["field"]))$je=$E;$E++;}}elseif($_POST["down"]){$fd=false;foreach($q
as$z=>$p){if(isset($p["field"])&&$fd){unset($q[key($_POST["down"])]);array_splice($q,$E,0,array($fd));break;}if(key($_POST["down"])==$z)$fd=$p;$E++;}}elseif($_POST["add"]){$q=array_values($q);array_splice($q,key($_POST["add"]),0,array(array()));}elseif(!$_POST["drop_col"])return
false;return
true;}function
normalize_enum($C){return"'".str_replace("'","''",addcslashes(stripcslashes(str_replace($C[0][0].$C[0][0],$C[0][0],substr($C[0],1,-1))),'\\'))."'";}function
grant($kd,$ig,$e,$if){if(!$ig)return
true;if($ig==array("ALL PRIVILEGES","GRANT OPTION"))return($kd=="GRANT"?queries("$kd ALL PRIVILEGES$if WITH GRANT OPTION"):queries("$kd ALL PRIVILEGES$if")&&queries("$kd GRANT OPTION$if"));return
queries("$kd ".preg_replace('~(GRANT OPTION)\\([^)]*\\)~','\\1',implode("$e, ",$ig).$e).$if);}function
drop_create($fc,$i,$gc,$Th,$ic,$B,$Je,$He,$Ie,$ff,$Ue){if($_POST["drop"])query_redirect($fc,$B,$Je);elseif($ff=="")query_redirect($i,$B,$Ie);elseif($ff!=$Ue){$Gb=queries($i);queries_redirect($B,$He,$Gb&&queries($fc));if($Gb)queries($gc);}else
queries_redirect($B,$He,queries($Th)&&queries($ic)&&queries($fc)&&queries($i));}function
create_trigger($if,$K){global$y;$Yh=" $K[Timing] $K[Event]".($K["Event"]=="UPDATE OF"?" ".idf_escape($K["Of"]):"");return"CREATE TRIGGER ".idf_escape($K["Trigger"]).($y=="mssql"?$if.$Yh:$Yh.$if).rtrim(" $K[Type]\n$K[Statement]",";").";";}function
create_routine($Ng,$K){global$Md,$y;$P=array();$q=(array)$K["fields"];ksort($q);foreach($q
as$p){if($p["field"]!="")$P[]=(preg_match("~^($Md)\$~",$p["inout"])?"$p[inout] ":"").idf_escape($p["field"]).process_type($p,"CHARACTER SET");}$Tb=rtrim("\n$K[definition]",";");return"CREATE $Ng ".idf_escape(trim($K["name"]))." (".implode(", ",$P).")".(isset($_GET["function"])?" RETURNS".process_type($K["returns"],"CHARACTER SET"):"").($K["language"]?" LANGUAGE $K[language]":"").($y=="pgsql"?" AS ".q($Tb):"$Tb;");}function
remove_definer($H){return
preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\\1)',logged_user()).'`~','\\1',$H);}function
format_foreign_key($r){global$jf;return" FOREIGN KEY (".implode(", ",array_map('idf_escape',$r["source"])).") REFERENCES ".table($r["table"])." (".implode(", ",array_map('idf_escape',$r["target"])).")".(preg_match("~^($jf)\$~",$r["on_delete"])?" ON DELETE $r[on_delete]":"").(preg_match("~^($jf)\$~",$r["on_update"])?" ON UPDATE $r[on_update]":"");}function
tar_file($Uc,$di){$J=pack("a100a8a8a8a12a12",$Uc,644,0,0,decoct($di->size),decoct(time()));$hb=8*32;for($t=0;$t<strlen($J);$t++)$hb+=ord($J[$t]);$J.=sprintf("%06o",$hb)."\0 ";echo$J,str_repeat("\0",512-strlen($J));$di->send();echo
str_repeat("\0",511-($di->size+511)%512);}function
ini_bytes($Ld){$X=ini_get($Ld);switch(strtolower(substr($X,-1))){case'g':$X*=1024;case'm':$X*=1024;case'k':$X*=1024;}return$X;}function
doc_link($Sf,$Uh="<sup>?</sup>"){global$y,$g;$eh=$g->server_info;$Qi=preg_replace('~^(\\d\\.?\\d).*~s','\\1',$eh);$Gi=array('sql'=>"https://dev.mysql.com/doc/refman/$Qi/en/",'sqlite'=>"https://www.sqlite.org/",'pgsql'=>"https://www.postgresql.org/docs/$Qi/static/",'mssql'=>"https://msdn.microsoft.com/library/",'oracle'=>"https://download.oracle.com/docs/cd/B19306_01/server.102/b14200/",);if(preg_match('~MariaDB~',$eh)){$Gi['sql']="https://mariadb.com/kb/en/library/";$Sf['sql']=(isset($Sf['mariadb'])?$Sf['mariadb']:str_replace(".html","/",$Sf['sql']));}return($Sf[$y]?"<a href='$Gi[$y]$Sf[$y]'".target_blank().">$Uh</a>":"");}function
ob_gzencode($Q){return
gzencode($Q);}function
db_size($m){global$g;if(!$g->select_db($m))return"?";$J=0;foreach(table_status()as$S)$J+=$S["Data_length"]+$S["Index_length"];return
format_number($J);}function
set_utf8mb4($i){global$g;static$P=false;if(!$P&&preg_match('~\butf8mb4~i',$i)){$P=true;echo"SET NAMES ".charset($g).";\n\n";}}function
connect_error(){global$b,$g,$gi,$o,$ec;if(DB!=""){header("HTTP/1.1 404 Not Found");page_header(lang(35).": ".h(DB),lang(108),true);}else{if($_POST["db"]&&!$o)queries_redirect(substr(ME,0,-1),lang(109),drop_databases($_POST["db"]));page_header(lang(110),$o,false);echo"<p class='links'>\n";foreach(array('database'=>lang(111),'privileges'=>lang(69),'processlist'=>lang(112),'variables'=>lang(113),'status'=>lang(114),)as$z=>$X){if(support($z))echo"<a href='".h(ME)."$z='>$X</a>\n";}echo"<p>".lang(115,$ec[DRIVER],"<b>".h($g->server_info)."</b>","<b>$g->extension</b>")."\n","<p>".lang(116,"<b>".h(logged_user())."</b>")."\n";$l=$b->databases();if($l){$Ug=support("scheme");$qb=collations();echo"<form action='' method='post'>\n","<table cellspacing='0' class='checkable'>\n",script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});"),"<thead><tr>".(support("database")?"<td>&nbsp;":"")."<th>".lang(35)." - <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";$l=($_GET["dbsize"]?count_tables($l):array_flip($l));foreach($l
as$m=>$T){$Mg=h(ME)."db=".urlencode($m);$u=h("Db-".$m);echo"<tr".odd().">".(support("database")?"<td>".checkbox("db[]",$m,in_array($m,(array)$_POST["db"]),"","","",$u):""),"<th><a href='$Mg' id='$u'>".h($m)."</a>";$pb=nbsp(db_collation($m,$qb));echo"<td>".(support("database")?"<a href='$Mg".($Ug?"&amp;ns=":"")."&amp;database=' title='".lang(65)."'>$pb</a>":$pb),"<td align='right'><a href='$Mg&amp;schema=' id='tables-".h($m)."' title='".lang(68)."'>".($_GET["dbsize"]?$T:"?")."</a>","<td align='right' id='size-".h($m)."'>".($_GET["dbsize"]?db_size($m):"?"),"\n";}echo"</table>\n",(support("database")?"<div class='footer'><div>\n"."<fieldset><legend>".lang(122)." <span id='selected'></span></legend><div>\n"."<input type='hidden' name='all' value=''>".script("qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^db/)); };")."<input type='submit' name='drop' value='".lang(123)."'>".confirm()."\n"."</div></fieldset>\n"."</div></div>\n":""),"<input type='hidden' name='token' value='$gi'>\n","</form>\n",script("tableCheck();");}}page_footer("db");}if(isset($_GET["status"]))$_GET["variables"]=$_GET["status"];if(isset($_GET["import"]))$_GET["sql"]=$_GET["import"];if(!(DB!=""?$g->select_db(DB):isset($_GET["sql"])||isset($_GET["dump"])||isset($_GET["database"])||isset($_GET["processlist"])||isset($_GET["privileges"])||isset($_GET["user"])||isset($_GET["variables"])||$_GET["script"]=="connect"||$_GET["script"]=="kill")){if(DB!=""||$_GET["refresh"]){restart_session();set_session("dbs",null);}connect_error();exit;}if(support("scheme")&&DB!=""&&$_GET["ns"]!==""){if(!isset($_GET["ns"]))redirect(preg_replace('~ns=[^&]*&~','',ME)."ns=".get_schema());if(!set_schema($_GET["ns"])){header("HTTP/1.1 404 Not Found");page_header(lang(75).": ".h($_GET["ns"]),lang(124),true);page_footer("ns");exit;}}$jf="RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT";class
TmpFile{var$handler;var$size;function
__construct(){$this->handler=tmpfile();}function
write($Ab){$this->size+=strlen($Ab);fwrite($this->handler,$Ab);}function
send(){fseek($this->handler,0);fpassthru($this->handler);fclose($this->handler);}}$wc="'(?:''|[^'\\\\]|\\\\.)*'";$Md="IN|OUT|INOUT";if(isset($_GET["select"])&&($_POST["edit"]||$_POST["clone"])&&!$_POST["save"])$_GET["edit"]=$_GET["select"];if(isset($_GET["callf"]))$_GET["call"]=$_GET["callf"];if(isset($_GET["function"]))$_GET["procedure"]=$_GET["function"];if(isset($_GET["download"])){$a=$_GET["download"];$q=fields($a);header("Content-Type: application/octet-stream");header("Content-Disposition: attachment; filename=".friendly_url("$a-".implode("_",$_GET["where"])).".".friendly_url($_GET["field"]));$M=array(idf_escape($_GET["field"]));$I=$n->select($a,$M,array(where($_GET,$q)),$M);$K=($I?$I->fetch_row():array());echo$n->value($K[0],$q[$_GET["field"]]);exit;}elseif(isset($_GET["table"])){$a=$_GET["table"];$q=fields($a);if(!$q)$o=error();$S=table_status1($a,true);$D=$b->tableName($S);page_header(($q&&is_view($S)?$S['Engine']=='materialized view'?lang(125):lang(126):lang(127)).": ".($D!=""?$D:h($a)),$o);$b->selectLinks($S);$vb=$S["Comment"];if($vb!="")echo"<p class='nowrap'>".lang(48).": ".h($vb)."\n";if($q)$b->tableStructurePrint($q);if(!is_view($S)){if(support("indexes")){echo"<h3 id='indexes'>".lang(128)."</h3>\n";$x=indexes($a);if($x)$b->tableIndexesPrint($x);echo'<p class="links"><a href="'.h(ME).'indexes='.urlencode($a).'">'.lang(129)."</a>\n";}if(fk_support($S)){echo"<h3 id='foreign-keys'>".lang(96)."</h3>\n";$dd=foreign_keys($a);if($dd){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(130)."<td>".lang(131)."<td>".lang(99)."<td>".lang(98)."<td>&nbsp;</thead>\n";foreach($dd
as$D=>$r){echo"<tr title='".h($D)."'>","<th><i>".implode("</i>, <i>",array_map('h',$r["source"]))."</i>","<td><a href='".h($r["db"]!=""?preg_replace('~db=[^&]*~',"db=".urlencode($r["db"]),ME):($r["ns"]!=""?preg_replace('~ns=[^&]*~',"ns=".urlencode($r["ns"]),ME):ME))."table=".urlencode($r["table"])."'>".($r["db"]!=""?"<b>".h($r["db"])."</b>.":"").($r["ns"]!=""?"<b>".h($r["ns"])."</b>.":"").h($r["table"])."</a>","(<i>".implode("</i>, <i>",array_map('h',$r["target"]))."</i>)","<td>".nbsp($r["on_delete"])."\n","<td>".nbsp($r["on_update"])."\n",'<td><a href="'.h(ME.'foreign='.urlencode($a).'&name='.urlencode($D)).'">'.lang(132).'</a>';}echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'foreign='.urlencode($a).'">'.lang(133)."</a>\n";}}if(support(is_view($S)?"view_trigger":"trigger")){echo"<h3 id='triggers'>".lang(134)."</h3>\n";$si=triggers($a);if($si){echo"<table cellspacing='0'>\n";foreach($si
as$z=>$X)echo"<tr valign='top'><td>".h($X[0])."<td>".h($X[1])."<th>".h($z)."<td><a href='".h(ME.'trigger='.urlencode($a).'&name='.urlencode($z))."'>".lang(132)."</a>\n";echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'trigger='.urlencode($a).'">'.lang(135)."</a>\n";}}elseif(isset($_GET["schema"])){page_header(lang(68),"",array(),h(DB.($_GET["ns"]?".$_GET[ns]":"")));$Jh=array();$Kh=array();$ea=($_GET["schema"]?$_GET["schema"]:$_COOKIE["adminer_schema-".str_replace(".","_",DB)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$ea,$ze,PREG_SET_ORDER);foreach($ze
as$t=>$C){$Jh[$C[1]]=array($C[2],$C[3]);$Kh[]="\n\t'".js_escape($C[1])."': [ $C[2], $C[3] ]";}$hi=0;$Ra=-1;$Tg=array();$zg=array();$ne=array();foreach(table_status('',true)as$R=>$S){if(is_view($S))continue;$Xf=0;$Tg[$R]["fields"]=array();foreach(fields($R)as$D=>$p){$Xf+=1.25;$p["pos"]=$Xf;$Tg[$R]["fields"][$D]=$p;}$Tg[$R]["pos"]=($Jh[$R]?$Jh[$R]:array($hi,0));foreach($b->foreignKeys($R)as$X){if(!$X["db"]){$le=$Ra;if($Jh[$R][1]||$Jh[$X["table"]][1])$le=min(floatval($Jh[$R][1]),floatval($Jh[$X["table"]][1]))-1;else$Ra-=.1;while($ne[(string)$le])$le-=.0001;$Tg[$R]["references"][$X["table"]][(string)$le]=array($X["source"],$X["target"]);$zg[$X["table"]][$R][(string)$le]=$X["target"];$ne[(string)$le]=true;}}$hi=max($hi,$Tg[$R]["pos"][0]+2.5+$Xf);}echo'<div id="schema" style="height: ',$hi,'em;">
<script',nonce(),'>
qs(\'#schema\').onselectstart = function () { return false; };
var tablePos = {',implode(",",$Kh)."\n",'};
var em = qs(\'#schema\').offsetHeight / ',$hi,';
document.onmousemove = schemaMousemove;
document.onmouseup = partialArg(schemaMouseup, \'',js_escape(DB),'\');
</script>
';foreach($Tg
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$p){$X='<span'.type_class($p["type"]).' title="'.h($p["full_type"].($p["null"]?" NULL":'')).'">'.h($p["field"]).'</span>';echo"<br>".($p["primary"]?"<i>$X</i>":$X);}foreach((array)$R["references"]as$Qh=>$_g){foreach($_g
as$le=>$wg){$me=$le-$Jh[$D][1];$t=0;foreach($wg[0]as$nh)echo"\n<div class='references' title='".h($Qh)."' id='refs$le-".($t++)."' style='left: $me"."em; top: ".$R["fields"][$nh]["pos"]."em; padding-top: .5em;'><div style='border-top: 1px solid Gray; width: ".(-$me)."em;'></div></div>";}}foreach((array)$zg[$D]as$Qh=>$_g){foreach($_g
as$le=>$e){$me=$le-$Jh[$D][1];$t=0;foreach($e
as$Ph)echo"\n<div class='references' title='".h($Qh)."' id='refd$le-".($t++)."' style='left: $me"."em; top: ".$R["fields"][$Ph]["pos"]."em; height: 1.25em; background: url(".h(preg_replace("~\\?.*~","",ME)."?file=arrow.gif) no-repeat right center;&version=4.6.2")."'><div style='height: .5em; border-bottom: 1px solid Gray; width: ".(-$me)."em;'></div></div>";}}echo"\n</div>\n";}foreach($Tg
as$D=>$R){foreach((array)$R["references"]as$Qh=>$_g){foreach($_g
as$le=>$wg){$Ne=$hi;$Ce=-10;foreach($wg[0]as$z=>$nh){$Yf=$R["pos"][0]+$R["fields"][$nh]["pos"];$Zf=$Tg[$Qh]["pos"][0]+$Tg[$Qh]["fields"][$wg[1][$z]]["pos"];$Ne=min($Ne,$Yf,$Zf);$Ce=max($Ce,$Yf,$Zf);}echo"<div class='references' id='refl$le' style='left: $le"."em; top: $Ne"."em; padding: .5em 0;'><div style='border-right: 1px solid Gray; margin-top: 1px; height: ".($Ce-$Ne)."em;'></div></div>\n";}}}echo'</div>
<p class="links"><a href="',h(ME."schema=".urlencode($ea)),'" id="schema-link">',lang(136),'</a>
';}elseif(isset($_GET["dump"])){$a=$_GET["dump"];if($_POST&&!$o){$Db="";foreach(array("output","format","db_style","routines","events","table_style","auto_increment","triggers","data_style")as$z)$Db.="&$z=".urlencode($_POST[$z]);cookie("adminer_export",substr($Db,1));$T=array_flip((array)$_POST["tables"])+array_flip((array)$_POST["data"]);$Ic=dump_headers((count($T)==1?key($T):DB),(DB==""||count($T)>1));$Ud=preg_match('~sql~',$_POST["format"]);if($Ud){echo"-- Adminer $ia ".$ec[DRIVER]." dump\n\n";if($y=="sql"){echo"SET NAMES utf8;
SET time_zone = '+00:00';
".($_POST["data_style"]?"SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
":"")."
";$g->query("SET time_zone = '+00:00';");}}$Ah=$_POST["db_style"];$l=array(DB);if(DB==""){$l=$_POST["databases"];if(is_string($l))$l=explode("\n",rtrim(str_replace("\r","",$l),"\n"));}foreach((array)$l
as$m){$b->dumpDatabase($m);if($g->select_db($m)){if($Ud&&preg_match('~CREATE~',$Ah)&&($i=$g->result("SHOW CREATE DATABASE ".idf_escape($m),1))){set_utf8mb4($i);if($Ah=="DROP+CREATE")echo"DROP DATABASE IF EXISTS ".idf_escape($m).";\n";echo"$i;\n";}if($Ud){if($Ah)echo
use_sql($m).";\n\n";$Cf="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$Ng){foreach(get_rows("SHOW $Ng STATUS WHERE Db = ".q($m),null,"-- ")as$K){$i=remove_definer($g->result("SHOW CREATE $Ng ".idf_escape($K["Name"]),2));set_utf8mb4($i);$Cf.=($Ah!='DROP+CREATE'?"DROP $Ng IF EXISTS ".idf_escape($K["Name"]).";;\n":"")."$i;;\n\n";}}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$K){$i=remove_definer($g->result("SHOW CREATE EVENT ".idf_escape($K["Name"]),3));set_utf8mb4($i);$Cf.=($Ah!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($K["Name"]).";;\n":"")."$i;;\n\n";}}if($Cf)echo"DELIMITER ;;\n\n$Cf"."DELIMITER ;\n\n";}if($_POST["table_style"]||$_POST["data_style"]){$Si=array();foreach(table_status('',true)as$D=>$S){$R=(DB==""||in_array($D,(array)$_POST["tables"]));$Lb=(DB==""||in_array($D,(array)$_POST["data"]));if($R||$Lb){if($Ic=="tar"){$di=new
TmpFile;ob_start(array($di,'write'),1e5);}$b->dumpTable($D,($R?$_POST["table_style"]:""),(is_view($S)?2:0));if(is_view($S))$Si[]=$D;elseif($Lb){$q=fields($D);$b->dumpData($D,$_POST["data_style"],"SELECT *".convert_fields($q,$q)." FROM ".table($D));}if($Ud&&$_POST["triggers"]&&$R&&($si=trigger_sql($D)))echo"\nDELIMITER ;;\n$si\nDELIMITER ;\n";if($Ic=="tar"){ob_end_flush();tar_file((DB!=""?"":"$m/")."$D.csv",$di);}elseif($Ud)echo"\n";}}foreach($Si
as$Ri)$b->dumpTable($Ri,$_POST["table_style"],1);if($Ic=="tar")echo
pack("x512");}}}if($Ud)echo"-- ".$g->result("SELECT NOW()")."\n";exit;}page_header(lang(71),$o,($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),h(DB));echo'
<form action="" method="post">
<table cellspacing="0">
';$Pb=array('','USE','DROP+CREATE','CREATE');$Lh=array('','DROP+CREATE','CREATE');$Mb=array('','TRUNCATE+INSERT','INSERT');if($y=="sql")$Mb[]='INSERT+UPDATE';parse_str($_COOKIE["adminer_export"],$K);if(!$K)$K=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");if(!isset($K["events"])){$K["routines"]=$K["events"]=($_GET["dump"]=="");$K["triggers"]=$K["table_style"];}echo"<tr><th>".lang(137)."<td>".html_select("output",$b->dumpOutput(),$K["output"],0)."\n";echo"<tr><th>".lang(138)."<td>".html_select("format",$b->dumpFormat(),$K["format"],0)."\n";echo($y=="sqlite"?"":"<tr><th>".lang(35)."<td>".html_select('db_style',$Pb,$K["db_style"]).(support("routine")?checkbox("routines",1,$K["routines"],lang(139)):"").(support("event")?checkbox("events",1,$K["events"],lang(140)):"")),"<tr><th>".lang(119)."<td>".html_select('table_style',$Lh,$K["table_style"]).checkbox("auto_increment",1,$K["auto_increment"],lang(49)).(support("trigger")?checkbox("triggers",1,$K["triggers"],lang(134)):""),"<tr><th>".lang(141)."<td>".html_select('data_style',$Mb,$K["data_style"]),'</table>
<p><input type="submit" value="',lang(71),'">
<input type="hidden" name="token" value="',$gi,'">

<table cellspacing="0">
',script("qsl('table').onclick = dumpClick;");$cg=array();if(DB!=""){$fb=($a!=""?"":" checked");echo"<thead><tr>","<th style='text-align: left;'><label class='block'><input type='checkbox' id='check-tables'$fb>".lang(119)."</label>".script("qs('#check-tables').onclick = partial(formCheck, /^tables\\[/);",""),"<th style='text-align: right;'><label class='block'>".lang(141)."<input type='checkbox' id='check-data'$fb></label>".script("qs('#check-data').onclick = partial(formCheck, /^data\\[/);",""),"</thead>\n";$Si="";$Mh=tables_list();foreach($Mh
as$D=>$U){$bg=preg_replace('~_.*~','',$D);$fb=($a==""||$a==(substr($a,-1)=="%"?"$bg%":$D));$fg="<tr><td>".checkbox("tables[]",$D,$fb,$D,"","block");if($U!==null&&!preg_match('~table~i',$U))$Si.="$fg\n";else
echo"$fg<td align='right'><label class='block'><span id='Rows-".h($D)."'></span>".checkbox("data[]",$D,$fb)."</label>\n";$cg[$bg]++;}echo$Si;if($Mh)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(35)."</label>",script("qs('#check-databases').onclick = partial(formCheck, /^databases\\[/);",""),"</thead>\n";$l=$b->databases();if($l){foreach($l
as$m){if(!information_schema($m)){$bg=preg_replace('~_.*~','',$m);echo"<tr><td>".checkbox("databases[]",$m,$a==""||$a=="$bg%",$m,"","block")."\n";$cg[$bg]++;}}}else
echo"<tr><td><textarea name='databases' rows='10' cols='20'></textarea>";}echo'</table>
</form>
';$Wc=true;foreach($cg
as$z=>$X){if($z!=""&&$X>1){echo($Wc?"<p>":" ")."<a href='".h(ME)."dump=".urlencode("$z%")."'>".h($z)."</a>";$Wc=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(69));echo'<p class="links"><a href="'.h(ME).'user=">'.lang(142)."</a>";$I=$g->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$kd=$I;if(!$I)$I=$g->query("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1) AS User, SUBSTRING_INDEX(CURRENT_USER, '@', -1) AS Host");echo"<form action=''><p>\n";hidden_fields_get();echo"<input type='hidden' name='db' value='".h(DB)."'>\n",($kd?"":"<input type='hidden' name='grant' value=''>\n"),"<table cellspacing='0'>\n","<thead><tr><th>".lang(33)."<th>".lang(32)."<th>&nbsp;</thead>\n";while($K=$I->fetch_assoc())echo'<tr'.odd().'><td>'.h($K["User"])."<td>".h($K["Host"]).'<td><a href="'.h(ME.'user='.urlencode($K["User"]).'&host='.urlencode($K["Host"])).'">'.lang(10)."</a>\n";if(!$kd||DB!="")echo"<tr".odd()."><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(!$o&&$_POST["export"]){dump_headers("sql");$b->dumpTable("","");$b->dumpData("","table",$_POST["query"]);exit;}restart_session();$wd=&get_session("queries");$vd=&$wd[DB];if(!$o&&$_POST["clear"]){$vd=array();redirect(remove_from_uri("history"));}page_header((isset($_GET["import"])?lang(70):lang(62)),$o);if(!$o&&$_POST){$hd=false;if(!isset($_GET["import"]))$H=$_POST["query"];elseif($_POST["webfile"]){$rh=$b->importServerPath();$hd=@fopen((file_exists($rh)?$rh:"compress.zlib://$rh.gz"),"rb");$H=($hd?fread($hd,1e6):false);}else$H=get_file("sql_file",true);if(is_string($H)){if(function_exists('memory_get_usage'))@ini_set("memory_limit",max(ini_bytes("memory_limit"),2*strlen($H)+memory_get_usage()+8e6));if($H!=""&&strlen($H)<1e6){$ng=$H.(preg_match("~;[ \t\r\n]*\$~",$H)?"":";");if(!$vd||reset(end($vd))!=$ng){restart_session();$vd[]=array($ng,time());set_session("queries",$wd);stop_session();}}$oh="(?:\\s|/\\*[\s\S]*?\\*/|(?:#|-- )[^\n]*\n?|--\r?\n)";$Vb=";";$E=0;$tc=true;$h=connect();if(is_object($h)&&DB!="")$h->select_db(DB);$ub=0;$yc=array();$Jf='[\'"'.($y=="sql"?'`#':($y=="sqlite"?'`[':($y=="mssql"?'[':''))).']|/\\*|-- |$'.($y=="pgsql"?'|\\$[^$]*\\$':'');$ii=microtime(true);parse_str($_COOKIE["adminer_export"],$ya);$kc=$b->dumpFormat();unset($kc["sql"]);while($H!=""){if(!$E&&preg_match("~^$oh*+DELIMITER\\s+(\\S+)~i",$H,$C)){$Vb=$C[1];$H=substr($H,strlen($C[0]));}else{preg_match('('.preg_quote($Vb)."\\s*|$Jf)",$H,$C,PREG_OFFSET_CAPTURE,$E);list($fd,$Xf)=$C[0];if(!$fd&&$hd&&!feof($hd))$H.=fread($hd,1e5);else{if(!$fd&&rtrim($H)=="")break;$E=$Xf+strlen($fd);if($fd&&rtrim($fd)!=$Vb){while(preg_match('('.($fd=='/*'?'\\*/':($fd=='['?']':(preg_match('~^-- |^#~',$fd)?"\n":preg_quote($fd)."|\\\\."))).'|$)s',$H,$C,PREG_OFFSET_CAPTURE,$E)){$Rg=$C[0][0];if(!$Rg&&$hd&&!feof($hd))$H.=fread($hd,1e5);else{$E=$C[0][1]+strlen($Rg);if($Rg[0]!="\\")break;}}}else{$tc=false;$ng=substr($H,0,$Xf);$ub++;$fg="<pre id='sql-$ub'><code class='jush-$y'>".$b->sqlCommandQuery($ng)."</code></pre>\n";if($y=="sqlite"&&preg_match("~^$oh*+ATTACH\\b~i",$ng,$C)){echo$fg,"<p class='error'>".lang(143)."\n";$yc[]=" <a href='#sql-$ub'>$ub</a>";if($_POST["error_stops"])break;}else{if(!$_POST["only_errors"]){echo$fg;ob_flush();flush();}$vh=microtime(true);if($g->multi_query($ng)&&is_object($h)&&preg_match("~^$oh*+USE\\b~i",$ng))$h->query($ng);do{$I=$g->store_result();if($g->error){echo($_POST["only_errors"]?$fg:""),"<p class='error'>".lang(144).($g->errno?" ($g->errno)":"").": ".error()."\n";$yc[]=" <a href='#sql-$ub'>$ub</a>";if($_POST["error_stops"])break
2;}else{$Wh=" <span class='time'>(".format_time($vh).")</span>".(strlen($ng)<1000?" <a href='".h(ME)."sql=".urlencode(trim($ng))."'>".lang(10)."</a>":"");$_a=$g->affected_rows;$Vi=($_POST["only_errors"]?"":$n->warnings());$Wi="warnings-$ub";if($Vi)$Wh.=", <a href='#$Wi'>".lang(44)."</a>".script("qsl('a').onclick = partial(toggle, '$Wi');","");$Fc=null;$Gc="explain-$ub";if(is_object($I)){$_=$_POST["limit"];$wf=select($I,$h,array(),$_);if(!$_POST["only_errors"]){echo"<form action='' method='post'>\n";$Ze=$I->num_rows;echo"<p>".($Ze?($_&&$Ze>$_?lang(145,$_):"").lang(146,$Ze):""),$Wh;if($h&&preg_match("~^($oh|\\()*+SELECT\\b~i",$ng)&&($Fc=explain($h,$ng)))echo", <a href='#$Gc'>Explain</a>".script("qsl('a').onclick = partial(toggle, '$Gc');","");$u="export-$ub";echo", <a href='#$u'>".lang(71)."</a>".script("qsl('a').onclick = partial(toggle, '$u');","")."<span id='$u' class='hidden'>: ".html_select("output",$b->dumpOutput(),$ya["output"])." ".html_select("format",$kc,$ya["format"])."<input type='hidden' name='query' value='".h($ng)."'>"." <input type='submit' name='export' value='".lang(71)."'><input type='hidden' name='token' value='$gi'></span>\n"."</form>\n";}}else{if(preg_match("~^$oh*+(CREATE|DROP|ALTER)$oh++(DATABASE|SCHEMA)\\b~i",$ng)){restart_session();set_session("dbs",null);stop_session();}if(!$_POST["only_errors"])echo"<p class='message' title='".h($g->info)."'>".lang(147,$_a)."$Wh\n";}echo($Vi?"<div id='$Wi' class='hidden'>\n$Vi</div>\n":"");if($Fc){echo"<div id='$Gc' class='hidden'>\n";select($Fc,$h,$wf);echo"</div>\n";}}$vh=microtime(true);}while($g->next_result());}$H=substr($H,$E);$E=0;}}}}if($tc)echo"<p class='message'>".lang(148)."\n";elseif($_POST["only_errors"]){echo"<p class='message'>".lang(149,$ub-count($yc))," <span class='time'>(".format_time($ii).")</span>\n";}elseif($yc&&$ub>1)echo"<p class='error'>".lang(144).": ".implode("",$yc)."\n";}else
echo"<p class='error'>".upload_error($H)."\n";}echo'
<form action="" method="post" enctype="multipart/form-data" id="form">
';$Cc="<input type='submit' value='".lang(150)."' title='Ctrl+Enter'>";if(!isset($_GET["import"])){$ng=$_GET["sql"];if($_POST)$ng=$_POST["query"];elseif($_GET["history"]=="all")$ng=$vd;elseif($_GET["history"]!="")$ng=$vd[$_GET["history"]][0];echo"<p>";textarea("query",$ng,20);echo($_POST?"":script("qs('textarea').focus();")),"<p>$Cc\n",lang(151).": <input type='number' name='limit' class='size' value='".h($_POST?$_POST["limit"]:$_GET["limit"])."'>\n";}else{echo"<fieldset><legend>".lang(152)."</legend><div>",(ini_bool("file_uploads")?"SQL (&lt; ".ini_get("upload_max_filesize")."B): <input type='file' name='sql_file[]' multiple>\n$Cc":lang(153)),"</div></fieldset>\n","<fieldset><legend>".lang(154)."</legend><div>",lang(155,"<code>".h($b->importServerPath()).(extension_loaded("zlib")?"[.gz]":"")."</code>"),' <input type="submit" name="webfile" value="'.lang(156).'">',"</div></fieldset>\n","<p>";}echo
checkbox("error_stops",1,($_POST?$_POST["error_stops"]:isset($_GET["import"])),lang(157))."\n",checkbox("only_errors",1,($_POST?$_POST["only_errors"]:isset($_GET["import"])),lang(158))."\n","<input type='hidden' name='token' value='$gi'>\n";if(!isset($_GET["import"])&&$vd){print_fieldset("history",lang(159),$_GET["history"]!="");for($X=end($vd);$X;$X=prev($vd)){$z=key($vd);list($ng,$Wh,$oc)=$X;echo'<a href="'.h(ME."sql=&history=$z").'">'.lang(10)."</a>"." <span class='time' title='".@date('Y-m-d',$Wh)."'>".@date("H:i:s",$Wh)."</span>"." <code class='jush-$y'>".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$ng)))),80,"</code>").($oc?" <span class='time'>($oc)</span>":"")."<br>\n";}echo"<input type='submit' name='clear' value='".lang(160)."'>\n","<a href='".h(ME."sql=&history=all")."'>".lang(161)."</a>\n","</div></fieldset>\n";}echo'</form>
';}elseif(isset($_GET["edit"])){$a=$_GET["edit"];$q=fields($a);$Z=(isset($_GET["select"])?($_POST["check"]&&count($_POST["check"])==1?where_check($_POST["check"][0],$q):""):where($_GET,$q));$Ci=(isset($_GET["select"])?$_POST["edit"]:$Z);foreach($q
as$D=>$p){if(!isset($p["privileges"][$Ci?"update":"insert"])||$b->fieldName($p)=="")unset($q[$D]);}if($_POST&&!$o&&!isset($_GET["select"])){$B=$_POST["referer"];if($_POST["insert"])$B=($Ci?null:$_SERVER["REQUEST_URI"]);elseif(!preg_match('~^.+&select=.+$~',$B))$B=ME."select=".urlencode($a);$x=indexes($a);$yi=unique_array($_GET["where"],$x);$qg="\nWHERE $Z";if(isset($_POST["delete"]))queries_redirect($B,lang(162),$n->delete($a,$qg,!$yi));else{$P=array();foreach($q
as$D=>$p){$X=process_input($p);if($X!==false&&$X!==null)$P[idf_escape($D)]=$X;}if($Ci){if(!$P)redirect($B);queries_redirect($B,lang(163),$n->update($a,$P,$qg,!$yi));if(is_ajax()){page_headers();page_messages($o);exit;}}else{$I=$n->insert($a,$P);$ke=($I?last_id():0);queries_redirect($B,lang(164,($ke?" $ke":"")),$I);}}}$K=null;if($_POST["save"])$K=(array)$_POST["fields"];elseif($Z){$M=array();foreach($q
as$D=>$p){if(isset($p["privileges"]["select"])){$Ha=convert_field($p);if($_POST["clone"]&&$p["auto_increment"])$Ha="''";if($y=="sql"&&preg_match("~enum|set~",$p["type"]))$Ha="1*".idf_escape($D);$M[]=($Ha?"$Ha AS ":"").idf_escape($D);}}$K=array();if(!support("table"))$M=array("*");if($M){$I=$n->select($a,$M,array($Z),$M,array(),(isset($_GET["select"])?2:1));if(!$I)$o=error();else{$K=$I->fetch_assoc();if(!$K)$K=false;}if(isset($_GET["select"])&&(!$K||$I->fetch_assoc()))$K=null;}}if(!support("table")&&!$q){if(!$Z){$I=$n->select($a,array("*"),$Z,array("*"));$K=($I?$I->fetch_assoc():false);if(!$K)$K=array($n->primary=>"");}if($K){foreach($K
as$z=>$X){if(!$Z)$K[$z]=null;$q[$z]=array("field"=>$z,"null"=>($z!=$n->primary),"auto_increment"=>($z==$n->primary));}}}edit_form($a,$q,$K,$Ci);}elseif(isset($_GET["create"])){$a=$_GET["create"];$Lf=array();foreach(array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST')as$z)$Lf[$z]=$z;$yg=referencable_primary($a);$dd=array();foreach($yg
as$Hh=>$p)$dd[str_replace("`","``",$Hh)."`".str_replace("`","``",$p["field"])]=$Hh;$zf=array();$S=array();if($a!=""){$zf=fields($a);$S=table_status($a);if(!$S)$o=lang(9);}$K=$_POST;$K["fields"]=(array)$K["fields"];if($K["auto_increment_col"])$K["fields"][$K["auto_increment_col"]]["auto_increment"]=true;if($_POST&&!process_fields($K["fields"])&&!$o){if($_POST["drop"])queries_redirect(substr(ME,0,-1),lang(165),drop_tables(array($a)));else{$q=array();$Ea=array();$Hi=false;$bd=array();$yf=reset($zf);$Ba=" FIRST";foreach($K["fields"]as$z=>$p){$r=$dd[$p["type"]];$ti=($r!==null?$yg[$r]:$p);if($p["field"]!=""){if(!$p["has_default"])$p["default"]=null;if($z==$K["auto_increment_col"])$p["auto_increment"]=true;$kg=process_field($p,$ti);$Ea[]=array($p["orig"],$kg,$Ba);if($kg!=process_field($yf,$yf)){$q[]=array($p["orig"],$kg,$Ba);if($p["orig"]!=""||$Ba)$Hi=true;}if($r!==null)$bd[idf_escape($p["field"])]=($a!=""&&$y!="sqlite"?"ADD":" ").format_foreign_key(array('table'=>$dd[$p["type"]],'source'=>array($p["field"]),'target'=>array($ti["field"]),'on_delete'=>$p["on_delete"],));$Ba=" AFTER ".idf_escape($p["field"]);}elseif($p["orig"]!=""){$Hi=true;$q[]=array($p["orig"]);}if($p["orig"]!=""){$yf=next($zf);if(!$yf)$Ba="";}}$Nf="";if($Lf[$K["partition_by"]]){$Of=array();if($K["partition_by"]=='RANGE'||$K["partition_by"]=='LIST'){foreach(array_filter($K["partition_names"])as$z=>$X){$Y=$K["partition_values"][$z];$Of[]="\n  PARTITION ".idf_escape($X)." VALUES ".($K["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$Nf.="\nPARTITION BY $K[partition_by]($K[partition])".($Of?" (".implode(",",$Of)."\n)":($K["partitions"]?" PARTITIONS ".(+$K["partitions"]):""));}elseif(support("partitioning")&&preg_match("~partitioned~",$S["Create_options"]))$Nf.="\nREMOVE PARTITIONING";$Ge=lang(166);if($a==""){cookie("adminer_engine",$K["Engine"]);$Ge=lang(167);}$D=trim($K["name"]);queries_redirect(ME.(support("table")?"table=":"select=").urlencode($D),$Ge,alter_table($a,$D,($y=="sqlite"&&($Hi||$bd)?$Ea:$q),$bd,($K["Comment"]!=$S["Comment"]?$K["Comment"]:null),($K["Engine"]&&$K["Engine"]!=$S["Engine"]?$K["Engine"]:""),($K["Collation"]&&$K["Collation"]!=$S["Collation"]?$K["Collation"]:""),($K["Auto_increment"]!=""?number($K["Auto_increment"]):""),$Nf));}}page_header(($a!=""?lang(42):lang(72)),$o,array("table"=>$a),h($a));if(!$_POST){$K=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($vi["int"])?"int":(isset($vi["integer"])?"integer":"")),"on_update"=>"")),"partition_names"=>array(""),);if($a!=""){$K=$S;$K["name"]=$a;$K["fields"]=array();if(!$_GET["auto_increment"])$K["Auto_increment"]="";foreach($zf
as$p){$p["has_default"]=isset($p["default"]);$K["fields"][]=$p;}if(support("partitioning")){$id="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($a);$I=$g->query("SELECT PARTITION_METHOD, PARTITION_ORDINAL_POSITION, PARTITION_EXPRESSION $id ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($K["partition_by"],$K["partitions"],$K["partition"])=$I->fetch_row();$Of=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $id AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$Of[""]="";$K["partition_names"]=array_keys($Of);$K["partition_values"]=array_values($Of);}}}$qb=collations();$vc=engines();foreach($vc
as$uc){if(!strcasecmp($uc,$K["Engine"])){$K["Engine"]=$uc;break;}}echo'
<form action="" method="post" id="form">
<p>
';if(support("columns")||$a==""){echo
lang(168),': <input name="name" maxlength="64" value="',h($K["name"]),'" autocapitalize="off">
';if($a==""&&!$_POST)echo
script("focus(qs('#form')['name']);");echo($vc?"<select name='Engine'>".optionlist(array(""=>"(".lang(169).")")+$vc,$K["Engine"])."</select>".on_help("getTarget(event).value",1).script("qsl('select').onchange = helpClose;"):""),' ',($qb&&!preg_match("~sqlite|mssql~",$y)?html_select("Collation",array(""=>"(".lang(97).")")+$qb,$K["Collation"]):""),' <input type="submit" value="',lang(14),'">
';}echo'
';if(support("columns")){echo'<table cellspacing="0" id="edit-fields" class="nowrap">
';$wb=($_POST?$_POST["comments"]:$K["Comment"]!="");if(!$_POST&&!$wb){foreach($K["fields"]as$p){if($p["comment"]!=""){$wb=true;break;}}}edit_fields($K["fields"],$qb,"TABLE",$dd,$wb);echo'</table>
<p>
',lang(49),': <input type="number" name="Auto_increment" size="6" value="',h($K["Auto_increment"]),'">
',checkbox("defaults",1,!$_POST||$_POST["defaults"],lang(170),"columnShow(this.checked, 5)","jsonly"),($_POST?"":script("editingHideDefaults();")),(support("comment")?"<label><input type='checkbox' name='comments' value='1' class='jsonly'".($wb?" checked":"").">".lang(48)."</label>".script("qsl('input').onclick = partial(editingCommentsClick, true);").' <input name="Comment" value="'.h($K["Comment"]).'" maxlength="'.(min_version(5.5)?2048:60).'"'.($wb?'':' class="hidden"').'>':''),'<p>
<input type="submit" value="',lang(14),'">
';}echo'
';if($a!=""){echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(171,$a));}if(support("partitioning")){$Mf=preg_match('~RANGE|LIST~',$K["partition_by"]);print_fieldset("partition",lang(172),$K["partition_by"]);echo'<p>
',"<select name='partition_by'>".optionlist(array(""=>"")+$Lf,$K["partition_by"])."</select>".on_help("getTarget(event).value.replace(/./, 'PARTITION BY \$&')",1).script("qsl('select').onchange = partitionByChange;"),'(<input name="partition" value="',h($K["partition"]),'">)
',lang(173),': <input type="number" name="partitions" class="size',($Mf||!$K["partition_by"]?" hidden":""),'" value="',h($K["partitions"]),'">
<table cellspacing="0" id="partition-table"',($Mf?"":" class='hidden'"),'>
<thead><tr><th>',lang(174),'<th>',lang(175),'</thead>
';foreach($K["partition_names"]as$z=>$X){echo'<tr>','<td><input name="partition_names[]" value="'.h($X).'" autocapitalize="off">',($z==count($K["partition_names"])-1?script("qsl('input').oninput = partitionNameChange;"):''),'<td><input name="partition_values[]" value="'.h($K["partition_values"][$z]).'">';}echo'</table>
</div></fieldset>
';}echo'<input type="hidden" name="token" value="',$gi,'">
</form>
',script("qs('#form')['defaults'].onclick();".(support("comment")?" editingCommentsClick.call(qs('#form')['comments']);":""));}elseif(isset($_GET["indexes"])){$a=$_GET["indexes"];$Ed=array("PRIMARY","UNIQUE","INDEX");$S=table_status($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);$dg=array();if($y=="mongo"){$dg=$x["_id_"];unset($Ed[0]);unset($x["_id_"]);}$K=$_POST;if($_POST&&!$o&&!$_POST["add"]&&!$_POST["drop_col"]){$c=array();foreach($K["indexes"]as$w){$D=$w["name"];if(in_array($w["type"],$Ed)){$e=array();$qe=array();$Xb=array();$P=array();ksort($w["columns"]);foreach($w["columns"]as$z=>$d){if($d!=""){$pe=$w["lengths"][$z];$Wb=$w["descs"][$z];$P[]=idf_escape($d).($pe?"(".(+$pe).")":"").($Wb?" DESC":"");$e[]=$d;$qe[]=($pe?$pe:null);$Xb[]=$Wb;}}if($e){$Dc=$x[$D];if($Dc){ksort($Dc["columns"]);ksort($Dc["lengths"]);ksort($Dc["descs"]);if($w["type"]==$Dc["type"]&&array_values($Dc["columns"])===$e&&(!$Dc["lengths"]||array_values($Dc["lengths"])===$qe)&&array_values($Dc["descs"])===$Xb){unset($x[$D]);continue;}}$c[]=array($w["type"],$D,$P);}}}foreach($x
as$D=>$Dc)$c[]=array($Dc["type"],$D,"DROP");if(!$c)redirect(ME."table=".urlencode($a));queries_redirect(ME."table=".urlencode($a),lang(176),alter_indexes($a,$c));}page_header(lang(128),$o,array("table"=>$a),h($a));$q=array_keys(fields($a));if($_POST["add"]){foreach($K["indexes"]as$z=>$w){if($w["columns"][count($w["columns"])]!="")$K["indexes"][$z]["columns"][]="";}$w=end($K["indexes"]);if($w["type"]||array_filter($w["columns"],'strlen'))$K["indexes"][]=array("columns"=>array(1=>""));}if(!$K){foreach($x
as$z=>$w){$x[$z]["name"]=$z;$x[$z]["columns"][]="";}$x[]=array("columns"=>array(1=>""));$K["indexes"]=$x;}echo'
<form action="" method="post">
<table cellspacing="0" class="nowrap">
<thead><tr>
<th id="label-type">',lang(177),'<th><input type="submit" class="wayoff">',lang(178),'<th id="label-name">',lang(179);?>
<th><noscript><input type='image' class='icon' name='add[0]' src='" . h(preg_replace("~\\?.*~", "", ME) . "?file=plus.gif&version=4.6.2") . "' alt='+' title='<?php echo
lang(104),'\'></noscript>&nbsp;
</thead>
';if($dg){echo"<tr><td>PRIMARY<td>";foreach($dg["columns"]as$z=>$d){echo
select_input(" disabled",$q,$d),"<label><input disabled type='checkbox'>".lang(57)."</label> ";}echo"<td><td>\n";}$Xd=1;foreach($K["indexes"]as$w){if(!$_POST["drop_col"]||$Xd!=key($_POST["drop_col"])){echo"<tr><td>".html_select("indexes[$Xd][type]",array(-1=>"")+$Ed,$w["type"],($Xd==count($K["indexes"])?"indexesAddRow.call(this);":1),"label-type"),"<td>";ksort($w["columns"]);$t=1;foreach($w["columns"]as$z=>$d){echo"<span>".select_input(" name='indexes[$Xd][columns][$t]' title='".lang(46)."'",($q?array_combine($q,$q):$q),$d,"partial(".($t==count($w["columns"])?"indexesAddColumn":"indexesChangeColumn").", '".js_escape($y=="sql"?"":$_GET["indexes"]."_")."')"),($y=="sql"||$y=="mssql"?"<input type='number' name='indexes[$Xd][lengths][$t]' class='size' value='".h($w["lengths"][$z])."' title='".lang(102)."'>":""),($y!="sql"?checkbox("indexes[$Xd][descs][$t]",1,$w["descs"][$z],lang(57)):"")," </span>";$t++;}echo"<td><input name='indexes[$Xd][name]' value='".h($w["name"])."' autocapitalize='off' aria-labelledby='label-name'>\n","<td><input type='image' class='icon' name='drop_col[$Xd]' src='".h(preg_replace("~\\?.*~","",ME)."?file=cross.gif&version=4.6.2")."' alt='x' title='".lang(107)."'>".script("qsl('input').onclick = partial(editingRemoveRow, 'indexes\$1[type]');");}$Xd++;}echo'</table>
<p>
<input type="submit" value="',lang(14),'">
<input type="hidden" name="token" value="',$gi,'">
</form>
';}elseif(isset($_GET["database"])){$K=$_POST;if($_POST&&!$o&&!isset($_POST["add_x"])){$D=trim($K["name"]);if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(180),drop_databases(array(DB)));}elseif(DB!==$D){if(DB!=""){$_GET["db"]=$D;queries_redirect(preg_replace('~\bdb=[^&]*&~','',ME)."db=".urlencode($D),lang(181),rename_database($D,$K["collation"]));}else{$l=explode("\n",str_replace("\r","",$D));$Bh=true;$je="";foreach($l
as$m){if(count($l)==1||$m!=""){if(!create_database($m,$K["collation"]))$Bh=false;$je=$m;}}restart_session();set_session("dbs",null);queries_redirect(ME."db=".urlencode($je),lang(182),$Bh);}}else{if(!$K["collation"])redirect(substr(ME,0,-1));query_redirect("ALTER DATABASE ".idf_escape($D).(preg_match('~^[a-z0-9_]+$~i',$K["collation"])?" COLLATE $K[collation]":""),substr(ME,0,-1),lang(183));}}page_header(DB!=""?lang(65):lang(111),$o,array(),h(DB));$qb=collations();$D=DB;if($_POST)$D=$K["name"];elseif(DB!="")$K["collation"]=db_collation(DB,$qb);elseif($y=="sql"){foreach(get_vals("SHOW GRANTS")as$kd){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\\.\\*)?~',$kd,$C)&&$C[1]){$D=stripcslashes(idf_unescape("`$C[2]`"));break;}}}echo'
<form action="" method="post">
<p>
',($_POST["add_x"]||strpos($D,"\n")?'<textarea id="name" name="name" rows="10" cols="40">'.h($D).'</textarea><br>':'<input name="name" id="name" value="'.h($D).'" maxlength="64" autocapitalize="off">')."\n".($qb?html_select("collation",array(""=>"(".lang(97).")")+$qb,$K["collation"]).doc_link(array('sql'=>"charset-charsets.html",'mariadb'=>"supported-character-sets-and-collations/",'mssql'=>"ms187963.aspx",)):""),script("focus(qs('#name'));"),'<input type="submit" value="',lang(14),'">
';if(DB!="")echo"<input type='submit' name='drop' value='".lang(123)."'>".confirm(lang(171,DB))."\n";elseif(!$_POST["add_x"]&&$_GET["db"]=="")echo"<input type='image' class='icon' name='add' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.6.2")."' alt='+' title='".lang(104)."'>\n";echo'<input type="hidden" name="token" value="',$gi,'">
</form>
';}elseif(isset($_GET["scheme"])){$K=$_POST;if($_POST&&!$o){$A=preg_replace('~ns=[^&]*&~','',ME)."ns=";if($_POST["drop"])query_redirect("DROP SCHEMA ".idf_escape($_GET["ns"]),$A,lang(184));else{$D=trim($K["name"]);$A.=urlencode($D);if($_GET["ns"]=="")query_redirect("CREATE SCHEMA ".idf_escape($D),$A,lang(185));elseif($_GET["ns"]!=$D)query_redirect("ALTER SCHEMA ".idf_escape($_GET["ns"])." RENAME TO ".idf_escape($D),$A,lang(186));else
redirect($A);}}page_header($_GET["ns"]!=""?lang(66):lang(67),$o);if(!$K)$K["name"]=$_GET["ns"];echo'
<form action="" method="post">
<p><input name="name" id="name" value="',h($K["name"]),'" autocapitalize="off">
',script("focus(qs('#name'));"),'<input type="submit" value="',lang(14),'">
';if($_GET["ns"]!="")echo"<input type='submit' name='drop' value='".lang(123)."'>".confirm(lang(171,$_GET["ns"]))."\n";echo'<input type="hidden" name="token" value="',$gi,'">
</form>
';}elseif(isset($_GET["call"])){$da=($_GET["name"]?$_GET["name"]:$_GET["call"]);page_header(lang(187).": ".h($da),$o);$Ng=routine($_GET["call"],(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$Cd=array();$Cf=array();foreach($Ng["fields"]as$t=>$p){if(substr($p["inout"],-3)=="OUT")$Cf[$t]="@".idf_escape($p["field"])." AS ".idf_escape($p["field"]);if(!$p["inout"]||substr($p["inout"],0,2)=="IN")$Cd[]=$t;}if(!$o&&$_POST){$ab=array();foreach($Ng["fields"]as$z=>$p){if(in_array($z,$Cd)){$X=process_input($p);if($X===false)$X="''";if(isset($Cf[$z]))$g->query("SET @".idf_escape($p["field"])." = $X");}$ab[]=(isset($Cf[$z])?"@".idf_escape($p["field"]):$X);}$H=(isset($_GET["callf"])?"SELECT":"CALL")." ".table($da)."(".implode(", ",$ab).")";$vh=microtime(true);$I=$g->multi_query($H);$_a=$g->affected_rows;echo$b->selectQuery($H,$vh,!$I);if(!$I)echo"<p class='error'>".error()."\n";else{$h=connect();if(is_object($h))$h->select_db(DB);do{$I=$g->store_result();if(is_object($I))select($I,$h);else
echo"<p class='message'>".lang(188,$_a)."\n";}while($g->next_result());if($Cf)select($g->query("SELECT ".implode(", ",$Cf)));}}echo'
<form action="" method="post">
';if($Cd){echo"<table cellspacing='0'>\n";foreach($Cd
as$z){$p=$Ng["fields"][$z];$D=$p["field"];echo"<tr><th>".$b->fieldName($p);$Y=$_POST["fields"][$D];if($Y!=""){if($p["type"]=="enum")$Y=+$Y;if($p["type"]=="set")$Y=array_sum($Y);}input($p,$Y,(string)$_POST["function"][$D]);echo"\n";}echo"</table>\n";}echo'<p>
<input type="submit" value="',lang(187),'">
<input type="hidden" name="token" value="',$gi,'">
</form>
';}elseif(isset($_GET["foreign"])){$a=$_GET["foreign"];$D=$_GET["name"];$K=$_POST;if($_POST&&!$o&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){$Ge=($_POST["drop"]?lang(189):($D!=""?lang(190):lang(191)));$B=ME."table=".urlencode($a);if(!$_POST["drop"]){$K["source"]=array_filter($K["source"],'strlen');ksort($K["source"]);$Ph=array();foreach($K["source"]as$z=>$X)$Ph[$z]=$K["target"][$z];$K["target"]=$Ph;}if($y=="sqlite")queries_redirect($B,$Ge,recreate_table($a,$a,array(),array(),array(" $D"=>($_POST["drop"]?"":" ".format_foreign_key($K)))));else{$c="ALTER TABLE ".table($a);$fc="\nDROP ".($y=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($D);if($_POST["drop"])query_redirect($c.$fc,$B,$Ge);else{query_redirect($c.($D!=""?"$fc,":"")."\nADD".format_foreign_key($K),$B,$Ge);$o=lang(192)."<br>$o";}}}page_header(lang(193),$o,array("table"=>$a),h($a));if($_POST){ksort($K["source"]);if($_POST["add"])$K["source"][]="";elseif($_POST["change"]||$_POST["change-js"])$K["target"]=array();}elseif($D!=""){$dd=foreign_keys($a);$K=$dd[$D];$K["source"][]="";}else{$K["table"]=$a;$K["source"]=array("");}$nh=array_keys(fields($a));$Ph=($a===$K["table"]?$nh:array_keys(fields($K["table"])));$xg=array_keys(array_filter(table_status('',true),'fk_support'));echo'
<form action="" method="post">
<p>
';if($K["db"]==""&&$K["ns"]==""){echo
lang(194),':
',html_select("table",$xg,$K["table"],"this.form['change-js'].value = '1'; this.form.submit();"),'<input type="hidden" name="change-js" value="">
<noscript><p><input type="submit" name="change" value="',lang(195),'"></noscript>
<table cellspacing="0">
<thead><tr><th id="label-source">',lang(130),'<th id="label-target">',lang(131),'</thead>
';$Xd=0;foreach($K["source"]as$z=>$X){echo"<tr>","<td>".html_select("source[".(+$z)."]",array(-1=>"")+$nh,$X,($Xd==count($K["source"])-1?"foreignAddRow.call(this);":1),"label-source"),"<td>".html_select("target[".(+$z)."]",$Ph,$K["target"][$z],1,"label-target");$Xd++;}echo'</table>
<p>
',lang(99),': ',html_select("on_delete",array(-1=>"")+explode("|",$jf),$K["on_delete"]),' ',lang(98),': ',html_select("on_update",array(-1=>"")+explode("|",$jf),$K["on_update"]),doc_link(array('sql'=>"innodb-foreign-key-constraints.html",'mariadb'=>"foreign-keys/",'pgsql'=>"sql-createtable.html#SQL-CREATETABLE-REFERENCES",'mssql'=>"ms174979.aspx",'oracle'=>"clauses002.htm#sthref2903",)),'<p>
<input type="submit" value="',lang(14),'">
<noscript><p><input type="submit" name="add" value="',lang(196),'"></noscript>
';}if($D!=""){echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(171,$D));}echo'<input type="hidden" name="token" value="',$gi,'">
</form>
';}elseif(isset($_GET["view"])){$a=$_GET["view"];$K=$_POST;$_f="VIEW";if($y=="pgsql"&&$a!=""){$xh=table_status($a);$_f=strtoupper($xh["Engine"]);}if($_POST&&!$o){$D=trim($K["name"]);$Ha=" AS\n$K[select]";$B=ME."table=".urlencode($D);$Ge=lang(197);$U=($_POST["materialized"]?"MATERIALIZED VIEW":"VIEW");if(!$_POST["drop"]&&$a==$D&&$y!="sqlite"&&$U=="VIEW"&&$_f=="VIEW")query_redirect(($y=="mssql"?"ALTER":"CREATE OR REPLACE")." VIEW ".table($D).$Ha,$B,$Ge);else{$Rh=$D."_adminer_".uniqid();drop_create("DROP $_f ".table($a),"CREATE $U ".table($D).$Ha,"DROP $U ".table($D),"CREATE $U ".table($Rh).$Ha,"DROP $U ".table($Rh),($_POST["drop"]?substr(ME,0,-1):$B),lang(198),$Ge,lang(199),$a,$D);}}if(!$_POST&&$a!=""){$K=view($a);$K["name"]=$a;$K["materialized"]=($_f!="VIEW");if(!$o)$o=error();}page_header(($a!=""?lang(41):lang(200)),$o,array("table"=>$a),h($a));echo'
<form action="" method="post">
<p>',lang(179),': <input name="name" value="',h($K["name"]),'" maxlength="64" autocapitalize="off">
',(support("materializedview")?" ".checkbox("materialized",1,$K["materialized"],lang(125)):""),'<p>';textarea("select",$K["select"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($a!=""){echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(171,$a));}echo'<input type="hidden" name="token" value="',$gi,'">
</form>
';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$Pd=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$yh=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");$K=$_POST;if($_POST&&!$o){if($_POST["drop"])query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),lang(201));elseif(in_array($K["INTERVAL_FIELD"],$Pd)&&isset($yh[$K["STATUS"]])){$Sg="\nON SCHEDULE ".($K["INTERVAL_VALUE"]?"EVERY ".q($K["INTERVAL_VALUE"])." $K[INTERVAL_FIELD]".($K["STARTS"]?" STARTS ".q($K["STARTS"]):"").($K["ENDS"]?" ENDS ".q($K["ENDS"]):""):"AT ".q($K["STARTS"]))." ON COMPLETION".($K["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($aa!=""?lang(202):lang(203)),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$Sg.($aa!=$K["EVENT_NAME"]?"\nRENAME TO ".idf_escape($K["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($K["EVENT_NAME"]).$Sg)."\n".$yh[$K["STATUS"]]." COMMENT ".q($K["EVENT_COMMENT"]).rtrim(" DO\n$K[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?lang(204).": ".h($aa):lang(205)),$o);if(!$K&&$aa!=""){$L=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($aa));$K=reset($L);}echo'
<form action="" method="post">
<table cellspacing="0">
<tr><th>',lang(179),'<td><input name="EVENT_NAME" value="',h($K["EVENT_NAME"]),'" maxlength="64" autocapitalize="off">
<tr><th title="datetime">',lang(206),'<td><input name="STARTS" value="',h("$K[EXECUTE_AT]$K[STARTS]"),'">
<tr><th title="datetime">',lang(207),'<td><input name="ENDS" value="',h($K["ENDS"]),'">
<tr><th>',lang(208),'<td><input type="number" name="INTERVAL_VALUE" value="',h($K["INTERVAL_VALUE"]),'" class="size"> ',html_select("INTERVAL_FIELD",$Pd,$K["INTERVAL_FIELD"]),'<tr><th>',lang(114),'<td>',html_select("STATUS",$yh,$K["STATUS"]),'<tr><th>',lang(48),'<td><input name="EVENT_COMMENT" value="',h($K["EVENT_COMMENT"]),'" maxlength="64">
<tr><th>&nbsp;<td>',checkbox("ON_COMPLETION","PRESERVE",$K["ON_COMPLETION"]=="PRESERVE",lang(209)),'</table>
<p>';textarea("EVENT_DEFINITION",$K["EVENT_DEFINITION"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($aa!=""){echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(171,$aa));}echo'<input type="hidden" name="token" value="',$gi,'">
</form>
';}elseif(isset($_GET["procedure"])){$da=($_GET["name"]?$_GET["name"]:$_GET["procedure"]);$Ng=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$K=$_POST;$K["fields"]=(array)$K["fields"];if($_POST&&!process_fields($K["fields"])&&!$o){$xf=routine($_GET["procedure"],$Ng);$Rh="$K[name]_adminer_".uniqid();drop_create("DROP $Ng ".routine_id($da,$xf),create_routine($Ng,$K),"DROP $Ng ".routine_id($K["name"],$K),create_routine($Ng,array("name"=>$Rh)+$K),"DROP $Ng ".routine_id($Rh,$K),substr(ME,0,-1),lang(210),lang(211),lang(212),$da,$K["name"]);}page_header(($da!=""?(isset($_GET["function"])?lang(213):lang(214)).": ".h($da):(isset($_GET["function"])?lang(215):lang(216))),$o);if(!$_POST&&$da!=""){$K=routine($_GET["procedure"],$Ng);$K["name"]=$da;}$qb=get_vals("SHOW CHARACTER SET");sort($qb);$Og=routine_languages();echo'
<form action="" method="post" id="form">
<p>',lang(179),': <input name="name" value="',h($K["name"]),'" maxlength="64" autocapitalize="off">
',($Og?lang(19).": ".html_select("language",$Og,$K["language"])."\n":""),'<input type="submit" value="',lang(14),'">
<table cellspacing="0" class="nowrap">
';edit_fields($K["fields"],$qb,$Ng);if(isset($_GET["function"])){echo"<tr><td>".lang(217);edit_type("returns",$K["returns"],$qb,array(),($y=="pgsql"?array("void","trigger"):array()));}echo'</table>
<p>';textarea("definition",$K["definition"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($da!=""){echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(171,$da));}echo'<input type="hidden" name="token" value="',$gi,'">
</form>
';}elseif(isset($_GET["sequence"])){$fa=$_GET["sequence"];$K=$_POST;if($_POST&&!$o){$A=substr(ME,0,-1);$D=trim($K["name"]);if($_POST["drop"])query_redirect("DROP SEQUENCE ".idf_escape($fa),$A,lang(218));elseif($fa=="")query_redirect("CREATE SEQUENCE ".idf_escape($D),$A,lang(219));elseif($fa!=$D)query_redirect("ALTER SEQUENCE ".idf_escape($fa)." RENAME TO ".idf_escape($D),$A,lang(220));else
redirect($A);}page_header($fa!=""?lang(221).": ".h($fa):lang(222),$o);if(!$K)$K["name"]=$fa;echo'
<form action="" method="post">
<p><input name="name" value="',h($K["name"]),'" autocapitalize="off">
<input type="submit" value="',lang(14),'">
';if($fa!="")echo"<input type='submit' name='drop' value='".lang(123)."'>".confirm(lang(171,$fa))."\n";echo'<input type="hidden" name="token" value="',$gi,'">
</form>
';}elseif(isset($_GET["type"])){$ga=$_GET["type"];$K=$_POST;if($_POST&&!$o){$A=substr(ME,0,-1);if($_POST["drop"])query_redirect("DROP TYPE ".idf_escape($ga),$A,lang(223));else
query_redirect("CREATE TYPE ".idf_escape(trim($K["name"]))." $K[as]",$A,lang(224));}page_header($ga!=""?lang(225).": ".h($ga):lang(226),$o);if(!$K)$K["as"]="AS ";echo'
<form action="" method="post">
<p>
';if($ga!="")echo"<input type='submit' name='drop' value='".lang(123)."'>".confirm(lang(171,$ga))."\n";else{echo"<input name='name' value='".h($K['name'])."' autocapitalize='off'>\n";textarea("as",$K["as"]);echo"<p><input type='submit' value='".lang(14)."'>\n";}echo'<input type="hidden" name="token" value="',$gi,'">
</form>
';}elseif(isset($_GET["trigger"])){$a=$_GET["trigger"];$D=$_GET["name"];$ri=trigger_options();$K=(array)trigger($D)+array("Trigger"=>$a."_bi");if($_POST){if(!$o&&in_array($_POST["Timing"],$ri["Timing"])&&in_array($_POST["Event"],$ri["Event"])&&in_array($_POST["Type"],$ri["Type"])){$if=" ON ".table($a);$fc="DROP TRIGGER ".idf_escape($D).($y=="pgsql"?$if:"");$B=ME."table=".urlencode($a);if($_POST["drop"])query_redirect($fc,$B,lang(227));else{if($D!="")queries($fc);queries_redirect($B,($D!=""?lang(228):lang(229)),queries(create_trigger($if,$_POST)));if($D!="")queries(create_trigger($if,$K+array("Type"=>reset($ri["Type"]))));}}$K=$_POST;}page_header(($D!=""?lang(230).": ".h($D):lang(231)),$o,array("table"=>$a));echo'
<form action="" method="post" id="form">
<table cellspacing="0">
<tr><th>',lang(232),'<td>',html_select("Timing",$ri["Timing"],$K["Timing"],"triggerChange(/^".preg_quote($a,"/")."_[ba][iud]$/, '".js_escape($a)."', this.form);"),'<tr><th>',lang(233),'<td>',html_select("Event",$ri["Event"],$K["Event"],"this.form['Timing'].onchange();"),(in_array("UPDATE OF",$ri["Event"])?" <input name='Of' value='".h($K["Of"])."' class='hidden'>":""),'<tr><th>',lang(47),'<td>',html_select("Type",$ri["Type"],$K["Type"]),'</table>
<p>',lang(179),': <input name="Trigger" value="',h($K["Trigger"]),'" maxlength="64" autocapitalize="off">
',script("qs('#form')['Timing'].onchange();"),'<p>';textarea("Statement",$K["Statement"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($D!=""){echo'<input type="submit" name="drop" value="',lang(123),'">',confirm(lang(171,$D));}echo'<input type="hidden" name="token" value="',$gi,'">
</form>
';}elseif(isset($_GET["user"])){$ha=$_GET["user"];$ig=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$K){foreach(explode(",",($K["Privilege"]=="Grant option"?"":$K["Context"]))as$Bb)$ig[$Bb][$K["Privilege"]]=$K["Comment"];}$ig["Server Admin"]+=$ig["File access on server"];$ig["Databases"]["Create routine"]=$ig["Procedures"]["Create routine"];unset($ig["Procedures"]["Create routine"]);$ig["Columns"]=array();foreach(array("Select","Insert","Update","References")as$X)$ig["Columns"][$X]=$ig["Tables"][$X];unset($ig["Server Admin"]["Usage"]);foreach($ig["Tables"]as$z=>$X)unset($ig["Databases"][$z]);$Te=array();if($_POST){foreach($_POST["objects"]as$z=>$X)$Te[$X]=(array)$Te[$X]+(array)$_POST["grants"][$z];}$ld=array();$gf="";if(isset($_GET["host"])&&($I=$g->query("SHOW GRANTS FOR ".q($ha)."@".q($_GET["host"])))){while($K=$I->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$K[0],$C)&&preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~',$C[1],$ze,PREG_SET_ORDER)){foreach($ze
as$X){if($X[1]!="USAGE")$ld["$C[2]$X[2]"][$X[1]]=true;if(preg_match('~ WITH GRANT OPTION~',$K[0]))$ld["$C[2]$X[2]"]["GRANT OPTION"]=true;}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$K[0],$C))$gf=$C[1];}}if($_POST&&!$o){$hf=(isset($_GET["host"])?q($ha)."@".q($_GET["host"]):"''");if($_POST["drop"])query_redirect("DROP USER $hf",ME."privileges=",lang(234));else{$Ve=q($_POST["user"])."@".q($_POST["host"]);$Qf=$_POST["pass"];if($Qf!=''&&!$_POST["hashed"]){$Qf=$g->result("SELECT PASSWORD(".q($Qf).")");$o=!$Qf;}$Gb=false;if(!$o){if($hf!=$Ve){$Gb=queries((min_version(5)?"CREATE USER":"GRANT USAGE ON *.* TO")." $Ve IDENTIFIED BY PASSWORD ".q($Qf));$o=!$Gb;}elseif($Qf!=$gf)queries("SET PASSWORD FOR $Ve = ".q($Qf));}if(!$o){$Kg=array();foreach($Te
as$bf=>$kd){if(isset($_GET["grant"]))$kd=array_filter($kd);$kd=array_keys($kd);if(isset($_GET["grant"]))$Kg=array_diff(array_keys(array_filter($Te[$bf],'strlen')),$kd);elseif($hf==$Ve){$ef=array_keys((array)$ld[$bf]);$Kg=array_diff($ef,$kd);$kd=array_diff($kd,$ef);unset($ld[$bf]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$bf,$C)&&(!grant("REVOKE",$Kg,$C[2]," ON $C[1] FROM $Ve")||!grant("GRANT",$kd,$C[2]," ON $C[1] TO $Ve"))){$o=true;break;}}}if(!$o&&isset($_GET["host"])){if($hf!=$Ve)queries("DROP USER $hf");elseif(!isset($_GET["grant"])){foreach($ld
as$bf=>$Kg){if(preg_match('~^(.+)(\\(.*\\))?$~U',$bf,$C))grant("REVOKE",array_keys($Kg),$C[2]," ON $C[1] FROM $Ve");}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(235):lang(236)),!$o);if($Gb)$g->query("DROP USER $Ve");}}page_header((isset($_GET["host"])?lang(33).": ".h("$ha@$_GET[host]"):lang(142)),$o,array("privileges"=>array('',lang(69))));if($_POST){$K=$_POST;$ld=$Te;}else{$K=$_GET+array("host"=>$g->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$K["pass"]=$gf;if($gf!="")$K["hashed"]=true;$ld[(DB==""||$ld?"":idf_escape(addcslashes(DB,"%_\\"))).".*"]=array();}echo'<form action="" method="post">
<table cellspacing="0">
<tr><th>',lang(32),'<td><input name="host" maxlength="60" value="',h($K["host"]),'" autocapitalize="off">
<tr><th>',lang(33),'<td><input name="user" maxlength="16" value="',h($K["user"]),'" autocapitalize="off">
<tr><th>',lang(34),'<td><input name="pass" id="pass" value="',h($K["pass"]),'" autocomplete="new-password">
';if(!$K["hashed"])echo
script("typePassword(qs('#pass'));");echo
checkbox("hashed",1,$K["hashed"],lang(237),"typePassword(this.form['pass'], this.checked);"),'</table>

';echo"<table cellspacing='0'>\n","<thead><tr><th colspan='2'>".lang(69).doc_link(array('sql'=>"grant.html#priv_level"));$t=0;foreach($ld
as$bf=>$kd){echo'<th>'.($bf!="*.*"?"<input name='objects[$t]' value='".h($bf)."' size='10' autocapitalize='off'>":"<input type='hidden' name='objects[$t]' value='*.*' size='10'>*.*");$t++;}echo"</thead>\n";foreach(array(""=>"","Server Admin"=>lang(32),"Databases"=>lang(35),"Tables"=>lang(127),"Columns"=>lang(46),"Procedures"=>lang(238),)as$Bb=>$Wb){foreach((array)$ig[$Bb]as$hg=>$vb){echo"<tr".odd()."><td".($Wb?">$Wb<td":" colspan='2'").' lang="en" title="'.h($vb).'">'.h($hg);$t=0;foreach($ld
as$bf=>$kd){$D="'grants[$t][".h(strtoupper($hg))."]'";$Y=$kd[strtoupper($hg)];if($Bb=="Server Admin"&&$bf!=(isset($ld["*.*"])?"*.*":".*"))echo"<td>&nbsp;";elseif(isset($_GET["grant"]))echo"<td><select name=$D><option><option value='1'".($Y?" selected":"").">".lang(239)."<option value='0'".($Y=="0"?" selected":"").">".lang(240)."</select>";else{echo"<td align='center'><label class='block'>","<input type='checkbox' name=$D value='1'".($Y?" checked":"").($hg=="All privileges"?" id='grants-$t-all'>":">".($hg=="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(171,"$ha@$_GET[host]"));}echo'<input type="hidden" name="token" value="',$gi,'">
</form>
';}elseif(isset($_GET["processlist"])){if(support("kill")&&$_POST&&!$o){$ee=0;foreach((array)$_POST["kill"]as$X){if(kill_process($X))$ee++;}queries_redirect(ME."processlist=",lang(241,$ee),$ee||!$_POST["kill"]);}page_header(lang(112),$o);echo'
<form action="" method="post">
<table cellspacing="0" class="nowrap checkable">
',script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});");$t=-1;foreach(process_list()as$t=>$K){if(!$t){echo"<thead><tr lang='en'>".(support("kill")?"<th>&nbsp;":"");foreach($K
as$z=>$X)echo"<th>$z".doc_link(array('sql'=>"show-processlist.html#processlist_".strtolower($z),'pgsql'=>"monitoring-stats.html#PG-STAT-ACTIVITY-VIEW",'oracle'=>"../b14237/dynviews_2088.htm",));echo"</thead>\n";}echo"<tr".odd().">".(support("kill")?"<td>".checkbox("kill[]",$K[$y=="sql"?"Id":"pid"],0):"");foreach($K
as$z=>$X)echo"<td>".(($y=="sql"&&$z=="Info"&&preg_match("~Query|Killed~",$K["Command"])&&$X!="")||($y=="pgsql"&&$z=="current_query"&&$X!="<IDLE>")||($y=="oracle"&&$z=="sql_text"&&$X!="")?"<code class='jush-$y'>".shorten_utf8($X,100,"</code>").' <a href="'.h(ME.($K["db"]!=""?"db=".urlencode($K["db"])."&":"")."sql=".urlencode($X)).'">'.lang(242).'</a>':nbsp($X));echo"\n";}echo'</table>
<p>
';if(support("kill")){echo($t+1)."/".lang(243,max_connections()),"<p><input type='submit' value='".lang(244)."'>\n";}echo'<input type="hidden" name="token" value="',$gi,'">
</form>
',script("tableCheck();");}elseif(isset($_GET["select"])){$a=$_GET["select"];$S=table_status1($a);$x=indexes($a);$q=fields($a);$dd=column_foreign_keys($a);$df=$S["Oid"];parse_str($_COOKIE["adminer_import"],$za);$Lg=array();$e=array();$Vh=null;foreach($q
as$z=>$p){$D=$b->fieldName($p);if(isset($p["privileges"]["select"])&&$D!=""){$e[$z]=html_entity_decode(strip_tags($D),ENT_QUOTES);if(is_shortable($p))$Vh=$b->selectLengthProcess();}$Lg+=$p["privileges"];}list($M,$md)=$b->selectColumnsProcess($e,$x);$Td=count($md)<count($M);$Z=$b->selectSearchProcess($q,$x);$tf=$b->selectOrderProcess($q,$x);$_=$b->selectLimitProcess();if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$zi=>$K){$Ha=convert_field($q[key($K)]);$M=array($Ha?$Ha:idf_escape(key($K)));$Z[]=where_check($zi,$q);$J=$n->select($a,$M,$Z,$M);if($J)echo
reset($J->fetch_row());}exit;}$dg=$Ai=null;foreach($x
as$w){if($w["type"]=="PRIMARY"){$dg=array_flip($w["columns"]);$Ai=($M?$dg:array());foreach($Ai
as$z=>$X){if(in_array(idf_escape($z),$M))unset($Ai[$z]);}break;}}if($df&&!$dg){$dg=$Ai=array($df=>0);$x[]=array("type"=>"PRIMARY","columns"=>array($df));}if($_POST&&!$o){$bj=$Z;if(!$_POST["all"]&&is_array($_POST["check"])){$gb=array();foreach($_POST["check"]as$db)$gb[]=where_check($db,$q);$bj[]="((".implode(") OR (",$gb)."))";}$bj=($bj?"\nWHERE ".implode(" AND ",$bj):"");if($_POST["export"]){cookie("adminer_import","output=".urlencode($_POST["output"])."&format=".urlencode($_POST["format"]));dump_headers($a);$b->dumpTable($a,"");$id=($M?implode(", ",$M):"*").convert_fields($e,$q,$M)."\nFROM ".table($a);$od=($md&&$Td?"\nGROUP BY ".implode(", ",$md):"").($tf?"\nORDER BY ".implode(", ",$tf):"");if(!is_array($_POST["check"])||$dg)$H="SELECT $id$bj$od";else{$xi=array();foreach($_POST["check"]as$X)$xi[]="(SELECT".limit($id,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$q).$od,1).")";$H=implode(" UNION ALL ",$xi);}$b->dumpData($a,"table",$H);exit;}if(!$b->selectEmailProcess($Z,$dd)){if($_POST["save"]||$_POST["delete"]){$I=true;$_a=0;$P=array();if(!$_POST["delete"]){foreach($e
as$D=>$X){$X=process_input($q[$D]);if($X!==null&&($_POST["clone"]||$X!==false))$P[idf_escape($D)]=($X!==false?$X:idf_escape($D));}}if($_POST["delete"]||$P){if($_POST["clone"])$H="INTO ".table($a)." (".implode(", ",array_keys($P)).")\nSELECT ".implode(", ",$P)."\nFROM ".table($a);if($_POST["all"]||($dg&&is_array($_POST["check"]))||$Td){$I=($_POST["delete"]?$n->delete($a,$bj):($_POST["clone"]?queries("INSERT $H$bj"):$n->update($a,$P,$bj)));$_a=$g->affected_rows;}else{foreach((array)$_POST["check"]as$X){$Xi="\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$q);$I=($_POST["delete"]?$n->delete($a,$Xi,1):($_POST["clone"]?queries("INSERT".limit1($a,$H,$Xi)):$n->update($a,$P,$Xi,1)));if(!$I)break;$_a+=$g->affected_rows;}}}$Ge=lang(245,$_a);if($_POST["clone"]&&$I&&$_a==1){$ke=last_id();if($ke)$Ge=lang(164," $ke");}queries_redirect(remove_from_uri($_POST["all"]&&$_POST["delete"]?"page":""),$Ge,$I);if(!$_POST["delete"]){edit_form($a,$q,(array)$_POST["fields"],!$_POST["clone"]);page_footer();exit;}}elseif(!$_POST["import"]){if(!$_POST["val"])$o=lang(246);else{$I=true;$_a=0;foreach($_POST["val"]as$zi=>$K){$P=array();foreach($K
as$z=>$X){$z=bracket_escape($z,1);$P[idf_escape($z)]=(preg_match('~char|text~',$q[$z]["type"])||$X!=""?$b->processInput($q[$z],$X):"NULL");}$I=$n->update($a,$P," WHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($zi,$q),!$Td&&!$dg," ");if(!$I)break;$_a+=$g->affected_rows;}queries_redirect(remove_from_uri(),lang(245,$_a),$I);}}elseif(!is_string($Tc=get_file("csv_file",true)))$o=upload_error($Tc);elseif(!preg_match('~~u',$Tc))$o=lang(247);else{cookie("adminer_import","output=".urlencode($za["output"])."&format=".urlencode($_POST["separator"]));$I=true;$sb=array_keys($q);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$Tc,$ze);$_a=count($ze[0]);$n->begin();$N=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));$L=array();foreach($ze[0]as$z=>$X){preg_match_all("~((?>\"[^\"]*\")+|[^$N]*)$N~",$X.$N,$_e);if(!$z&&!array_diff($_e[1],$sb)){$sb=$_e[1];$_a--;}else{$P=array();foreach($_e[1]as$t=>$nb)$P[idf_escape($sb[$t])]=($nb==""&&$q[$sb[$t]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$nb))));$L[]=$P;}}$I=(!$L||$n->insertUpdate($a,$L,$dg));if($I)$I=$n->commit();queries_redirect(remove_from_uri("page"),lang(248,$_a),$I);$n->rollback();}}}$Hh=$b->tableName($S);if(is_ajax()){page_headers();ob_start();}else
page_header(lang(51).": $Hh",$o);$P=null;if(isset($Lg["insert"])||!support("table")){$P="";foreach((array)$_GET["where"]as$X){if($dd[$X["col"]]&&count($dd[$X["col"]])==1&&($X["op"]=="="||(!$X["op"]&&!preg_match('~[_%]~',$X["val"]))))$P.="&set".urlencode("[".bracket_escape($X["col"])."]")."=".urlencode($X["val"]);}}$b->selectLinks($S,$P);if(!$e&&support("table"))echo"<p class='error'>".lang(249).($q?".":": ".error())."\n";else{echo"<form action='' id='form'>\n","<div style='display: none;'>";hidden_fields_get();echo(DB!=""?'<input type="hidden" name="db" value="'.h(DB).'">'.(isset($_GET["ns"])?'<input type="hidden" name="ns" value="'.h($_GET["ns"]).'">':""):"");echo'<input type="hidden" name="select" value="'.h($a).'">',"</div>\n";$b->selectColumnsPrint($M,$e);$b->selectSearchPrint($Z,$e,$x);$b->selectOrderPrint($tf,$e,$x);$b->selectLimitPrint($_);$b->selectLengthPrint($Vh);$b->selectActionPrint($x);echo"</form>\n";$F=$_GET["page"];if($F=="last"){$gd=$g->result(count_rows($a,$Z,$Td,$md));$F=floor(max(0,$gd-1)/$_);}$Xg=$M;$nd=$md;if(!$Xg){$Xg[]="*";$Cb=convert_fields($e,$q,$M);if($Cb)$Xg[]=substr($Cb,2);}foreach($M
as$z=>$X){$p=$q[idf_unescape($X)];if($p&&($Ha=convert_field($p)))$Xg[$z]="$Ha AS $X";}if(!$Td&&$Ai){foreach($Ai
as$z=>$X){$Xg[]=idf_escape($z);if($nd)$nd[]=idf_escape($z);}}$I=$n->select($a,$Xg,$Z,$nd,$tf,$_,$F,true);if(!$I)echo"<p class='error'>".error()."\n";else{if($y=="mssql"&&$F)$I->seek($_*$F);$sc=array();echo"<form action='' method='post' enctype='multipart/form-data'>\n";$L=array();while($K=$I->fetch_assoc()){if($F&&$y=="oracle")unset($K["RNUM"]);$L[]=$K;}if($_GET["page"]!="last"&&$_!=""&&$md&&$Td&&$y=="sql")$gd=$g->result(" SELECT FOUND_ROWS()");if(!$L)echo"<p class='message'>".lang(12)."\n";else{$Qa=$b->backwardKeys($a,$Hh);echo"<table id='table' cellspacing='0' class='nowrap checkable'>",script("mixin(qs('#table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true), onkeydown: editingKeydown});"),"<thead><tr>".(!$md&&$M?"":"<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(250)."</a>");$Se=array();$jd=array();reset($M);$sg=1;foreach($L[0]as$z=>$X){if(!isset($Ai[$z])){$X=$_GET["columns"][key($M)];$p=$q[$M?($X?$X["col"]:current($M)):$z];$D=($p?$b->fieldName($p,$sg):($X["fun"]?"*":$z));if($D!=""){$sg++;$Se[$z]=$D;$d=idf_escape($z);$zd=remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($z);$Wb="&desc%5B0%5D=1";echo"<th>".script("mixin(qsl('th'), {onmouseover: partial(columnMouse), onmouseout: partial(columnMouse, ' hidden')});",""),'<a href="'.h($zd.($tf[0]==$d||$tf[0]==$z||(!$tf&&$Td&&$md[0]==$d)?$Wb:'')).'">';echo
apply_sql_function($X["fun"],$D)."</a>";echo"<span class='column hidden'>","<a href='".h($zd.$Wb)."' title='".lang(57)."' class='text'> 鈫?/a>";if(!$X["fun"]){echo'<a href="#fieldset-search" title="'.lang(54).'" class="text jsonly"> =</a>',script("qsl('a').onclick = partial(selectSearch, '".js_escape($z)."');");}echo"</span>";}$jd[$z]=$X["fun"];next($M);}}$qe=array();if($_GET["modify"]){foreach($L
as$K){foreach($K
as$z=>$X)$qe[$z]=max($qe[$z],min(40,strlen(utf8_decode($X))));}}echo($Qa?"<th>".lang(251):"")."</thead>\n";if(is_ajax()){if($_%2==1&&$F%2==1)odd();ob_end_clean();}foreach($b->rowDescriptions($L,$dd)as$Re=>$K){$yi=unique_array($L[$Re],$x);if(!$yi){$yi=array();foreach($L[$Re]as$z=>$X){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$z))$yi[$z]=$X;}}$zi="";foreach($yi
as$z=>$X){if(($y=="sql"||$y=="pgsql")&&preg_match('~char|text|enum|set~',$q[$z]["type"])&&strlen($X)>64){$z=(strpos($z,'(')?$z:idf_escape($z));$z="MD5(".($y!='sql'||preg_match("~^utf8~",$q[$z]["collation"])?$z:"CONVERT($z USING ".charset($g).")").")";$X=md5($X);}$zi.="&".($X!==null?urlencode("where[".bracket_escape($z)."]")."=".urlencode($X):"null%5B%5D=".urlencode($z));}echo"<tr".odd().">".(!$md&&$M?"":"<td>".checkbox("check[]",substr($zi,1),in_array(substr($zi,1),(array)$_POST["check"])).($Td||information_schema(DB)?"":" <a href='".h(ME."edit=".urlencode($a).$zi)."' class='edit'>".lang(252)."</a>"));foreach($K
as$z=>$X){if(isset($Se[$z])){$p=$q[$z];$X=$n->value($X,$p);if($X!=""&&(!isset($sc[$z])||$sc[$z]!=""))$sc[$z]=(is_mail($X)?$Se[$z]:"");$A="";if(preg_match('~blob|bytea|raw|file~',$p["type"])&&$X!="")$A=ME.'download='.urlencode($a).'&field='.urlencode($z).$zi;if(!$A&&$X!==null){foreach((array)$dd[$z]as$r){if(count($dd[$z])==1||end($r["source"])==$z){$A="";foreach($r["source"]as$t=>$nh)$A.=where_link($t,$r["target"][$t],$L[$Re][$nh]);$A=($r["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\\1'.urlencode($r["db"]),ME):ME).'select='.urlencode($r["table"]).$A;if($r["ns"])$A=preg_replace('~([?&]ns=)[^&]+~','\\1'.urlencode($r["ns"]),$A);if(count($r["source"])==1)break;}}}if($z=="COUNT(*)"){$A=ME."select=".urlencode($a);$t=0;foreach((array)$_GET["where"]as$W){if(!array_key_exists($W["col"],$yi))$A.=where_link($t++,$W["col"],$W["val"],$W["op"]);}foreach($yi
as$Yd=>$W)$A.=where_link($t++,$Yd,$W);}$X=select_value($X,$A,$p,$Vh);$u=h("val[$zi][".bracket_escape($z)."]");$Y=$_POST["val"][$zi][bracket_escape($z)];$nc=!is_array($K[$z])&&is_utf8($X)&&$L[$Re][$z]==$K[$z]&&!$jd[$z];$Uh=preg_match('~text|lob~',$p["type"]);if(($_GET["modify"]&&$nc)||$Y!==null){$qd=h($Y!==null?$Y:$K[$z]);echo"<td>".($Uh?"<textarea name='$u' cols='30' rows='".(substr_count($K[$z],"\n")+1)."'>$qd</textarea>":"<input name='$u' value='$qd' size='$qe[$z]'>");}else{$ue=strpos($X,"<i>...</i>");echo"<td id='$u' data-text='".($ue?2:($Uh?1:0))."'".($nc?"":" data-warning='".h(lang(253))."'").">$X</td>";}}}if($Qa)echo"<td>";$b->backwardKeysPrint($Qa,$L[$Re]);echo"</tr>\n";}if(is_ajax())exit;echo"</table>\n";}if(!is_ajax()){if($L||$F){$Bc=true;if($_GET["page"]!="last"){if($_==""||(count($L)<$_&&($L||!$F)))$gd=($F?$F*$_:0)+count($L);elseif($y!="sql"||!$Td){$gd=($Td?false:found_rows($S,$Z));if($gd<max(1e4,2*($F+1)*$_))$gd=reset(slow_query(count_rows($a,$Z,$Td,$md)));else$Bc=false;}}$Ff=($_!=""&&($gd===false||$gd>$_||$F));if($Ff){echo(($gd===false?count($L)+1:$gd-$F*$_)>$_?'<p><a href="'.h(remove_from_uri("page")."&page=".($F+1)).'" class="loadmore">'.lang(254).'</a>'.script("qsl('a').onclick = partial(selectLoadMore, ".(+$_).", '".lang(255)."...');",""):''),"\n";}}echo"<div class='footer'><div>\n";if($L||$F){if($Ff){$Be=($gd===false?$F+(count($L)>=$_?2:1):floor(($gd-1)/$_));echo"<fieldset>";if($y!="simpledb"){echo"<legend><a href='".h(remove_from_uri("page"))."'>".lang(256)."</a></legend>",script("qsl('a').onclick = function () { pageClick(this.href, +prompt('".lang(256)."', '".($F+1)."')); return false; };"),pagination(0,$F).($F>5?" ...":"");for($t=max(1,$F-4);$t<min($Be,$F+5);$t++)echo
pagination($t,$F);if($Be>0){echo($F+5<$Be?" ...":""),($Bc&&$gd!==false?pagination($Be,$F):" <a href='".h(remove_from_uri("page")."&page=last")."' title='~$Be'>".lang(257)."</a>");}}else{echo"<legend>".lang(256)."</legend>",pagination(0,$F).($F>1?" ...":""),($F?pagination($F,$F):""),($Be>$F?pagination($F+1,$F).($Be>$F+1?" ...":""):"");}echo"</fieldset>\n";}echo"<fieldset>","<legend>".lang(258)."</legend>";$bc=($Bc?"":"~ ").$gd;echo
checkbox("all",1,0,($gd!==false?($Bc?"":"~ ").lang(146,$gd):""),"var checked = formChecked(this, /check/); selectCount('selected', this.checked ? '$bc' : checked); selectCount('selected2', this.checked || !checked ? '$bc' : checked);")."\n","</fieldset>\n";if($b->selectCommandPrint()){echo'<fieldset',($_GET["modify"]?'':' class="jsonly"'),'><legend>',lang(250),'</legend><div>
<input type="submit" value="',lang(14),'"',($_GET["modify"]?'':' title="'.lang(246).'"'),'>
</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(242),'">
<input type="submit" name="delete" value="',lang(18),'">',confirm(),'</div></fieldset>
';}$ed=$b->dumpFormat();foreach((array)$_GET["columns"]as$d){if($d["fun"]){unset($ed['sql']);break;}}if($ed){print_fieldset("export",lang(71)." <span id='selected2'></span>");$Df=$b->dumpOutput();echo($Df?html_select("output",$Df,$za["output"])." ":""),html_select("format",$ed,$za["format"])," <input type='submit' name='export' value='".lang(71)."'>\n","</div></fieldset>\n";}$b->selectEmailPrint(array_filter($sc,'strlen'),$e);}echo"</div></div>\n";if($b->selectImportPrint()){echo"<div>","<a href='#import'>".lang(70)."</a>",script("qsl('a').onclick = partial(toggle, 'import');",""),"<span id='import' class='hidden'>: ","<input type='file' name='csv_file'> ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$za["format"],1);echo" <input type='submit' name='import' value='".lang(70)."'>","</span>","</div>";}echo"<input type='hidden' name='token' value='$gi'>\n","</form>\n",(!$md&&$M?"":script("tableCheck();"));}}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$xh=isset($_GET["status"]);page_header($xh?lang(114):lang(113));$Oi=($xh?show_status():show_variables());if(!$Oi)echo"<p class='message'>".lang(12)."\n";else{echo"<table cellspacing='0'>\n";foreach($Oi
as$z=>$X){echo"<tr>","<th><code class='jush-".$y.($xh?"status":"set")."'>".h($z)."</code>","<td>".nbsp($X);}echo"</table>\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$Eh=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$D=>$S){json_row("Comment-$D",nbsp($S["Comment"]));if(!is_view($S)){foreach(array("Engine","Collation")as$z)json_row("$z-$D",nbsp($S[$z]));foreach($Eh+array("Auto_increment"=>0,"Rows"=>0)as$z=>$X){if($S[$z]!=""){$X=format_number($S[$z]);json_row("$z-$D",($z=="Rows"&&$X&&$S["Engine"]==($qh=="pgsql"?"table":"InnoDB")?"~ $X":$X));if(isset($Eh[$z]))$Eh[$z]+=($S["Engine"]!="InnoDB"||$z!="Data_free"?$S[$z]:0);}elseif(array_key_exists($z,$S))json_row("$z-$D");}}}foreach($Eh
as$z=>$X)json_row("sum-$z",format_number($X));json_row("");}elseif($_GET["script"]=="kill")$g->query("KILL ".number($_POST["kill"]));else{foreach(count_tables($b->databases())as$m=>$X){json_row("tables-$m",$X);json_row("size-$m",db_size($m));}json_row("");}exit;}else{$Nh=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($Nh&&!$o&&!$_POST["search"]){$I=true;$Ge="";if($y=="sql"&&$_POST["tables"]&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"]||$_POST["copy"]))queries("SET foreign_key_checks = 0");if($_POST["truncate"]){if($_POST["tables"])$I=truncate_tables($_POST["tables"]);$Ge=lang(259);}elseif($_POST["move"]){$I=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$Ge=lang(260);}elseif($_POST["copy"]){$I=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$Ge=lang(261);}elseif($_POST["drop"]){if($_POST["views"])$I=drop_views($_POST["views"]);if($I&&$_POST["tables"])$I=drop_tables($_POST["tables"]);$Ge=lang(262);}elseif($y!="sql"){$I=($y=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$Ge=lang(263);}elseif(!$_POST["tables"])$Ge=lang(9);elseif($I=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"])))){while($K=$I->fetch_assoc())$Ge.="<b>".h($K["Table"])."</b>: ".h($K["Msg_text"])."<br>";}queries_redirect(substr(ME,0,-1),$Ge,$I);}page_header(($_GET["ns"]==""?lang(35).": ".h(DB):lang(75).": ".h($_GET["ns"])),$o,true);if($b->homepage()){if($_GET["ns"]!==""){echo"<h3 id='tables-views'>".lang(264)."</h3>\n";$Mh=tables_list();if(!$Mh)echo"<p class='message'>".lang(9)."\n";else{echo"<form action='' method='post'>\n";if(support("table")){echo"<fieldset><legend>".lang(265)." <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(54)."'>\n","</div></fieldset>\n";if($_POST["search"]&&$_POST["query"]!=""){$_GET["where"][0]["op"]="LIKE %%";search_tables();}}$cc=doc_link(array('sql'=>'show-table-status.html'));echo"<table cellspacing='0' class='nowrap checkable'>\n",script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});"),'<thead><tr class="wrap">','<td><input id="check-all" type="checkbox" class="jsonly">'.script("qs('#check-all').onclick = partial(formCheck, /^(tables|views)\[/);",""),'<th>'.lang(127),'<td>'.lang(266).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(267).$cc,'<td>'.lang(268).$cc,'<td>'.lang(269).$cc,'<td>'.lang(49).doc_link(array('sql'=>'example-auto-increment.html','mariadb'=>'auto_increment/')),'<td>'.lang(270).$cc,(support("comment")?'<td>'.lang(48).$cc:''),"</thead>\n";$T=0;foreach($Mh
as$D=>$U){$Ri=($U!==null&&!preg_match('~table~i',$U));$u=h("Table-".$D);echo'<tr'.odd().'><td>'.checkbox(($Ri?"views[]":"tables[]"),$D,in_array($D,$Nh,true),"","","",$u),'<th>'.(support("table")||support("indexes")?"<a href='".h(ME)."table=".urlencode($D)."' title='".lang(40)."' id='$u'>".h($D).'</a>':h($D));if($Ri){echo'<td colspan="6"><a href="'.h(ME)."view=".urlencode($D).'" title="'.lang(41).'">'.(preg_match('~materialized~i',$U)?lang(125):lang(126)).'</a>','<td align="right"><a href="'.h(ME)."select=".urlencode($D).'" title="'.lang(39).'">?</a>';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",lang(42)),"Index_length"=>array("indexes",lang(129)),"Data_free"=>array("edit",lang(43)),"Auto_increment"=>array("auto_increment=1&create",lang(42)),"Rows"=>array("select",lang(39)),)as$z=>$A){$u=" id='$z-".h($D)."'";echo($A?"<td align='right'>".(support("table")||$z=="Rows"||(support("indexes")&&$z!="Data_length")?"<a href='".h(ME."$A[0]=").urlencode($D)."'$u title='$A[1]'>?</a>":"<span$u>?</span>"):"<td id='$z-".h($D)."'>&nbsp;");}$T++;}echo(support("comment")?"<td id='Comment-".h($D)."'>&nbsp;":"");}echo"<tr><td>&nbsp;<th>".lang(243,count($Mh)),"<td>".nbsp($y=="sql"?$g->result("SELECT @@storage_engine"):""),"<td>".nbsp(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$z)echo"<td align='right' id='sum-$z'>&nbsp;";echo"</table>\n";if(!information_schema(DB)){echo"<div class='footer'><div>\n";$Li="<input type='submit' value='".lang(271)."'> ".on_help("'VACUUM'");$pf="<input type='submit' name='optimize' value='".lang(272)."'> ".on_help($y=="sql"?"'OPTIMIZE TABLE'":"'VACUUM OPTIMIZE'");echo"<fieldset><legend>".lang(122)." <span id='selected'></span></legend><div>".($y=="sqlite"?$Li:($y=="pgsql"?$Li.$pf:($y=="sql"?"<input type='submit' value='".lang(273)."'> ".on_help("'ANALYZE TABLE'").$pf."<input type='submit' name='check' value='".lang(274)."'> ".on_help("'CHECK TABLE'")."<input type='submit' name='repair' value='".lang(275)."'> ".on_help("'REPAIR TABLE'"):"")))."<input type='submit' name='truncate' value='".lang(276)."'> ".on_help($y=="sqlite"?"'DELETE'":"'TRUNCATE".($y=="pgsql"?"'":" TABLE'")).confirm()."<input type='submit' name='drop' value='".lang(123)."'>".on_help("'DROP TABLE'").confirm()."\n";$l=(support("scheme")?$b->schemas():$b->databases());if(count($l)!=1&&$y!="sqlite"){$m=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"<p>".lang(277).": ",($l?html_select("target",$l,$m):'<input name="target" value="'.h($m).'" autocapitalize="off">')," <input type='submit' name='move' value='".lang(278)."'>",(support("copy")?" <input type='submit' name='copy' value='".lang(279)."'>":""),"\n";}echo"<input type='hidden' name='all' value=''>";echo
script("qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^(tables|views)\[/));".(support("table")?" selectCount('selected2', formChecked(this, /^tables\[/) || $T);":"")." }"),"<input type='hidden' name='token' value='$gi'>\n","</div></fieldset>\n","</div></div>\n";}echo"</form>\n",script("tableCheck();");}echo'<p class="links"><a href="'.h(ME).'create=">'.lang(72)."</a>\n",(support("view")?'<a href="'.h(ME).'view=">'.lang(200)."</a>\n":"");if(support("routine")){echo"<h3 id='routines'>".lang(139)."</h3>\n";$Pg=routines();if($Pg){echo"<table cellspacing='0'>\n",'<thead><tr><th>'.lang(179).'<td>'.lang(47).'<td>'.lang(217)."<td>&nbsp;</thead>\n";odd('');foreach($Pg
as$K){$D=($K["SPECIFIC_NAME"]==$K["ROUTINE_NAME"]?"":"&name=".urlencode($K["ROUTINE_NAME"]));echo'<tr'.odd().'>','<th><a href="'.h(ME.($K["ROUTINE_TYPE"]!="PROCEDURE"?'callf=':'call=').urlencode($K["SPECIFIC_NAME"]).$D).'">'.h($K["ROUTINE_NAME"]).'</a>','<td>'.h($K["ROUTINE_TYPE"]),'<td>'.h($K["DTD_IDENTIFIER"]),'<td><a href="'.h(ME.($K["ROUTINE_TYPE"]!="PROCEDURE"?'function=':'procedure=').urlencode($K["SPECIFIC_NAME"]).$D).'">'.lang(132)."</a>";}echo"</table>\n";}echo'<p class="links">'.(support("procedure")?'<a href="'.h(ME).'procedure=">'.lang(216).'</a>':'').'<a href="'.h(ME).'function=">'.lang(215)."</a>\n";}if(support("sequence")){echo"<h3 id='sequences'>".lang(280)."</h3>\n";$dh=get_vals("SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = current_schema() ORDER BY sequence_name");if($dh){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(179)."</thead>\n";odd('');foreach($dh
as$X)echo"<tr".odd()."><th><a href='".h(ME)."sequence=".urlencode($X)."'>".h($X)."</a>\n";echo"</table>\n";}echo"<p class='links'><a href='".h(ME)."sequence='>".lang(222)."</a>\n";}if(support("type")){echo"<h3 id='user-types'>".lang(24)."</h3>\n";$Ji=types();if($Ji){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(179)."</thead>\n";odd('');foreach($Ji
as$X)echo"<tr".odd()."><th><a href='".h(ME)."type=".urlencode($X)."'>".h($X)."</a>\n";echo"</table>\n";}echo"<p class='links'><a href='".h(ME)."type='>".lang(226)."</a>\n";}if(support("event")){echo"<h3 id='events'>".lang(140)."</h3>\n";$L=get_rows("SHOW EVENTS");if($L){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(179)."<td>".lang(281)."<td>".lang(206)."<td>".lang(207)."<td></thead>\n";foreach($L
as$K){echo"<tr>","<th>".h($K["Name"]),"<td>".($K["Execute at"]?lang(282)."<td>".$K["Execute at"]:lang(208)." ".$K["Interval value"]." ".$K["Interval field"]."<td>$K[Starts]"),"<td>$K[Ends]",'<td><a href="'.h(ME).'event='.urlencode($K["Name"]).'">'.lang(132).'</a>';}echo"</table>\n";$_c=$g->result("SELECT @@event_scheduler");if($_c&&$_c!="ON")echo"<p class='error'><code class='jush-sqlset'>event_scheduler</code>: ".h($_c)."\n";}echo'<p class="links"><a href="'.h(ME).'event=">'.lang(205)."</a>\n";}if($Mh)echo
script("ajaxSetHtml('".js_escape(ME)."script=db');");}}}page_footer();