(2B3Cf4jSdRB\rhSE6\rVG!TIV{ZLʔi%QBvUXhZ<,Aev4s)@tNC Ӑt4zC kK4\\L+U0\\F>kC5A2@\$M4TAJ\\GB4;!/(+`P{\\\r'TSX6VZ(\"I(L` ʱ\nf@\\.)D(SkZڱ-ꄗ.YD~HMVF: E:fF(ɳ˚lGLA;Szu CDRJ`hr@=Bs;MNrJۭ)S3NjfBTш54T462(>ɫ)F#DMRDkgVhIt;rFHe_7i]EA MH\0ը.Aj}c\\f-7b\$GmJ)ʠc\",IxP*b)f%yenEOZ4k.,͞5oA%[4d5A0鲄PE(J}3;P\nX3rvT0è6:+c\"d>a\r&ٲRno7!Z5BKFxҧzu)GC8aB\0 @Pu;9fچ.f\0FkG]Je)aX\\,DDJŻ&-BND3bݥ+Sl.Z*%G7̉%FDF#\\QG en5\"&5E\rH&w̎;ă(xH\\ }A p`%pa`7Pg7J0wi\r6u癷DHmH6@xabSؑ5d2t7HV7\nY?5D k˥3fLa7@P(Ag(Y\nB*jBS|sz\nAMPpE렛BҌ[G\$/8j圞.N \$<'YuffA6\0&߄y<8XcGP4bQ`zb@'0*ǥC! FĐC?As(Hi(ꔡ.fwl\"g\$4٨8e.|\$1q蜃\"B0T\n71 .Й.HY4jfNEHzR&2/Ӳ*kTr eM\0CegVE6ʭE.y_e^Ur}®QA |\"+S뚕V#taDdV;5l<9ıkj+}ʻ0*\nt1Z9@+J90=|}a??G͆D&iF\"K\0y>JD#2ˉ(u>%F)o*C)gޓ-A=P`pZ)Sd<8@M5smtCE}U)SS_PVQe\"rDhʩ`RE }d~C*AaoM\rW#@Q;u95=w^Wj7;ct &!Dmt7C#)BhT73kP3rSX9U4(f //PYK.T\\ui#9Ll %8Sh[j.p l;=M{V={Wu_(wȧg8-_ݽ̳1.ⵅ{92'3ކAf|~~S\rϮ]^C&?UJܱwjۈք˯vXw#='^yaY |lyߊܷhУzpZ2{obE`E*]\"/>CVL>deF*bK셈Mf3(0.e4mdȨE\$xcL\rCPx,ApatC.0r,wlzӁ|LMDǦpۍp4G`eH+o6kpPF)%Iz\r\r+]⠪%Bo2FAfEep2Cr\nBSd1Ї'aN|.L,q*2>j#Ԥd.DŽ J+rrNߋD1Xk\n2݇&qE1^=bd(͵*_ N,#w)Q(7t 1ίzs|_6a8)ʄh[S;»;1\r 3e0FIs{lt2O\\EdpX\"dlWS?7Ȭ%.Jp\rG\0r'lJ;LqN Br\$[94#!OCO+,S+4BsneGf=ft7DqC`e>to\"4ru< -4.*.2NHEKl\nyC};32q4K1î\0\rK< 1OSQOFܡ5J:FRbO>2.h2=S9WDpOTRXkQ=W(AJB1A@%G8 pSS; wAAOc*9D*W\0]]HE&5ԴRRu'd-ef@Wb(@p`)0[Z5C(.'o`(5\\()R+d*cdv9dХ`T/B\rW+|2ʴa5AsIsf\\t\$'.\0ę|\nZ\0@ƙ Zu0G/wƈm/oMLy]n1N&Kt[MR^zk\$&E7BR>J@BS蕋o#VY}l.i\05h& #'kfGB4Ǡ@ d#vn9<n>lyMnz-041\$6ly 7#,\n[*[G\nrLҗXJAFL@?rS|Iz2_SPAP^>'{Y@,Jk;EW1V5B]LR O\r,`׀b@\r \n`ķ(dxPFb\rxr]6ZCx*?Tpcl鉂5{r~}C9xJצ\$:WJtMd@Qa&- ad2m\0";break;case"vi":$g="Bp& *(J.0Q,Z)v@Tf\npjp*VC`]rY<#\$b\$L2@%9IΓ4˅d3\rFqt9N1QE3ڡhj[J;o\n(UbdaI¾RiD\0\0A)X8@q:g!C_#y̸6:ڋ.K;.inE{\rB\n'_2ka!W&Asv6'HƻvOIvLØ:J8楩Bakj*#ӊX\n\npEɚ44K\nd@3!pK Pkhv4D4 I/+|4\n#TP tom\rl)\"c\rh&I>\r41J\"dL>c(Zi S*\r螀6quTbwg\0VmcԠE%u;q:0Vح>@S+Q\$~4h VT\r@,9\032cCPe&0)v2S~ X\"l8ɳA-Uʌ)tۉ\nl)ܘSJ%2RH1D4EXP\";ſ3
3穩/eC#x:>s;/KA\0<(a`z@t9^ü2ӠC.\r3xXa9o2HlJzH0&O6^A<#m1#@h%(}s\"a9SKQCQ8S(3弻x.\n (Ef?&R\n[V.*2 ih\$21:\npM \r_F,%2Hb*%(y\$\0&2tO D|DJ#J~1(I!HQŷQʹ#]0T?G+jOg%?Ms39[UEC,*wJ(d\"đEWe뜔d)rAP0LbFpC2o ;C*UyzbNQԻ 8%*k#a{\$OLxQ-eE؋PIJ=UAlȳvDsK_BVPE{\r/!\$#!ADkAzAXG=7EeغFt1dKɉ3ܜղ+QJ'TZД1MV28)up*@Ѿ-K=InWEC[k2qD+A\"Ac)iPRoD`&ԙQ1BSMSGٍ̐.u{\0/:a\$\$\$o&d 쉎X,noy<;9\"^Pʺ/\$Ǩ\$%6~tgl/fW)KdKu4=vD(2LQhhI:Rn#^\"{>E{˝S/t.lbOuY᎒-їmw]ݭj!K\0iXfm+v\\\\\n+`v*ʳM7/CA#7sDr*o BF.iՋ',yEX'n9:S؋oOȠ_//oDVW[ rqB]'2Ǻfm`?U蟻@\$J)7 CUdc\0.UFXD2h.n'h?jN*#N\$ƊLz%߄M/j5dpqoⲃ t.b \$lMh\n\"P0'C5yTP\nO0PIPpNBs PnS\"HG:sΓM,bMq*Lq3J-ĄH;|KeP%PjX0'q^5enH;+aJ -\0\\ƷqMaBA (\$/N4zN\nZP,P)@#@nftP/0/tN73b6DjRB3dQSȭC ,&b#?2/mۢUm/'NP#nro(B\$q(f2#oRoe[r\\ULt\"vDvmd8M73ORt@Sf9YUTTC`91x@0L3c21fT\$*\rw!\07c1Cr`3XZ3.`A XP9:\0)B0@9F* Sy#=&FVE`#xRϱ!rήh9c3ݎc9T(8\r:H#0z\r8a^\\02Aw3(\r^a94#/wpHm}A1F7CJk2:nӇ0(P(Y M\0-N'(+Ӛu'@(!H>\"\n9()Qji1[W\\K20\$ԛ0y[DFRx*T5ƍhfA6\0Z{56\r\${wړ);\n<)HY+f<Az A\0 b/E)a2՚v8 A3\0f3Tμ!T8+&L9GZ js\n+\n 8PTv@,E^0TZxP!8bX'I:B erPCd%|C0.F3\0`\"VY8<a)15gNYg&fı69@G)5MQ)dGH@&bEM7đx#YBp(DSkBiv3-ܡ-Öt56Hz(!@l3ՆCw\ny Vv⚔R2Ȯ2qa*=HEhIhM@!ؑ-hE\nc8Rb gDCf9k~Zغ ht1|9q/lצZ`IgJ!.!bZ')ŪFx ޑ^(*[ bљ{?./Jg܉sOP7+˝tE:.}SGomR6%.7O[꾿=U~Ek/\\б 4[+`aR-tfFv출GBb&B(80 Il;m\n:#f\rV`T*.#XkH\r k(6h xH&u`\nppr9j@a^e4#zaRV8&P:ϟJ!j!:Ih!-> |9\0xc*5#b%t.@eĀL,j. zV8aIn/fqH\n4C\"2c*@ʑ\0yqJRTInN-\rvӭ>툡Atrk1Q8E\$fBwGz\r*0/\0\r \n`#x*APQkVFt+QbL8`] OtȊ{7(YP\$tZI0\nR\"h9=c9U@4 \\-D49Ax^;p2qp9Û\r/iဆDHm6xahh:RQ:'K:<ł\0^a%|[̈́p -8Fؽ#O\\3b3Hc̋TD\nˏA\0Kz\$(bq/\$\",nGĹ'?ubr0s\nDKDQ*/CT) r&2!\nXCh(\"Esub&šץ#Ud*VUR(f|ӭ*/e;T\n7jNԂA\0~#t DLXDns.ikrݫrԵ\"됇uv.t)-6E[\n˘|sF*7\rƶ!OҘhtԹ&FthG*\n~,4T x89DՎ\r\nO콝^\rB\0@[2<%.z{¥r\r^)NͲ1Lod}͔Smu_zG/Nɀ(o,uao@ j֤Y(!ØWnAd'F1t-縏A>K!Y?|^k!/7T~ZdB\$NolJ?OԽ07oP\np>p/-PLļ`cؽ8c\\+0^^F\$fGOrF8L>7\" \r\0ʶZJfƄJì\0&\0P4RrAѭHPF.z%bg|@B.Xɭ!?a1ƣ\"f\rV`d|Jdbm@\r m7@HFU4q\0\np>q.:Ct|yl\\(#B8d\0 /%\08\r6ԣ09mNG+JTʀ~c:`gz45lbJ.fJDN4z*\r\rPbPc\"\n4,34@ʕ@\0H{i/f\$*ňXZ\r\"\nJ+,yǢ\r*fp\0\r \n`a\0 fg,operators);if($xf!==false)unset($b->operators[$xf]);}function
+dsn($cc,$V,$G){try{parent::__construct($cc,$V,$G);}catch(Exception$uc){auth_error($uc->getMessage());}$this->setAttribute(13,array('Min_PDOStatement'));$this->server_info=$this->getAttribute(4);}function
+query($H,$Ch=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,$o=0){$I=$this->query($H);if(!$I)return
+false;$K=$I->fetch();return$K[$o];}}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;}}}$Xb=array();class
+Min_SQL{var$_conn;function
+__construct($h){$this->_conn=$h;}function
+select($Q,$M,$Z,$Xc,$Xe=array(),$z=1,$E=0,$Ef=false){global$b,$w;$Ad=(count($Xc)selectQueryBuild($M,$Z,$Xc,$Xe,$z,$E);if(!$H)$H="SELECT".limit(($_GET["page"]!="last"&&+$z&&$Xc&&$Ad&&$w=="sql"?"SQL_CALC_FOUND_ROWS ":"").implode(", ",$M)."\nFROM ".table($Q),($Z?"\nWHERE ".implode(" AND ",$Z):"").($Xc&&$Ad?"\nGROUP BY ".implode(", ",$Xc):"").($Xe?"\nORDER BY ".implode(", ",$Xe):""),($z!=""?+$z:null),($E?$z*$E:0),"\n");$Hg=microtime(true);$J=$this->_conn->query($H);if($Ef)echo$b->selectQuery($H,format_time($Hg));return$J;}function
+delete($Q,$Nf,$z=0){$H="FROM ".table($Q);return
+queries("DELETE".($z?limit1($H,$Nf):" $H$Nf"));}function
+update($Q,$O,$Nf,$z=0,$vg="\n"){$Th=array();foreach($O
+as$x=>$X)$Th[]="$x = $X";$H=table($Q)." SET$vg".implode(",$vg",$Th);return
+queries("UPDATE".($z?limit1($H,$Nf):" $H$Nf"));}function
+insert($Q,$O){return
+queries("INSERT INTO ".table($Q).($O?" (".implode(", ",array_keys($O)).")\nVALUES (".implode(", ",$O).")":" DEFAULT VALUES"));}function
+insertUpdate($Q,$L,$Cf){return
+false;}function
+begin(){return
+queries("BEGIN");}function
+commit(){return
+queries("COMMIT");}function
+rollback(){return
+queries("ROLLBACK");}}$Xb["sqlite"]="SQLite 3";$Xb["sqlite2"]="SQLite 2";if(isset($_GET["sqlite"])||isset($_GET["sqlite2"])){$_f=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($Ic){$this->_link=new
+SQLite3($Ic);$Wh=$this->_link->version();$this->server_info=$Wh["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($P){return(is_utf8($P)?"'".$this->_link->escapeString($P)."'":"x'".reset(unpack('H*',$P))."'");}function
+store_result(){return$this->_result;}function
+result($H,$o=0){$I=$this->query($H);if(!is_object($I))return
+false;$K=$I->_result->fetchArray();return$K[$o];}}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(){$e=$this->_offset++;$U=$this->_result->columnType($e);return(object)array("name"=>$this->_result->columnName($e),"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($Ic){$this->server_info=sqlite_libversion();$this->_link=new
+SQLiteDatabase($Ic);}function
+query($H,$Ch=false){$se=($Ch?"unbufferedQuery":"query");$I=@$this->_link->$se($H,SQLITE_BOTH,$n);$this->error="";if(!$I){$this->error=$n;return
+false;}elseif($I===true){$this->affected_rows=$this->changes();return
+true;}return
+new
+Min_Result($I);}function
+quote($P){return"'".sqlite_escape_string($P)."'";}function
+store_result(){return$this->_result;}function
+result($H,$o=0){$I=$this->query($H);if(!is_object($I))return
+false;$K=$I->_result->fetch();return$K[$o];}}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$x=>$X)$J[($x[0]=='"'?idf_unescape($x):$x)]=$X;return$J;}function
+fetch_row(){return$this->_result->fetch(SQLITE_NUM);}function
+fetch_field(){$C=$this->_result->fieldName($this->_offset++);$tf='(\\[.*]|"(?:[^"]|"")*"|(.+))';if(preg_match("~^($tf\\.)?$tf\$~",$C,$B)){$Q=($B[3]!=""?$B[3]:idf_unescape($B[2]));$C=($B[5]!=""?$B[5]:idf_unescape($B[4]));}return(object)array("name"=>$C,"orgname"=>$C,"orgtable"=>$Q,);}}}}elseif(extension_loaded("pdo_sqlite")){class
+Min_SQLite
+extends
+Min_PDO{var$extension="PDO_SQLite";function
+__construct($Ic){$this->dsn(DRIVER.":$Ic","","");}}}if(class_exists("Min_SQLite")){class
+Min_DB
+extends
+Min_SQLite{function
+__construct(){parent::__construct(":memory:");}function
+select_db($Ic){if(is_readable($Ic)&&$this->query("ATTACH ".$this->quote(preg_match("~(^[/\\\\]|:)~",$Ic)?$Ic:dirname($_SERVER["SCRIPT_FILENAME"])."/$Ic")." AS a")){parent::__construct($Ic);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($Q,$L,$Cf){$Th=array();foreach($L
+as$O)$Th[]="(".implode(", ",$O).")";return
+queries("REPLACE INTO ".table($Q)." (".implode(", ",array_keys(reset($L))).") VALUES\n".implode(",\n",$Th));}}function
+idf_escape($t){return'"'.str_replace('"','""',$t).'"';}function
+table($t){return
+idf_escape($t);}function
+connect(){return
+new
+Min_DB;}function
+get_databases(){return
+array();}function
+limit($H,$Z,$z,$D=0,$vg=" "){return" $H$Z".($z!==null?$vg."LIMIT $z".($D?" OFFSET $D":""):"");}function
+limit1($H,$Z){global$h;return($h->result("SELECT sqlite_compileoption_used('ENABLE_UPDATE_DELETE_LIMIT')")?limit($H,$Z,1):" $H$Z");}function
+db_collation($m,$nb){global$h;return$h->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($C=""){global$h;$J=array();foreach(get_rows("SELECT name AS Name, type AS Engine FROM sqlite_master WHERE type IN ('table', 'view') ".($C!=""?"AND name = ".q($C):"ORDER BY name"))as$K){$K["Oid"]=1;$K["Auto_increment"]="";$K["Rows"]=$h->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($C!=""?$J[$C]:$J);}function
+is_view($R){return$R["Engine"]=="view";}function
+fk_support($R){global$h;return!$h->result("SELECT sqlite_compileoption_used('OMIT_FOREIGN_KEY')");}function
+fields($Q){global$h;$J=array();$Cf="";foreach(get_rows("PRAGMA table_info(".table($Q).")")as$K){$C=$K["name"];$U=strtolower($K["type"]);$Lb=$K["dflt_value"];$J[$C]=array("field"=>$C,"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("~'(.*)'~",$Lb,$B)?str_replace("''","'",$B[1]):($Lb=="NULL"?null:$Lb)),"null"=>!$K["notnull"],"privileges"=>array("select"=>1,"insert"=>1,"update"=>1),"primary"=>$K["pk"],);if($K["pk"]){if($Cf!="")$J[$Cf]["auto_increment"]=false;elseif(preg_match('~^integer$~i',$U))$J[$C]["auto_increment"]=true;$Cf=$C;}}$Fg=$h->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ".q($Q));preg_match_all('~(("[^"]*+")+|[a-z0-9_]+)\s+text\s+COLLATE\s+(\'[^\']+\'|\S+)~i',$Fg,$ee,PREG_SET_ORDER);foreach($ee
+as$B){$C=str_replace('""','"',preg_replace('~^"|"$~','',$B[1]));if($J[$C])$J[$C]["collation"]=trim($B[3],"'");}return$J;}function
+indexes($Q,$i=null){global$h;if(!is_object($i))$i=$h;$J=array();$Fg=$i->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ".q($Q));if(preg_match('~\bPRIMARY\s+KEY\s*\((([^)"]+|"[^"]*")++)~i',$Fg,$B)){$J[""]=array("type"=>"PRIMARY","columns"=>array(),"lengths"=>array(),"descs"=>array());preg_match_all('~((("[^"]*+")+)|(\S+))(\s+(ASC|DESC))?(,\s*|$)~i',$B[1],$ee,PREG_SET_ORDER);foreach($ee
+as$B){$J[""]["columns"][]=idf_unescape($B[2]).$B[4];$J[""]["descs"][]=(preg_match('~DESC~i',$B[5])?'1':null);}}if(!$J){foreach(fields($Q)as$C=>$o){if($o["primary"])$J[""]=array("type"=>"PRIMARY","columns"=>array($C),"lengths"=>array(),"descs"=>array(null));}}$Gg=get_key_vals("SELECT name, sql FROM sqlite_master WHERE type = 'index' AND tbl_name = ".q($Q),$i);foreach(get_rows("PRAGMA index_list(".table($Q).")",$i)as$K){$C=$K["name"];$u=array("type"=>($K["unique"]?"UNIQUE":"INDEX"));$u["lengths"]=array();$u["descs"]=array();foreach(get_rows("PRAGMA index_info(".idf_escape($C).")",$i)as$lg){$u["columns"][]=$lg["name"];$u["descs"][]=null;}if(preg_match('~^CREATE( UNIQUE)? INDEX '.preg_quote(idf_escape($C).' ON '.idf_escape($Q),'~').' \((.*)\)$~i',$Gg[$C],$Yf)){preg_match_all('/("[^"]*+")+( DESC)?/',$Yf[2],$ee);foreach($ee[2]as$x=>$X){if($X)$u["descs"][$x]='1';}}if(!$J[""]||$u["type"]!="UNIQUE"||$u["columns"]!=$J[""]["columns"]||$u["descs"]!=$J[""]["descs"]||!preg_match("~^sqlite_~",$C))$J[$C]=$u;}return$J;}function
+foreign_keys($Q){$J=array();foreach(get_rows("PRAGMA foreign_key_list(".table($Q).")")as$K){$q=&$J[$K["id"]];if(!$q)$q=$K;$q["source"][]=$K["from"];$q["target"][]=$K["to"];}return$J;}function
+view($C){global$h;return
+array("select"=>preg_replace('~^(?:[^`"[]+|`[^`]*`|"[^"]*")* AS\\s+~iU','',$h->result("SELECT sql FROM sqlite_master WHERE name = ".q($C))));}function
+collations(){return(isset($_GET["create"])?get_vals("PRAGMA collation_list",1):array());}function
+information_schema($m){return
+false;}function
+error(){global$h;return
+h($h->error);}function
+check_sqlite_name($C){global$h;$Cc="db|sdb|sqlite";if(!preg_match("~^[^\\0]*\\.($Cc)\$~",$C)){$h->error=lang(21,str_replace("|",", ",$Cc));return
+false;}return
+true;}function
+create_database($m,$d){global$h;if(file_exists($m)){$h->error=lang(22);return
+false;}if(!check_sqlite_name($m))return
+false;try{$_=new
+Min_SQLite($m);}catch(Exception$uc){$h->error=$uc->getMessage();return
+false;}$_->query('PRAGMA encoding = "UTF-8"');$_->query('CREATE TABLE adminer (i)');$_->query('DROP TABLE adminer');return
+true;}function
+drop_databases($l){global$h;$h->__construct(":memory:");foreach($l
+as$m){if(!@unlink($m)){$h->error=lang(22);return
+false;}}return
+true;}function
+rename_database($C,$d){global$h;if(!check_sqlite_name($C))return
+false;$h->__construct(":memory:");$h->error=lang(22);return@rename(DB,$C);}function
+auto_increment(){return" PRIMARY KEY".(DRIVER=="sqlite"?" AUTOINCREMENT":"");}function
+alter_table($Q,$C,$p,$Mc,$rb,$nc,$d,$La,$of){$Nh=($Q==""||$Mc);foreach($p
+as$o){if($o[0]!=""||!$o[1]||$o[2]){$Nh=true;break;}}$c=array();$ff=array();foreach($p
+as$o){if($o[1]){$c[]=($Nh?$o[1]:"ADD ".implode($o[1]));if($o[0]!="")$ff[$o[0]]=$o[1][0];}}if(!$Nh){foreach($c
+as$X){if(!queries("ALTER TABLE ".table($Q)." $X"))return
+false;}if($Q!=$C&&!queries("ALTER TABLE ".table($Q)." RENAME TO ".table($C)))return
+false;}elseif(!recreate_table($Q,$C,$c,$ff,$Mc))return
+false;if($La)queries("UPDATE sqlite_sequence SET seq = $La WHERE name = ".q($C));return
+true;}function
+recreate_table($Q,$C,$p,$ff,$Mc,$v=array()){if($Q!=""){if(!$p){foreach(fields($Q)as$x=>$o){$p[]=process_field($o,$o);$ff[$x]=idf_escape($x);}}$Df=false;foreach($p
+as$o){if($o[6])$Df=true;}$ac=array();foreach($v
+as$x=>$X){if($X[2]=="DROP"){$ac[$X[1]]=true;unset($v[$x]);}}foreach(indexes($Q)as$Jd=>$u){$f=array();foreach($u["columns"]as$x=>$e){if(!$ff[$e])continue
+2;$f[]=$ff[$e].($u["descs"][$x]?" DESC":"");}if(!$ac[$Jd]){if($u["type"]!="PRIMARY"||!$Df)$v[]=array($u["type"],$Jd,$f);}}foreach($v
+as$x=>$X){if($X[0]=="PRIMARY"){unset($v[$x]);$Mc[]=" PRIMARY KEY (".implode(", ",$X[2]).")";}}foreach(foreign_keys($Q)as$Jd=>$q){foreach($q["source"]as$x=>$e){if(!$ff[$e])continue
+2;$q["source"][$x]=idf_unescape($ff[$e]);}if(!isset($Mc[" $Jd"]))$Mc[]=" ".format_foreign_key($q);}queries("BEGIN");}foreach($p
+as$x=>$o)$p[$x]=" ".implode($o);$p=array_merge($p,array_filter($Mc));if(!queries("CREATE TABLE ".table($Q!=""?"adminer_$C":$C)." (\n".implode(",\n",$p)."\n)"))return
+false;if($Q!=""){if($ff&&!queries("INSERT INTO ".table("adminer_$C")." (".implode(", ",$ff).") SELECT ".implode(", ",array_map('idf_escape',array_keys($ff)))." FROM ".table($Q)))return
+false;$zh=array();foreach(triggers($Q)as$xh=>$kh){$wh=trigger($xh);$zh[]="CREATE TRIGGER ".idf_escape($xh)." ".implode(" ",$kh)." ON ".table($C)."\n$wh[Statement]";}if(!queries("DROP TABLE ".table($Q)))return
+false;queries("ALTER TABLE ".table("adminer_$C")." RENAME TO ".table($C));if(!alter_indexes($C,$v))return
+false;foreach($zh
+as$wh){if(!queries($wh))return
+false;}queries("COMMIT");}return
+true;}function
+index_sql($Q,$U,$C,$f){return"CREATE $U ".($U!="INDEX"?"INDEX ":"").idf_escape($C!=""?$C:uniqid($Q."_"))." ON ".table($Q)." $f";}function
+alter_indexes($Q,$c){foreach($c
+as$Cf){if($Cf[0]=="PRIMARY")return
+recreate_table($Q,$Q,array(),array(),array(),$c);}foreach(array_reverse($c)as$X){if(!queries($X[2]=="DROP"?"DROP INDEX ".idf_escape($X[1]):index_sql($Q,$X[0],$X[1],"(".implode(", ",$X[2]).")")))return
+false;}return
+true;}function
+truncate_tables($S){return
+apply_queries("DELETE FROM",$S);}function
+drop_views($Yh){return
+apply_queries("DROP VIEW",$Yh);}function
+drop_tables($S){return
+apply_queries("DROP TABLE",$S);}function
+move_tables($S,$Yh,$bh){return
+false;}function
+trigger($C){global$h;if($C=="")return
+array("Statement"=>"BEGIN\n\t;\nEND");$t='(?:[^`"\\s]+|`[^`]*`|"[^"]*")+';$yh=trigger_options();preg_match("~^CREATE\\s+TRIGGER\\s*$t\\s*(".implode("|",$yh["Timing"]).")\\s+([a-z]+)(?:\\s+OF\\s+($t))?\\s+ON\\s*$t\\s*(?:FOR\\s+EACH\\s+ROW\\s)?(.*)~is",$h->result("SELECT sql FROM sqlite_master WHERE type = 'trigger' AND name = ".q($C)),$B);$Ge=$B[3];return
+array("Timing"=>strtoupper($B[1]),"Event"=>strtoupper($B[2]).($Ge?" OF":""),"Of"=>($Ge[0]=='`'||$Ge[0]=='"'?idf_unescape($Ge):$Ge),"Trigger"=>$C,"Statement"=>$B[4],);}function
+triggers($Q){$J=array();$yh=trigger_options();foreach(get_rows("SELECT * FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ".q($Q))as$K){preg_match('~^CREATE\\s+TRIGGER\\s*(?:[^`"\\s]+|`[^`]*`|"[^"]*")+\\s*('.implode("|",$yh["Timing"]).')\\s*(.*)\\s+ON\\b~iU',$K["sql"],$B);$J[$K["name"]]=array($B[1],$B[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
+routine($C,$U){}function
+routines(){}function
+routine_languages(){}function
+begin(){return
+queries("BEGIN");}function
+last_id(){global$h;return$h->result("SELECT LAST_INSERT_ROWID()");}function
+explain($h,$H){return$h->query("EXPLAIN QUERY PLAN $H");}function
+found_rows($R,$Z){}function
+types(){return
+array();}function
+schemas(){return
+array();}function
+get_schema(){return"";}function
+set_schema($pg){return
+true;}function
+create_sql($Q,$La){global$h;$J=$h->result("SELECT sql FROM sqlite_master WHERE type IN ('table', 'view') AND name = ".q($Q));foreach(indexes($Q)as$C=>$u){if($C=='')continue;$J.=";\n\n".index_sql($Q,$u['type'],$C,"(".implode(", ",array_map('idf_escape',$u['columns'])).")");}return$J;}function
+truncate_sql($Q){return"DELETE FROM ".table($Q);}function
+use_sql($Gb){}function
+trigger_sql($Q,$Mg){return
+implode(get_vals("SELECT sql || ';;\n' FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ".q($Q)));}function
+show_variables(){global$h;$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$x)$J[$x]=$h->result("PRAGMA $x");return$J;}function
+show_status(){$J=array();foreach(get_vals("PRAGMA compile_options")as$Ue){list($x,$X)=explode("=",$Ue,2);$J[$x]=$X;}return$J;}function
+convert_field($o){}function
+unconvert_field($o,$J){return$J;}function
+support($Fc){return
+preg_match('~^(columns|database|drop_col|dump|indexes|move_col|sql|status|table|trigger|variables|view|view_trigger)$~',$Fc);}$w="sqlite";$Bh=array("integer"=>0,"real"=>0,"numeric"=>0,"text"=>0,"blob"=>0);$Lg=array_keys($Bh);$Ih=array();$Se=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL","SQL");$Uc=array("hex","length","lower","round","unixepoch","upper");$Zc=array("avg","count","count distinct","group_concat","max","min","sum");$fc=array(array(),array("integer|real|numeric"=>"+/-","text"=>"||",));}$Xb["pgsql"]="PostgreSQL";if(isset($_GET["pgsql"])){$_f=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($qc,$n){if(ini_bool("html_errors"))$n=html_entity_decode(strip_tags($n));$n=preg_replace('~^[^:]*: ~','',$n);$this->error=$n;}function
+connect($N,$V,$G){global$b;$m=$b->database();set_error_handler(array($this,'_error'));$this->_string="host='".str_replace(":","' port='",addcslashes($N,"'\\"))."' 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){$Wh=pg_version($this->_link);$this->server_info=$Wh["server"];pg_set_client_encoding($this->_link,"UTF8");}return(bool)$this->_link;}function
+quote($P){return"'".pg_escape_string($this->_link,$P)."'";}function
+select_db($Gb){global$b;if($Gb==$b->database())return$this->_database;$J=@pg_connect("$this->_string dbname='".addcslashes($Gb,"'\\")."'",PGSQL_CONNECT_FORCE_NEW);if($J)$this->_link=$J;return$J;}function
+close(){$this->_link=@pg_connect("$this->_string dbname='postgres'");}function
+query($H,$Ch=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,$o=0){$I=$this->query($H);if(!$I||!$I->num_rows)return
+false;return
+pg_fetch_result($I->_result,0,$o);}}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(){$e=$this->_offset++;$J=new
+stdClass;if(function_exists('pg_field_table'))$J->orgtable=pg_field_table($this->_result,$e);$J->name=pg_field_name($this->_result,$e);$J->orgname=$J->name;$J->type=pg_field_type($this->_result,$e);$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($N,$V,$G){global$b;$m=$b->database();$P="pgsql:host='".str_replace(":","' port='",addcslashes($N,"'\\"))."' options='-c client_encoding=utf8'";$this->dsn("$P dbname='".($m!=""?addcslashes($m,"'\\"):"postgres")."'",$V,$G);return
+true;}function
+select_db($Gb){global$b;return($b->database()==$Gb);}function
+close(){}}}class
+Min_Driver
+extends
+Min_SQL{function
+insertUpdate($Q,$L,$Cf){global$h;foreach($L
+as$O){$Jh=array();$Z=array();foreach($O
+as$x=>$X){$Jh[]="$x = $X";if(isset($Cf[idf_unescape($x)]))$Z[]="$x = $X";}if(!(($Z&&queries("UPDATE ".table($Q)." SET ".implode(", ",$Jh)." WHERE ".implode(" AND ",$Z))&&$h->affected_rows)||queries("INSERT INTO ".table($Q)." (".implode(", ",array_keys($O)).") VALUES (".implode(", ",$O).")")))return
+false;}return
+true;}}function
+idf_escape($t){return'"'.str_replace('"','""',$t).'"';}function
+table($t){return
+idf_escape($t);}function
+connect(){global$b;$h=new
+Min_DB;$k=$b->credentials();if($h->connect($k[0],$k[1],$k[2])){if($h->server_info>=9)$h->query("SET application_name = 'Adminer'");return$h;}return$h->error;}function
+get_databases(){return
+get_vals("SELECT datname FROM pg_database ORDER BY datname");}function
+limit($H,$Z,$z,$D=0,$vg=" "){return" $H$Z".($z!==null?$vg."LIMIT $z".($D?" OFFSET $D":""):"");}function
+limit1($H,$Z){return" $H$Z";}function
+db_collation($m,$nb){global$h;return$h->result("SHOW LC_COLLATE");}function
+engines(){return
+array();}function
+logged_user(){global$h;return$h->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($C=""){$J=array();foreach(get_rows("SELECT relname AS \"Name\", CASE relkind WHEN 'r' THEN 'table' WHEN 'mv' THEN 'materialized view' WHEN 'f' THEN 'foreign table' ELSE 'view' END AS \"Engine\", pg_relation_size(oid) AS \"Data_length\", pg_total_relation_size(oid) - pg_relation_size(oid) AS \"Index_length\", obj_description(oid, 'pg_class') AS \"Comment\", relhasoids::int AS \"Oid\", reltuples as \"Rows\"
+FROM pg_class
+WHERE relkind IN ('r','v','mv','f')
+AND relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema())
+".($C!=""?"AND relname = ".q($C):"ORDER BY relname"))as$K)$J[$K["Name"]]=$K;return($C!=""?$J[$C]:$J);}function
+is_view($R){return
+in_array($R["Engine"],array("view","materialized view"));}function
+fk_support($R){return
+true;}function
+fields($Q){$J=array();$Ca=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($Q)."
+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"],$B);list(,$U,$y,$K["length"],$wa,$Fa)=$B;$K["length"].=$Fa;$cb=$U.$wa;if(isset($Ca[$cb])){$K["type"]=$Ca[$cb];$K["full_type"]=$K["type"].$y.$Fa;}else{$K["type"]=$U;$K["full_type"]=$K["type"].$y.$wa.$Fa;}$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"],$B))$K["default"]=($B[1][0]=="'"?idf_unescape($B[1]):$B[1]).$B[2];$J[$K["field"]]=$K;}return$J;}function
+indexes($Q,$i=null){global$h;if(!is_object($i))$i=$h;$J=array();$Ug=$i->result("SELECT oid FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema()) AND relname = ".q($Q));$f=get_key_vals("SELECT attnum, attname FROM pg_attribute WHERE attrelid = $Ug AND attnum > 0",$i);foreach(get_rows("SELECT relname, indisunique::int, indisprimary::int, indkey, indoption FROM pg_index i, pg_class ci WHERE i.indrelid = $Ug AND ci.oid = i.indexrelid",$i)as$K){$Zf=$K["relname"];$J[$Zf]["type"]=($K["indisprimary"]?"PRIMARY":($K["indisunique"]?"UNIQUE":"INDEX"));$J[$Zf]["columns"]=array();foreach(explode(" ",$K["indkey"])as$qd)$J[$Zf]["columns"][]=$f[$qd];$J[$Zf]["descs"]=array();foreach(explode(" ",$K["indoption"])as$rd)$J[$Zf]["descs"][]=($rd&1?'1':null);$J[$Zf]["lengths"]=array();}return$J;}function
+foreign_keys($Q){global$Ne;$J=array();foreach(get_rows("SELECT conname, pg_get_constraintdef(oid) AS definition
+FROM pg_constraint
+WHERE conrelid = (SELECT pc.oid FROM pg_class AS pc INNER JOIN pg_namespace AS pn ON (pn.oid = pc.relnamespace) WHERE pc.relname = ".q($Q)." AND pn.nspname = current_schema())
+AND contype = 'f'::char
+ORDER BY conkey, conname")as$K){if(preg_match('~FOREIGN KEY\s*\((.+)\)\s*REFERENCES (.+)\((.+)\)(.*)$~iA',$K['definition'],$B)){$K['source']=array_map('trim',explode(',',$B[1]));if(preg_match('~^(("([^"]|"")+"|[^"]+)\.)?"?("([^"]|"")+"|[^"]+)$~',$B[2],$de)){$K['ns']=str_replace('""','"',preg_replace('~^"(.+)"$~','\1',$de[2]));$K['table']=str_replace('""','"',preg_replace('~^"(.+)"$~','\1',$de[4]));}$K['target']=array_map('trim',explode(',',$B[3]));$K['on_delete']=(preg_match("~ON DELETE ($Ne)~",$B[4],$de)?$de[1]:'NO ACTION');$K['on_update']=(preg_match("~ON UPDATE ($Ne)~",$B[4],$de)?$de[1]:'NO ACTION');$J[$K['conname']]=$K;}}return$J;}function
+view($C){global$h;return
+array("select"=>$h->result("SELECT pg_get_viewdef(".q($C).")"));}function
+collations(){return
+array();}function
+information_schema($m){return($m=="information_schema");}function
+error(){global$h;$J=h($h->error);if(preg_match('~^(.*\\n)?([^\\n]*)\\n( *)\\^(\\n.*)?$~s',$J,$B))$J=$B[1].preg_replace('~((?:[^&]|&[^;]*;){'.strlen($B[3]).'})(.*)~','\\1\\2 ',$B[2]).$B[4];return
+nl_br($J);}function
+create_database($m,$d){return
+queries("CREATE DATABASE ".idf_escape($m).($d?" ENCODING ".idf_escape($d):""));}function
+drop_databases($l){global$h;$h->close();return
+apply_queries("DROP DATABASE",$l,'idf_escape');}function
+rename_database($C,$d){return
+queries("ALTER DATABASE ".idf_escape(DB)." RENAME TO ".idf_escape($C));}function
+auto_increment(){return"";}function
+alter_table($Q,$C,$p,$Mc,$rb,$nc,$d,$La,$of){$c=array();$Mf=array();foreach($p
+as$o){$e=idf_escape($o[0]);$X=$o[1];if(!$X)$c[]="DROP $e";else{$Sh=$X[5];unset($X[5]);if(isset($X[6])&&$o[0]=="")$X[1]=($X[1]=="bigint"?" big":" ")."serial";if($o[0]=="")$c[]=($Q!=""?"ADD ":" ").implode($X);else{if($e!=$X[0])$Mf[]="ALTER TABLE ".table($Q)." RENAME $e TO $X[0]";$c[]="ALTER $e TYPE$X[1]";if(!$X[6]){$c[]="ALTER $e ".($X[3]?"SET$X[3]":"DROP DEFAULT");$c[]="ALTER $e ".($X[2]==" NULL"?"DROP NOT":"SET").$X[2];}}if($o[0]!=""||$Sh!="")$Mf[]="COMMENT ON COLUMN ".table($Q).".$X[0] IS ".($Sh!=""?substr($Sh,9):"''");}}$c=array_merge($c,$Mc);if($Q=="")array_unshift($Mf,"CREATE TABLE ".table($C)." (\n".implode(",\n",$c)."\n)");elseif($c)array_unshift($Mf,"ALTER TABLE ".table($Q)."\n".implode(",\n",$c));if($Q!=""&&$Q!=$C)$Mf[]="ALTER TABLE ".table($Q)." RENAME TO ".table($C);if($Q!=""||$rb!="")$Mf[]="COMMENT ON TABLE ".table($C)." IS ".q($rb);if($La!=""){}foreach($Mf
+as$H){if(!queries($H))return
+false;}return
+true;}function
+alter_indexes($Q,$c){$j=array();$Yb=array();$Mf=array();foreach($c
+as$X){if($X[0]!="INDEX")$j[]=($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")$Yb[]=idf_escape($X[1]);else$Mf[]="CREATE INDEX ".idf_escape($X[1]!=""?$X[1]:uniqid($Q."_"))." ON ".table($Q)." (".implode(", ",$X[2]).")";}if($j)array_unshift($Mf,"ALTER TABLE ".table($Q).implode(",",$j));if($Yb)array_unshift($Mf,"DROP INDEX ".implode(", ",$Yb));foreach($Mf
+as$H){if(!queries($H))return
+false;}return
+true;}function
+truncate_tables($S){return
+queries("TRUNCATE ".implode(", ",array_map('table',$S)));return
+true;}function
+drop_views($Yh){return
+drop_tables($Yh);}function
+drop_tables($S){foreach($S
+as$Q){$Ig=table_status($Q);if(!queries("DROP ".strtoupper($Ig["Engine"])." ".table($Q)))return
+false;}return
+true;}function
+move_tables($S,$Yh,$bh){foreach(array_merge($S,$Yh)as$Q){$Ig=table_status($Q);if(!queries("ALTER ".strtoupper($Ig["Engine"])." ".table($Q)." SET SCHEMA ".idf_escape($bh)))return
+false;}return
+true;}function
+trigger($C){if($C=="")return
+array("Statement"=>"EXECUTE PROCEDURE ()");$L=get_rows('SELECT trigger_name AS "Trigger", condition_timing AS "Timing", event_manipulation AS "Event", \'FOR EACH \' || action_orientation AS "Type", action_statement AS "Statement" FROM information_schema.triggers WHERE event_object_table = '.q($_GET["trigger"]).' AND trigger_name = '.q($C));return
+reset($L);}function
+triggers($Q){$J=array();foreach(get_rows("SELECT * FROM information_schema.triggers WHERE event_object_table = ".q($Q))as$K)$J[$K["trigger_name"]]=array($K["condition_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
+routines(){return
+get_rows('SELECT p.proname AS "ROUTINE_NAME", p.proargtypes AS "ROUTINE_TYPE", pg_catalog.format_type(p.prorettype, NULL) AS "DTD_IDENTIFIER"
+FROM pg_catalog.pg_namespace n
+JOIN pg_catalog.pg_proc p ON p.pronamespace = n.oid
+WHERE n.nspname = current_schema()
+ORDER BY p.proname');}function
+routine_languages(){return
+get_vals("SELECT langname FROM pg_catalog.pg_language");}function
+last_id(){return
+0;}function
+explain($h,$H){return$h->query("EXPLAIN $H");}function
+found_rows($R,$Z){global$h;if(preg_match("~ rows=([0-9]+)~",$h->result("EXPLAIN SELECT * FROM ".idf_escape($R["Name"]).($Z?" WHERE ".implode(" AND ",$Z):"")),$Yf))return$Yf[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$h;return$h->result("SELECT current_schema()");}function
+set_schema($og){global$h,$Bh,$Lg;$J=$h->query("SET search_path TO ".idf_escape($og));foreach(types()as$U){if(!isset($Bh[$U])){$Bh[$U]=0;$Lg[lang(23)][]=$U;}}return$J;}function
+use_sql($Gb){return"\connect ".idf_escape($Gb);}function
+show_variables(){return
+get_key_vals("SHOW ALL");}function
+process_list(){global$h;return
+get_rows("SELECT * FROM pg_stat_activity ORDER BY ".($h->server_info<9.2?"procpid":"pid"));}function
+show_status(){}function
+convert_field($o){}function
+unconvert_field($o,$J){return$J;}function
+support($Fc){global$h;return
+preg_match('~^(database|table|columns|sql|indexes|comment|view|'.($h->server_info>=9.3?'materializedview|':'').'scheme|processlist|sequence|trigger|type|variables|drop_col)$~',$Fc);}$w="pgsql";$Bh=array();$Lg=array();foreach(array(lang(24)=>array("smallint"=>5,"integer"=>10,"bigint"=>19,"boolean"=>1,"numeric"=>0,"real"=>7,"double precision"=>16,"money"=>20),lang(25)=>array("date"=>13,"time"=>17,"timestamp"=>20,"timestamptz"=>21,"interval"=>0),lang(26)=>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$x=>$X){$Bh+=$X;$Lg[$x]=array_keys($X);}$Ih=array();$Se=array("=","<",">","<=",">=","!=","~","!~","LIKE","LIKE %%","ILIKE","ILIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL");$Uc=array("char_length","lower","round","to_hex","to_timestamp","upper");$Zc=array("avg","count","count distinct","max","min","sum");$fc=array(array("char"=>"md5","date|time"=>"now",),array("int|numeric|real|money"=>"+/-","date|time"=>"+ interval/- interval","char|text"=>"||",));}$Xb["oracle"]="Oracle";if(isset($_GET["oracle"])){$_f=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($qc,$n){if(ini_bool("html_errors"))$n=html_entity_decode(strip_tags($n));$n=preg_replace('~^[^:]*: ~','',$n);$this->error=$n;}function
+connect($N,$V,$G){$this->_link=@oci_new_connect($V,$G,$N,"AL32UTF8");if($this->_link){$this->server_info=oci_server_version($this->_link);return
+true;}$n=oci_error();$this->error=$n["message"];return
+false;}function
+quote($P){return"'".str_replace("'","''",$P)."'";}function
+select_db($Gb){return
+true;}function
+query($H,$Ch=false){$I=oci_parse($this->_link,$H);$this->error="";if(!$I){$n=oci_error($this->_link);$this->errno=$n["code"];$this->error=$n["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,$o=1){$I=$this->query($H);if(!is_object($I)||!oci_fetch($I->_result))return
+false;return
+oci_result($I->_result,$o);}}class
+Min_Result{var$_result,$_offset=1,$num_rows;function
+__construct($I){$this->_result=$I;}function
+_convert($K){foreach((array)$K
+as$x=>$X){if(is_a($X,'OCI-Lob'))$K[$x]=$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(){$e=$this->_offset++;$J=new
+stdClass;$J->name=oci_field_name($this->_result,$e);$J->orgname=$J->name;$J->type=oci_field_type($this->_result,$e);$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($N,$V,$G){$this->dsn("oci:dbname=//$N;charset=AL32UTF8",$V,$G);return
+true;}function
+select_db($Gb){return
+true;}}}class
+Min_Driver
+extends
+Min_SQL{function
+begin(){return
+true;}}function
+idf_escape($t){return'"'.str_replace('"','""',$t).'"';}function
+table($t){return
+idf_escape($t);}function
+connect(){global$b;$h=new
+Min_DB;$k=$b->credentials();if($h->connect($k[0],$k[1],$k[2]))return$h;return$h->error;}function
+get_databases(){return
+get_vals("SELECT tablespace_name FROM user_tablespaces");}function
+limit($H,$Z,$z,$D=0,$vg=" "){return($D?" * FROM (SELECT t.*, rownum AS rnum FROM (SELECT $H$Z) t WHERE rownum <= ".($z+$D).") WHERE rnum > $D":($z!==null?" * FROM (SELECT $H$Z) WHERE rownum <= ".($z+$D):" $H$Z"));}function
+limit1($H,$Z){return" $H$Z";}function
+db_collation($m,$nb){global$h;return$h->result("SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'");}function
+engines(){return
+array();}function
+logged_user(){global$h;return$h->result("SELECT USER FROM DUAL");}function
+tables_list(){return
+get_key_vals("SELECT table_name, 'table' FROM all_tables WHERE tablespace_name = ".q(DB)."
+UNION SELECT view_name, 'view' FROM user_views
+ORDER BY 1");}function
+count_tables($l){return
+array();}function
+table_status($C=""){$J=array();$qg=q($C);foreach(get_rows('SELECT table_name "Name", \'table\' "Engine", avg_row_len * num_rows "Data_length", num_rows "Rows" FROM all_tables WHERE tablespace_name = '.q(DB).($C!=""?" AND table_name = $qg":"")."
+UNION SELECT view_name, 'view', 0, 0 FROM user_views".($C!=""?" WHERE view_name = $qg":"")."
+ORDER BY 1")as$K){if($C!="")return$K;$J[$K["Name"]]=$K;}return$J;}function
+is_view($R){return$R["Engine"]=="view";}function
+fk_support($R){return
+true;}function
+fields($Q){$J=array();foreach(get_rows("SELECT * FROM all_tab_columns WHERE table_name = ".q($Q)." ORDER BY column_id")as$K){$U=$K["DATA_TYPE"];$y="$K[DATA_PRECISION],$K[DATA_SCALE]";if($y==",")$y=$K["DATA_LENGTH"];$J[$K["COLUMN_NAME"]]=array("field"=>$K["COLUMN_NAME"],"full_type"=>$U.($y?"($y)":""),"type"=>strtolower($U),"length"=>$y,"default"=>$K["DATA_DEFAULT"],"null"=>($K["NULLABLE"]=="Y"),"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),);}return$J;}function
+indexes($Q,$i=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($Q)."
+ORDER BY uc.constraint_type, uic.column_position",$i)as$K){$od=$K["INDEX_NAME"];$J[$od]["type"]=($K["CONSTRAINT_TYPE"]=="P"?"PRIMARY":($K["CONSTRAINT_TYPE"]=="U"?"UNIQUE":"INDEX"));$J[$od]["columns"][]=$K["COLUMN_NAME"];$J[$od]["lengths"][]=($K["CHAR_LENGTH"]&&$K["CHAR_LENGTH"]!=$K["COLUMN_LENGTH"]?$K["CHAR_LENGTH"]:null);$J[$od]["descs"][]=($K["DESCEND"]?'1':null);}return$J;}function
+view($C){$L=get_rows('SELECT text "select" FROM user_views WHERE view_name = '.q($C));return
+reset($L);}function
+collations(){return
+array();}function
+information_schema($m){return
+false;}function
+error(){global$h;return
+h($h->error);}function
+explain($h,$H){$h->query("EXPLAIN PLAN FOR $H");return$h->query("SELECT * FROM plan_table");}function
+found_rows($R,$Z){}function
+alter_table($Q,$C,$p,$Mc,$rb,$nc,$d,$La,$of){$c=$Yb=array();foreach($p
+as$o){$X=$o[1];if($X&&$o[0]!=""&&idf_escape($o[0])!=$X[0])queries("ALTER TABLE ".table($Q)." RENAME COLUMN ".idf_escape($o[0])." TO $X[0]");if($X)$c[]=($Q!=""?($o[0]!=""?"MODIFY (":"ADD ("):" ").implode($X).($Q!=""?")":"");else$Yb[]=idf_escape($o[0]);}if($Q=="")return
+queries("CREATE TABLE ".table($C)." (\n".implode(",\n",$c)."\n)");return(!$c||queries("ALTER TABLE ".table($Q)."\n".implode("\n",$c)))&&(!$Yb||queries("ALTER TABLE ".table($Q)." DROP (".implode(", ",$Yb).")"))&&($Q==$C||queries("ALTER TABLE ".table($Q)." RENAME TO ".table($C)));}function
+foreign_keys($Q){$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($Q);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($S){return
+apply_queries("TRUNCATE TABLE",$S);}function
+drop_views($Yh){return
+apply_queries("DROP VIEW",$Yh);}function
+drop_tables($S){return
+apply_queries("DROP TABLE",$S);}function
+last_id(){return
+0;}function
+schemas(){return
+get_vals("SELECT DISTINCT owner FROM dba_segments WHERE owner IN (SELECT username FROM dba_users WHERE default_tablespace NOT IN ('SYSTEM','SYSAUX'))");}function
+get_schema(){global$h;return$h->result("SELECT sys_context('USERENV', 'SESSION_USER') FROM dual");}function
+set_schema($pg){global$h;return$h->query("ALTER SESSION SET CURRENT_SCHEMA = ".idf_escape($pg));}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($o){}function
+unconvert_field($o,$J){return$J;}function
+support($Fc){return
+preg_match('~^(columns|database|drop_col|indexes|processlist|scheme|sql|status|table|variables|view|view_trigger)$~',$Fc);}$w="oracle";$Bh=array();$Lg=array();foreach(array(lang(24)=>array("number"=>38,"binary_float"=>12,"binary_double"=>21),lang(25)=>array("date"=>10,"timestamp"=>29,"interval year"=>12,"interval day"=>28),lang(26)=>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$x=>$X){$Bh+=$X;$Lg[$x]=array_keys($X);}$Ih=array();$Se=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");$Uc=array("length","lower","round","upper");$Zc=array("avg","count","count distinct","max","min","sum");$fc=array(array("date"=>"current_date","timestamp"=>"current_timestamp",),array("number|float|double"=>"+/-","date|timestamp"=>"+ interval/- interval","char|clob"=>"||",));}$Xb["mssql"]="MS SQL";if(isset($_GET["mssql"])){$_f=array("SQLSRV","MSSQL");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$n){$this->errno=$n["code"];$this->error.="$n[message]\n";}$this->error=rtrim($this->error);}function
+connect($N,$V,$G){$this->_link=@sqlsrv_connect($N,array("UID"=>$V,"PWD"=>$G,"CharacterSet"=>"UTF-8"));if($this->_link){$sd=sqlsrv_server_info($this->_link);$this->server_info=$sd['SQLServerVersion'];}else$this->_get_error();return(bool)$this->_link;}function
+quote($P){return"'".str_replace("'","''",$P)."'";}function
+select_db($Gb){return$this->query("USE ".idf_escape($Gb));}function
+query($H,$Ch=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,$o=0){$I=$this->query($H);if(!is_object($I))return
+false;$K=$I->fetch_row();return$K[$o];}}class
+Min_Result{var$_result,$_offset=0,$_fields,$num_rows;function
+__construct($I){$this->_result=$I;}function
+_convert($K){foreach((array)$K
+as$x=>$X){if(is_a($X,'DateTime'))$K[$x]=$X->format("Y-m-d H:i:s");}return$K;}function
+fetch_assoc(){return$this->_convert(sqlsrv_fetch_array($this->_result,SQLSRV_FETCH_ASSOC,SQLSRV_SCROLL_NEXT));}function
+fetch_row(){return$this->_convert(sqlsrv_fetch_array($this->_result,SQLSRV_FETCH_NUMERIC,SQLSRV_SCROLL_NEXT));}function
+fetch_field(){if(!$this->_fields)$this->_fields=sqlsrv_field_metadata($this->_result);$o=$this->_fields[$this->_offset++];$J=new
+stdClass;$J->name=$o["Name"];$J->orgname=$o["Name"];$J->type=($o["Type"]==1?254:0);return$J;}function
+seek($D){for($s=0;$s<$D;$s++)sqlsrv_fetch($this->_result);}function
+__destruct(){sqlsrv_free_stmt($this->_result);}}}elseif(extension_loaded("mssql")){class
+Min_DB{var$extension="MSSQL",$_link,$_result,$server_info,$affected_rows,$error;function
+connect($N,$V,$G){$this->_link=@mssql_connect($N,$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($P){return"'".str_replace("'","''",$P)."'";}function
+select_db($Gb){return
+mssql_select_db($Gb);}function
+query($H,$Ch=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);}function
+result($H,$o=0){$I=$this->query($H);if(!is_object($I))return
+false;return
+mssql_result($I->_result,0,$o);}}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($D){mssql_data_seek($this->_result,$D);}function
+__destruct(){mssql_free_result($this->_result);}}}class
+Min_Driver
+extends
+Min_SQL{function
+insertUpdate($Q,$L,$Cf){foreach($L
+as$O){$Jh=array();$Z=array();foreach($O
+as$x=>$X){$Jh[]="$x = $X";if(isset($Cf[idf_unescape($x)]))$Z[]="$x = $X";}if(!queries("MERGE ".table($Q)." USING (VALUES(".implode(", ",$O).")) AS source (c".implode(", c",range(1,count($O))).") ON ".implode(" AND ",$Z)." WHEN MATCHED THEN UPDATE SET ".implode(", ",$Jh)." WHEN NOT MATCHED THEN INSERT (".implode(", ",array_keys($O)).") VALUES (".implode(", ",$O).");"))return
+false;}return
+true;}function
+begin(){return
+queries("BEGIN TRANSACTION");}}function
+idf_escape($t){return"[".str_replace("]","]]",$t)."]";}function
+table($t){return($_GET["ns"]!=""?idf_escape($_GET["ns"]).".":"").idf_escape($t);}function
+connect(){global$b;$h=new
+Min_DB;$k=$b->credentials();if($h->connect($k[0],$k[1],$k[2]))return$h;return$h->error;}function
+get_databases(){return
+get_vals("EXEC sp_databases");}function
+limit($H,$Z,$z,$D=0,$vg=" "){return($z!==null?" TOP (".($z+$D).")":"")." $H$Z";}function
+limit1($H,$Z){return
+limit($H,$Z,1);}function
+db_collation($m,$nb){global$h;return$h->result("SELECT collation_name FROM sys.databases WHERE name = ".q($m));}function
+engines(){return
+array();}function
+logged_user(){global$h;return$h->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$h;$J=array();foreach($l
+as$m){$h->select_db($m);$J[$m]=$h->result("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES");}return$J;}function
+table_status($C=""){$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') ".($C!=""?"AND name = ".q($C):"ORDER BY name"))as$K){if($C!="")return$K;$J[$K["Name"]]=$K;}return$J;}function
+is_view($R){return$R["Engine"]=="VIEW";}function
+fk_support($R){return
+true;}function
+fields($Q){$J=array();foreach(get_rows("SELECT c.*, t.name type, d.definition [default]
+FROM sys.all_columns c
+JOIN sys.all_objects o ON c.object_id = o.object_id
+JOIN sys.types t ON c.user_type_id = t.user_type_id
+LEFT JOIN sys.default_constraints d ON c.default_object_id = d.parent_column_id
+WHERE o.schema_id = SCHEMA_ID(".q(get_schema()).") AND o.type IN ('S', 'U', 'V') AND o.name = ".q($Q))as$K){$U=$K["type"];$y=(preg_match("~char|binary~",$U)?$K["max_length"]:($U=="decimal"?"$K[precision],$K[scale]":""));$J[$K["name"]]=array("field"=>$K["name"],"full_type"=>$U.($y?"($y)":""),"type"=>$U,"length"=>$y,"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($Q,$i=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($Q),$i)as$K){$C=$K["name"];$J[$C]["type"]=($K["is_primary_key"]?"PRIMARY":($K["is_unique"]?"UNIQUE":"INDEX"));$J[$C]["lengths"]=array();$J[$C]["columns"][$K["key_ordinal"]]=$K["column_name"];$J[$C]["descs"][$K["key_ordinal"]]=($K["is_descending_key"]?'1':null);}return$J;}function
+view($C){global$h;return
+array("select"=>preg_replace('~^(?:[^[]|\\[[^]]*])*\\s+AS\\s+~isU','',$h->result("SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = SCHEMA_NAME() AND TABLE_NAME = ".q($C))));}function
+collations(){$J=array();foreach(get_vals("SELECT name FROM fn_helpcollations()")as$d)$J[preg_replace('~_.*~','',$d)][]=$d;return$J;}function
+information_schema($m){return
+false;}function
+error(){global$h;return
+nl_br(h(preg_replace('~^(\\[[^]]*])+~m','',$h->error)));}function
+create_database($m,$d){return
+queries("CREATE DATABASE ".idf_escape($m).(preg_match('~^[a-z0-9_]+$~i',$d)?" COLLATE $d":""));}function
+drop_databases($l){return
+queries("DROP DATABASE ".implode(", ",array_map('idf_escape',$l)));}function
+rename_database($C,$d){if(preg_match('~^[a-z0-9_]+$~i',$d))queries("ALTER DATABASE ".idf_escape(DB)." COLLATE $d");queries("ALTER DATABASE ".idf_escape(DB)." MODIFY NAME = ".idf_escape($C));return
+true;}function
+auto_increment(){return" IDENTITY".($_POST["Auto_increment"]!=""?"(".number($_POST["Auto_increment"]).",1)":"")." PRIMARY KEY";}function
+alter_table($Q,$C,$p,$Mc,$rb,$nc,$d,$La,$of){$c=array();foreach($p
+as$o){$e=idf_escape($o[0]);$X=$o[1];if(!$X)$c["DROP"][]=" COLUMN $e";else{$X[1]=preg_replace("~( COLLATE )'(\\w+)'~","\\1\\2",$X[1]);if($o[0]=="")$c["ADD"][]="\n ".implode("",$X).($Q==""?substr($Mc[$X[0]],16+strlen($X[0])):"");else{unset($X[6]);if($e!=$X[0])queries("EXEC sp_rename ".q(table($Q).".$e").", ".q(idf_unescape($X[0])).", 'COLUMN'");$c["ALTER COLUMN ".implode("",$X)][]="";}}}if($Q=="")return
+queries("CREATE TABLE ".table($C)." (".implode(",",(array)$c["ADD"])."\n)");if($Q!=$C)queries("EXEC sp_rename ".q(table($Q)).", ".q($C));if($Mc)$c[""]=$Mc;foreach($c
+as$x=>$X){if(!queries("ALTER TABLE ".idf_escape($C)." $x".implode(",",$X)))return
+false;}return
+true;}function
+alter_indexes($Q,$c){$u=array();$Yb=array();foreach($c
+as$X){if($X[2]=="DROP"){if($X[0]=="PRIMARY")$Yb[]=idf_escape($X[1]);else$u[]=idf_escape($X[1])." ON ".table($Q);}elseif(!queries(($X[0]!="PRIMARY"?"CREATE $X[0] ".($X[0]!="INDEX"?"INDEX ":"").idf_escape($X[1]!=""?$X[1]:uniqid($Q."_"))." ON ".table($Q):"ALTER TABLE ".table($Q)." ADD PRIMARY KEY")." (".implode(", ",$X[2]).")"))return
+false;}return(!$u||queries("DROP INDEX ".implode(", ",$u)))&&(!$Yb||queries("ALTER TABLE ".table($Q)." DROP ".implode(", ",$Yb)));}function
+last_id(){global$h;return$h->result("SELECT SCOPE_IDENTITY()");}function
+explain($h,$H){$h->query("SET SHOWPLAN_ALL ON");$J=$h->query($H);$h->query("SET SHOWPLAN_ALL OFF");return$J;}function
+found_rows($R,$Z){}function
+foreign_keys($Q){$J=array();foreach(get_rows("EXEC sp_fkeys @fktable_name = ".q($Q))as$K){$q=&$J[$K["FK_NAME"]];$q["table"]=$K["PKTABLE_NAME"];$q["source"][]=$K["FKCOLUMN_NAME"];$q["target"][]=$K["PKCOLUMN_NAME"];}return$J;}function
+truncate_tables($S){return
+apply_queries("TRUNCATE TABLE",$S);}function
+drop_views($Yh){return
+queries("DROP VIEW ".implode(", ",array_map('table',$Yh)));}function
+drop_tables($S){return
+queries("DROP TABLE ".implode(", ",array_map('table',$S)));}function
+move_tables($S,$Yh,$bh){return
+apply_queries("ALTER SCHEMA ".idf_escape($bh)." TRANSFER",array_merge($S,$Yh));}function
+trigger($C){if($C=="")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($C));$J=reset($L);if($J)$J["Statement"]=preg_replace('~^.+\\s+AS\\s+~isU','',$J["text"]);return$J;}function
+triggers($Q){$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($Q))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$h;if($_GET["ns"]!="")return$_GET["ns"];return$h->result("SELECT SCHEMA_NAME()");}function
+set_schema($og){return
+true;}function
+use_sql($Gb){return"USE ".idf_escape($Gb);}function
+show_variables(){return
+array();}function
+show_status(){return
+array();}function
+convert_field($o){}function
+unconvert_field($o,$J){return$J;}function
+support($Fc){return
+preg_match('~^(columns|database|drop_col|indexes|scheme|sql|table|trigger|view|view_trigger)$~',$Fc);}$w="mssql";$Bh=array();$Lg=array();foreach(array(lang(24)=>array("tinyint"=>3,"smallint"=>5,"int"=>10,"bigint"=>20,"bit"=>1,"decimal"=>0,"real"=>12,"float"=>53,"smallmoney"=>10,"money"=>20),lang(25)=>array("date"=>10,"smalldatetime"=>19,"datetime"=>19,"datetime2"=>19,"time"=>8,"datetimeoffset"=>10),lang(26)=>array("char"=>8000,"varchar"=>8000,"text"=>2147483647,"nchar"=>4000,"nvarchar"=>4000,"ntext"=>1073741823),lang(27)=>array("binary"=>8000,"varbinary"=>8000,"image"=>2147483647),)as$x=>$X){$Bh+=$X;$Lg[$x]=array_keys($X);}$Ih=array();$Se=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL");$Uc=array("len","lower","round","upper");$Zc=array("avg","count","count distinct","max","min","sum");$fc=array(array("date|time"=>"getdate",),array("int|decimal|real|float|money|datetime"=>"+/-","char|text"=>"+",));}$Xb['firebird']='Firebird (alpha)';if(isset($_GET["firebird"])){$_f=array("interbase");define("DRIVER","firebird");if(extension_loaded("interbase")){class
+Min_DB{var$extension="Firebird",$server_info,$affected_rows,$errno,$error,$_link,$_result;function
+connect($N,$V,$G){$this->_link=ibase_connect($N,$V,$G);if($this->_link){$Lh=explode(':',$N);$this->service_link=ibase_service_attach($Lh[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($P){return"'".str_replace("'","''",$P)."'";}function
+select_db($Gb){return($Gb=="domain");}function
+query($H,$Ch=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,$o=0){$I=$this->query($H);if(!$I||!$I->num_rows)return
+false;$K=$I->fetch_row();return$K[$o];}}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(){$o=ibase_field_info($this->_result,$this->_offset++);return(object)array('name'=>$o['name'],'orgname'=>$o['name'],'type'=>$o['type'],'charsetnr'=>$o['length'],);}function
+__destruct(){ibase_free_result($this->_result);}}}class
+Min_Driver
+extends
+Min_SQL{}function
+idf_escape($t){return'"'.str_replace('"','""',$t).'"';}function
+table($t){return
+idf_escape($t);}function
+connect(){global$b;$h=new
+Min_DB;$k=$b->credentials();if($h->connect($k[0],$k[1],$k[2]))return$h;return$h->error;}function
+get_databases($Lc){return
+array("domain");}function
+limit($H,$Z,$z,$D=0,$vg=" "){$J='';$J.=($z!==null?$vg."FIRST $z".($D?" SKIP $D":""):"");$J.=" $H$Z";return$J;}function
+limit1($H,$Z){return
+limit($H,$Z,1);}function
+db_collation($m,$nb){}function
+engines(){return
+array();}function
+logged_user(){global$b;$k=$b->credentials();return$k[1];}function
+tables_list(){global$h;$H='SELECT RDB$RELATION_NAME FROM rdb$relations WHERE rdb$system_flag = 0';$I=ibase_query($h->_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($C="",$Ec=false){global$h;$J=array();$Eb=tables_list();foreach($Eb
+as$u=>$X){$u=trim($u);$J[$u]=array('Name'=>$u,'Engine'=>'standard',);if($C==$u)return$J[$u];}return$J;}function
+is_view($R){return
+false;}function
+fk_support($R){return
+preg_match('~InnoDB|IBMDB2I~i',$R["Engine"]);}function
+fields($Q){global$h;$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($Q).'
+ORDER BY r.RDB$FIELD_POSITION';$I=ibase_query($h->_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($Q,$i=null){$J=array();return$J;}function
+foreign_keys($Q){return
+array();}function
+collations(){return
+array();}function
+information_schema($m){return
+false;}function
+error(){global$h;return
+h($h->error);}function
+types(){return
+array();}function
+schemas(){return
+array();}function
+get_schema(){return"";}function
+set_schema($og){return
+true;}function
+support($Fc){return
+preg_match("~^(columns|sql|status|table)$~",$Fc);}$w="firebird";$Se=array("=");$Uc=array();$Zc=array();$fc=array();}$Xb["simpledb"]="SimpleDB";if(isset($_GET["simpledb"])){$_f=array("SimpleXML");define("DRIVER","simpledb");if(class_exists('SimpleXMLElement')){class
+Min_DB{var$extension="SimpleXML",$server_info='2009-04-15',$error,$timeout,$next,$affected_rows,$_result;function
+select_db($Gb){return($Gb=="domain");}function
+query($H,$Ch=false){$F=array('SelectExpression'=>$H,'ConsistentRead'=>'true');if($this->next)$F['NextToken']=$this->next;$I=sdb_request_all('Select','Item',$F,$this->timeout);if($I===false)return$I;if(preg_match('~^\s*SELECT\s+COUNT\(~i',$H)){$Pg=0;foreach($I
+as$Ed)$Pg+=$Ed->Attribute->Value;$I=array((object)array('Attribute'=>array((object)array('Name'=>'Count','Value'=>$Pg,))));}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($P){return"'".str_replace("'","''",$P)."'";}}class
+Min_Result{var$num_rows,$_rows=array(),$_offset=0;function
+__construct($I){foreach($I
+as$Ed){$K=array();if($Ed->Name!='')$K['itemName()']=(string)$Ed->Name;foreach($Ed->Attribute
+as$Ia){$C=$this->_processValue($Ia->Name);$Y=$this->_processValue($Ia->Value);if(isset($K[$C])){$K[$C]=(array)$K[$C];$K[$C][]=$Y;}else$K[$C]=$Y;}$this->_rows[]=$K;foreach($K
+as$x=>$X){if(!isset($this->_rows[0][$x]))$this->_rows[0][$x]=null;}}$this->num_rows=count($this->_rows);}function
+_processValue($ic){return(is_object($ic)&&$ic['encoding']=='base64'?base64_decode($ic):(string)$ic);}function
+fetch_assoc(){$K=current($this->_rows);if(!$K)return$K;$J=array();foreach($this->_rows[0]as$x=>$X)$J[$x]=$K[$x];next($this->_rows);return$J;}function
+fetch_row(){$J=$this->fetch_assoc();if(!$J)return$J;return
+array_values($J);}function
+fetch_field(){$Kd=array_keys($this->_rows[0]);return(object)array('name'=>$Kd[$this->_offset++]);}}}class
+Min_Driver
+extends
+Min_SQL{public$Cf="itemName()";function
+_chunkRequest($ld,$va,$F,$yc=array()){global$h;foreach(array_chunk($ld,25)as$gb){$kf=$F;foreach($gb
+as$s=>$jd){$kf["Item.$s.ItemName"]=$jd;foreach($yc
+as$x=>$X)$kf["Item.$s.$x"]=$X;}if(!sdb_request($va,$kf))return
+false;}$h->affected_rows=count($ld);return
+true;}function
+_extractIds($Q,$Nf,$z){$J=array();if(preg_match_all("~itemName\(\) = (('[^']*+')+)~",$Nf,$ee))$J=array_map('idf_unescape',$ee[1]);else{foreach(sdb_request_all('Select','Item',array('SelectExpression'=>'SELECT itemName() FROM '.table($Q).$Nf.($z?" LIMIT 1":"")))as$Ed)$J[]=$Ed->Name;}return$J;}function
+select($Q,$M,$Z,$Xc,$Xe=array(),$z=1,$E=0,$Ef=false){global$h;$h->next=$_GET["next"];$J=parent::select($Q,$M,$Z,$Xc,$Xe,$z,$E,$Ef);$h->next=0;return$J;}function
+delete($Q,$Nf,$z=0){return$this->_chunkRequest($this->_extractIds($Q,$Nf,$z),'BatchDeleteAttributes',array('DomainName'=>$Q));}function
+update($Q,$O,$Nf,$z=0,$vg="\n"){$Mb=array();$wd=array();$s=0;$ld=$this->_extractIds($Q,$Nf,$z);$jd=idf_unescape($O["`itemName()`"]);unset($O["`itemName()`"]);foreach($O
+as$x=>$X){$x=idf_unescape($x);if($X=="NULL"||($jd!=""&&array($jd)!=$ld))$Mb["Attribute.".count($Mb).".Name"]=$x;if($X!="NULL"){foreach((array)$X
+as$Gd=>$W){$wd["Attribute.$s.Name"]=$x;$wd["Attribute.$s.Value"]=(is_array($X)?$W:idf_unescape($W));if(!$Gd)$wd["Attribute.$s.Replace"]="true";$s++;}}}$F=array('DomainName'=>$Q);return(!$wd||$this->_chunkRequest(($jd!=""?array($jd):$ld),'BatchPutAttributes',$F,$wd))&&(!$Mb||$this->_chunkRequest($ld,'BatchDeleteAttributes',$F,$Mb));}function
+insert($Q,$O){$F=array("DomainName"=>$Q);$s=0;foreach($O
+as$C=>$Y){if($Y!="NULL"){$C=idf_unescape($C);if($C=="itemName()")$F["ItemName"]=idf_unescape($Y);else{foreach((array)$Y
+as$X){$F["Attribute.$s.Name"]=$C;$F["Attribute.$s.Value"]=(is_array($Y)?$X:idf_unescape($Y));$s++;}}}}return
+sdb_request('PutAttributes',$F);}function
+insertUpdate($Q,$L,$Cf){foreach($L
+as$O){if(!$this->update($Q,$O,"WHERE `itemName()` = ".q($O["`itemName()`"])))return
+false;}return
+true;}function
+begin(){return
+false;}function
+commit(){return
+false;}function
+rollback(){return
+false;}}function
+connect(){return
+new
+Min_DB;}function
+support($Fc){return
+preg_match('~sql~',$Fc);}function
+logged_user(){global$b;$k=$b->credentials();return$k[1];}function
+get_databases(){return
+array("domain");}function
+collations(){return
+array();}function
+db_collation($m,$nb){}function
+tables_list(){global$h;$J=array();foreach(sdb_request_all('ListDomains','DomainName')as$Q)$J[(string)$Q]='table';if($h->error&&defined("PAGE_HEADER"))echo"".error()."\n";return$J;}function
+table_status($C="",$Ec=false){$J=array();foreach(($C!=""?array($C=>true):tables_list())as$Q=>$U){$K=array("Name"=>$Q,"Auto_increment"=>"");if(!$Ec){$re=sdb_request('DomainMetadata',array('DomainName'=>$Q));if($re){foreach(array("Rows"=>"ItemCount","Data_length"=>"ItemNamesSizeBytes","Index_length"=>"AttributeValuesSizeBytes","Data_free"=>"AttributeNamesSizeBytes",)as$x=>$X)$K[$x]=(string)$re->$X;}}if($C!="")return$K;$J[$Q]=$K;}return$J;}function
+explain($h,$H){}function
+error(){global$h;return
+h($h->error);}function
+information_schema(){}function
+is_view($R){}function
+indexes($Q,$i=null){return
+array(array("type"=>"PRIMARY","columns"=>array("itemName()")),);}function
+fields($Q){return
+fields_from_edit();}function
+foreign_keys($Q){return
+array();}function
+table($t){return
+idf_escape($t);}function
+idf_escape($t){return"`".str_replace("`","``",$t)."`";}function
+limit($H,$Z,$z,$D=0,$vg=" "){return" $H$Z".($z!==null?$vg."LIMIT $z":"");}function
+unconvert_field($o,$J){return$J;}function
+fk_support($R){}function
+engines(){return
+array();}function
+alter_table($Q,$C,$p,$Mc,$rb,$nc,$d,$La,$of){return($Q==""&&sdb_request('CreateDomain',array('DomainName'=>$C)));}function
+drop_tables($S){foreach($S
+as$Q){if(!sdb_request('DeleteDomain',array('DomainName'=>$Q)))return
+false;}return
+true;}function
+count_tables($l){foreach($l
+as$m)return
+array($m=>count(tables_list()));}function
+found_rows($R,$Z){return($Z?null:$R["Rows"]);}function
+last_id(){}function
+hmac($Ba,$Eb,$x,$Rf=false){$Ua=64;if(strlen($x)>$Ua)$x=pack("H*",$Ba($x));$x=str_pad($x,$Ua,"\0");$Hd=$x^str_repeat("\x36",$Ua);$Id=$x^str_repeat("\x5C",$Ua);$J=$Ba($Id.pack("H*",$Ba($Hd.$Eb)));if($Rf)$J=pack("H*",$J);return$J;}function
+sdb_request($va,$F=array()){global$b,$h;list($hd,$F['AWSAccessKeyId'],$rg)=$b->credentials();$F['Action']=$va;$F['Timestamp']=gmdate('Y-m-d\TH:i:s+00:00');$F['Version']='2009-04-15';$F['SignatureVersion']=2;$F['SignatureMethod']='HmacSHA1';ksort($F);$H='';foreach($F
+as$x=>$X)$H.='&'.rawurlencode($x).'='.rawurlencode($X);$H=str_replace('%7E','~',substr($H,1));$H.="&Signature=".urlencode(base64_encode(hmac('sha1',"POST\n".preg_replace('~^https?://~','',$hd)."\n/\n$H",$rg,true)));@ini_set('track_errors',1);$Hc=@file_get_contents((preg_match('~^https?://~',$hd)?$hd:"http://$hd"),false,stream_context_create(array('http'=>array('method'=>'POST','content'=>$H,'ignore_errors'=>1,))));if(!$Hc){$h->error=$php_errormsg;return
+false;}libxml_use_internal_errors(true);$ei=simplexml_load_string($Hc);if(!$ei){$n=libxml_get_last_error();$h->error=$n->message;return
+false;}if($ei->Errors){$n=$ei->Errors->Error;$h->error="$n->Message ($n->Code)";return
+false;}$h->error='';$ah=$va."Result";return($ei->$ah?$ei->$ah:true);}function
+sdb_request_all($va,$ah,$F=array(),$jh=0){$J=array();$Hg=($jh?microtime(true):0);$z=(preg_match('~LIMIT\s+(\d+)\s*$~i',$F['SelectExpression'],$B)?$B[1]:0);do{$ei=sdb_request($va,$F);if(!$ei)break;foreach($ei->$ah
+as$ic)$J[]=$ic;if($z&&count($J)>=$z){$_GET["next"]=$ei->NextToken;break;}if($jh&µtime(true)-$Hg>$jh)return
+false;$F['NextToken']=$ei->NextToken;if($z)$F['SelectExpression']=preg_replace('~\d+\s*$~',$z-count($J),$F['SelectExpression']);}while($ei->NextToken);return$J;}$w="simpledb";$Se=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","IS NOT NULL");$Uc=array();$Zc=array("count");$fc=array(array("json"));}$Xb["mongo"]="MongoDB (beta)";if(isset($_GET["mongo"])){$_f=array("mongo");define("DRIVER","mongo");if(class_exists('MongoDB')){class
+Min_DB{var$extension="Mongo",$error,$last_id,$_link,$_db;function
+connect($N,$V,$G){global$b;$m=$b->database();$Ve=array();if($V!=""){$Ve["username"]=$V;$Ve["password"]=$G;}if($m!="")$Ve["db"]=$m;try{$this->_link=@new
+MongoClient("mongodb://$N",$Ve);return
+true;}catch(Exception$uc){$this->error=$uc->getMessage();return
+false;}}function
+query($H){return
+false;}function
+select_db($Gb){try{$this->_db=$this->_link->selectDB($Gb);return
+true;}catch(Exception$uc){$this->error=$uc->getMessage();return
+false;}}function
+quote($P){return$P;}}class
+Min_Result{var$num_rows,$_rows=array(),$_offset=0,$_charset=array();function
+__construct($I){foreach($I
+as$Ed){$K=array();foreach($Ed
+as$x=>$X){if(is_a($X,'MongoBinData'))$this->_charset[$x]=63;$K[$x]=(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$x=>$X){if(!isset($this->_rows[0][$x]))$this->_rows[0][$x]=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$x=>$X)$J[$x]=$K[$x];next($this->_rows);return$J;}function
+fetch_row(){$J=$this->fetch_assoc();if(!$J)return$J;return
+array_values($J);}function
+fetch_field(){$Kd=array_keys($this->_rows[0]);$C=$Kd[$this->_offset++];return(object)array('name'=>$C,'charsetnr'=>$this->_charset[$C],);}}}class
+Min_Driver
+extends
+Min_SQL{public$Cf="_id";function
+select($Q,$M,$Z,$Xc,$Xe=array(),$z=1,$E=0,$Ef=false){$M=($M==array("*")?array():array_fill_keys($M,true));$Cg=array();foreach($Xe
+as$X){$X=preg_replace('~ DESC$~','',$X,1,$Ab);$Cg[$X]=($Ab?-1:1);}return
+new
+Min_Result($this->_conn->_db->selectCollection($Q)->find(array(),$M)->sort($Cg)->limit(+$z)->skip($E*$z));}function
+insert($Q,$O){try{$J=$this->_conn->_db->selectCollection($Q)->insert($O);$this->_conn->errno=$J['code'];$this->_conn->error=$J['err'];$this->_conn->last_id=$O['_id'];return!$J['err'];}catch(Exception$uc){$this->_conn->error=$uc->getMessage();return
+false;}}}function
+connect(){global$b;$h=new
+Min_DB;$k=$b->credentials();if($h->connect($k[0],$k[1],$k[2]))return$h;return$h->error;}function
+error(){global$h;return
+h($h->error);}function
+logged_user(){global$b;$k=$b->credentials();return$k[1];}function
+get_databases($Lc){global$h;$J=array();$Jb=$h->_link->listDBs();foreach($Jb['databases']as$m)$J[]=$m['name'];return$J;}function
+collations(){return
+array();}function
+db_collation($m,$nb){}function
+count_tables($l){global$h;$J=array();foreach($l
+as$m)$J[$m]=count($h->_link->selectDB($m)->getCollectionNames(true));return$J;}function
+tables_list(){global$h;return
+array_fill_keys($h->_db->getCollectionNames(true),'table');}function
+table_status($C="",$Ec=false){$J=array();foreach(tables_list()as$Q=>$U){$J[$Q]=array("Name"=>$Q);if($C==$Q)return$J[$Q];}return$J;}function
+information_schema(){}function
+is_view($R){}function
+drop_databases($l){global$h;foreach($l
+as$m){$cg=$h->_link->selectDB($m)->drop();if(!$cg['ok'])return
+false;}return
+true;}function
+indexes($Q,$i=null){global$h;$J=array();foreach($h->_db->selectCollection($Q)->getIndexInfo()as$u){$Pb=array();foreach($u["key"]as$e=>$U)$Pb[]=($U==-1?'1':null);$J[$u["name"]]=array("type"=>($u["name"]=="_id_"?"PRIMARY":($u["unique"]?"UNIQUE":"INDEX")),"columns"=>array_keys($u["key"]),"lengths"=>array(),"descs"=>$Pb,);}return$J;}function
+fields($Q){return
+fields_from_edit();}function
+convert_field($o){}function
+unconvert_field($o,$J){return$J;}function
+foreign_keys($Q){return
+array();}function
+fk_support($R){}function
+engines(){return
+array();}function
+found_rows($R,$Z){global$h;return$h->_db->selectCollection($_GET["select"])->count($Z);}function
+alter_table($Q,$C,$p,$Mc,$rb,$nc,$d,$La,$of){global$h;if($Q==""){$h->_db->createCollection($C);return
+true;}}function
+drop_tables($S){global$h;foreach($S
+as$Q){$cg=$h->_db->selectCollection($Q)->drop();if(!$cg['ok'])return
+false;}return
+true;}function
+truncate_tables($S){global$h;foreach($S
+as$Q){$cg=$h->_db->selectCollection($Q)->remove();if(!$cg['ok'])return
+false;}return
+true;}function
+alter_indexes($Q,$c){global$h;foreach($c
+as$X){list($U,$C,$O)=$X;if($O=="DROP")$J=$h->_db->command(array("deleteIndexes"=>$Q,"index"=>$C));else{$f=array();foreach($O
+as$e){$e=preg_replace('~ DESC$~','',$e,1,$Ab);$f[$e]=($Ab?-1:1);}$J=$h->_db->selectCollection($Q)->ensureIndex($f,array("unique"=>($U=="UNIQUE"),"name"=>$C,));}if($J['errmsg']){$h->error=$J['errmsg'];return
+false;}}return
+true;}function
+last_id(){global$h;return$h->last_id;}function
+table($t){return$t;}function
+idf_escape($t){return$t;}function
+support($Fc){return
+preg_match("~database|indexes~",$Fc);}$w="mongo";$Se=array("=");$Uc=array();$Zc=array();$fc=array(array("json"));}$Xb["elastic"]="Elasticsearch (beta)";if(isset($_GET["elastic"])){$_f=array("json");define("DRIVER","elastic");if(function_exists('json_decode')){class
+Min_DB{var$extension="JSON",$server_info,$errno,$error,$_url;function
+rootQuery($rf,$wb=array(),$se='GET'){@ini_set('track_errors',1);$Hc=@file_get_contents($this->_url.'/'.ltrim($rf,'/'),false,stream_context_create(array('http'=>array('method'=>$se,'content'=>json_encode($wb),'ignore_errors'=>1,))));if(!$Hc){$this->error=$php_errormsg;return$Hc;}if(!preg_match('~^HTTP/[0-9.]+ 2~i',$http_response_header[0])){$this->error=$Hc;return
+false;}$J=json_decode($Hc,true);if($J===null){$this->errno=json_last_error();if(function_exists('json_last_error_msg'))$this->error=json_last_error_msg();else{$vb=get_defined_constants(true);foreach($vb['json']as$C=>$Y){if($Y==$this->errno&&preg_match('~^JSON_ERROR_~',$C)){$this->error=$C;break;}}}}return$J;}function
+query($rf,$wb=array(),$se='GET'){return$this->rootQuery(($this->_db!=""?"$this->_db/":"/").ltrim($rf,'/'),$wb,$se);}function
+connect($N,$V,$G){$this->_url="http://$V:$G@$N/";$J=$this->query('');if($J)$this->server_info=$J['version']['number'];return(bool)$J;}function
+select_db($Gb){$this->_db=$Gb;return
+true;}function
+quote($P){return$P;}}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($Q,$M,$Z,$Xc,$Xe=array(),$z=1,$E=0,$Ef=false){global$b;$Eb=array();$H="$Q/_search";if($M!=array("*"))$Eb["fields"]=$M;if($Xe){$Cg=array();foreach($Xe
+as$lb){$lb=preg_replace('~ DESC$~','',$lb,1,$Ab);$Cg[]=($Ab?array($lb=>"desc"):$lb);}$Eb["sort"]=$Cg;}if($z){$Eb["size"]=+$z;if($E)$Eb["from"]=($E*$z);}foreach($Z
+as$X){list($lb,$Qe,$X)=explode(" ",$X,3);if($lb=="_id")$Eb["query"]["ids"]["values"][]=$X;elseif($lb.$X!=""){$eh=array("term"=>array(($lb!=""?$lb:"_all")=>$X));if($Qe=="=")$Eb["query"]["filtered"]["filter"]["and"][]=$eh;else$Eb["query"]["filtered"]["query"]["bool"]["must"][]=$eh;}}if($Eb["query"]&&!$Eb["query"]["filtered"]["query"]&&!$Eb["query"]["ids"])$Eb["query"]["filtered"]["query"]=array("match_all"=>array());$Hg=microtime(true);$qg=$this->_conn->query($H,$Eb);if($Ef)echo$b->selectQuery("$H: ".print_r($Eb,true),format_time($Hg));if(!$qg)return
+false;$J=array();foreach($qg['hits']['hits']as$gd){$K=array();if($M==array("*"))$K["_id"]=$gd["_id"];$p=$gd['_source'];if($M!=array("*")){$p=array();foreach($M
+as$x)$p[$x]=$gd['fields'][$x];}foreach($p
+as$x=>$X){if($Eb["fields"])$X=$X[0];$K[$x]=(is_array($X)?json_encode($X):$X);}$J[]=$K;}return
+new
+Min_Result($J);}}function
+connect(){global$b;$h=new
+Min_DB;$k=$b->credentials();if($h->connect($k[0],$k[1],$k[2]))return$h;return$h->error;}function
+support($Fc){return
+preg_match("~database|table|columns~",$Fc);}function
+logged_user(){global$b;$k=$b->credentials();return$k[1];}function
+get_databases(){global$h;$J=$h->rootQuery('_aliases');if($J){$J=array_keys($J);sort($J,SORT_STRING);}return$J;}function
+collations(){return
+array();}function
+db_collation($m,$nb){}function
+engines(){return
+array();}function
+count_tables($l){global$h;$J=$h->query('_mapping');if($J)$J=array_map('count',$J);return$J;}function
+tables_list(){global$h;$J=$h->query('_mapping');if($J)$J=array_fill_keys(array_keys($J[$h->_db]["mappings"]),'table');return$J;}function
+table_status($C="",$Ec=false){global$h;$qg=$h->query("_search?search_type=count",array("facets"=>array("count_by_type"=>array("terms"=>array("field"=>"_type",)))),"POST");$J=array();if($qg){foreach($qg["facets"]["count_by_type"]["terms"]as$Q)$J[$Q["term"]]=array("Name"=>$Q["term"],"Engine"=>"table","Rows"=>$Q["count"],);if($C!=""&&$C==$Q["term"])return$J[$C];}return$J;}function
+error(){global$h;return
+h($h->error);}function
+information_schema(){}function
+is_view($R){}function
+indexes($Q,$i=null){return
+array(array("type"=>"PRIMARY","columns"=>array("_id")),);}function
+fields($Q){global$h;$I=$h->query("$Q/_mapping");$J=array();if($I){$ce=$I[$Q]['properties'];if(!$ce)$ce=$I[$h->_db]['mappings'][$Q]['properties'];if($ce){foreach($ce
+as$C=>$o){$J[$C]=array("field"=>$C,"full_type"=>$o["type"],"type"=>$o["type"],"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),);if($o["properties"]){unset($J[$C]["privileges"]["insert"]);unset($J[$C]["privileges"]["update"]);}}}}return$J;}function
+foreign_keys($Q){return
+array();}function
+table($t){return$t;}function
+idf_escape($t){return$t;}function
+convert_field($o){}function
+unconvert_field($o,$J){return$J;}function
+fk_support($R){}function
+found_rows($R,$Z){return
+null;}function
+create_database($m){global$h;return$h->rootQuery(urlencode($m),array(),'PUT');}function
+drop_databases($l){global$h;return$h->rootQuery(urlencode(implode(',',$l)),array(),'DELETE');}function
+drop_tables($S){global$h;$J=true;foreach($S
+as$Q)$J=$J&&$h->query(urlencode($Q),array(),'DELETE');return$J;}$w="elastic";$Se=array("=","query");$Uc=array();$Zc=array();$fc=array(array("json"));}$Xb=array("server"=>"MySQL")+$Xb;if(!defined("DRIVER")){$_f=array("MySQLi","MySQL","PDO_MySQL");define("DRIVER","server");if(extension_loaded("mysqli")){class
+Min_DB
+extends
+MySQLi{var$extension="MySQLi";function
+__construct(){parent::init();}function
+connect($N,$V,$G){mysqli_report(MYSQLI_REPORT_OFF);list($hd,$wf)=explode(":",$N,2);$J=@$this->real_connect(($N!=""?$hd:ini_get("mysqli.default_host")),($N.$V!=""?$V:ini_get("mysqli.default_user")),($N.$V.$G!=""?$G:ini_get("mysqli.default_pw")),null,(is_numeric($wf)?$wf:ini_get("mysqli.default_port")),(!is_numeric($wf)?$wf:null));return$J;}function
+set_charset($ab){if(parent::set_charset($ab))return
+true;parent::set_charset('utf8');return$this->query("SET NAMES $ab");}function
+result($H,$o=0){$I=$this->query($H);if(!$I)return
+false;$K=$I->fetch_array();return$K[$o];}function
+quote($P){return"'".$this->escape_string($P)."'";}}}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($N,$V,$G){$this->_link=@mysql_connect(($N!=""?$N:ini_get("mysql.default_host")),("$N$V"!=""?$V:ini_get("mysql.default_user")),("$N$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($ab){if(function_exists('mysql_set_charset')){if(mysql_set_charset($ab,$this->_link))return
+true;mysql_set_charset('utf8',$this->_link);}return$this->query("SET NAMES $ab");}function
+quote($P){return"'".mysql_real_escape_string($P,$this->_link)."'";}function
+select_db($Gb){return
+mysql_select_db($Gb,$this->_link);}function
+query($H,$Ch=false){$I=@($Ch?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,$o=0){$I=$this->query($H);if(!$I||!$I->num_rows)return
+false;return
+mysql_result($I->_result,0,$o);}}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($N,$V,$G){$this->dsn("mysql:charset=utf8;host=".str_replace(":",";unix_socket=",preg_replace('~:(\\d)~',';port=\\1',$N)),$V,$G);return
+true;}function
+set_charset($ab){$this->query("SET NAMES $ab");}function
+select_db($Gb){return$this->query("USE ".idf_escape($Gb));}function
+query($H,$Ch=false){$this->setAttribute(1000,!$Ch);return
+parent::query($H,$Ch);}}}class
+Min_Driver
+extends
+Min_SQL{function
+insert($Q,$O){return($O?parent::insert($Q,$O):queries("INSERT INTO ".table($Q)." ()\nVALUES ()"));}function
+insertUpdate($Q,$L,$Cf){$f=array_keys(reset($L));$Af="INSERT INTO ".table($Q)." (".implode(", ",$f).") VALUES\n";$Th=array();foreach($f
+as$x)$Th[$x]="$x = VALUES($x)";$Og="\nON DUPLICATE KEY UPDATE ".implode(", ",$Th);$Th=array();$y=0;foreach($L
+as$O){$Y="(".implode(", ",$O).")";if($Th&&(strlen($Af)+$y+strlen($Y)+strlen($Og)>1e6)){if(!queries($Af.implode(",\n",$Th).$Og))return
+false;$Th=array();$y=0;}$Th[]=$Y;$y+=strlen($Y)+2;}return
+queries($Af.implode(",\n",$Th).$Og);}}function
+idf_escape($t){return"`".str_replace("`","``",$t)."`";}function
+table($t){return
+idf_escape($t);}function
+connect(){global$b;$h=new
+Min_DB;$k=$b->credentials();if($h->connect($k[0],$k[1],$k[2])){$h->set_charset(charset($h));$h->query("SET sql_quote_show_create = 1, autocommit = 1");return$h;}$J=$h->error;if(function_exists('iconv')&&!is_utf8($J)&&strlen($mg=iconv("windows-1250","utf-8",$J))>strlen($J))$J=$mg;return$J;}function
+get_databases($Lc){global$h;$J=get_session("dbs");if($J===null){$H=($h->server_info>=5?"SELECT SCHEMA_NAME FROM information_schema.SCHEMATA":"SHOW DATABASES");$J=($Lc?slow_query($H):get_vals($H));restart_session();set_session("dbs",$J);stop_session();}return$J;}function
+limit($H,$Z,$z,$D=0,$vg=" "){return" $H$Z".($z!==null?$vg."LIMIT $z".($D?" OFFSET $D":""):"");}function
+limit1($H,$Z){return
+limit($H,$Z,1);}function
+db_collation($m,$nb){global$h;$J=null;$j=$h->result("SHOW CREATE DATABASE ".idf_escape($m),1);if(preg_match('~ COLLATE ([^ ]+)~',$j,$B))$J=$B[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$j,$B))$J=$nb[$B[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$h;return$h->result("SELECT USER()");}function
+tables_list(){global$h;return
+get_key_vals($h->server_info>=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($C="",$Ec=false){global$h;$J=array();foreach(get_rows($Ec&&$h->server_info>=5?"SELECT TABLE_NAME AS Name, Engine, TABLE_COMMENT AS Comment FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ".($C!=""?"AND TABLE_NAME = ".q($C):"ORDER BY Name"):"SHOW TABLE STATUS".($C!=""?" LIKE ".q(addcslashes($C,"%_\\")):""))as$K){if($K["Engine"]=="InnoDB")$K["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\\1',$K["Comment"]);if(!isset($K["Engine"]))$K["Comment"]="";if($C!="")return$K;$J[$K["Name"]]=$K;}return$J;}function
+is_view($R){return$R["Engine"]===null;}function
+fk_support($R){global$h;return
+preg_match('~InnoDB|IBMDB2I~i',$R["Engine"])||(preg_match('~NDB~i',$R["Engine"])&&version_compare($h->server_info,'5.6')>=0);}function
+fields($Q){$J=array();foreach(get_rows("SHOW FULL COLUMNS FROM ".table($Q))as$K){preg_match('~^([^( ]+)(?:\\((.+)\\))?( unsigned)?( zerofill)?$~',$K["Type"],$B);$J[$K["Field"]]=array("field"=>$K["Field"],"full_type"=>$K["Type"],"type"=>$B[1],"length"=>$B[2],"unsigned"=>ltrim($B[3].$B[4]),"default"=>($K["Default"]!=""||preg_match("~char|set~",$B[1])?$K["Default"]:null),"null"=>($K["Null"]=="YES"),"auto_increment"=>($K["Extra"]=="auto_increment"),"on_update"=>(preg_match('~^on update (.+)~i',$K["Extra"],$B)?$B[1]:""),"collation"=>$K["Collation"],"privileges"=>array_flip(preg_split('~, *~',$K["Privileges"])),"comment"=>$K["Comment"],"primary"=>($K["Key"]=="PRI"),);}return$J;}function
+indexes($Q,$i=null){$J=array();foreach(get_rows("SHOW INDEX FROM ".table($Q),$i)as$K){$J[$K["Key_name"]]["type"]=($K["Key_name"]=="PRIMARY"?"PRIMARY":($K["Index_type"]=="FULLTEXT"?"FULLTEXT":($K["Non_unique"]?"INDEX":"UNIQUE")));$J[$K["Key_name"]]["columns"][]=$K["Column_name"];$J[$K["Key_name"]]["lengths"][]=$K["Sub_part"];$J[$K["Key_name"]]["descs"][]=null;}return$J;}function
+foreign_keys($Q){global$h,$Ne;static$tf='`(?:[^`]|``)+`';$J=array();$Bb=$h->result("SHOW CREATE TABLE ".table($Q),1);if($Bb){preg_match_all("~CONSTRAINT ($tf) FOREIGN KEY ?\\(((?:$tf,? ?)+)\\) REFERENCES ($tf)(?:\\.($tf))? \\(((?:$tf,? ?)+)\\)(?: ON DELETE ($Ne))?(?: ON UPDATE ($Ne))?~",$Bb,$ee,PREG_SET_ORDER);foreach($ee
+as$B){preg_match_all("~$tf~",$B[2],$Dg);preg_match_all("~$tf~",$B[5],$bh);$J[idf_unescape($B[1])]=array("db"=>idf_unescape($B[4]!=""?$B[3]:$B[4]),"table"=>idf_unescape($B[4]!=""?$B[4]:$B[3]),"source"=>array_map('idf_unescape',$Dg[0]),"target"=>array_map('idf_unescape',$bh[0]),"on_delete"=>($B[6]?$B[6]:"RESTRICT"),"on_update"=>($B[7]?$B[7]:"RESTRICT"),);}}return$J;}function
+view($C){global$h;return
+array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\\s+AS\\s+~isU','',$h->result("SHOW CREATE VIEW ".table($C),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$x=>$X)asort($J[$x]);return$J;}function
+information_schema($m){global$h;return($h->server_info>=5&&$m=="information_schema")||($h->server_info>=5.5&&$m=="performance_schema");}function
+error(){global$h;return
+h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",$h->error));}function
+error_line(){global$h;if(preg_match('~ at line ([0-9]+)$~',$h->error,$Yf))return$Yf[1]-1;}function
+create_database($m,$d){return
+queries("CREATE DATABASE ".idf_escape($m).($d?" COLLATE ".q($d):""));}function
+drop_databases($l){$J=apply_queries("DROP DATABASE",$l,'idf_escape');restart_session();set_session("dbs",null);return$J;}function
+rename_database($C,$d){$J=false;if(create_database($C,$d)){$ag=array();foreach(tables_list()as$Q=>$U)$ag[]=table($Q)." TO ".idf_escape($C).".".table($Q);$J=(!$ag||queries("RENAME TABLE ".implode(", ",$ag)));if($J)queries("DROP DATABASE ".idf_escape(DB));restart_session();set_session("dbs",null);}return$J;}function
+auto_increment(){$Ma=" PRIMARY KEY";if($_GET["create"]!=""&&$_POST["auto_increment_col"]){foreach(indexes($_GET["create"])as$u){if(in_array($_POST["fields"][$_POST["auto_increment_col"]]["orig"],$u["columns"],true)){$Ma="";break;}if($u["type"]=="PRIMARY")$Ma=" UNIQUE";}}return" AUTO_INCREMENT$Ma";}function
+alter_table($Q,$C,$p,$Mc,$rb,$nc,$d,$La,$of){$c=array();foreach($p
+as$o)$c[]=($o[1]?($Q!=""?($o[0]!=""?"CHANGE ".idf_escape($o[0]):"ADD"):" ")." ".implode($o[1]).($Q!=""?$o[2]:""):"DROP ".idf_escape($o[0]));$c=array_merge($c,$Mc);$Ig=($rb!==null?" COMMENT=".q($rb):"").($nc?" ENGINE=".q($nc):"").($d?" COLLATE ".q($d):"").($La!=""?" AUTO_INCREMENT=$La":"");if($Q=="")return
+queries("CREATE TABLE ".table($C)." (\n".implode(",\n",$c)."\n)$Ig$of");if($Q!=$C)$c[]="RENAME TO ".table($C);if($Ig)$c[]=ltrim($Ig);return($c||$of?queries("ALTER TABLE ".table($Q)."\n".implode(",\n",$c).$of):true);}function
+alter_indexes($Q,$c){foreach($c
+as$x=>$X)$c[$x]=($X[2]=="DROP"?"\nDROP INDEX ".idf_escape($X[1]):"\nADD $X[0] ".($X[0]=="PRIMARY"?"KEY ":"").($X[1]!=""?idf_escape($X[1])." ":"")."(".implode(", ",$X[2]).")");return
+queries("ALTER TABLE ".table($Q).implode(",",$c));}function
+truncate_tables($S){return
+apply_queries("TRUNCATE TABLE",$S);}function
+drop_views($Yh){return
+queries("DROP VIEW ".implode(", ",array_map('table',$Yh)));}function
+drop_tables($S){return
+queries("DROP TABLE ".implode(", ",array_map('table',$S)));}function
+move_tables($S,$Yh,$bh){$ag=array();foreach(array_merge($S,$Yh)as$Q)$ag[]=table($Q)." TO ".idf_escape($bh).".".table($Q);return
+queries("RENAME TABLE ".implode(", ",$ag));}function
+copy_tables($S,$Yh,$bh){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($S
+as$Q){$C=($bh==DB?table("copy_$Q"):idf_escape($bh).".".table($Q));if(!queries("\nDROP TABLE IF EXISTS $C")||!queries("CREATE TABLE $C LIKE ".table($Q))||!queries("INSERT INTO $C SELECT * FROM ".table($Q)))return
+false;}foreach($Yh
+as$Q){$C=($bh==DB?table("copy_$Q"):idf_escape($bh).".".table($Q));$Xh=view($Q);if(!queries("DROP VIEW IF EXISTS $C")||!queries("CREATE VIEW $C AS $Xh[select]"))return
+false;}return
+true;}function
+trigger($C){if($C=="")return
+array();$L=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($C));return
+reset($L);}function
+triggers($Q){$J=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")))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($C,$U){global$h,$pc,$ud,$Bh;$Ca=array("bool","boolean","integer","double precision","real","dec","numeric","fixed","national char","national varchar");$Ah="((".implode("|",array_merge(array_keys($Bh),$Ca)).")\\b(?:\\s*\\(((?:[^'\")]|$pc)++)\\))?\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s,]+)['\"]?)?";$tf="\\s*(".($U=="FUNCTION"?"":$ud).")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$Ah";$j=$h->result("SHOW CREATE $U ".idf_escape($C),2);preg_match("~\\(((?:$tf\\s*,?)*)\\)\\s*".($U=="FUNCTION"?"RETURNS\\s+$Ah\\s+":"")."(.*)~is",$j,$B);$p=array();preg_match_all("~$tf\\s*,?~is",$B[1],$ee,PREG_SET_ORDER);foreach($ee
+as$jf){$C=str_replace("``","`",$jf[2]).$jf[3];$p[]=array("field"=>$C,"type"=>strtolower($jf[5]),"length"=>preg_replace_callback("~$pc~s",'normalize_enum',$jf[6]),"unsigned"=>strtolower(preg_replace('~\\s+~',' ',trim("$jf[8] $jf[7]"))),"null"=>1,"full_type"=>$jf[4],"inout"=>strtoupper($jf[1]),"collation"=>strtolower($jf[9]),);}if($U!="FUNCTION")return
+array("fields"=>$p,"definition"=>$B[11]);return
+array("fields"=>$p,"returns"=>array("type"=>$B[12],"length"=>$B[13],"unsigned"=>$B[15],"collation"=>$B[16]),"definition"=>$B[17],"language"=>"SQL",);}function
+routines(){return
+get_rows("SELECT ROUTINE_NAME, ROUTINE_TYPE, DTD_IDENTIFIER FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ".q(DB));}function
+routine_languages(){return
+array();}function
+last_id(){global$h;return$h->result("SELECT LAST_INSERT_ID()");}function
+explain($h,$H){return$h->query("EXPLAIN ".($h->server_info>=5.1?"PARTITIONS ":"").$H);}function
+found_rows($R,$Z){return($Z||$R["Engine"]!="InnoDB"?null:$R["Rows"]);}function
+types(){return
+array();}function
+schemas(){return
+array();}function
+get_schema(){return"";}function
+set_schema($og){return
+true;}function
+create_sql($Q,$La){global$h;$J=$h->result("SHOW CREATE TABLE ".table($Q),1);if(!$La)$J=preg_replace('~ AUTO_INCREMENT=\\d+~','',$J);return$J;}function
+truncate_sql($Q){return"TRUNCATE ".table($Q);}function
+use_sql($Gb){return"USE ".idf_escape($Gb);}function
+trigger_sql($Q,$Mg){$J="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")),null,"-- ")as$K)$J.="\n".($Mg=='CREATE+ALTER'?"DROP TRIGGER IF EXISTS ".idf_escape($K["Trigger"]).";;\n":"")."CREATE 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($o){if(preg_match("~binary~",$o["type"]))return"HEX(".idf_escape($o["field"]).")";if($o["type"]=="bit")return"BIN(".idf_escape($o["field"])." + 0)";if(preg_match("~geometry|point|linestring|polygon~",$o["type"]))return"AsWKT(".idf_escape($o["field"]).")";}function
+unconvert_field($o,$J){if(preg_match("~binary~",$o["type"]))$J="UNHEX($J)";if($o["type"]=="bit")$J="CONV($J, 2, 10) + 0";if(preg_match("~geometry|point|linestring|polygon~",$o["type"]))$J="GeomFromText($J)";return$J;}function
+support($Fc){global$h;return!preg_match("~scheme|sequence|type|view_trigger".($h->server_info<5.1?"|event|partitioning".($h->server_info<5?"|routine|trigger|view":""):"")."~",$Fc);}$w="sql";$Bh=array();$Lg=array();foreach(array(lang(24)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(25)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(26)=>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$x=>$X){$Bh+=$X;$Lg[$x]=array_keys($X);}$Ih=array("unsigned","zerofill","unsigned zerofill");$Se=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");$Uc=array("char_length","date","from_unixtime","lower","round","sec_to_time","time_to_sec","upper");$Zc=array("avg","count","count distinct","group_concat","max","min","sum");$fc=array(array("char"=>"md5/sha1/password/encrypt/uuid","binary"=>"md5/sha1","date|time"=>"now",),array("(^|[^o])int|float|double|decimal"=>"+/-","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.2.3";class
+Adminer{var$operators;function
+name(){return"Adminer ";}function
+credentials(){return
+array(SERVER,$_GET["username"],get_password());}function
+permanentLogin($j=false){return
+password_file($j);}function
+bruteForceKey(){return$_SERVER["REMOTE_ADDR"];}function
+database(){return
+DB;}function
+databases($Lc=true){return
+get_databases($Lc);}function
+schemas(){return
+schemas();}function
+queryTimeout(){return
+5;}function
+headers(){return
+true;}function
+head(){return
+true;}function
+loginForm(){global$Xb;echo'
+',lang(31),' ',html_select("auth[driver]",$Xb,DRIVER,"loginDriver(this);"),' ',lang(32),'
+',lang(33),'
+',lang(34),'
+',lang(35),' " autocapitalize="off">
+
+
+ \n",checkbox("auth[permanent]",1,$_COOKIE["adminer_permanent"],lang(37))."\n";}function
+login($ae,$G){return
+true;}function
+tableName($Sg){return
+h($Sg["Name"]);}function
+fieldName($o,$Xe=0){return''.h($o["field"]).' ';}function
+selectLinks($Sg,$O=""){echo'';$Zd=array("select"=>lang(38));if(support("table")||support("indexes"))$Zd["table"]=lang(39);if(support("table")){if(is_view($Sg))$Zd["view"]=lang(40);else$Zd["create"]=lang(41);}if($O!==null)$Zd["edit"]=lang(42);foreach($Zd
+as$x=>$X)echo" $X ";echo"\n";}function
+foreignKeys($Q){return
+foreign_keys($Q);}function
+backwardKeys($Q,$Rg){return
+array();}function
+backwardKeysPrint($Oa,$K){}function
+selectQuery($H,$ih){global$w;return"
".h(str_replace("\n"," ",$H))." ($ih) ".(support("sql")?" ".lang(10)." ":"")."
";}function
+rowDescription($Q){return"";}function
+rowDescriptions($L,$Nc){return$L;}function
+selectLink($X,$o){}function
+selectVal($X,$_,$o,$ef){$J=($X===null?"NULL ":(preg_match("~char|binary~",$o["type"])&&!preg_match("~var~",$o["type"])?"$X":$X));if(preg_match('~blob|bytea|raw|file~',$o["type"])&&!is_utf8($X))$J=lang(43,strlen($ef));return($_?"$J ":$J);}function
+editVal($X,$o){return$X;}function
+selectColumnsPrint($M,$f){global$Uc,$Zc;print_fieldset("select",lang(44),$M);$s=0;$M[""]=array();foreach($M
+as$x=>$X){$X=$_GET["columns"][$x];$e=select_input(" name='columns[$s][col]' onchange='".($x!==""?"selectFieldChange(this.form)":"selectAddRow(this)").";'",$f,$X["col"]);echo"".($Uc||$Zc?"".optionlist(array(-1=>"")+array_filter(array(lang(45)=>$Uc,lang(46)=>$Zc)),$X["fun"])." "."($e)":$e)."
\n";$s++;}echo"\n";}function
+selectSearchPrint($Z,$f,$v){print_fieldset("search",lang(47),$Z);foreach($v
+as$s=>$u){if($u["type"]=="FULLTEXT"){echo"(".implode(" , ",array_map('h',$u["columns"]))." ) AGAINST"," ",checkbox("boolean[$s]",1,isset($_GET["boolean"][$s]),"BOOL")," \n";}}$_GET["where"]=(array)$_GET["where"];reset($_GET["where"]);$Za="this.nextSibling.onchange();";for($s=0;$s<=count($_GET["where"]);$s++){list(,$X)=each($_GET["where"]);if(!$X||("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators))){echo"".select_input(" name='where[$s][col]' onchange='$Za'",$f,$X["col"],"(".lang(48).")"),html_select("where[$s][op]",$this->operators,$X["op"],$Za),"
\n";}}echo"\n";}function
+selectOrderPrint($Xe,$f,$v){print_fieldset("sort",lang(49),$Xe);$s=0;foreach((array)$_GET["order"]as$x=>$X){if($X!=""){echo"".select_input(" name='order[$s]' onchange='selectFieldChange(this.form);'",$f,$X),checkbox("desc[$s]",1,isset($_GET["desc"][$x]),lang(50))."
\n";$s++;}}echo"".select_input(" name='order[$s]' onchange='selectAddRow(this);'",$f),checkbox("desc[$s]",1,false,lang(50))."
\n","\n";}function
+selectLimitPrint($z){echo"".lang(51)." ";echo" ","
\n";}function
+selectLengthPrint($hh){if($hh!==null){echo"".lang(52)." "," ","
\n";}}function
+selectActionPrint($v){echo"".lang(53)." "," "," ","\n","
\n";}function
+selectCommandPrint(){return!information_schema(DB);}function
+selectImportPrint(){return!information_schema(DB);}function
+selectEmailPrint($kc,$f){}function
+selectColumnsProcess($f,$v){global$Uc,$Zc;$M=array();$Xc=array();foreach((array)$_GET["columns"]as$x=>$X){if($X["fun"]=="count"||($X["col"]!=""&&(!$X["fun"]||in_array($X["fun"],$Uc)||in_array($X["fun"],$Zc)))){$M[$x]=apply_sql_function($X["fun"],($X["col"]!=""?idf_escape($X["col"]):"*"));if(!in_array($X["fun"],$Zc))$Xc[]=$M[$x];}}return
+array($M,$Xc);}function
+selectSearchProcess($p,$v){global$h,$w;$J=array();foreach($v
+as$s=>$u){if($u["type"]=="FULLTEXT"&&$_GET["fulltext"][$s]!="")$J[]="MATCH (".implode(", ",array_map('idf_escape',$u["columns"])).") AGAINST (".q($_GET["fulltext"][$s]).(isset($_GET["boolean"][$s])?" IN BOOLEAN MODE":"").")";}foreach((array)$_GET["where"]as$X){if("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators)){$tb=" $X[op]";if(preg_match('~IN$~',$X["op"])){$nd=process_length($X["val"]);$tb.=" ".($nd!=""?$nd:"(NULL)");}elseif($X["op"]=="SQL")$tb=" $X[val]";elseif($X["op"]=="LIKE %%")$tb=" LIKE ".$this->processInput($p[$X["col"]],"%$X[val]%");elseif($X["op"]=="ILIKE %%")$tb=" ILIKE ".$this->processInput($p[$X["col"]],"%$X[val]%");elseif(!preg_match('~NULL$~',$X["op"]))$tb.=" ".$this->processInput($p[$X["col"]],$X["val"]);if($X["col"]!="")$J[]=idf_escape($X["col"]).$tb;else{$ob=array();foreach($p
+as$C=>$o){$Cd=preg_match('~char|text|enum|set~',$o["type"]);if((is_numeric($X["val"])||!preg_match('~(^|[^o])int|float|double|decimal|bit~',$o["type"]))&&(!preg_match("~[\x80-\xFF]~",$X["val"])||$Cd)){$C=idf_escape($C);$ob[]=($w=="sql"&&$Cd&&!preg_match("~^utf8_~",$o["collation"])?"CONVERT($C USING ".charset($h).")":$C);}}$J[]=($ob?"(".implode("$tb OR ",$ob)."$tb)":"0");}}}return$J;}function
+selectOrderProcess($p,$v){$J=array();foreach((array)$_GET["order"]as$x=>$X){if($X!="")$J[]=(preg_match('~^((COUNT\\(DISTINCT |[A-Z0-9_]+\\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\\)|COUNT\\(\\*\\))$~',$X)?$X:idf_escape($X)).(isset($_GET["desc"][$x])?" 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,$Nc){return
+false;}function
+selectQueryBuild($M,$Z,$Xc,$Xe,$z,$E){return"";}function
+messageQuery($H,$ih){global$w;restart_session();$ed=&get_session("queries");$jd="sql-".count($ed[$_GET["db"]]);if(strlen($H)>1e6)$H=preg_replace('~[\x80-\xFF]+$~','',substr($H,0,1e6))."\n...";$ed[$_GET["db"]][]=array($H,time(),$ih);return" ".@date("H:i:s")." ".lang(55)." "."".shorten_utf8($H,1000).''.($ih?"
($ih) ":'').(support("sql")?'
'.lang(10).' ':'').'
';}function
+editFunctions($o){global$fc;$J=($o["null"]?"NULL/":"");foreach($fc
+as$x=>$Uc){if(!$x||(!isset($_GET["call"])&&(isset($_GET["select"])||where($_GET)))){foreach($Uc
+as$tf=>$X){if(!$tf||preg_match("~$tf~",$o["type"]))$J.="/$X";}if($x&&!preg_match('~set|blob|bytea|raw|file~',$o["type"]))$J.="/SQL";}}if($o["auto_increment"]&&!isset($_GET["select"])&&!where($_GET))$J=lang(56);return
+explode("/",$J);}function
+editInput($Q,$o,$Ja,$Y){if($o["type"]=="enum")return(isset($_GET["select"])?"".lang(8)." ":"").($o["null"]?"NULL ":"").enum_input("radio",$Ja,$o,$Y,0);return"";}function
+processInput($o,$Y,$r=""){if($r=="SQL")return$Y;$C=$o["field"];$J=q($Y);if(preg_match('~^(now|getdate|uuid)$~',$r))$J="$r()";elseif(preg_match('~^current_(date|timestamp)$~',$r))$J=$r;elseif(preg_match('~^([+-]|\\|\\|)$~',$r))$J=idf_escape($C)." $r $J";elseif(preg_match('~^[+-] interval$~',$r))$J=idf_escape($C)." $r ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+$~i",$Y)?$Y:$J);elseif(preg_match('~^(addtime|subtime|concat)$~',$r))$J="$r(".idf_escape($C).", $J)";elseif(preg_match('~^(md5|sha1|password|encrypt)$~',$r))$J="$r($J)";return
+unconvert_field($o,$J);}function
+dumpOutput(){$J=array('text'=>lang(57),'file'=>lang(58));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($Q,$Mg,$Dd=0){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($Mg)dump_csv(array_keys(fields($Q)));}else{if($Dd==2){$p=array();foreach(fields($Q)as$C=>$o)$p[]=idf_escape($C)." $o[full_type]";$j="CREATE TABLE ".table($Q)." (".implode(", ",$p).")";}else$j=create_sql($Q,$_POST["auto_increment"]);set_utf8mb4($j);if($Mg&&$j){if($Mg=="DROP+CREATE"||$Dd==1)echo"DROP ".($Dd==2?"VIEW":"TABLE")." IF EXISTS ".table($Q).";\n";if($Dd==1)$j=remove_definer($j);echo"$j;\n\n";}}}function
+dumpData($Q,$Mg,$H){global$h,$w;$ge=($w=="sqlite"?0:1048576);if($Mg){if($_POST["format"]=="sql"){if($Mg=="TRUNCATE+INSERT")echo
+truncate_sql($Q).";\n";$p=fields($Q);}$I=$h->query($H,1);if($I){$wd="";$Xa="";$Kd=array();$Og="";$Gc=($Q!=''?'fetch_assoc':'fetch_row');while($K=$I->$Gc()){if(!$Kd){$Th=array();foreach($K
+as$X){$o=$I->fetch_field();$Kd[]=$o->name;$x=idf_escape($o->name);$Th[]="$x = VALUES($x)";}$Og=($Mg=="INSERT+UPDATE"?"\nON DUPLICATE KEY UPDATE ".implode(", ",$Th):"").";\n";}if($_POST["format"]!="sql"){if($Mg=="table"){dump_csv($Kd);$Mg="INSERT";}dump_csv($K);}else{if(!$wd)$wd="INSERT INTO ".table($Q)." (".implode(", ",array_map('idf_escape',$Kd)).") VALUES";foreach($K
+as$x=>$X){$o=$p[$x];$K[$x]=($X!==null?unconvert_field($o,preg_match('~(^|[^o])int|float|double|decimal~',$o["type"])&&$X!=''?$X:q($X)):"NULL");}$mg=($ge?"\n":" ")."(".implode(",\t",$K).")";if(!$Xa)$Xa=$wd.$mg;elseif(strlen($Xa)+4+strlen($mg)+strlen($Og)<$ge)$Xa.=",$mg";else{echo$Xa.$Og;$Xa=$wd.$mg;}}}if($Xa)echo$Xa.$Og;}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",$h->error)."\n";}}function
+dumpFilename($kd){return
+friendly_url($kd!=""?$kd:(SERVER!=""?SERVER:"localhost"));}function
+dumpHeaders($kd,$ve=false){$hf=$_POST["output"];$Ac=(preg_match('~sql~',$_POST["format"])?"sql":($ve?"tar":"csv"));header("Content-Type: ".($hf=="gz"?"application/x-gzip":($Ac=="tar"?"application/x-tar":($Ac=="sql"||$hf!="file"?"text/plain":"text/csv")."; charset=utf-8")));if($hf=="gz")ob_start('ob_gzencode',1e6);return$Ac;}function
+homepage(){echo''.($_GET["ns"]==""&&support("database")?''.lang(59)." \n":""),(support("scheme")?"".($_GET["ns"]!=""?lang(60):lang(61))." \n":""),($_GET["ns"]!==""?''.lang(62)." \n":""),(support("privileges")?"".lang(63)." \n":"");return
+true;}function
+navigation($ue){global$ia,$w,$Xb,$h;echo'
+';if($ue=="auth"){$Kc=true;foreach((array)$_SESSION["pwds"]as$Vh=>$zg){foreach($zg
+as$N=>$Qh){foreach($Qh
+as$V=>$G){if($G!==null){if($Kc){echo"\n";$Kc=false;}$Jb=$_SESSION["db"][$Vh][$N][$V];foreach(($Jb?array_keys($Jb):array(""))as$m)echo"($Xb[$Vh]) ".h($V.($N!=""?"@$N":"").($m!=""?" - $m":""))." \n";}}}}}else{if($_GET["ns"]!==""&&!$ue&&DB!=""){$h->select_db(DB);$S=table_status('',true);}if(support("sql")){echo'
+
+';}$this->databasesPrint($ue);if(DB==""||!$ue){echo"
".(support("sql")?"".lang(55)." \n".lang(64)." \n":"")."";if(support("dump"))echo"".lang(65)." \n";}if($_GET["ns"]!==""&&!$ue&&DB!=""){echo'".lang(66)." \n";if(!$S)echo"
".lang(9)."\n";else$this->tablesPrint($S);}}}function
+databasesPrint($ue){global$b,$h;$l=$this->databases();echo'
\n";}function
+tablesPrint($S){echo"\n";foreach($S
+as$Q=>$Ig){echo'".lang(69)." ";$C=$this->tableName($Ig);echo(support("table")||support("indexes")?'$C ":"$C ")." \n";}}}$b=(function_exists('adminer_object')?adminer_object():new
+Adminer);if($b->operators===null)$b->operators=$Se;function
+page_header($lh,$n="",$Wa=array(),$mh=""){global$ca,$ia,$b,$Xb,$w;page_headers();if(is_ajax()&&$n){page_messages($n);exit;}$nh=$lh.($mh!=""?": $mh":"");$oh=strip_tags($nh.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$b->name());echo'
+
+
+
+
+
+
',$oh,'
+
+
+';if($b->head()){echo'
+
+';if(file_exists("adminer.css")){echo'
+';}}echo'
+>
+
+
+
+
+
+';if($Wa!==null){$_=substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1);echo'
'.$Xb[DRIVER].' » ';$_=substr(preg_replace('~\b(db|ns)=[^&]*&~','',ME),0,-1);$N=(SERVER!=""?h(SERVER):lang(32));if($Wa===false)echo"$N\n";else{echo"$N » ";if($_GET["ns"]!=""||(DB!=""&&is_array($Wa)))echo''.h(DB).' » ';if(is_array($Wa)){if($_GET["ns"]!="")echo''.h($_GET["ns"]).' » ';foreach($Wa
+as$x=>$X){$Ob=(is_array($X)?$X[1]:h($X));if($Ob!="")echo"$Ob » ";}}echo"$lh\n";}}echo"
$nh \n","
\n";restart_session();page_messages($n);$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");if($b->headers()){header("X-Frame-Options: deny");header("X-XSS-Protection: 0");}}function
+page_messages($n){$Kh=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$qe=$_SESSION["messages"][$Kh];if($qe){echo"
".implode("
\n
",$qe)."
\n";unset($_SESSION["messages"][$Kh]);}if($n)echo"
$n
\n";}function
+page_footer($ue=""){global$b,$T;echo'
+
+';switch_lang();if($ue!="auth"){echo'
+';}echo'
+
+';}function
+int32($xe){while($xe>=2147483648)$xe-=4294967296;while($xe<=-2147483649)$xe+=4294967296;return(int)$xe;}function
+long2str($W,$ai){$mg='';foreach($W
+as$X)$mg.=pack('V',$X);if($ai)return
+substr($mg,0,end($W));return$mg;}function
+str2long($mg,$ai){$W=array_values(unpack('V*',str_pad($mg,4*ceil(strlen($mg)/4),"\0")));if($ai)$W[]=strlen($mg);return$W;}function
+xxtea_mx($gi,$fi,$Pg,$Gd){return
+int32((($gi>>5&0x7FFFFFF)^$fi<<2)+(($fi>>3&0x1FFFFFFF)^$gi<<4))^int32(($Pg^$fi)+($Gd^$gi));}function
+encrypt_string($Kg,$x){if($Kg=="")return"";$x=array_values(unpack("V*",pack("H*",md5($x))));$W=str2long($Kg,true);$xe=count($W)-1;$gi=$W[$xe];$fi=$W[0];$Lf=floor(6+52/($xe+1));$Pg=0;while($Lf-->0){$Pg=int32($Pg+0x9E3779B9);$ec=$Pg>>2&3;for($if=0;$if<$xe;$if++){$fi=$W[$if+1];$we=xxtea_mx($gi,$fi,$Pg,$x[$if&3^$ec]);$gi=int32($W[$if]+$we);$W[$if]=$gi;}$fi=$W[0];$we=xxtea_mx($gi,$fi,$Pg,$x[$if&3^$ec]);$gi=int32($W[$xe]+$we);$W[$xe]=$gi;}return
+long2str($W,false);}function
+decrypt_string($Kg,$x){if($Kg=="")return"";if(!$x)return
+false;$x=array_values(unpack("V*",pack("H*",md5($x))));$W=str2long($Kg,false);$xe=count($W)-1;$gi=$W[$xe];$fi=$W[0];$Lf=floor(6+52/($xe+1));$Pg=int32($Lf*0x9E3779B9);while($Pg){$ec=$Pg>>2&3;for($if=$xe;$if>0;$if--){$gi=$W[$if-1];$we=xxtea_mx($gi,$fi,$Pg,$x[$if&3^$ec]);$fi=int32($W[$if]-$we);$W[$if]=$fi;}$gi=$W[$xe];$we=xxtea_mx($gi,$fi,$Pg,$x[$if&3^$ec]);$fi=int32($W[0]-$we);$W[0]=$fi;$Pg=int32($Pg-0x9E3779B9);}return
+long2str($W,true);}$h='';$dd=$_SESSION["token"];if(!$dd)$_SESSION["token"]=rand(1,1e6);$T=get_token();$uf=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($x)=explode(":",$X);$uf[$x]=$X;}}function
+add_invalid_login(){global$b;$Ic=get_temp_dir()."/adminer.invalid";$Sc=@fopen($Ic,"r+");if(!$Sc){$Sc=@fopen($Ic,"w");if(!$Sc)return;}flock($Sc,LOCK_EX);$zd=unserialize(stream_get_contents($Sc));$ih=time();if($zd){foreach($zd
+as$_d=>$X){if($X[0]<$ih)unset($zd[$_d]);}}$yd=&$zd[$b->bruteForceKey()];if(!$yd)$yd=array($ih+30*60,0);$yd[1]++;$xg=serialize($zd);rewind($Sc);fwrite($Sc,$xg);ftruncate($Sc,strlen($xg));flock($Sc,LOCK_UN);fclose($Sc);}$Ka=$_POST["auth"];if($Ka){$zd=unserialize(@file_get_contents(get_temp_dir()."/adminer.invalid"));$yd=$zd[$b->bruteForceKey()];$Ce=($yd[1]>30?$yd[0]-time():0);if($Ce>0)auth_error(lang(73,ceil($Ce/60)));session_regenerate_id();$Vh=$Ka["driver"];$N=$Ka["server"];$V=$Ka["username"];$G=(string)$Ka["password"];$m=$Ka["db"];set_password($Vh,$N,$V,$G);$_SESSION["db"][$Vh][$N][$V][$m]=true;if($Ka["permanent"]){$x=base64_encode($Vh)."-".base64_encode($N)."-".base64_encode($V)."-".base64_encode($m);$Ff=$b->permanentLogin(true);$uf[$x]="$x:".base64_encode($Ff?encrypt_string($G,$Ff):"");cookie("adminer_permanent",implode(" ",$uf));}if(count($_POST)==1||DRIVER!=$Vh||SERVER!=$N||$_GET["username"]!==$V||DB!=$m)redirect(auth_url($Vh,$N,$V,$m));}elseif($_POST["logout"]){if($dd&&!verify_token()){page_header(lang(72),lang(74));page_footer("db");exit;}else{foreach(array("pwds","db","dbs","queries")as$x)set_session($x,null);unset_permanent();redirect(substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1),lang(75));}}elseif($uf&&!$_SESSION["pwds"]){session_regenerate_id();$Ff=$b->permanentLogin();foreach($uf
+as$x=>$X){list(,$hb)=explode(":",$X);list($Vh,$N,$V,$m)=array_map('base64_decode',explode("-",$x));set_password($Vh,$N,$V,decrypt_string(base64_decode($hb),$Ff));$_SESSION["db"][$Vh][$N][$V][$m]=true;}}function
+unset_permanent(){global$uf;foreach($uf
+as$x=>$X){list($Vh,$N,$V,$m)=array_map('base64_decode',explode("-",$x));if($Vh==DRIVER&&$N==SERVER&&$V==$_GET["username"]&&$m==DB)unset($uf[$x]);}cookie("adminer_permanent",implode(" ",$uf));}function
+auth_error($n){global$b,$dd;$n=h($n);$_g=session_name();if(isset($_GET["username"])){header("HTTP/1.1 403 Forbidden");if(($_COOKIE[$_g]||$_GET[$_g])&&!$dd)$n=lang(76);else{add_invalid_login();$G=get_password();if($G!==null){if($G===false)$n.=' '.lang(77,'permanentLogin()');set_password(DRIVER,SERVER,$_GET["username"],null);}unset_permanent();}}if(!$_COOKIE[$_g]&&$_GET[$_g]&&ini_bool("session.use_only_cookies"))$n=lang(78);$F=session_get_cookie_params();cookie("adminer_key",($_COOKIE["adminer_key"]?$_COOKIE["adminer_key"]:rand_string()),$F["lifetime"]);page_header(lang(36),$n,null);echo"\n";page_footer("auth");exit;}if(isset($_GET["username"])){if(!class_exists("Min_DB")){unset($_SESSION["pwds"][DRIVER]);unset_permanent();page_header(lang(79),lang(80,implode(", ",$_f)),false);page_footer("auth");exit;}$h=connect();}$Wb=new
+Min_Driver($h);if(!is_object($h)||!$b->login($_GET["username"],get_password()))auth_error((is_string($h)?$h:lang(81)));if($Ka&&$_POST["token"])$_POST["token"]=$T;$n='';if($_POST){if(!verify_token()){$td="max_input_vars";$ke=ini_get($td);if(extension_loaded("suhosin")){foreach(array("suhosin.request.max_vars","suhosin.post.max_vars")as$x){$X=ini_get($x);if($X&&(!$ke||$X<$ke)){$td=$x;$ke=$X;}}}$n=(!$_POST["token"]&&$ke?lang(82,"'$td'"):lang(74).' '.lang(83));}}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$n=lang(84,"'post_max_size'");if(isset($_GET["sql"]))$n.=' '.lang(85);}if(!ini_bool("session.use_cookies")||@ini_set("session.use_cookies",false)!==false)session_write_close();function
+select($I,$i=null,$af=array(),$z=0){global$w;$Zd=array();$v=array();$f=array();$Ta=array();$Bh=array();$J=array();odd('');for($s=0;(!$z||$s<$z)&&($K=$I->fetch_row());$s++){if(!$s){echo"\n","";for($Fd=0;$Fdfetch_field();$C=$o->name;$Ze=$o->orgtable;$Ye=$o->orgname;$J[$o->table]=$Ze;if($af&&$w=="sql")$Zd[$Fd]=($C=="table"?"table=":($C=="possible_keys"?"indexes=":null));elseif($Ze!=""){if(!isset($v[$Ze])){$v[$Ze]=array();foreach(indexes($Ze,$i)as$u){if($u["type"]=="PRIMARY"){$v[$Ze]=array_flip($u["columns"]);break;}}$f[$Ze]=$v[$Ze];}if(isset($f[$Ze][$Ye])){unset($f[$Ze][$Ye]);$v[$Ze][$Ye]=$Fd;$Zd[$Fd]=$Ze;}}if($o->charsetnr==63)$Ta[$Fd]=true;$Bh[$Fd]=$o->type;echo"name!=$Ye?" title='".h(($Ze!=""?"$Ze.":"").$Ye)."'":"").">".h($C).($af?doc_link(array('sql'=>"explain-output.html#explain_".strtolower($C))):"");}echo" \n";}echo"";foreach($K
+as$x=>$X){if($X===null)$X="NULL ";elseif($Ta[$x]&&!is_utf8($X))$X="".lang(43,strlen($X))." ";elseif(!strlen($X))$X=" ";else{$X=h($X);if($Bh[$x]==254)$X="$X";}if(isset($Zd[$x])&&!$f[$Zd[$x]]){if($af&&$w=="sql"){$Q=$K[array_search("table=",$Zd)];$_=$Zd[$x].urlencode($af[$Q]!=""?$af[$Q]:$Q);}else{$_="edit=".urlencode($Zd[$x]);foreach($v[$Zd[$x]]as$lb=>$Fd)$_.="&where".urlencode("[".bracket_escape($lb)."]")."=".urlencode($K[$Fd]);}$X="$X ";}echo"$X";}}echo($s?"
":"".lang(12))."\n";return$J;}function
+referencable_primary($ug){$J=array();foreach(table_status('',true)as$Tg=>$Q){if($Tg!=$ug&&fk_support($Q)){foreach(fields($Tg)as$o){if($o["primary"]){if($J[$Tg]){unset($J[$Tg]);break;}$J[$Tg]=$o;}}}}return$J;}function
+textarea($C,$Y,$L=10,$ob=80){global$w;echo"";}function
+edit_type($x,$o,$nb,$Oc=array()){global$Lg,$Bh,$Ih,$Ne;$U=$o["type"];echo'
';if($U&&!isset($Bh[$U])&&!isset($Oc[$U]))array_unshift($Lg,$U);if($Oc)$Lg[lang(86)]=$Oc;echo
+optionlist($Lg,$U),'
+';echo"('.lang(87).')'.optionlist($nb,$o["collation"]).' ',($Ih?"'.optionlist($Ih,$o["unsigned"]).' ':''),(isset($o['on_update'])?"'.optionlist(array(""=>"(".lang(88).")","CURRENT_TIMESTAMP"),$o["on_update"]).' ':''),($Oc?"(".lang(89).")".optionlist(explode("|",$Ne),$o["on_delete"])." ":" ");}function
+process_length($y){global$pc;return(preg_match("~^\\s*\\(?\\s*$pc(?:\\s*,\\s*$pc)*+\\s*\\)?\\s*\$~",$y)&&preg_match_all("~$pc~",$y,$ee)?"(".implode(",",$ee[0]).")":preg_replace('~^[0-9].*~','(\0)',preg_replace('~[^-0-9,+()[\]]~','',$y)));}function
+process_type($o,$mb="COLLATE"){global$Ih;return" $o[type]".process_length($o["length"]).(preg_match('~(^|[^o])int|float|double|decimal~',$o["type"])&&in_array($o["unsigned"],$Ih)?" $o[unsigned]":"").(preg_match('~char|text|enum|set~',$o["type"])&&$o["collation"]?" $mb ".q($o["collation"]):"");}function
+process_field($o,$_h){global$w;$Lb=$o["default"];return
+array(idf_escape(trim($o["field"])),process_type($_h),($o["null"]?" NULL":" NOT NULL"),(isset($Lb)?" DEFAULT ".((preg_match('~time~',$o["type"])&&preg_match('~^CURRENT_TIMESTAMP$~i',$Lb))||($w=="sqlite"&&preg_match('~^CURRENT_(TIME|TIMESTAMP|DATE)$~i',$Lb))||($o["type"]=="bit"&&preg_match("~^([0-9]+|b'[0-1]+')\$~",$Lb))||($w=="pgsql"&&preg_match("~^[a-z]+\\(('[^']*')+\\)\$~",$Lb))?$Lb:q($Lb)):""),(preg_match('~timestamp|datetime~',$o["type"])&&$o["on_update"]?" ON UPDATE $o[on_update]":""),(support("comment")&&$o["comment"]!=""?" COMMENT ".q($o["comment"]):""),($o["auto_increment"]?auto_increment():null),);}function
+type_class($U){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$x=>$X){if(preg_match("~$x|$X~",$U))return" class='$x'";}}function
+edit_fields($p,$nb,$U="TABLE",$Oc=array(),$sb=false){global$h,$ud;$p=array_values($p);echo'
+';if($U=="PROCEDURE"){echo' ';}echo' ',($U=="TABLE"?lang(90):lang(91)),' ',lang(92),'
+ ',lang(93),' ',lang(94);if($U=="TABLE"){echo' NULL
+ AI ',doc_link(array('sql'=>"example-auto-increment.html",'sqlite'=>"autoinc.html",'pgsql'=>"datatype.html#DATATYPE-SERIAL",'mssql'=>"ms186775.aspx",)),'',lang(95),(support("comment")?" ".lang(96):"");}echo' '," ",'
+
+
+';foreach($p
+as$s=>$o){$s++;$bf=$o[($_POST?"orig":"field")];$Sb=(isset($_POST["add"][$s-1])||(isset($o["field"])&&!$_POST["drop_col"][$s]))&&(support("drop_col")||$bf=="");echo'
+',($U=="PROCEDURE"?"".html_select("fields[$s][inout]",explode("|",$ud),$o["inout"]):""),' ';if($Sb){echo' 1?'':' editingAddRow(this);" onkeyup="if (this.value) editingAddRow(this);'),'" maxlength="64" autocapitalize="off">';}echo'
+';edit_type("fields[$s]",$o,$nb,$Oc);if($U=="TABLE"){echo' ',checkbox("fields[$s][null]",1,$o["null"],"","","block"),' onclick="var field = this.form['fields[' + this.value + '][field]']; if (!field.value) { field.value = 'id'; field.onchange(); }">
+',(support("comment")?" ":"");}echo"",(support("move_col")?" "." "." ":""),($bf==""||support("drop_col")?" ":""),"\n";}}function
+process_fields(&$p){ksort($p);$D=0;if($_POST["up"]){$Qd=0;foreach($p
+as$x=>$o){if(key($_POST["up"])==$x){unset($p[$x]);array_splice($p,$Qd,0,array($o));break;}if(isset($o["field"]))$Qd=$D;$D++;}}elseif($_POST["down"]){$Qc=false;foreach($p
+as$x=>$o){if(isset($o["field"])&&$Qc){unset($p[key($_POST["down"])]);array_splice($p,$D,0,array($Qc));break;}if(key($_POST["down"])==$x)$Qc=$o;$D++;}}elseif($_POST["add"]){$p=array_values($p);array_splice($p,key($_POST["add"]),0,array(array()));}elseif(!$_POST["drop_col"])return
+false;return
+true;}function
+normalize_enum($B){return"'".str_replace("'","''",addcslashes(stripcslashes(str_replace($B[0][0].$B[0][0],$B[0][0],substr($B[0],1,-1))),'\\'))."'";}function
+grant($Vc,$Hf,$f,$Me){if(!$Hf)return
+true;if($Hf==array("ALL PRIVILEGES","GRANT OPTION"))return($Vc=="GRANT"?queries("$Vc ALL PRIVILEGES$Me WITH GRANT OPTION"):queries("$Vc ALL PRIVILEGES$Me")&&queries("$Vc GRANT OPTION$Me"));return
+queries("$Vc ".preg_replace('~(GRANT OPTION)\\([^)]*\\)~','\\1',implode("$f, ",$Hf).$f).$Me);}function
+drop_create($Yb,$j,$Zb,$fh,$bc,$A,$pe,$ne,$oe,$Je,$_e){if($_POST["drop"])query_redirect($Yb,$A,$pe);elseif($Je=="")query_redirect($j,$A,$oe);elseif($Je!=$_e){$Cb=queries($j);queries_redirect($A,$ne,$Cb&&queries($Yb));if($Cb)queries($Zb);}else
+queries_redirect($A,$ne,queries($fh)&&queries($bc)&&queries($Yb)&&queries($j));}function
+create_trigger($Me,$K){global$w;$kh=" $K[Timing] $K[Event]".($K["Event"]=="UPDATE OF"?" ".idf_escape($K["Of"]):"");return"CREATE TRIGGER ".idf_escape($K["Trigger"]).($w=="mssql"?$Me.$kh:$kh.$Me).rtrim(" $K[Type]\n$K[Statement]",";").";";}function
+create_routine($ig,$K){global$ud;$O=array();$p=(array)$K["fields"];ksort($p);foreach($p
+as$o){if($o["field"]!="")$O[]=(preg_match("~^($ud)\$~",$o["inout"])?"$o[inout] ":"").idf_escape($o["field"]).process_type($o,"CHARACTER SET");}return"CREATE $ig ".idf_escape(trim($K["name"]))." (".implode(", ",$O).")".(isset($_GET["function"])?" RETURNS".process_type($K["returns"],"CHARACTER SET"):"").($K["language"]?" LANGUAGE $K[language]":"").rtrim("\n$K[definition]",";").";";}function
+remove_definer($H){return
+preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\\1)',logged_user()).'`~','\\1',$H);}function
+format_foreign_key($q){global$Ne;return" FOREIGN KEY (".implode(", ",array_map('idf_escape',$q["source"])).") REFERENCES ".table($q["table"])." (".implode(", ",array_map('idf_escape',$q["target"])).")".(preg_match("~^($Ne)\$~",$q["on_delete"])?" ON DELETE $q[on_delete]":"").(preg_match("~^($Ne)\$~",$q["on_update"])?" ON UPDATE $q[on_update]":"");}function
+tar_file($Ic,$ph){$J=pack("a100a8a8a8a12a12",$Ic,644,0,0,decoct($ph->size),decoct(time()));$fb=8*32;for($s=0;$ssend();echo
+str_repeat("\0",511-($ph->size+511)%512);}function
+ini_bytes($td){$X=ini_get($td);switch(strtolower(substr($X,-1))){case'g':$X*=1024;case'm':$X*=1024;case'k':$X*=1024;}return$X;}function
+doc_link($sf){global$w,$h;$Mh=array('sql'=>"http://dev.mysql.com/doc/refman/".substr($h->server_info,0,3)."/en/",'sqlite'=>"http://www.sqlite.org/",'pgsql'=>"http://www.postgresql.org/docs/".substr($h->server_info,0,3)."/static/",'mssql'=>"http://msdn.microsoft.com/library/",'oracle'=>"http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/",);return($sf[$w]?"? ":"");}function
+ob_gzencode($P){return
+gzencode($P);}function
+db_size($m){global$h;if(!$h->select_db($m))return"?";$J=0;foreach(table_status()as$R)$J+=$R["Data_length"]+$R["Index_length"];return
+format_number($J);}function
+set_utf8mb4($j){global$h;static$O=false;if(!$O&&preg_match('~\butf8mb4~i',$j)){$O=true;echo"SET NAMES ".charset($h).";\n\n";}}function
+connect_error(){global$b,$h,$T,$n,$Xb;if(DB!=""){header("HTTP/1.1 404 Not Found");page_header(lang(35).": ".h(DB),lang(101),true);}else{if($_POST["db"]&&!$n)queries_redirect(substr(ME,0,-1),lang(102),drop_databases($_POST["db"]));page_header(lang(103),$n,false);echo"\n";foreach(array('database'=>lang(104),'privileges'=>lang(63),'processlist'=>lang(105),'variables'=>lang(106),'status'=>lang(107),)as$x=>$X){if(support($x))echo"$X \n";}echo"
".lang(108,$Xb[DRIVER],"".h($h->server_info)." ","$h->extension ")."\n","
".lang(109,"".h(logged_user())." ")."\n";$l=$b->databases();if($l){$pg=support("scheme");$nb=collations();echo"
\n";}}page_footer("db");}if(isset($_GET["status"]))$_GET["variables"]=$_GET["status"];if(isset($_GET["import"]))$_GET["sql"]=$_GET["import"];if(!(DB!=""?$h->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(68).": ".h($_GET["ns"]),lang(117),true);page_footer("ns");exit;}}$Ne="RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT";class
+TmpFile{var$handler;var$size;function
+__construct(){$this->handler=tmpfile();}function
+write($xb){$this->size+=strlen($xb);fwrite($this->handler,$xb);}function
+send(){fseek($this->handler,0);fpassthru($this->handler);fclose($this->handler);}}$pc="'(?:''|[^'\\\\]|\\\\.)*'";$ud="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"];$p=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=$Wb->select($a,$M,array(where($_GET,$p)),$M);$K=($I?$I->fetch_row():array());echo$K[0];exit;}elseif(isset($_GET["table"])){$a=$_GET["table"];$p=fields($a);if(!$p)$n=error();$R=table_status1($a,true);page_header(($p&&is_view($R)?lang(118):lang(119)).": ".h($a),$n);$b->selectLinks($R);$rb=$R["Comment"];if($rb!="")echo"".lang(96).": ".h($rb)."\n";if($p){echo"
\n","".lang(120)." ".lang(92).(support("comment")?" ".lang(96):"")." \n";foreach($p
+as$o){echo"".h($o["field"])," ".h($o["full_type"])." ",($o["null"]?" NULL ":""),($o["auto_increment"]?" ".lang(56)." ":""),(isset($o["default"])?" [".h($o["default"])." ] ":""),(support("comment")?"".nbsp($o["comment"]):""),"\n";}echo"
\n";}if(!is_view($R)){if(support("indexes")){echo"".lang(121)." \n";$v=indexes($a);if($v){echo"\n";foreach($v
+as$C=>$u){ksort($u["columns"]);$Ef=array();foreach($u["columns"]as$x=>$X)$Ef[]="".h($X)." ".($u["lengths"][$x]?"(".$u["lengths"][$x].")":"").($u["descs"][$x]?" DESC":"");echo"$u[type] ".implode(", ",$Ef)."\n";}echo"
\n";}echo''.lang(122)." \n";}if(fk_support($R)){echo"
".lang(86)." \n";$Oc=foreign_keys($a);if($Oc){echo"\n","".lang(123)." ".lang(124)." ".lang(89)." ".lang(88)." \n";foreach($Oc
+as$C=>$q){echo"","".implode(" , ",array_map('h',$q["source"]))." ","".($q["db"]!=""?"".h($q["db"])." .":"").($q["ns"]!=""?"".h($q["ns"])." .":"").h($q["table"])." ","(".implode(" , ",array_map('h',$q["target"]))." )","".nbsp($q["on_delete"])."\n"," ".nbsp($q["on_update"])."\n",' '.lang(125).' ';}echo"
\n";}echo''.lang(126)." \n";}}if(support(is_view($R)?"view_trigger":"trigger")){echo"
".lang(127)." \n";$zh=triggers($a);if($zh){echo"\n";foreach($zh
+as$x=>$X)echo"".h($X[0])." ".h($X[1])." ".h($x)." ".lang(125)." \n";echo"
\n";}echo''.lang(128)." \n";}}elseif(isset($_GET["schema"])){page_header(lang(62),"",array(),h(DB.($_GET["ns"]?".$_GET[ns]":"")));$Vg=array();$Wg=array();$ea=($_GET["schema"]?$_GET["schema"]:$_COOKIE["adminer_schema-".str_replace(".","_",DB)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$ea,$ee,PREG_SET_ORDER);foreach($ee
+as$s=>$B){$Vg[$B[1]]=array($B[2],$B[3]);$Wg[]="\n\t'".js_escape($B[1])."': [ $B[2], $B[3] ]";}$rh=0;$Qa=-1;$og=array();$Wf=array();$Ud=array();foreach(table_status('',true)as$Q=>$R){if(is_view($R))continue;$xf=0;$og[$Q]["fields"]=array();foreach(fields($Q)as$C=>$o){$xf+=1.25;$o["pos"]=$xf;$og[$Q]["fields"][$C]=$o;}$og[$Q]["pos"]=($Vg[$Q]?$Vg[$Q]:array($rh,0));foreach($b->foreignKeys($Q)as$X){if(!$X["db"]){$Sd=$Qa;if($Vg[$Q][1]||$Vg[$X["table"]][1])$Sd=min(floatval($Vg[$Q][1]),floatval($Vg[$X["table"]][1]))-1;else$Qa-=.1;while($Ud[(string)$Sd])$Sd-=.0001;$og[$Q]["references"][$X["table"]][(string)$Sd]=array($X["source"],$X["target"]);$Wf[$X["table"]][$Q][(string)$Sd]=$X["target"];$Ud[(string)$Sd]=true;}}$rh=max($rh,$og[$Q]["pos"][0]+2.5+$xf);}echo'
+
+';foreach($og
+as$C=>$Q){echo"
",'
'.h($C)." ";foreach($Q["fields"]as$o){$X='
'.h($o["field"]).' ';echo"
".($o["primary"]?"
$X ":$X);}foreach((array)$Q["references"]as$ch=>$Xf){foreach($Xf
+as$Sd=>$Tf){$Td=$Sd-$Vg[$C][1];$s=0;foreach($Tf[0]as$Dg)echo"\n
";}}foreach((array)$Wf[$C]as$ch=>$Xf){foreach($Xf
+as$Sd=>$f){$Td=$Sd-$Vg[$C][1];$s=0;foreach($f
+as$bh)echo"\n
";}}echo"\n
\n";}foreach($og
+as$C=>$Q){foreach((array)$Q["references"]as$ch=>$Xf){foreach($Xf
+as$Sd=>$Tf){$te=$rh;$ie=-10;foreach($Tf[0]as$x=>$Dg){$yf=$Q["pos"][0]+$Q["fields"][$Dg]["pos"];$zf=$og[$ch]["pos"][0]+$og[$ch]["fields"][$Tf[1][$x]]["pos"];$te=min($te,$yf,$zf);$ie=max($ie,$yf,$zf);}echo"
\n";}}}echo'
+',lang(129),'
+';}elseif(isset($_GET["dump"])){$a=$_GET["dump"];if($_POST&&!$n){$_b="";foreach(array("output","format","db_style","routines","events","table_style","auto_increment","triggers","data_style")as$x)$_b.="&$x=".urlencode($_POST[$x]);cookie("adminer_export",substr($_b,1));$S=array_flip((array)$_POST["tables"])+array_flip((array)$_POST["data"]);$Ac=dump_headers((count($S)==1?key($S):DB),(DB==""||count($S)>1));$Bd=preg_match('~sql~',$_POST["format"]);if($Bd){echo"-- Adminer $ia ".$Xb[DRIVER]." dump\n\n";if($w=="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';
+":"")."
+";$h->query("SET time_zone = '+00:00';");}}$Mg=$_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($h->select_db($m)){if($Bd&&preg_match('~CREATE~',$Mg)&&($j=$h->result("SHOW CREATE DATABASE ".idf_escape($m),1))){set_utf8mb4($j);if($Mg=="DROP+CREATE")echo"DROP DATABASE IF EXISTS ".idf_escape($m).";\n";echo"$j;\n";}if($Bd){if($Mg)echo
+use_sql($m).";\n\n";$gf="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$ig){foreach(get_rows("SHOW $ig STATUS WHERE Db = ".q($m),null,"-- ")as$K){$j=remove_definer($h->result("SHOW CREATE $ig ".idf_escape($K["Name"]),2));set_utf8mb4($j);$gf.=($Mg!='DROP+CREATE'?"DROP $ig IF EXISTS ".idf_escape($K["Name"]).";;\n":"")."$j;;\n\n";}}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$K){$j=remove_definer($h->result("SHOW CREATE EVENT ".idf_escape($K["Name"]),3));set_utf8mb4($j);$gf.=($Mg!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($K["Name"]).";;\n":"")."$j;;\n\n";}}if($gf)echo"DELIMITER ;;\n\n$gf"."DELIMITER ;\n\n";}if($_POST["table_style"]||$_POST["data_style"]){$Yh=array();foreach(table_status('',true)as$C=>$R){$Q=(DB==""||in_array($C,(array)$_POST["tables"]));$Eb=(DB==""||in_array($C,(array)$_POST["data"]));if($Q||$Eb){if($Ac=="tar"){$ph=new
+TmpFile;ob_start(array($ph,'write'),1e5);}$b->dumpTable($C,($Q?$_POST["table_style"]:""),(is_view($R)?2:0));if(is_view($R))$Yh[]=$C;elseif($Eb){$p=fields($C);$b->dumpData($C,$_POST["data_style"],"SELECT *".convert_fields($p,$p)." FROM ".table($C));}if($Bd&&$_POST["triggers"]&&$Q&&($zh=trigger_sql($C,$_POST["table_style"])))echo"\nDELIMITER ;;\n$zh\nDELIMITER ;\n";if($Ac=="tar"){ob_end_flush();tar_file((DB!=""?"":"$m/")."$C.csv",$ph);}elseif($Bd)echo"\n";}}foreach($Yh
+as$Xh)$b->dumpTable($Xh,$_POST["table_style"],1);if($Ac=="tar")echo
+pack("x512");}}}if($Bd)echo"-- ".$h->result("SELECT NOW()")."\n";exit;}page_header(lang(65),$n,($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),h(DB));echo'
+
+';$Kc=true;foreach($Bf
+as$x=>$X){if($x!=""&&$X>1){echo($Kc?"":" ")."".h($x)." ";$Kc=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(63));$I=$h->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$Vc=$I;if(!$I)$I=$h->query("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1) AS User, SUBSTRING_INDEX(CURRENT_USER, '@', -1) AS Host");echo"
\n";hidden_fields_get();echo" \n",($Vc?"":" \n"),"
\n"," \n",''.lang(135)." ";}elseif(isset($_GET["sql"])){if(!$n&&$_POST["export"]){dump_headers("sql");$b->dumpTable("","");$b->dumpData("","table",$_POST["query"]);exit;}restart_session();$fd=&get_session("queries");$ed=&$fd[DB];if(!$n&&$_POST["clear"]){$ed=array();redirect(remove_from_uri("history"));}page_header((isset($_GET["import"])?lang(64):lang(55)),$n);if(!$n&&$_POST){$Sc=false;if(!isset($_GET["import"]))$H=$_POST["query"];elseif($_POST["webfile"]){$Sc=@fopen((file_exists("adminer.sql")?"adminer.sql":"compress.zlib://adminer.sql.gz"),"rb");$H=($Sc?fread($Sc,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){$Lf=$H.(preg_match("~;[ \t\r\n]*\$~",$H)?"":";");if(!$ed||reset(end($ed))!=$Lf){restart_session();$ed[]=array($Lf,time());set_session("queries",$fd);stop_session();}}$Eg="(?:\\s|/\\*.*\\*/|(?:#|-- )[^\n]*\n|--\r?\n)";$Nb=";";$D=0;$mc=true;$i=connect();if(is_object($i)&&DB!="")$i->select_db(DB);$qb=0;$rc=array();$Yd=0;$lf='[\'"'.($w=="sql"?'`#':($w=="sqlite"?'`[':($w=="mssql"?'[':''))).']|/\\*|-- |$'.($w=="pgsql"?'|\\$[^$]*\\$':'');$sh=microtime(true);parse_str($_COOKIE["adminer_export"],$xa);$dc=$b->dumpFormat();unset($dc["sql"]);while($H!=""){if(!$D&&preg_match("~^$Eg*DELIMITER\\s+(\\S+)~i",$H,$B)){$Nb=$B[1];$H=substr($H,strlen($B[0]));}else{preg_match('('.preg_quote($Nb)."\\s*|$lf)",$H,$B,PREG_OFFSET_CAPTURE,$D);list($Qc,$xf)=$B[0];if(!$Qc&&$Sc&&!feof($Sc))$H.=fread($Sc,1e5);else{if(!$Qc&&rtrim($H)=="")break;$D=$xf+strlen($Qc);if($Qc&&rtrim($Qc)!=$Nb){while(preg_match('('.($Qc=='/*'?'\\*/':($Qc=='['?']':(preg_match('~^-- |^#~',$Qc)?"\n":preg_quote($Qc)."|\\\\."))).'|$)s',$H,$B,PREG_OFFSET_CAPTURE,$D)){$mg=$B[0][0];if(!$mg&&$Sc&&!feof($Sc))$H.=fread($Sc,1e5);else{$D=$B[0][1]+strlen($mg);if($mg[0]!="\\")break;}}}else{$mc=false;$Lf=substr($H,0,$xf);$qb++;$Ef="
".shorten_utf8(trim($Lf),1000)." \n";if(!$_POST["only_errors"]){echo$Ef;ob_flush();flush();}$Hg=microtime(true);if($h->multi_query($Lf)&&is_object($i)&&preg_match("~^$Eg*USE\\b~isU",$Lf))$i->query($Lf);do{$I=$h->store_result();$ih=" (".format_time($Hg).") ".(strlen($Lf)<1000?" ".lang(10)." ":"");if($h->error){echo($_POST["only_errors"]?$Ef:""),"".lang(136).($h->errno?" ($h->errno)":"").": ".error()."\n";$rc[]=" $qb ";if($_POST["error_stops"])break
+2;}elseif(is_object($I)){$z=$_POST["limit"];$af=select($I,$i,array(),$z);if(!$_POST["only_errors"]){echo"
\n";$De=$I->num_rows;echo"".($De?($z&&$De>$z?lang(137,$z):"").lang(138,$De):""),$ih;$jd="export-$qb";$_c=", ".lang(65)." : ".html_select("output",$b->dumpOutput(),$xa["output"])." ".html_select("format",$dc,$xa["format"])." "." \n";if($i&&preg_match("~^($Eg|\\()*SELECT\\b~isU",$Lf)&&($zc=explain($i,$Lf))){$jd="explain-$qb";echo", EXPLAIN $_c","
\n";select($zc,$i,$af);echo"
\n";}else
+echo$_c;echo" \n";}}else{if(preg_match("~^$Eg*(CREATE|DROP|ALTER)$Eg+(DATABASE|SCHEMA)\\b~isU",$Lf)){restart_session();set_session("dbs",null);stop_session();}if(!$_POST["only_errors"])echo"".lang(139,$h->affected_rows)."$ih\n";}$Hg=microtime(true);}while($h->next_result());$Yd+=substr_count($Lf.$Qc,"\n");$H=substr($H,$D);$D=0;}}}}if($mc)echo"
".lang(140)."\n";elseif($_POST["only_errors"]){echo"
".lang(141,$qb-count($rc))," (".format_time($sh).") \n";}elseif($rc&&$qb>1)echo"
".lang(136).": ".implode("",$rc)."\n";}else
+echo"
".upload_error($H)."\n";}echo'
+
+';$wc=" ";if(!isset($_GET["import"])){$Lf=$_GET["sql"];if($_POST)$Lf=$_POST["query"];elseif($_GET["history"]=="all")$Lf=$ed;elseif($_GET["history"]!="")$Lf=$ed[$_GET["history"]][0];echo"";textarea("query",$Lf,20);echo($_POST?"":"\n"),"
$wc\n",lang(143).": \n";}else{echo"
".lang(144)." ",(ini_bool("file_uploads")?"SQL (< ".ini_get("upload_max_filesize")."B): \n$wc":lang(145)),"
\n","".lang(146)." ",lang(147,"adminer.sql".(extension_loaded("zlib")?"[.gz]":"").""),' ',"
\n","";}echo
+checkbox("error_stops",1,($_POST?$_POST["error_stops"]:isset($_GET["import"])),lang(149))."\n",checkbox("only_errors",1,($_POST?$_POST["only_errors"]:isset($_GET["import"])),lang(150))."\n"," \n";if(!isset($_GET["import"])&&$ed){print_fieldset("history",lang(151),$_GET["history"]!="");for($X=end($ed);$X;$X=prev($ed)){$x=key($ed);list($Lf,$ih,$hc)=$X;echo''.lang(10)." "." ".@date("H:i:s",$ih)." "." ".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$Lf)))),80,"").($hc?" ($hc) ":"")." \n";}echo" \n","".lang(153)." \n","\n";}echo'
+';}elseif(isset($_GET["edit"])){$a=$_GET["edit"];$p=fields($a);$Z=(isset($_GET["select"])?(count($_POST["check"])==1?where_check($_POST["check"][0],$p):""):where($_GET,$p));$Jh=(isset($_GET["select"])?$_POST["edit"]:$Z);foreach($p
+as$C=>$o){if(!isset($o["privileges"][$Jh?"update":"insert"])||$b->fieldName($o)=="")unset($p[$C]);}if($_POST&&!$n&&!isset($_GET["select"])){$A=$_POST["referer"];if($_POST["insert"])$A=($Jh?null:$_SERVER["REQUEST_URI"]);elseif(!preg_match('~^.+&select=.+$~',$A))$A=ME."select=".urlencode($a);$v=indexes($a);$Eh=unique_array($_GET["where"],$v);$Of="\nWHERE $Z";if(isset($_POST["delete"]))queries_redirect($A,lang(154),$Wb->delete($a,$Of,!$Eh));else{$O=array();foreach($p
+as$C=>$o){$X=process_input($o);if($X!==false&&$X!==null)$O[idf_escape($C)]=$X;}if($Jh){if(!$O)redirect($A);queries_redirect($A,lang(155),$Wb->update($a,$O,$Of,!$Eh));if(is_ajax()){page_headers();page_messages($n);exit;}}else{$I=$Wb->insert($a,$O);$Rd=($I?last_id():0);queries_redirect($A,lang(156,($Rd?" $Rd":"")),$I);}}}$K=null;if($_POST["save"])$K=(array)$_POST["fields"];elseif($Z){$M=array();foreach($p
+as$C=>$o){if(isset($o["privileges"]["select"])){$Ga=convert_field($o);if($_POST["clone"]&&$o["auto_increment"])$Ga="''";if($w=="sql"&&preg_match("~enum|set~",$o["type"]))$Ga="1*".idf_escape($C);$M[]=($Ga?"$Ga AS ":"").idf_escape($C);}}$K=array();if(!support("table"))$M=array("*");if($M){$I=$Wb->select($a,$M,array($Z),$M,array(),(isset($_GET["select"])?2:1));$K=$I->fetch_assoc();if(!$K)$K=false;if(isset($_GET["select"])&&(!$K||$I->fetch_assoc()))$K=null;}}if(!support("table")&&!$p){if(!$Z){$I=$Wb->select($a,array("*"),$Z,array("*"));$K=($I?$I->fetch_assoc():false);if(!$K)$K=array($Wb->primary=>"");}if($K){foreach($K
+as$x=>$X){if(!$Z)$K[$x]=null;$p[$x]=array("field"=>$x,"null"=>($x!=$Wb->primary),"auto_increment"=>($x==$Wb->primary));}}}edit_form($a,$p,$K,$Jh);}elseif(isset($_GET["create"])){$a=$_GET["create"];$mf=array();foreach(array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST')as$x)$mf[$x]=$x;$Vf=referencable_primary($a);$Oc=array();foreach($Vf
+as$Tg=>$o)$Oc[str_replace("`","``",$Tg)."`".str_replace("`","``",$o["field"])]=$Tg;$df=array();$R=array();if($a!=""){$df=fields($a);$R=table_status($a);if(!$R)$n=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"])&&!$n){if($_POST["drop"])queries_redirect(substr(ME,0,-1),lang(157),drop_tables(array($a)));else{$p=array();$Da=array();$Nh=false;$Mc=array();ksort($K["fields"]);$cf=reset($df);$Aa=" FIRST";foreach($K["fields"]as$x=>$o){$q=$Oc[$o["type"]];$_h=($q!==null?$Vf[$q]:$o);if($o["field"]!=""){if(!$o["has_default"])$o["default"]=null;if($x==$K["auto_increment_col"])$o["auto_increment"]=true;$Jf=process_field($o,$_h);$Da[]=array($o["orig"],$Jf,$Aa);if($Jf!=process_field($cf,$cf)){$p[]=array($o["orig"],$Jf,$Aa);if($o["orig"]!=""||$Aa)$Nh=true;}if($q!==null)$Mc[idf_escape($o["field"])]=($a!=""&&$w!="sqlite"?"ADD":" ").format_foreign_key(array('table'=>$Oc[$o["type"]],'source'=>array($o["field"]),'target'=>array($_h["field"]),'on_delete'=>$o["on_delete"],));$Aa=" AFTER ".idf_escape($o["field"]);}elseif($o["orig"]!=""){$Nh=true;$p[]=array($o["orig"]);}if($o["orig"]!=""){$cf=next($df);if(!$cf)$Aa="";}}$of="";if($mf[$K["partition_by"]]){$pf=array();if($K["partition_by"]=='RANGE'||$K["partition_by"]=='LIST'){foreach(array_filter($K["partition_names"])as$x=>$X){$Y=$K["partition_values"][$x];$pf[]="\n PARTITION ".idf_escape($X)." VALUES ".($K["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$of.="\nPARTITION BY $K[partition_by]($K[partition])".($pf?" (".implode(",",$pf)."\n)":($K["partitions"]?" PARTITIONS ".(+$K["partitions"]):""));}elseif(support("partitioning")&&preg_match("~partitioned~",$R["Create_options"]))$of.="\nREMOVE PARTITIONING";$me=lang(158);if($a==""){cookie("adminer_engine",$K["Engine"]);$me=lang(159);}$C=trim($K["name"]);queries_redirect(ME.(support("table")?"table=":"select=").urlencode($C),$me,alter_table($a,$C,($w=="sqlite"&&($Nh||$Mc)?$Da:$p),$Mc,($K["Comment"]!=$R["Comment"]?$K["Comment"]:null),($K["Engine"]&&$K["Engine"]!=$R["Engine"]?$K["Engine"]:""),($K["Collation"]&&$K["Collation"]!=$R["Collation"]?$K["Collation"]:""),($K["Auto_increment"]!=""?number($K["Auto_increment"]):""),$of));}}page_header(($a!=""?lang(41):lang(66)),$n,array("table"=>$a),h($a));if(!$_POST){$K=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($Bh["int"])?"int":(isset($Bh["integer"])?"integer":"")))),"partition_names"=>array(""),);if($a!=""){$K=$R;$K["name"]=$a;$K["fields"]=array();if(!$_GET["auto_increment"])$K["Auto_increment"]="";foreach($df
+as$o){$o["has_default"]=isset($o["default"]);$K["fields"][]=$o;}if(support("partitioning")){$Tc="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($a);$I=$h->query("SELECT PARTITION_METHOD, PARTITION_ORDINAL_POSITION, PARTITION_EXPRESSION $Tc ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($K["partition_by"],$K["partitions"],$K["partition"])=$I->fetch_row();$pf=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $Tc AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$pf[""]="";$K["partition_names"]=array_keys($pf);$K["partition_values"]=array_values($pf);}}}$nb=collations();$oc=engines();foreach($oc
+as$nc){if(!strcasecmp($nc,$K["Engine"])){$K["Engine"]=$nc;break;}}echo'
+
+
+';if(support("columns")||$a==""){echo
+lang(160),':
+';if($a==""&&!$_POST){?>".optionlist(array(""=>"(".lang(161).")")+$oc,$K["Engine"])."":""),' ',($nb&&!preg_match("~sqlite|mssql~",$w)?html_select("Collation",array(""=>"(".lang(87).")")+$nb,$K["Collation"]):""),'
+';}echo'
+';if(support("columns")){echo'
+';$sb=($_POST?$_POST["comments"]:$K["Comment"]!="");if(!$_POST&&!$sb){foreach($K["fields"]as$o){if($o["comment"]!=""){$sb=true;break;}}}edit_fields($K["fields"],$nb,"TABLE",$Oc,$sb);echo'
+
+',lang(56),':
+',checkbox("defaults",1,true,lang(162),"columnShow(this.checked, 5)","jsonly");if(!$_POST["defaults"]){echo'';}echo(support("comment")?" ".lang(96)." ".' ':''),'
+
+';}echo'
+';if($a!=""){echo' ';}if(support("partitioning")){$nf=preg_match('~RANGE|LIST~',$K["partition_by"]);print_fieldset("partition",lang(163),$K["partition_by"]);echo'
+',"".optionlist(array(""=>"")+$mf,$K["partition_by"])." ",'( )
+',lang(164),':
+
+
+';}echo'
+
+';}elseif(isset($_GET["indexes"])){$a=$_GET["indexes"];$pd=array("PRIMARY","UNIQUE","INDEX");$R=table_status($a,true);if(preg_match('~MyISAM|M?aria'.($h->server_info>=5.6?'|InnoDB':'').'~i',$R["Engine"]))$pd[]="FULLTEXT";$v=indexes($a);$Cf=array();if($w=="mongo"){$Cf=$v["_id_"];unset($pd[0]);unset($v["_id_"]);}$K=$_POST;if($_POST&&!$n&&!$_POST["add"]&&!$_POST["drop_col"]){$c=array();foreach($K["indexes"]as$u){$C=$u["name"];if(in_array($u["type"],$pd)){$f=array();$Wd=array();$Pb=array();$O=array();ksort($u["columns"]);foreach($u["columns"]as$x=>$e){if($e!=""){$y=$u["lengths"][$x];$Ob=$u["descs"][$x];$O[]=idf_escape($e).($y?"(".(+$y).")":"").($Ob?" DESC":"");$f[]=$e;$Wd[]=($y?$y:null);$Pb[]=$Ob;}}if($f){$xc=$v[$C];if($xc){ksort($xc["columns"]);ksort($xc["lengths"]);ksort($xc["descs"]);if($u["type"]==$xc["type"]&&array_values($xc["columns"])===$f&&(!$xc["lengths"]||array_values($xc["lengths"])===$Wd)&&array_values($xc["descs"])===$Pb){unset($v[$C]);continue;}}$c[]=array($u["type"],$C,$O);}}}foreach($v
+as$C=>$xc)$c[]=array($xc["type"],$C,"DROP");if(!$c)redirect(ME."table=".urlencode($a));queries_redirect(ME."table=".urlencode($a),lang(167),alter_indexes($a,$c));}page_header(lang(121),$n,array("table"=>$a),h($a));$p=array_keys(fields($a));if($_POST["add"]){foreach($K["indexes"]as$x=>$u){if($u["columns"][count($u["columns"])]!="")$K["indexes"][$x]["columns"][]="";}$u=end($K["indexes"]);if($u["type"]||array_filter($u["columns"],'strlen'))$K["indexes"][]=array("columns"=>array(1=>""));}if(!$K){foreach($v
+as$x=>$u){$v[$x]["name"]=$x;$v[$x]["columns"][]="";}$v[]=array("columns"=>array(1=>""));$K["indexes"]=$v;}echo'
+
+
+
+',lang(168),' ',lang(169),'',lang(170);?>
+
+
+';if($Cf){echo"PRIMARY ";foreach($Cf["columns"]as$x=>$e){echo
+select_input(" disabled",$p,$e)," ".lang(50)." ";}echo" \n";}$Fd=1;foreach($K["indexes"]as$u){if(!$_POST["drop_col"]||$Fd!=key($_POST["drop_col"])){echo" ".html_select("indexes[$Fd][type]",array(-1=>"")+$pd,$u["type"],($Fd==count($K["indexes"])?"indexesAddRow(this);":1))," ";ksort($u["columns"]);$s=1;foreach($u["columns"]as$x=>$e){echo"".select_input(" name='indexes[$Fd][columns][$s]' onchange=\"".($s==count($u["columns"])?"indexesAddColumn":"indexesChangeColumn")."(this, '".h(js_escape($w=="sql"?"":$_GET["indexes"]."_"))."');\"",($p?array_combine($p,$p):$p),$e),($w=="sql"||$w=="mssql"?" ":""),($w!="sql"?checkbox("indexes[$Fd][descs][$s]",1,$u["descs"][$x],lang(50)):"")," ";$s++;}echo" \n"," \n";}$Fd++;}echo'
+
+
+
+
+';}elseif(isset($_GET["database"])){$K=$_POST;if($_POST&&!$n&&!isset($_POST["add_x"])){$C=trim($K["name"]);if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(171),drop_databases(array(DB)));}elseif(DB!==$C){if(DB!=""){$_GET["db"]=$C;queries_redirect(preg_replace('~\bdb=[^&]*&~','',ME)."db=".urlencode($C),lang(172),rename_database($C,$K["collation"]));}else{$l=explode("\n",str_replace("\r","",$C));$Ng=true;$Qd="";foreach($l
+as$m){if(count($l)==1||$m!=""){if(!create_database($m,$K["collation"]))$Ng=false;$Qd=$m;}}restart_session();set_session("dbs",null);queries_redirect(ME."db=".urlencode($Qd),lang(173),$Ng);}}else{if(!$K["collation"])redirect(substr(ME,0,-1));query_redirect("ALTER DATABASE ".idf_escape($C).(preg_match('~^[a-z0-9_]+$~i',$K["collation"])?" COLLATE $K[collation]":""),substr(ME,0,-1),lang(174));}}page_header(DB!=""?lang(59):lang(175),$n,array(),h(DB));$nb=collations();$C=DB;if($_POST)$C=$K["name"];elseif(DB!="")$K["collation"]=db_collation(DB,$nb);elseif($w=="sql"){foreach(get_vals("SHOW GRANTS")as$Vc){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\\.\\*)?~',$Vc,$B)&&$B[1]){$C=stripcslashes(idf_unescape("`$B[2]`"));break;}}}echo'
+
+
+',($_POST["add_x"]||strpos($C,"\n")?''.h($C).' ':' ')."\n".($nb?html_select("collation",array(""=>"(".lang(87).")")+$nb,$K["collation"]).doc_link(array('sql'=>"charset-charsets.html",'mssql'=>"ms187963.aspx",)):"");?>
+
+
+';if(DB!="")echo" \n";elseif(!$_POST["add_x"]&&$_GET["db"]=="")echo" \n";echo'
+
+';}elseif(isset($_GET["scheme"])){$K=$_POST;if($_POST&&!$n){$_=preg_replace('~ns=[^&]*&~','',ME)."ns=";if($_POST["drop"])query_redirect("DROP SCHEMA ".idf_escape($_GET["ns"]),$_,lang(176));else{$C=trim($K["name"]);$_.=urlencode($C);if($_GET["ns"]=="")query_redirect("CREATE SCHEMA ".idf_escape($C),$_,lang(177));elseif($_GET["ns"]!=$C)query_redirect("ALTER SCHEMA ".idf_escape($_GET["ns"])." RENAME TO ".idf_escape($C),$_,lang(178));else
+redirect($_);}}page_header($_GET["ns"]!=""?lang(60):lang(61),$n);if(!$K)$K["name"]=$_GET["ns"];echo'
+
+ " autocapitalize="off">
+
+
+';if($_GET["ns"]!="")echo" \n";echo'
+
+';}elseif(isset($_GET["call"])){$da=$_GET["call"];page_header(lang(179).": ".h($da),$n);$ig=routine($da,(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$nd=array();$gf=array();foreach($ig["fields"]as$s=>$o){if(substr($o["inout"],-3)=="OUT")$gf[$s]="@".idf_escape($o["field"])." AS ".idf_escape($o["field"]);if(!$o["inout"]||substr($o["inout"],0,2)=="IN")$nd[]=$s;}if(!$n&&$_POST){$Ya=array();foreach($ig["fields"]as$x=>$o){if(in_array($x,$nd)){$X=process_input($o);if($X===false)$X="''";if(isset($gf[$x]))$h->query("SET @".idf_escape($o["field"])." = $X");}$Ya[]=(isset($gf[$x])?"@".idf_escape($o["field"]):$X);}$H=(isset($_GET["callf"])?"SELECT":"CALL")." ".idf_escape($da)."(".implode(", ",$Ya).")";echo"".h($H)." ".lang(10)." \n";if(!$h->multi_query($H))echo"
".error()."\n";else{$i=connect();if(is_object($i))$i->select_db(DB);do{$I=$h->store_result();if(is_object($I))select($I,$i);else
+echo"
".lang(180,$h->affected_rows)."\n";}while($h->next_result());if($gf)select($h->query("SELECT ".implode(", ",$gf)));}}echo'
+
+';if($nd){echo"\n";foreach($nd
+as$x){$o=$ig["fields"][$x];$C=$o["field"];echo"".$b->fieldName($o);$Y=$_POST["fields"][$C];if($Y!=""){if($o["type"]=="enum")$Y=+$Y;if($o["type"]=="set")$Y=array_sum($Y);}input($o,$Y,(string)$_POST["function"][$C]);echo"\n";}echo"
\n";}echo'
+
+
+
+';}elseif(isset($_GET["foreign"])){$a=$_GET["foreign"];$C=$_GET["name"];$K=$_POST;if($_POST&&!$n&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){$me=($_POST["drop"]?lang(181):($C!=""?lang(182):lang(183)));$A=ME."table=".urlencode($a);$K["source"]=array_filter($K["source"],'strlen');ksort($K["source"]);$bh=array();foreach($K["source"]as$x=>$X)$bh[$x]=$K["target"][$x];$K["target"]=$bh;if($w=="sqlite")queries_redirect($A,$me,recreate_table($a,$a,array(),array(),array(" $C"=>($_POST["drop"]?"":" ".format_foreign_key($K)))));else{$c="ALTER TABLE ".table($a);$Yb="\nDROP ".($w=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($C);if($_POST["drop"])query_redirect($c.$Yb,$A,$me);else{query_redirect($c.($C!=""?"$Yb,":"")."\nADD".format_foreign_key($K),$A,$me);$n=lang(184)." $n";}}}page_header(lang(185),$n,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($C!=""){$Oc=foreign_keys($a);$K=$Oc[$C];$K["source"][]="";}else{$K["table"]=$a;$K["source"]=array("");}$Dg=array_keys(fields($a));$bh=($a===$K["table"]?$Dg:array_keys(fields($K["table"])));$Uf=array_keys(array_filter(table_status('',true),'fk_support'));echo'
+
+
+';if($K["db"]==""&&$K["ns"]==""){echo
+lang(186),':
+',html_select("table",$Uf,$K["table"],"this.form['change-js'].value = '1'; this.form.submit();"),'
+
+
+',lang(123),' ',lang(124),'
+';$Fd=0;foreach($K["source"]as$x=>$X){echo"","".html_select("source[".(+$x)."]",array(-1=>"")+$Dg,$X,($Fd==count($K["source"])-1?"foreignAddRow(this);":1))," ".html_select("target[".(+$x)."]",$bh,$K["target"][$x]);$Fd++;}echo'
+
+',lang(89),': ',html_select("on_delete",array(-1=>"")+explode("|",$Ne),$K["on_delete"]),' ',lang(88),': ',html_select("on_update",array(-1=>"")+explode("|",$Ne),$K["on_update"]),doc_link(array('sql'=>"innodb-foreign-key-constraints.html",'pgsql'=>"sql-createtable.html#SQL-CREATETABLE-REFERENCES",'mssql'=>"ms174979.aspx",'oracle'=>"clauses002.htm#sthref2903",)),'
+
+
+';}if($C!=""){echo' ';}echo'
+
+';}elseif(isset($_GET["view"])){$a=$_GET["view"];$K=$_POST;if($_POST&&!$n){$C=trim($K["name"]);$Ga=" AS\n$K[select]";$A=ME."table=".urlencode($C);$me=lang(189);if($_GET["materialized"])$U="MATERIALIZED VIEW";else{$U="VIEW";if($w=="pgsql"){$Ig=table_status($C);$U=($Ig?strtoupper($Ig["Engine"]):$U);}}if(!$_POST["drop"]&&$a==$C&&$w!="sqlite"&&$U!="MATERIALIZED VIEW")query_redirect(($w=="mssql"?"ALTER":"CREATE OR REPLACE")." VIEW ".table($C).$Ga,$A,$me);else{$dh=$C."_adminer_".uniqid();drop_create("DROP $U ".table($a),"CREATE $U ".table($C).$Ga,"DROP $U ".table($C),"CREATE $U ".table($dh).$Ga,"DROP $U ".table($dh),($_POST["drop"]?substr(ME,0,-1):$A),lang(190),$me,lang(191),$a,$C);}}if(!$_POST&&$a!=""){$K=view($a);$K["name"]=$a;if(!$n)$n=error();}page_header(($a!=""?lang(40):lang(192)),$n,array("table"=>$a),h($a));echo'
+
+',lang(170),':
+
';textarea("select",$K["select"]);echo'
+
+';if($_GET["view"]!=""){echo' ';}echo'
+
+';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$xd=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$Jg=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");$K=$_POST;if($_POST&&!$n){if($_POST["drop"])query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),lang(193));elseif(in_array($K["INTERVAL_FIELD"],$xd)&&isset($Jg[$K["STATUS"]])){$ng="\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(194):lang(195)),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$ng.($aa!=$K["EVENT_NAME"]?"\nRENAME TO ".idf_escape($K["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($K["EVENT_NAME"]).$ng)."\n".$Jg[$K["STATUS"]]." COMMENT ".q($K["EVENT_COMMENT"]).rtrim(" DO\n$K[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?lang(196).": ".h($aa):lang(197)),$n);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'
+
+
+',lang(170),'
+',lang(198),'
+',lang(199),'
+',lang(200),' ',html_select("INTERVAL_FIELD",$xd,$K["INTERVAL_FIELD"]),'',lang(107),' ',html_select("STATUS",$Jg,$K["STATUS"]),' ',lang(96),'
+ ',checkbox("ON_COMPLETION","PRESERVE",$K["ON_COMPLETION"]=="PRESERVE",lang(201)),'
+';textarea("EVENT_DEFINITION",$K["EVENT_DEFINITION"]);echo'
+
+';if($aa!=""){echo' ';}echo'
+
+';}elseif(isset($_GET["procedure"])){$da=$_GET["procedure"];$ig=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$K=$_POST;$K["fields"]=(array)$K["fields"];if($_POST&&!process_fields($K["fields"])&&!$n){$dh="$K[name]_adminer_".uniqid();drop_create("DROP $ig ".idf_escape($da),create_routine($ig,$K),"DROP $ig ".idf_escape($K["name"]),create_routine($ig,array("name"=>$dh)+$K),"DROP $ig ".idf_escape($dh),substr(ME,0,-1),lang(202),lang(203),lang(204),$da,$K["name"]);}page_header(($da!=""?(isset($_GET["function"])?lang(205):lang(206)).": ".h($da):(isset($_GET["function"])?lang(207):lang(208))),$n);if(!$_POST&&$da!=""){$K=routine($da,$ig);$K["name"]=$da;}$nb=get_vals("SHOW CHARACTER SET");sort($nb);$jg=routine_languages();echo'
+
+',lang(170),':
+',($jg?lang(19).": ".html_select("language",$jg,$K["language"]):""),'
+
+';edit_fields($K["fields"],$nb,$ig);if(isset($_GET["function"])){echo"".lang(209);edit_type("returns",$K["returns"],$nb);}echo'
+';textarea("definition",$K["definition"]);echo'
+
+';if($da!=""){echo' ';}echo'
+
+';}elseif(isset($_GET["sequence"])){$fa=$_GET["sequence"];$K=$_POST;if($_POST&&!$n){$_=substr(ME,0,-1);$C=trim($K["name"]);if($_POST["drop"])query_redirect("DROP SEQUENCE ".idf_escape($fa),$_,lang(210));elseif($fa=="")query_redirect("CREATE SEQUENCE ".idf_escape($C),$_,lang(211));elseif($fa!=$C)query_redirect("ALTER SEQUENCE ".idf_escape($fa)." RENAME TO ".idf_escape($C),$_,lang(212));else
+redirect($_);}page_header($fa!=""?lang(213).": ".h($fa):lang(214),$n);if(!$K)$K["name"]=$fa;echo'
+
+
+
+';if($fa!="")echo" \n";echo'
+
+';}elseif(isset($_GET["type"])){$ga=$_GET["type"];$K=$_POST;if($_POST&&!$n){$_=substr(ME,0,-1);if($_POST["drop"])query_redirect("DROP TYPE ".idf_escape($ga),$_,lang(215));else
+query_redirect("CREATE TYPE ".idf_escape(trim($K["name"]))." $K[as]",$_,lang(216));}page_header($ga!=""?lang(217).": ".h($ga):lang(218),$n);if(!$K)$K["as"]="AS ";echo'
+
+
+';if($ga!="")echo" \n";else{echo" \n";textarea("as",$K["as"]);echo"
\n";}echo'
+
+';}elseif(isset($_GET["trigger"])){$a=$_GET["trigger"];$C=$_GET["name"];$yh=trigger_options();$K=(array)trigger($C)+array("Trigger"=>$a."_bi");if($_POST){if(!$n&&in_array($_POST["Timing"],$yh["Timing"])&&in_array($_POST["Event"],$yh["Event"])&&in_array($_POST["Type"],$yh["Type"])){$Me=" ON ".table($a);$Yb="DROP TRIGGER ".idf_escape($C).($w=="pgsql"?$Me:"");$A=ME."table=".urlencode($a);if($_POST["drop"])query_redirect($Yb,$A,lang(219));else{if($C!="")queries($Yb);queries_redirect($A,($C!=""?lang(220):lang(221)),queries(create_trigger($Me,$_POST)));if($C!="")queries(create_trigger($Me,$K+array("Type"=>reset($yh["Type"]))));}}$K=$_POST;}page_header(($C!=""?lang(222).": ".h($C):lang(223)),$n,array("table"=>$a));echo'
+
+
+',lang(224),' ',html_select("Timing",$yh["Timing"],$K["Timing"],"triggerChange(/^".preg_quote($a,"/")."_[ba][iud]$/, '".js_escape($a)."', this.form);"),' ',lang(225),' ',html_select("Event",$yh["Event"],$K["Event"],"this.form['Timing'].onchange();"),(in_array("UPDATE OF",$yh["Event"])?" ":""),' ',lang(92),' ',html_select("Type",$yh["Type"],$K["Type"]),'
+',lang(170),': " maxlength="64" autocapitalize="off">
+
+
+
+';if($C!=""){echo' ';}echo'
+
+';}elseif(isset($_GET["user"])){$ha=$_GET["user"];$Hf=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$K){foreach(explode(",",($K["Privilege"]=="Grant option"?"":$K["Context"]))as$yb)$Hf[$yb][$K["Privilege"]]=$K["Comment"];}$Hf["Server Admin"]+=$Hf["File access on server"];$Hf["Databases"]["Create routine"]=$Hf["Procedures"]["Create routine"];unset($Hf["Procedures"]["Create routine"]);$Hf["Columns"]=array();foreach(array("Select","Insert","Update","References")as$X)$Hf["Columns"][$X]=$Hf["Tables"][$X];unset($Hf["Server Admin"]["Usage"]);foreach($Hf["Tables"]as$x=>$X)unset($Hf["Databases"][$x]);$ze=array();if($_POST){foreach($_POST["objects"]as$x=>$X)$ze[$X]=(array)$ze[$X]+(array)$_POST["grants"][$x];}$Wc=array();$Ke="";if(isset($_GET["host"])&&($I=$h->query("SHOW GRANTS FOR ".q($ha)."@".q($_GET["host"])))){while($K=$I->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$K[0],$B)&&preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~',$B[1],$ee,PREG_SET_ORDER)){foreach($ee
+as$X){if($X[1]!="USAGE")$Wc["$B[2]$X[2]"][$X[1]]=true;if(preg_match('~ WITH GRANT OPTION~',$K[0]))$Wc["$B[2]$X[2]"]["GRANT OPTION"]=true;}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$K[0],$B))$Ke=$B[1];}}if($_POST&&!$n){$Le=(isset($_GET["host"])?q($ha)."@".q($_GET["host"]):"''");if($_POST["drop"])query_redirect("DROP USER $Le",ME."privileges=",lang(226));else{$Ae=q($_POST["user"])."@".q($_POST["host"]);$qf=$_POST["pass"];if($qf!=''&&!$_POST["hashed"]){$qf=$h->result("SELECT PASSWORD(".q($qf).")");$n=!$qf;}$Cb=false;if(!$n){if($Le!=$Ae){$Cb=queries(($h->server_info<5?"GRANT USAGE ON *.* TO":"CREATE USER")." $Ae IDENTIFIED BY PASSWORD ".q($qf));$n=!$Cb;}elseif($qf!=$Ke)queries("SET PASSWORD FOR $Ae = ".q($qf));}if(!$n){$fg=array();foreach($ze
+as$Fe=>$Vc){if(isset($_GET["grant"]))$Vc=array_filter($Vc);$Vc=array_keys($Vc);if(isset($_GET["grant"]))$fg=array_diff(array_keys(array_filter($ze[$Fe],'strlen')),$Vc);elseif($Le==$Ae){$Ie=array_keys((array)$Wc[$Fe]);$fg=array_diff($Ie,$Vc);$Vc=array_diff($Vc,$Ie);unset($Wc[$Fe]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$Fe,$B)&&(!grant("REVOKE",$fg,$B[2]," ON $B[1] FROM $Ae")||!grant("GRANT",$Vc,$B[2]," ON $B[1] TO $Ae"))){$n=true;break;}}}if(!$n&&isset($_GET["host"])){if($Le!=$Ae)queries("DROP USER $Le");elseif(!isset($_GET["grant"])){foreach($Wc
+as$Fe=>$fg){if(preg_match('~^(.+)(\\(.*\\))?$~U',$Fe,$B))grant("REVOKE",array_keys($fg),$B[2]," ON $B[1] FROM $Ae");}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(227):lang(228)),!$n);if($Cb)$h->query("DROP USER $Ae");}}page_header((isset($_GET["host"])?lang(33).": ".h("$ha@$_GET[host]"):lang(135)),$n,array("privileges"=>array('',lang(63))));if($_POST){$K=$_POST;$Wc=$ze;}else{$K=$_GET+array("host"=>$h->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$K["pass"]=$Ke;if($Ke!="")$K["hashed"]=true;$Wc[(DB==""||$Wc?"":idf_escape(addcslashes(DB,"%_\\"))).".*"]=array();}echo'
+
+',lang(32),'
+',lang(33),'
+',lang(34),'
+';if(!$K["hashed"]){echo'';}echo
+checkbox("hashed",1,$K["hashed"],lang(229),"typePassword(this.form['pass'], this.checked);"),'
+
+';echo"\n",'
+
+';if(isset($_GET["host"])){echo' ';}echo'
+
+';}elseif(isset($_GET["processlist"])){if(support("kill")&&$_POST&&!$n){$Md=0;foreach((array)$_POST["kill"]as$X){if(queries("KILL ".number($X)))$Md++;}queries_redirect(ME."processlist=",lang(233,$Md),$Md||!$_POST["kill"]);}page_header(lang(105),$n);echo'
+
+
+';$s=-1;foreach(process_list()as$s=>$K){if(!$s){echo"".(support("kill")?" ":"");foreach($K
+as$x=>$X)echo" $x".doc_link(array('sql'=>"show-processlist.html#processlist_".strtolower($x),'pgsql'=>"monitoring-stats.html#PG-STAT-ACTIVITY-VIEW",'oracle'=>"../b14237/dynviews_2088.htm",));echo" \n";}echo"".(support("kill")?"".checkbox("kill[]",$K["Id"],0):"");foreach($K
+as$x=>$X)echo" ".(($w=="sql"&&$x=="Info"&&preg_match("~Query|Killed~",$K["Command"])&&$X!="")||($w=="pgsql"&&$x=="current_query"&&$X!="")||($w=="oracle"&&$x=="sql_text"&&$X!="")?"".shorten_utf8($X,100,"").' '.lang(234).' ':nbsp($X));echo"\n";}echo'
+
+
+';if(support("kill")){echo($s+1)."/".lang(235,$h->result("SELECT @@max_connections")),"
\n";}echo'
+
+';}elseif(isset($_GET["select"])){$a=$_GET["select"];$R=table_status1($a);$v=indexes($a);$p=fields($a);$Oc=column_foreign_keys($a);$He="";if($R["Oid"]){$He=($w=="sqlite"?"rowid":"oid");$v[]=array("type"=>"PRIMARY","columns"=>array($He));}parse_str($_COOKIE["adminer_import"],$ya);$gg=array();$f=array();$hh=null;foreach($p
+as$x=>$o){$C=$b->fieldName($o);if(isset($o["privileges"]["select"])&&$C!=""){$f[$x]=html_entity_decode(strip_tags($C),ENT_QUOTES);if(is_shortable($o))$hh=$b->selectLengthProcess();}$gg+=$o["privileges"];}list($M,$Xc)=$b->selectColumnsProcess($f,$v);$Ad=count($Xc)selectSearchProcess($p,$v);$Xe=$b->selectOrderProcess($p,$v);$z=$b->selectLimitProcess();$Tc=($M?implode(", ",$M):"*".($He?", $He":"")).convert_fields($f,$p,$M)."\nFROM ".table($a);$Yc=($Xc&&$Ad?"\nGROUP BY ".implode(", ",$Xc):"").($Xe?"\nORDER BY ".implode(", ",$Xe):"");if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$Fh=>$K){$Ga=convert_field($p[key($K)]);$M=array($Ga?$Ga:idf_escape(key($K)));$Z[]=where_check($Fh,$p);$J=$Wb->select($a,$M,$Z,$M);if($J)echo
+reset($J->fetch_row());}exit;}if($_POST&&!$n){$ci=$Z;if(!$_POST["all"]&&is_array($_POST["check"])){$eb=array();foreach($_POST["check"]as$bb)$eb[]=where_check($bb,$p);$ci[]="((".implode(") OR (",$eb)."))";}$ci=($ci?"\nWHERE ".implode(" AND ",$ci):"");$Cf=$Hh=null;foreach($v
+as$u){if($u["type"]=="PRIMARY"){$Cf=array_flip($u["columns"]);$Hh=($M?$Cf:array());break;}}foreach((array)$Hh
+as$x=>$X){if(in_array(idf_escape($x),$M))unset($Hh[$x]);}if($_POST["export"]){cookie("adminer_import","output=".urlencode($_POST["output"])."&format=".urlencode($_POST["format"]));dump_headers($a);$b->dumpTable($a,"");if(!is_array($_POST["check"])||$Hh===array())$H="SELECT $Tc$ci$Yc";else{$Dh=array();foreach($_POST["check"]as$X)$Dh[]="(SELECT".limit($Tc,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$p).$Yc,1).")";$H=implode(" UNION ALL ",$Dh);}$b->dumpData($a,"table",$H);exit;}if(!$b->selectEmailProcess($Z,$Oc)){if($_POST["save"]||$_POST["delete"]){$I=true;$za=0;$O=array();if(!$_POST["delete"]){foreach($f
+as$C=>$X){$X=process_input($p[$C]);if($X!==null&&($_POST["clone"]||$X!==false))$O[idf_escape($C)]=($X!==false?$X:idf_escape($C));}}if($_POST["delete"]||$O){if($_POST["clone"])$H="INTO ".table($a)." (".implode(", ",array_keys($O)).")\nSELECT ".implode(", ",$O)."\nFROM ".table($a);if($_POST["all"]||($Hh===array()&&is_array($_POST["check"]))||$Ad){$I=($_POST["delete"]?$Wb->delete($a,$ci):($_POST["clone"]?queries("INSERT $H$ci"):$Wb->update($a,$O,$ci)));$za=$h->affected_rows;}else{foreach((array)$_POST["check"]as$X){$bi="\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$p);$I=($_POST["delete"]?$Wb->delete($a,$bi,1):($_POST["clone"]?queries("INSERT".limit1($H,$bi)):$Wb->update($a,$O,$bi)));if(!$I)break;$za+=$h->affected_rows;}}}$me=lang(237,$za);if($_POST["clone"]&&$I&&$za==1){$Rd=last_id();if($Rd)$me=lang(156," $Rd");}queries_redirect(remove_from_uri($_POST["all"]&&$_POST["delete"]?"page":""),$me,$I);if(!$_POST["delete"]){edit_form($a,$p,(array)$_POST["fields"],!$_POST["clone"]);page_footer();exit;}}elseif(!$_POST["import"]){if(!$_POST["val"])$n=lang(238);else{$I=true;$za=0;foreach($_POST["val"]as$Fh=>$K){$O=array();foreach($K
+as$x=>$X){$x=bracket_escape($x,1);$O[idf_escape($x)]=(preg_match('~char|text~',$p[$x]["type"])||$X!=""?$b->processInput($p[$x],$X):"NULL");}$I=$Wb->update($a,$O," WHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($Fh,$p),!($Ad||$Hh===array())," ");if(!$I)break;$za+=$h->affected_rows;}queries_redirect(remove_from_uri(),lang(237,$za),$I);}}elseif(!is_string($Hc=get_file("csv_file",true)))$n=upload_error($Hc);elseif(!preg_match('~~u',$Hc))$n=lang(239);else{cookie("adminer_import","output=".urlencode($ya["output"])."&format=".urlencode($_POST["separator"]));$I=true;$ob=array_keys($p);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$Hc,$ee);$za=count($ee[0]);$Wb->begin();$vg=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));$L=array();foreach($ee[0]as$x=>$X){preg_match_all("~((?>\"[^\"]*\")+|[^$vg]*)$vg~",$X.$vg,$fe);if(!$x&&!array_diff($fe[1],$ob)){$ob=$fe[1];$za--;}else{$O=array();foreach($fe[1]as$s=>$lb)$O[idf_escape($ob[$s])]=($lb==""&&$p[$ob[$s]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$lb))));$L[]=$O;}}$I=(!$L||$Wb->insertUpdate($a,$L,$Cf));if($I)$Wb->commit();queries_redirect(remove_from_uri("page"),lang(240,$za),$I);$Wb->rollback();}}}$Tg=$b->tableName($R);if(is_ajax()){page_headers();ob_start();}else
+page_header(lang(44).": $Tg",$n);$O=null;if(isset($gg["insert"])||!support("table")){$O="";foreach((array)$_GET["where"]as$X){if(count($Oc[$X["col"]])==1&&($X["op"]=="="||(!$X["op"]&&!preg_match('~[_%]~',$X["val"]))))$O.="&set".urlencode("[".bracket_escape($X["col"])."]")."=".urlencode($X["val"]);}}$b->selectLinks($R,$O);if(!$f&&support("table"))echo"".lang(241).($p?".":": ".error())."\n";else{echo"
\n","";hidden_fields_get();echo(DB!=""?' '.(isset($_GET["ns"])?' ':""):"");echo' ',"
\n";$b->selectColumnsPrint($M,$f);$b->selectSearchPrint($Z,$f,$v);$b->selectOrderPrint($Xe,$f,$v);$b->selectLimitPrint($z);$b->selectLengthPrint($hh);$b->selectActionPrint($v);echo" \n";$E=$_GET["page"];if($E=="last"){$Rc=$h->result(count_rows($a,$Z,$Ad,$Xc));$E=floor(max(0,$Rc-1)/$z);}$sg=$M;if(!$sg){$sg[]="*";if($He)$sg[]=$He;}$zb=convert_fields($f,$p,$M);if($zb)$sg[]=substr($zb,2);$I=$Wb->select($a,$sg,$Z,$Xc,$Xe,$z,$E,true);if(!$I)echo"".error()."\n";else{if($w=="mssql"&&$E)$I->seek($z*$E);$lc=array();echo"
\n";$L=array();while($K=$I->fetch_assoc()){if($E&&$w=="oracle")unset($K["RNUM"]);$L[]=$K;}if($_GET["page"]!="last"&&+$z&&$Xc&&$Ad&&$w=="sql")$Rc=$h->result(" SELECT FOUND_ROWS()");if(!$L)echo"".lang(12)."\n";else{$Pa=$b->backwardKeys($a,$Tg);echo"
\n","".(!$Xc&&$M?"":" ".lang(242)." ");$ye=array();$Uc=array();reset($M);$Qf=1;foreach($L[0]as$x=>$X){if($x!=$He){$X=$_GET["columns"][key($M)];$o=$p[$M?($X?$X["col"]:current($M)):$x];$C=($o?$b->fieldName($o,$Qf):($X["fun"]?"*":$x));if($C!=""){$Qf++;$ye[$x]=$C;$e=idf_escape($x);$id=remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($x);$Ob="&desc%5B0%5D=1";echo'','';echo
+apply_sql_function($X["fun"],$C)." ";echo""," ↓ ";if(!$X["fun"])echo' = ';echo" ";}$Uc[$x]=$X["fun"];next($M);}}$Wd=array();if($_GET["modify"]){foreach($L
+as$K){foreach($K
+as$x=>$X)$Wd[$x]=max($Wd[$x],min(40,strlen(utf8_decode($X))));}}echo($Pa?" ".lang(243):"")." \n";if(is_ajax()){if($z%2==1&&$E%2==1)odd();ob_end_clean();}foreach($b->rowDescriptions($L,$Oc)as$xe=>$K){$Eh=unique_array($L[$xe],$v);if(!$Eh){$Eh=array();foreach($L[$xe]as$x=>$X){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$x))$Eh[$x]=$X;}}$Fh="";foreach($Eh
+as$x=>$X){if(($w=="sql"||$w=="pgsql")&&strlen($X)>64){$x=(strpos($x,'(')?$x:idf_escape($x));$x="MD5(".($w=='sql'&&preg_match("~^utf8_~",$p[$x]["collation"])?$x:"CONVERT($x USING ".charset($h).")").")";$X=md5($X);}$Fh.="&".($X!==null?urlencode("where[".bracket_escape($x)."]")."=".urlencode($X):"null%5B%5D=".urlencode($x));}echo"".(!$Xc&&$M?"":"".checkbox("check[]",substr($Fh,1),in_array(substr($Fh,1),(array)$_POST["check"]),"","this.form['all'].checked = false; formUncheck('all-page');").($Ad||information_schema(DB)?"":" ".lang(244)." "));foreach($K
+as$x=>$X){if(isset($ye[$x])){$o=$p[$x];if($X!=""&&(!isset($lc[$x])||$lc[$x]!=""))$lc[$x]=(is_mail($X)?$ye[$x]:"");$_="";if(preg_match('~blob|bytea|raw|file~',$o["type"])&&$X!="")$_=ME.'download='.urlencode($a).'&field='.urlencode($x).$Fh;if(!$_&&$X!==null){foreach((array)$Oc[$x]as$q){if(count($Oc[$x])==1||end($q["source"])==$x){$_="";foreach($q["source"]as$s=>$Dg)$_.=where_link($s,$q["target"][$s],$L[$xe][$Dg]);$_=($q["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\\1'.urlencode($q["db"]),ME):ME).'select='.urlencode($q["table"]).$_;if(count($q["source"])==1)break;}}}if($x=="COUNT(*)"){$_=ME."select=".urlencode($a);$s=0;foreach((array)$_GET["where"]as$W){if(!array_key_exists($W["col"],$Eh))$_.=where_link($s++,$W["col"],$W["val"],$W["op"]);}foreach($Eh
+as$Gd=>$W)$_.=where_link($s++,$Gd,$W);}$X=select_value($X,$_,$o,$hh);$jd=h("val[$Fh][".bracket_escape($x)."]");$Y=$_POST["val"][$Fh][bracket_escape($x)];$gc=!is_array($K[$x])&&is_utf8($X)&&$L[$xe][$x]==$K[$x]&&!$Uc[$x];$gh=preg_match('~text|lob~',$o["type"]);if(($_GET["modify"]&&$gc)||$Y!==null){$ad=h($Y!==null?$Y:$K[$x]);echo" ".($gh?"$ad ":" ");}else{$be=strpos($X,"... ");echo" $X";}}}if($Pa)echo" ";$b->backwardKeysPrint($Pa,$L[$xe]);echo" \n";}if(is_ajax())exit;echo"
\n";}if(($L||$E)&&!is_ajax()){$vc=true;if($_GET["page"]!="last"){if(!+$z)$Rc=count($L);elseif($w!="sql"||!$Ad){$Rc=($Ad?false:found_rows($R,$Z));if($Rc$z||$E)){echo"";$he=($Rc===false?$E+(count($L)>=$z?2:1):floor(($Rc-1)/$z));if($w!="simpledb"){echo'".lang(246)." :",pagination(0,$E).($E>5?" ...":"");for($s=max(1,$E-4);$s0){echo($E+5<$he?" ...":""),($vc&&$Rc!==false?pagination($he,$E):" ".lang(247)." ");}echo(($Rc===false?count($L)+1:$Rc-$E*$z)>$z?' '.lang(249).' ':'');}else{echo
+lang(246).":",pagination(0,$E).($E>1?" ...":""),($E?pagination($E,$E):""),($he>$E?pagination($E+1,$E).($he>$E+1?" ...":""):"");}}echo"\n",($Rc!==false?"(".($vc?"":"~ ").lang(138,$Rc).") ":"");$Tb=($vc?"":"~ ").$Rc;echo
+checkbox("all",1,0,lang(250),"var checked = formChecked(this, /check/); selectCount('selected', this.checked ? '$Tb' : checked); selectCount('selected2', this.checked || !checked ? '$Tb' : checked);")."\n";if($b->selectCommandPrint()){echo'
',lang(242),'
+
+
+',lang(115),'
+
+
+
+
+';}$Pc=$b->dumpFormat();foreach((array)$_GET["columns"]as$e){if($e["fun"]){unset($Pc['sql']);break;}}if($Pc){print_fieldset("export",lang(65)." ");$hf=$b->dumpOutput();echo($hf?html_select("output",$hf,$ya["output"])." ":""),html_select("format",$Pc,$ya["format"])," \n","\n";}echo(!$Xc&&$M?"":"\n");}if($b->selectImportPrint()){print_fieldset("import",lang(64),!$L);echo" ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$ya["format"],1);echo" ","\n";}$b->selectEmailPrint(array_filter($lc,'strlen'),$f);echo"
\n","
\n";}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$Ig=isset($_GET["status"]);page_header($Ig?lang(107):lang(106));$Uh=($Ig?show_status():show_variables());if(!$Uh)echo"".lang(12)."\n";else{echo"
\n";foreach($Uh
+as$x=>$X){echo"","".h($x)."","".nbsp($X);}echo"
\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$Qg=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$C=>$R){json_row("Comment-$C",nbsp($R["Comment"]));if(!is_view($R)){foreach(array("Engine","Collation")as$x)json_row("$x-$C",nbsp($R[$x]));foreach($Qg+array("Auto_increment"=>0,"Rows"=>0)as$x=>$X){if($R[$x]!=""){$X=format_number($R[$x]);json_row("$x-$C",($x=="Rows"&&$X&&$R["Engine"]==($Fg=="pgsql"?"table":"InnoDB")?"~ $X":$X));if(isset($Qg[$x]))$Qg[$x]+=($R["Engine"]!="InnoDB"||$x!="Data_free"?$R[$x]:0);}elseif(array_key_exists($x,$R))json_row("$x-$C");}}}foreach($Qg
+as$x=>$X)json_row("sum-$x",format_number($X));json_row("");}elseif($_GET["script"]=="kill")$h->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{$Zg=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($Zg&&!$n&&!$_POST["search"]){$I=true;$me="";if($w=="sql"&&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"]);$me=lang(251);}elseif($_POST["move"]){$I=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$me=lang(252);}elseif($_POST["copy"]){$I=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$me=lang(253);}elseif($_POST["drop"]){if($_POST["views"])$I=drop_views($_POST["views"]);if($I&&$_POST["tables"])$I=drop_tables($_POST["tables"]);$me=lang(254);}elseif($w!="sql"){$I=($w=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$me=lang(255);}elseif(!$_POST["tables"])$me=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())$me.="".h($K["Table"])." : ".h($K["Msg_text"])." ";}queries_redirect(substr(ME,0,-1),$me,$I);}page_header(($_GET["ns"]==""?lang(35).": ".h(DB):lang(68).": ".h($_GET["ns"])),$n,true);if($b->homepage()){if($_GET["ns"]!==""){echo"".lang(256)." \n";$Yg=tables_list();if(!$Yg)echo"".lang(9)."\n";else{echo"
\n";if(support("table")){echo"".lang(257)." "," \n","
\n";if($_POST["search"]&&$_POST["query"]!="")search_tables();}echo"\n",' ';$Ub=doc_link(array('sql'=>'show-table-status.html'));echo''.lang(119),' '.lang(258).doc_link(array('sql'=>'storage-engines.html')),' '.lang(111).doc_link(array('sql'=>'charset-mysql.html')),' '.lang(259).$Ub,' '.lang(260).$Ub,' '.lang(261).$Ub,' '.lang(56).doc_link(array('sql'=>'example-auto-increment.html')),' '.lang(262).$Ub,(support("comment")?' '.lang(96).$Ub:'')," \n";$S=0;foreach($Yg
+as$C=>$U){$Xh=($U!==null&&!preg_match('~table~i',$U));echo''.checkbox(($Xh?"views[]":"tables[]"),$C,in_array($C,$Zg,true),"","formUncheck('check-all');"),' '.(support("table")||support("indexes")?''.h($C).' ':h($C));if($Xh){echo' '.(preg_match('~materialized~i',$U)?lang(263):lang(118)).' ','? ';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",lang(41)),"Index_length"=>array("indexes",lang(122)),"Data_free"=>array("edit",lang(42)),"Auto_increment"=>array("auto_increment=1&create",lang(41)),"Rows"=>array("select",lang(38)),)as$x=>$_){$jd=" id='$x-".h($C)."'";echo($_?"".(support("table")||$x=="Rows"||(support("indexes")&&$x!="Data_length")?"? ":"? "):" ");}$S++;}echo(support("comment")?" ".lang(235,count($Yg))," ".nbsp($w=="sql"?$h->result("SELECT @@storage_engine"):"")," ".nbsp(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$x)echo" ";echo"
\n";if(!information_schema(DB)){$Rh=" ";$Te=" ";echo"".lang(115)." \n";}echo" \n","\n";}echo''.lang(66)." \n",(support("view")?''.lang(192)." \n":""),(support("materializedview")?''.lang(273)." \n":"");if(support("routine")){echo"
".lang(132)." \n";$kg=routines();if($kg){echo"\n";}echo''.(support("procedure")?''.lang(208).' ':'').''.lang(207)." \n";}if(support("sequence")){echo"
".lang(274)." \n";$wg=get_vals("SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = current_schema() ORDER BY sequence_name");if($wg){echo"\n","".lang(170)." \n";odd('');foreach($wg
+as$X)echo"".h($X)." \n";echo"
\n";}echo"".lang(214)." \n";}if(support("type")){echo"
".lang(23)." \n";$Ph=types();if($Ph){echo"\n","".lang(170)." \n";odd('');foreach($Ph
+as$X)echo"".h($X)." \n";echo"
\n";}echo"".lang(218)." \n";}if(support("event")){echo"
".lang(133)." \n";$L=get_rows("SHOW EVENTS");if($L){echo"\n","".lang(170)." ".lang(275)." ".lang(198)." ".lang(199)." \n";foreach($L
+as$K){echo"","".h($K["Name"])," ".($K["Execute at"]?lang(276)." ".$K["Execute at"]:lang(200)." ".$K["Interval value"]." ".$K["Interval field"]." $K[Starts]")," $K[Ends]",' '.lang(125).' ';}echo"
\n";$tc=$h->result("SELECT @@event_scheduler");if($tc&&$tc!="ON")echo"event_scheduler: ".h($tc)."\n";}echo'
'.lang(197)." \n";}if($Yg)echo"\n";}}}page_footer();
\ No newline at end of file
diff --git a/_index.html b/_index.html
new file mode 100644
index 0000000..8e3d731
--- /dev/null
+++ b/_index.html
@@ -0,0 +1,156 @@
+
+
+
+
+
+ 1gb.ru -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1Gb.ru .
+
+
+ . FTP index.html.
+
+
1Gb.ru FTP .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+ Windows 2008 R2 / IIS7
+ Windows 2012 R2 / IIS8
+ IIS6,
+ ASP
+ ASP.NET 1.1, 2, 3, 3.5
+ ASP.NET 4.0, 4.5+
+ ASP.NET Core
+ Access (mdb)
+ Frontpage 2000
+ Frontpage 2002
+ MS SQL 2000 / 2005
+ MS SQL 2008 / 2012
+ ODBC / mySQL
+ PHP / Perl IIS
+
+
+
+
+ Linux
+ Apache 1.3, 2+
+ .htaccess
+ PHP 4, 5, 7
+ CGI
+ PERL
+ Ruby / Python / ..
+ Tomcat
+ mySQL 3, 4.1, 5+
+ Postgres
+ CRON
+ SSH / SCP / SFTP
+
+
+
+
+
+ POP3 / POP3s
+ IMAP4 / IMAP4s
+ SMTP / SMTPs
+
+
+
+
+ web-mail
+ Exchange 2007
+ Jabber
+ mailman
+ SSH / X-Window
+
+
+
+
+
+
+
+ VIP
+ CDN
+
+ Windows Azure Pack
+
+ Microsoft
+ 1C-
+
+
+
+
+
+
+ .
+
+
+
+
+
+
+
+
+
+©2001-2016 "1. ", "- "
+
+
+
+
+
+
+
diff --git a/adminer.php b/adminer.php
new file mode 100644
index 0000000..0958232
--- /dev/null
+++ b/adminer.php
@@ -0,0 +1,1833 @@
+S8LJt.M ϋ`'C889 Q2#8А6mjh<9/:J)ʂ\0d>!\0Zvno(k7s>!R\"*nS\0@P\"(#[@gozn9k8n1I*=n0c(;à!*c>ΎE7DLJ1J=1L?s=#`3\$4uȱzGC YAt?;Qk&YPuǯ}UaHV%G;slڴIH3xw0t6%MR%jhB<\0AQ-ʈQH\nvL+væ<\rv\\*Ӵݢgn˩TЩ2P\rߋ\"+z8:#2J[i;zr3#ى:n\r㽃epdݍ 2c4k\rGE6_=SZUǷ㌞O?þ27cАhnƋu3E>\$J[q[\rI6.J\"EPrG̊GAW\r6k`.-B2>#hXu\r=Z bŁ(╃!JZȔuyOZM6lM[0䖀!Imy+p#agvW:qp\"4he0dAq-\"\"2@)o,,Rb`@B@Q\n芷Z=(r~l~hsAll\n7!1!#\0KALH(!ʘagH\0T\ni/\$4GaI!.Ř5M\r2 ;,LIJd?%Ո:N@b.25t:FAwBE,-\$':өu?tK;ḱи\0ouMD)k_Ph5MC}72w.QB8)8(DI=y`ed\0s,`ɕjH\"(b\\nl\"ق^쀭eE\nX!SqX\r7A0y7pPaA4(yJwm2.fp;Ƅ5JcqQz\\\0[H 3f'bFY\nA9_I(fӝqV4RIY&JF}{FTh9[7h\0T^jqjՔcWI@`_sVD[\"{13 <ll.[#įbu/\03va嫑Dp>2IDW՚kKAhH]FW!]ʝltɕR̭4L[YC cTjN}~OҙBlj/KHdch-˾/ȶhԞ0ЌЋH8j6\n+d l7\r څ0N7eZ0`mnp\0\0}@[i0 ~4P\nАbЯ0p P4@PI\0``f\r```Yz P\r py Hq@ Qq `biUС@`))Zpj(--l1Q%pY\n1}\\*h{C0#H0TqAb=
f- qiAs'QZ\rRc'`qYQ1ҝ2!r\"Q1 Q!qr\0BDw\0q\$S\"]q@`豲@,\"r\")&&\ntbm02)Qw\n p(0*Ҏq\n&i\n\"p1C\".1y.q^2\0.Q0r)/\0ڔ!/.S+1R/3:5Ɲ11\nB43 4G#〜`Sa ra6es7q,搩j3q4)\$@*-9\n\"0',hS}\"3ss917S-=1g4 .4LD;@2!A@Br-/+016S#)\"i@`P;.\n<)ԱV\nl8K#gkd|8l.lf.?A@\rÆ.\$J2tN#RrAEEeFFӦg8*");}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");echo
+lzw_decompress("f:gCI\n0Sa9S`&(n0QIf\$At^ sGtf6ey()LSP'R'fq]\"s> )`H2Eq9?*)t'ϧ\n \rs2WŅbDj:9[21cȝ:X@q#4L'J+DHe3.OK˰pVt2wp;Ɠ\r?OzDq.-\"ZcX3!/>PFsɲ0(ʣT63sVQoSΑb߅^r\$@C r2) V)+nܷzl{K#9{ۯlmQh*ɗP:c]7=Li;2<\\Jbnn_iӴJ\nC:`N4̖'Aw:4}ۣW\080L3J;i)\\=/Nu=ZV6&ceap.[vtPZX`֔+z'9.\$\$@\n\r]_ٮhkkMs>`̖j%\\9ж('jA>BCd\"K\$ CA.².`.E洖yy\0D28t 68FLB*,|\nx\\@@3r WKQb,%DBfȳD|͌E0/2>Y!Ć'`fmH<BB0\r*\0GxnY4,L%S,v0XQ1HId`!.VH/×H0U0`LI8k24JYN&8xJk:AK㝡nW!I;'\":24~J8ᒑG\"M=\rZ'ni9FrRt3\0Ҳ2yB^b'zɲ(#d9It&WjNaC( jĖ?hjքZ\$0үJ A_\n!TO4<{a?o -?Hl\"2y=먞Rф͊P&G4%()\r5MLT\0xBI=ltv2Jhv~/:p:8\"д50#*7\nq>G\$): \"#KfI!v+?{Qg{RQC}#iIbgX}`}3%@{_k}0ȗp!a<7eF?XD, CkUL>1܇p0#\$V)pYs5A:U(95,F+&*{-::7:ʙyPX+\nI;\\sP1rNJAT'-k?Y@fbRJimB~K\rKt4;OKc9%H5d3e8jP[s9,ĘbzKW&ed8)uP># P&P pbaͨy\$3}{hy(dW_:'API\"![`n8i/@P fЎ冩V sC8NyhtEnAj.-6qwJ?ùAhu sAO7j\n ]0^ \nY\$Ζ_\r\$u*ޡEx/dpdRd:IoDsQfI8,KIsM@aq\n/MRC-aa/H!4FIpŔMϫ_؇H9{.\$W#{Ү:S('lMY:lʞmD\$\0\0'~ Z@VL\"jn5NlKfj&MOdbӰNO\$i)N(!P)0+6HpNFЖ?L\n-h0,.e\"6m# o&gZ@Pk&̺_%\\\\'\0]\$(5N fq|p `k@a\r_\"b6] EDQ^)ș@PsITr vT\0VRW@ iR2/b,Xr j^0kClfl'8EoWImp룶/&+Xk.\\40dr\"kb\nH\$ТKCoOoG%\rύl ]P7\"*hPP\rc_X[`7:`UߨIwd; x t8d\0@jwv { b pcy\n, u< \"uyE:Z`<LF2cwSd%uwu߀#pqNNN\n#@E#\"@|d%kwc\"*xw\0uX.l&XeMB'@6Ch»`SwGӈC[V1\rb\"\n\0\n`J+a1\"lW}z]zjdO>!G\0[\\F| ^\0ZJ`b`#5`WE;(!``\"~EߒghVGr_ujQ*d'2g/-\nh^da)וE:HhvEvsB9w\0MWNL 3-=#@%D!XL*V;1ǘMkX&r<[%UeqWW#\$蝌lIVAW_GVF\"&f(odV1*wr0F\"HvTqhw*@s.0g81_zfA)+1u&b\nVoNj\nEĆC3G\0ep<~B^ A%/9;v\\[Hl^UӞh.\\Y}+ YtqƉ6\ns\0c:3*}7z\$d\\\" WY+Ie\0S9Dt[rךC֩b~馳Dw/lL`~ UV_\0\rw)bƦ8G%WUAv(HFgXcn92n12l\r?\"t\0XPsYmfF?mx5}H_XcyκC.\$`kd5.rx>Ǣ7sn3<gO(\\@W:Pσ{_FhgLӠ><6~'K0?@EA_ 8H.LG<d YokF<p(j\$9?V P?)ؤDuLbj} \0Kp7ZsԀD)\r:JQ֓}\$bAu)\"XM%pQPQ\$@\\\0V7TMX*#)G\\KM0=J&`\"x_bB`C?/ŪBUu83NR_]NTܿDwI\n2D:Y q1`BF!]W5,:1(0tQF p7'!\"@80`7\rhC\nXӡ\rAC m Q&l&|cLd\"#\"PK56Hʄbʗ&+#fV/Sh(Tdu<=xd8:m!68,JP~RPDZuO`0XAwأ0eh^C\$ 8AP(#+KN4%\nB>2%{0Ƌ0ϟ/z Pʚ @gDzDԊY॓4,%l3WULr[9HgT`@7\rN O+D>I(bL}\$DžIXBҞ(4!h!E\"w\"0qJ\0UPF\0o_\0cЄ\ng\0T}\0#/tXJBKK/@\0y PIvA1ipm@y93HY2!`/̹%.fKx:XO.}L[G&eIaKb琔%OB8l҈>(M CA;oK+%yĀ%|\"#hGD\$ fBMdC\\ֱLT(q\0.P\nZUjg[#P@ǔr8myMQ6\$sDָ`!8:4ф,ap'FE28MmD2@.U]!5I_\n'(iuPKp9@LH)XPWv\rD']!0B#R:D.\nX8H\rs^0˿+9Sb0\nB7aty<|g@5qDȂ\0/ A\"&1fF|g5\\rrIJ'2PJs鍞li\nRyCa9ߔNp\"'H7͈3MTRdBRp|z:1Ph)(h[BPƈҞ^\0\$:6KB(Ҙ\$\rx[BGH 6cn8\\ \nYi\rd\nU߄\$;.ˇ*_\n=Qy\n< 9OxF}\rF%M4\"0\0f(d3a\0p0`H꤉Dպd3YICx+?Yi ?1 flCFP[BS@!Ln#su\"Z\0:r|t],7)1-4&Y`Z7p奦ʛ@ӽ -hN-֛iJ0ҝ3Xj9*.T7I`@{`neQ@)`B\"h0+Z>K*YSjDRI0\nji\r:>VeapU)G2trTw 5pf#um3f`8KI& Fmv\09tP1~\$A\0S5'Eyz5qW\$-_KEyҽq!@kTlʓe'\\\\cgi_5\0zViB[]8\n+]:Ӱؓ\"'nW}Q.IXn|BŃ]kl9aSuʅv-ay`{b]L Seb|)Y:ncS9k7]5Y]ŝU CsBC|gЋt98Ոt6]l.mᩖ 8kUy^|y@*ތ1\$ *']f7H1y0}j!彡cV+5}d8U=ޱꯛzۘF@o3_fa)~`!iG]E&BlΦ#}\0ȑ63\rTnk]\$;Qjn:ZZbZ&@g3B\$g\nd5M/Ku{#]ssqfuQ3Tvc\\Muk#eBQOD%Y<_6b !T.]>\0u=~pGV6@'U0ˊ|7EQ\n\0W,7.ᣰ(%bàMU|-hS+9nAQ3 jD|6ͮgJrXnXN)|MpRc&\rMCyzk\"dCPG.?yi1JCl^\"9Y ~q18#0) _Blャ8eC,̄A]NCkki(p=ڕ Ѓ\0A\\m=ʙh1iM[ ի_q%!rO}MG5%q.i^GfYi/dlLR0z2̷\r\\gF n tfi_e͢RD@KiXp];6o\"A%97F.ˣZuEks\$ycf[-s8P4\05afث@noZRڡH.ub5٢ȳKiDFݍ-Nfp?H!ꡈyjs\\e .]lpw^;\",h~Iȫ9,a:jF7Gg38?JbH+lW\0cֹWh SEs%Wc:X;-DF(֭64Ts3)Bj[fn:A@\$նZ&sWKUؗO2hZvϻtҎtCVwJͩF^,p?L \$8Es|D4(q)'NWuG.`7[B/]'z1ƉQEƒs:P<X5L\0}gX\nz¸=Y>yѬͳɖ9e{ikS3ͬ)[sCy-a=CK2K!Fe\rܡH#gYubTBC# =:˩\0o4u@]N`V8OU2xX?q^Ng ɋN8BlMTU)Dy\ru;cQ5ugA&\\yx6./]8 2PE>7u)Œ)3|M81w`\"zeR8 y+]9\0IJa1Wj>lu=,Uy8'4rt-_xWSMdPuukaP=gHB\$\\\\5ēÙ+[+W GSB9ptdrr!n^\r˖*튼E:v-/319r vBͽg`9o^\\J1 X\\#(sm؏L5\\SREODPlN\nP\\hBd#P\"9݈FSK9\"0f,9tg}zɪ&6M-F)uIIX_FppH\\#wNjb\"ml?\"\0DIIP P݀V0\0DRep !γF!9A\"*BObb%bg'+K٣12SZV-m12Bt!=?\\o\02;\\ė\$]+4ٴ8owa'A&o8\n]H[ZO i8c w\nf*j=yyco\nIyRL\"ݫ\0]Oe7/r`9Ingyh! ێ?ˁNWwƑهG_\\u#ma݂ZOY>'>u)0#SA.zpeB>[vi*vOX;Hf0R");}elseif($_GET["file"]=="jush.js"){header("Content-Type: text/javascript; charset=utf-8");echo
+lzw_decompress("v0F==FS _6MƳr:ECIo:CXc\rJ(:=Ea28x?'iSANNxsNBVl0S Ul(D|҄P>E㩶yHch-3Eb bpEp9.~\n?Kbiw|`d.x8EN!23\rYy6GFmY8o7\n\r0\0Dbc!Q7Шd8~N)Eг`Ns`S)O/<x9o3n2!r:;+9CȨ\n<`b\\?`4\r#`8\$c1cc{n7ANRLi\r1!(j´+62X8+.\r!xh'6S\0RO\n1(W07q:NE:68n+մ5_(s\r/m6P@EQ9\nV-\".:J8weq|؇X]Y XezW 7Z1hQfuj4Z{p\\AUJ<k@ɍ@}&L7UwuYh2@u P7Ah3ÛXEͅZ]l@Mplv) HWy>Y-Y/hC[*F#~!`\r#0PC˝f\\^%B<\\fޱ&/OL\\jFjZ1\\:ƴ>NXaFAfh{\"s\n64?8^p\"띰ȸ\\e(PNq[gr&}PhW*r_sPh\nom#.\0@pdW \$ҺQ۽Tl0 HdH)ۏ)PHgUBe\rt:\0)\"t,[(DO\nR8!Ƭ֚lAV4hSq<@}gK]]=90'wA<a~WD|A2XU2yŊ=p)\0P sn3rf\0FvGI@%+_I`\r.NKI[ʖSJaUfSzM%\"Q|9Bcaq\08#Zle5#U@iUGn%Ұs;gxLpP?BQ\\b龒Q=7:ݡQ\r:t:y( \nd)\nX;CaA\rPGH!@9\n\nAl~HV\nsիƯbBr3\rP%ф\r}b/Α\$5PC\"wB_UgAt夅^QUjBvh졄4)+)lj-&`9qPy6\r.y&ảE80kAVT7px)ޡ~M!EtP\\ϗm~cB\\\nmv{9`G[~xsL\\IXwy\nuSc1?A*{Ϳ|9/E4/W[ȳ>]rv~B PB`TH>0B)>N!4\"xW-X)0BhA0J2P@>AA)SnnOQbrҦh@ȋ(\nFϖƙ(γP\0No}lVԍp8%2>Bm@G(s\$d̜v\"pw6}(VKˠKL ¾Wq\r̤ʀQL%PdJHNxK:\n %fn%ҌDM [#T\rr.LL&W/>h6@ELPvC6O:Yh^mn6nj>7`z`N\\j\rg\ri2I\$\"@[`hM3q3d\0ֵys\$`D\$\0QOf1&\"~0`\"@ZG) Y:SD.S%͈3 dmU5.p2Q3VذWBDtCq#C@IPDT_D:Qf-WX\rpUDt&7@? }O122#UK*)긋0o<>]HƿrLGNW%M^9X:ɥNsE@xy(HƙMd5<52B k!>\r^J`ISN4'ƚ**`>`|0,DJFxb4lTؕ[[\\Ԡ\\{6\\ޖ (#mJԣ,`IJխl jj֟?֣kGkT9]3ohuJW\rk)\03@x,- 5B=࣐#gf&Z`#oXf\r Jh5rqnzs,6otDybhCtn9n`X&\r'tpL7Η&lZ-w{r@iUzM{rxאmSB\r@ H*BD.7(3XCV ʘɆ:6;ZX0̢#cMyUi2,qF˚bJ @gG|4gmzW )r|X`Scէ˙c!B/}{4J\0ÝnKuz @mѮ߭y͞y\")uY睘scy둶y7||{Ϙ*)4Y`ϵ[v^NXW7;_*x\r߉xm+m \$\nl);|٠ڙ:N:_8NU5;p+UL\\9O:IzQT)XGJ{w8ʼnU\$PxTYpjhJÀJ{@ǂZsh˘X\0ۖlӖθY}^@u2S#U;È|P\\#|<\\J,\\̚E]Wl,ɖ<Ό>Yn),ΙrԼ⍺] \$qDJ=XI-ŀallõ]\\w(iC׃tkRu\\+>)3PP6M%pԌA3qmu2fzۯ4s `ێ-kS%6\"IT5~\"Ut_ TuvֽYw0I7L\$1M?e@3q{,\"&ViI?mUWR\"uiTuqj\"G(-By5c?wT`eiJtbgU3@~+\0MG7`\0_-?\rV?FO6`\noϚIn*pe\"T{[Гp^\nlh@l0[/poJKX<=9{Ǿ6!OQx{ZVFԎ`~IߖL)Q[TMT*BC~ \ngÈŅp9zKwzO9di^'+Dz4gHALy\nr/%|ȅ̒ގ\$)1P30(\r+\nZz))\0*\0k2υ(E86stf&+;76&K_(9f,@-4l\$ۂe7\0:lLM7.\0|oJ۩Zu̺'y{H,#\0vU@9! '&G@_-ٿt;:uDPUцjH9FBcCiBwMtxPM?p=8lg~ta%]b\$\rra,6tW)\0UF |쓢vhQ*Ol.C\$\\ցRR[j[]KRJ>.;F=Rڌ<rM=Ԓh^Y\\Rmn Nn*gB5^Q҉@OxHIT9)(&}A)P\\/_!́Hڑ\0B\$z4TYuJv\0ꏃ%@32\0Sm--Gi@Q%jY+FuzlSW3ŷOrU\$E;M\\Աu/jeQ,#JXPZfSفfWJ V\$EukKP[\r\n_q}L}eMmu4V݇RZ܈\r k\r]a)`XBv02ۑ^;t=\"kaYB8J_k)f;FU`GWNw,\rq)\n( eR53\\NW®EؚS5B;W4J %]5Apm ܂߁\$.-K!sCEt+D;7 ON˲cjOPKFO\0(|k *YD5;s@6@QU\"\rb?XJvnAHoPS\$Tpbj1+f3&@ʀQw8@;\\㬈ĉNxb#Y`:kB8NoS(#Uݩ(Y;:eĹkn eXZMi&\r^d\"W\r~[aV' (#Y\0}`W.u|4V*Wl:mn\\\re/ikm֚UE0#j[pD/^hfWςL\r_ᬹ-TX[*qn\n2*ǖJ\"YvQT2I߷=DGKXK\"E)\nYm4!}K_ D@wm(\$@\$Aj+\\4ZİvdSmX!ho!F0lUz8Xn#\\͈_\"˘`HB]3\"z0)7\\w.fy( p0\0XS6+ *\\Q\r\"0dD c<6P3fVD~ 9b\\I,~\rxs\0aK8CE+Tl#V\0|>\$hG8XI@\nT\$9,Bt/u@s8B7syՙ,]Dy5neμ9)j^\n78Y<Uefu99\"^֍75ui'@h]L9^ס:D9̊0db칗6Ͷn7s\0_2zٝ72NQ/3A:tH=D=y?i8SȢ]פgCIh~PtF^u54;Fu\"+y?\0ֈ:ʘu\r<<w:*:j:-Ѓ8I\\u%J*wSԾc3;yK6HKmuiLT%N:NΑy\rbfuY=uE34ڭWN>mInx&Є'\0sok_Rz^{u}7zBF-diYYe 9kCHn'ז5{_:?65\rg/`ZLӖtѱ -q飐|\"G\rmdsX\$xe^nPI *\0G6JQ/hV[l\n(Esqr %\0ȕtfw)qdY8H)<{a)E@@Ṡ zWP!g\0ux;Ȝ @8)|ĄJ.Һs{\n[Cվ\\⸢~`<g\0zΖ2ts\ro\\\nmLnu-Il\0vy> Lw1;nel5`럋2@:Ld\0\$ÖU>]l\\)\$C\nQLB}{1 ;t#? {L%1O/vSMeCכ\n˯L<#@b?tM2t*^(,;́7ؙ[y?x+3Aucg}3D-\$t\\g\n\$\n*:(QXd~02x%G=-:;CpoS}ITQO|#prZ\0ڐdu7H/6M0=G@*#'ˑGGMؒ:\$4ľG0<ܙ&A(ŢbͶG\"y@Dž\\+縈>X@ĺ c3 <+ d(?!+¼WQOzkAݏ3Q\n!e'9=痌YKөK\"ԦEvq/o^ 8DEG;8\"o7PdE݉\rܼ8{ED} (.ܚ\004\\=2?Hv~(ex=~#>SlAy S|2FA}l,Cl5b}ltUfW6AgW%:g%b*ߥĿ̦y8.fI-ne z}fQ};%}e0xBR:>`e[z}{>Ϸ}g_p UiUZʶV؝D<;Cb;ŕE|O-~3wK\0tg!~csV}²p+M?WNc\rmL,l{e(r`a!'}(Y1U?toF!Ոh|T\$BopXhX\\~가iǀ,dXJ:pmЁAm!(h@:\0u0\"6,u0K69p>\"\0(>ey1xY\0xBnĀ#À\0#/a;u ۂ\0\$@2`O 2@`;@Y >7@@B*\03ѿNX+?6H:,?\n*#Ԙ!=f[;á|L]q[႖N\r%k P0'<6(DAOBnt/Zr뻏!1^ϡI/uC !k֚K`\n\\+<IO^gD#c\0Z pX8*p3>\nNA, ;cءb\">%P!IKTJķH[Ć&pR<f\\ Kۍ̐(V;\0ڂy쵄!)0x(Pz@jo\". @=98!A`\rab69\0E\nk%BH!P`\n߀*d&oT3%Sh\0B) 6B`R!623p\0ۏ6B69|@.p@>(V@\0*a/ܲT#&([+0h,O\0χr\rc9\0Cϙb\0Ț9e/.C9hC.1D C:p8\"OY0=ؕO5]\$/2C/Χ\r7Cf.`9;+&ǃ\nAL\0002KoK?p\nCн1t(=6ҿc a\0lVHjnVk\n暢>pY<;lT:1bމĖO\0}n\\\n@Bn>\$# \n!̈́&A8BU&kg)P\rdE@XO;˧zbHBp>LB*Dq>tD`6\0,Iq\$DPJ !XDEb=KrD\\Cě|DR\\J8n1/DkLO\$(\n\\H:a'DJQ7E9I;=k\\FFDSnE<bE8%PENLj E\0006;ļ0V6%HU\nZ/X \0Y*|V̼1dJsO[&2Z1 * \n=u1mA#h)Q_sH*]/O۠=_>b=!C23pkc^L\0\0Ȇ8*x6\"@ Eoܑf;f.\";6ʎYX3Řn;븑q3,X8^ ׃\\.\0C(O+%P#Π\n? A=eÑAO\\]ۥ=ԁ!c)J>B#D4doHA\0:nƟx` 뗡5P 4\0>\0F%X!;\\f42';dMscY@3@8w\$? \n`ÏBN@ >u@(\n4P)\0#? o(\n`)p[#\nCQ\$u@ :\0'\08Gn<45f[3hc(H,8}!lrM7(r\\|J\rFIvn?\0(`':4pa=Tq!x͌^F֬aT9B\rzX)^z|TG@\0hW 1\$JrJ+\$1G\$kEBS4Dt\0[ĔQ\$rX\\05%lIc 2WS%rZ1[%I\rd'bBGIDQHɥ\$R\0l% .3eԜqIa%2tR] I'L+R{ɍ'dtI\$ 4XJ+KxD< &P,Rl\0Na`Ga<%Ӂ_Pč%\0005(BF\"'Ic9BDAxB1pRKF`!.,ì,\$K#ԫr˝(Ժ\"K圩˟* (\$!Y1Y1}%/.RK(R628+I3\$[.x!E%D\"_K[.ܳ!_ʸD,.tK.HI\n2\r\"(@6\".e\0#Ї %Z~\nnoLJ|c',1KyY1s(&yf#Ƴ-%i-ʣ--|L<0R8Y,LR0(0l@*d2(̥*g6Q2\0,/MqHA3\$7L`\"M\"6L3;|+\"4>7,\0\$K 4,γ/Q,kbn@J0OR:B\0L!))4aOH#E.\\ղM`lH5I\0:Mq4sGLsaX\"UR&Wq.\$g@6@#eKiMDd#K@5sO+7PS͒\0Ƽ=87TM-5TP2a6MD+Bt\\M\r2DHdԂ|#Ԍ͚27I>CL@SF3\0#P:4IKI#J7C/M-4e?Na3 J?]JjsDr-\"LLΟ9CΦ#Э, )/Ӟ:(\n!퓱N\0'YMʷ;2N;rK.N3s8Y;s¹g<<2,\0#<2gO\$ҧ3-NSw=dK#?O>\$<0O\$ӤO>pN#StJSO5?+bSO,sLJ\rOjSI#; O+|γb1!;ɡ@4O@4O=\$O%0L-ُNI89\nL쌭NM:\\2@N9llϿ( =Ɠ!;ĊO<3PRMBcdV2L4pknP++>\n@Lq\0\0,Q\\\n`[\"*Dж>zBT0:\0\ne \$rM4=l\nN)Cp480\0#J=@&3\0*C6 \"`#> (Q\n81Ct3EC\n`(z?b7\0[QN>'\0x c鎨\n2Cp@&\08\0\n䴏O\0/A\0#@cPD TR\n>dBDTLDt5PjpGAoQoG8,-rK#)9E5TQG4Ao\0>tMD8yRG@'PC RgIQJU)EmTZE'#cEqFza>)TQ3H#TLqIjM&CRh@\nTK\00006\0IπFE@'љFphS5F\"nѮM%aoS E) B\"eћD3hAF4tlJ\$CwHITKPt5QCRQJ{\04poSR]\$ǑD[J' 'V u\$\rRA@)ӷR3c-?܁#?0SF4QG59Q`G3QS\$xRSaoTEB͏?+hSHUQ]M K\n4CmS\0N;PO!\"RT9SFU5-UTH(ԇTV\0J5UNT8ZR@,R&T@Ǒ uK6>&tQsPe\$UO;%\0V` `\$Ԣ@1о?\$\nJ.9WmWpu'W?NR^PUsCSTR6TNGOS'5%V?%PnJuPcR`\\VN@'#b=oPF(8Y-uV-UԹ]CI8\\\nrW(TR?-P\$ Z3u些B`>\0E]T#L L)מ:@#G)4R;VmD%8)Ǖ^Q#h H@ Ny4#c XR'7`\\\nEQ`m]WNdV'Z\r5GXEjuTE9\0T-UBOPQ65_xz#?-6TE-4\08\n X #D oRALm\r5eGN V64p\$a9NSaU?AU\n\"<9cufQ__0щ\0;CTIN2 ,SV=ػd=A+رJeӽQ5V\0E펖>Y1H@DYRYH~OcGTK>\"Ѿ\r/U܍&x?\n/>twѠ\0eq\$E\$?%-ىPegY}_-gE1Ye@0 {F\r!PMKv7Q-Q?(g\r\$Y=Q