Browse Source

First Commit

master
Skylar Ittner 6 years ago
commit
aca8c3b900
  1. 2
      .htaccess
  2. 8
      code2item.php
  3. 13
      composer.json
  4. 76
      composer.lock
  5. 61
      error/400.html
  6. 61
      error/401.html
  7. 61
      error/403.html
  8. 61
      error/404.html
  9. 61
      error/405.html
  10. 61
      error/500.html
  11. 61
      error/502.html
  12. 61
      error/503.html
  13. BIN
      favicon.ico
  14. 16
      getbadges.php
  15. 15
      getstats.php
  16. 60
      index.html
  17. 17
      index.php
  18. 2
      maptileurl.php
  19. 7
      nbproject/project.properties
  20. 9
      nbproject/project.xml
  21. 21
      ping.php
  22. 28
      pinglogin.php
  23. 70
      required.php
  24. 27
      response.php
  25. 1
      robots.txt
  26. 4
      stats/.htaccess
  27. BIN
      stats/ctry_usage_201602.png
  28. BIN
      stats/ctry_usage_201603.png
  29. BIN
      stats/daily_usage_201602.png
  30. BIN
      stats/daily_usage_201603.png
  31. BIN
      stats/hourly_usage_201602.png
  32. BIN
      stats/hourly_usage_201603.png
  33. 97
      stats/index.html
  34. BIN
      stats/usage.png
  35. 665
      stats/usage_201602.html
  36. 1073
      stats/usage_201603.html
  37. 184
      stats/webalizer.current
  38. 121
      stats/webalizer.hist
  39. 7
      vendor/autoload.php
  40. 1
      vendor/catfan/medoo
  41. 413
      vendor/composer/ClassLoader.php
  42. 21
      vendor/composer/LICENSE
  43. 9
      vendor/composer/autoload_classmap.php
  44. 10
      vendor/composer/autoload_files.php
  45. 9
      vendor/composer/autoload_namespaces.php
  46. 9
      vendor/composer/autoload_psr4.php
  47. 59
      vendor/composer/autoload_real.php
  48. 59
      vendor/composer/installed.json

2
.htaccess

@ -0,0 +1,2 @@
## Default .htaccess file
php_value suhosin.srand.ignore 0

8
code2item.php

@ -0,0 +1,8 @@
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

13
composer.json

@ -0,0 +1,13 @@
{
"name": "netsyms-technologies/terran-quest-server",
"description": "Description of project TerranQuest Server.",
"authors": [
{
"name": "Skylar Ittner",
"email": "admin@netsyms.com"
}
],
"require": {
"catfan/medoo": "dev-master"
}
}

76
composer.lock

@ -0,0 +1,76 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "cd601712cf0bad7d16f8a6559ee81b64",
"content-hash": "9718bf7d5a744cc861b207c4e67c28f7",
"packages": [
{
"name": "catfan/medoo",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/catfan/Medoo.git",
"reference": "342e2d6a3bcf4adcac58e67593d63547139ab1ac"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/catfan/Medoo/zipball/342e2d6a3bcf4adcac58e67593d63547139ab1ac",
"reference": "342e2d6a3bcf4adcac58e67593d63547139ab1ac",
"shasum": ""
},
"require": {
"ext-pdo": "*",
"php": ">=5.1"
},
"suggest": {
"ext-pdo_dblib": "For MSSQL or Sybase databases on Linux/UNIX platform",
"ext-pdo_mysql": "For MySQL or MariaDB databases",
"ext-pdo_oci": "For Oracle databases",
"ext-pdo_pqsql": "For PostgreSQL databases",
"ext-pdo_sqlite": "For SQLite databases",
"ext-pdo_sqlsrv": "For MSSQL databases on Windows platform"
},
"type": "framework",
"autoload": {
"files": [
"medoo.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Angel Lai",
"email": "angel@catfan.me"
}
],
"description": "The Lightest PHP database framework to accelerate development",
"homepage": "http://medoo.in",
"keywords": [
"database",
"lightweight",
"mssql",
"mysql",
"php framework",
"sql",
"sqlite"
],
"time": "2016-02-14 16:03:42"
}
],
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": {
"catfan/medoo": 20
},
"prefer-stable": false,
"prefer-lowest": false,
"platform": [],
"platform-dev": []
}

61
error/400.html

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>ERROR 400 - Bad Request!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex" />
<style type="text/css"><!--
body {
color: #444444;
background-color: #EEEEEE;
font-family: 'Trebuchet MS', sans-serif;
font-size: 80%;
}
h1 {}
h2 { font-size: 1.2em; }
#page{
background-color: #FFFFFF;
width: 60%;
margin: 24px auto;
padding: 12px;
}
#header {
padding: 6px ;
text-align: center;
}
.status3xx { background-color: #475076; color: #FFFFFF; }
.status4xx { background-color: #C55042; color: #FFFFFF; }
.status5xx { background-color: #F2E81A; color: #000000; }
#content {
padding: 4px 0 24px 0;
}
#footer {
color: #666666;
background: #f9f9f9;
padding: 10px 20px;
border-top: 5px #efefef solid;
font-size: 0.8em;
text-align: center;
}
#footer a {
color: #999999;
}
--></style>
</head>
<body>
<div id="page">
<div id="header" class="status4xx">
<h1>ERROR 400 - Bad Request!</h1>
</div>
<div id="content">
<h2>The following error occurred:</h2>
<p>You have used invalid syntax.</p>
<P>Please contact the <!--WEBMASTER//-->webmaster<!--WEBMASTER//--> with any queries.</p>
</div>
<div id="footer">
<p>Powered by <a href="http://www.ispconfig.org">ISPConfig</a></p>
</div>
</div>
</body>
</html>

61
error/401.html

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>ERROR 401 - Unauthorized!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex" />
<style type="text/css"><!--
body {
color: #444444;
background-color: #EEEEEE;
font-family: 'Trebuchet MS', sans-serif;
font-size: 80%;
}
h1 {}
h2 { font-size: 1.2em; }
#page{
background-color: #FFFFFF;
width: 60%;
margin: 24px auto;
padding: 12px;
}
#header {
padding: 6px ;
text-align: center;
}
.status3xx { background-color: #475076; color: #FFFFFF; }
.status4xx { background-color: #C55042; color: #FFFFFF; }
.status5xx { background-color: #F2E81A; color: #000000; }
#content {
padding: 4px 0 24px 0;
}
#footer {
color: #666666;
background: #f9f9f9;
padding: 10px 20px;
border-top: 5px #efefef solid;
font-size: 0.8em;
text-align: center;
}
#footer a {
color: #999999;
}
--></style>
</head>
<body>
<div id="page">
<div id="header" class="status4xx">
<h1>ERROR 401 - Unauthorized!</h1>
</div>
<div id="content">
<h2>The following error occurred:</h2>
<p>The URL requested requires authorisation.</p>
<P>Please contact the <!--WEBMASTER//-->webmaster<!--WEBMASTER//--> with any queries.</p>
</div>
<div id="footer">
<p>Powered by <a href="http://www.ispconfig.org">ISPConfig</a></p>
</div>
</div>
</body>
</html>

61
error/403.html

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>ERROR 403 - Forbidden!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex" />
<style type="text/css"><!--
body {
color: #444444;
background-color: #EEEEEE;
font-family: 'Trebuchet MS', sans-serif;
font-size: 80%;
}
h1 {}
h2 { font-size: 1.2em; }
#page{
background-color: #FFFFFF;
width: 60%;
margin: 24px auto;
padding: 12px;
}
#header {
padding: 6px ;
text-align: center;
}
.status3xx { background-color: #475076; color: #FFFFFF; }
.status4xx { background-color: #C55042; color: #FFFFFF; }
.status5xx { background-color: #F2E81A; color: #000000; }
#content {
padding: 4px 0 24px 0;
}
#footer {
color: #666666;
background: #f9f9f9;
padding: 10px 20px;
border-top: 5px #efefef solid;
font-size: 0.8em;
text-align: center;
}
#footer a {
color: #999999;
}
--></style>
</head>
<body>
<div id="page">
<div id="header" class="status4xx">
<h1>ERROR 403 - Forbidden!</h1>
</div>
<div id="content">
<h2>The following error occurred:</h2>
<p>You are not permitted to access the requested URL.</p>
<P>Please contact the <!--WEBMASTER//-->webmaster<!--WEBMASTER//--> with any queries.</p>
</div>
<div id="footer">
<p>Powered by <a href="http://www.ispconfig.org">ISPConfig</a></p>
</div>
</div>
</body>
</html>

61
error/404.html

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>ERROR 404 - Not Found!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex" />
<style type="text/css"><!--
body {
color: #444444;
background-color: #EEEEEE;
font-family: 'Trebuchet MS', sans-serif;
font-size: 80%;
}
h1 {}
h2 { font-size: 1.2em; }
#page{
background-color: #FFFFFF;
width: 60%;
margin: 24px auto;
padding: 12px;
}
#header {
padding: 6px ;
text-align: center;
}
.status3xx { background-color: #475076; color: #FFFFFF; }
.status4xx { background-color: #C55042; color: #FFFFFF; }
.status5xx { background-color: #F2E81A; color: #000000; }
#content {
padding: 4px 0 24px 0;
}
#footer {
color: #666666;
background: #f9f9f9;
padding: 10px 20px;
border-top: 5px #efefef solid;
font-size: 0.8em;
text-align: center;
}
#footer a {
color: #999999;
}
--></style>
</head>
<body>
<div id="page">
<div id="header" class="status4xx">
<h1>ERROR 404 - Not Found!</h1>
</div>
<div id="content">
<h2>The following error occurred:</h2>
<p>The requested URL was not found on this server.</p>
<P>Please check the URL or contact the <!--WEBMASTER//-->webmaster<!--WEBMASTER//-->.</p>
</div>
<div id="footer">
<p>Powered by <a href="http://www.ispconfig.org">ISPConfig</a></p>
</div>
</div>
</body>
</html>

61
error/405.html

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>ERROR 405 - Method Not Allowed!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex" />
<style type="text/css"><!--
body {
color: #444444;
background-color: #EEEEEE;
font-family: 'Trebuchet MS', sans-serif;
font-size: 80%;
}
h1 {}
h2 { font-size: 1.2em; }
#page{
background-color: #FFFFFF;
width: 60%;
margin: 24px auto;
padding: 12px;
}
#header {
padding: 6px ;
text-align: center;
}
.status3xx { background-color: #475076; color: #FFFFFF; }
.status4xx { background-color: #C55042; color: #FFFFFF; }
.status5xx { background-color: #F2E81A; color: #000000; }
#content {
padding: 4px 0 24px 0;
}
#footer {
color: #666666;
background: #f9f9f9;
padding: 10px 20px;
border-top: 5px #efefef solid;
font-size: 0.8em;
text-align: center;
}
#footer a {
color: #999999;
}
--></style>
</head>
<body>
<div id="page">
<div id="header" class="status4xx">
<h1>ERROR 405 - Method Not Allowed!</h1>
</div>
<div id="content">
<h2>The following error occurred:</h2>
<p>The method used is not permitted.</p>
<P>Please contact the <!--WEBMASTER//-->webmaster<!--WEBMASTER//--> with any queries.</p>
</div>
<div id="footer">
<p>Powered by <a href="http://www.ispconfig.org">ISPConfig</a></p>
</div>
</div>
</body>
</html>

61
error/500.html

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>ERROR 500 - Internal Server Error!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex" />
<style type="text/css"><!--
body {
color: #444444;
background-color: #EEEEEE;
font-family: 'Trebuchet MS', sans-serif;
font-size: 80%;
}
h1 {}
h2 { font-size: 1.2em; }
#page{
background-color: #FFFFFF;
width: 60%;
margin: 24px auto;
padding: 12px;
}
#header {
padding: 6px ;
text-align: center;
}
.status3xx { background-color: #475076; color: #FFFFFF; }
.status4xx { background-color: #C55042; color: #FFFFFF; }
.status5xx { background-color: #F2E81A; color: #000000; }
#content {
padding: 4px 0 24px 0;
}
#footer {
color: #666666;
background: #f9f9f9;
padding: 10px 20px;
border-top: 5px #efefef solid;
font-size: 0.8em;
text-align: center;
}
#footer a {
color: #999999;
}
--></style>
</head>
<body>
<div id="page">
<div id="header" class="status5xx">
<h1>ERROR 500 - Internal Server Error!</h1>
</div>
<div id="content">
<h2>The following error occurred:</h2>
<p>The requested URL caused an internal server error.</p>
<P>If you get this message repeatedly please contact the <!--WEBMASTER//-->webmaster<!--WEBMASTER//-->.</p>
</div>
<div id="footer">
<p>Powered by <a href="http://www.ispconfig.org">ISPConfig</a></p>
</div>
</div>
</body>
</html>

61
error/502.html

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>ERROR 502 - Bad Gateway!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex" />
<style type="text/css"><!--
body {
color: #444444;
background-color: #EEEEEE;
font-family: 'Trebuchet MS', sans-serif;
font-size: 80%;
}
h1 {}
h2 { font-size: 1.2em; }
#page{
background-color: #FFFFFF;
width: 60%;
margin: 24px auto;
padding: 12px;
}
#header {
padding: 6px ;
text-align: center;
}
.status3xx { background-color: #475076; color: #FFFFFF; }
.status4xx { background-color: #C55042; color: #FFFFFF; }
.status5xx { background-color: #F2E81A; color: #000000; }
#content {
padding: 4px 0 24px 0;
}
#footer {
color: #666666;
background: #f9f9f9;
padding: 10px 20px;
border-top: 5px #efefef solid;
font-size: 0.8em;
text-align: center;
}
#footer a {
color: #999999;
}
--></style>
</head>
<body>
<div id="page">
<div id="header" class="status5xx">
<h1>ERROR 502 - Bad Gateway!</h1>
</div>
<div id="content">
<h2>The following error occurred:</h2>
<p>This server received an invalid response from an upstream server it accessed to fulfill the request.</p>
<P>If you get this message repeatedly please contact the <!--WEBMASTER//-->webmaster<!--WEBMASTER//-->.</p>
</div>
<div id="footer">
<p>Powered by <a href="http://www.ispconfig.org">ISPConfig</a></p>
</div>
</div>
</body>
</html>

61
error/503.html

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>ERROR 503 - Service Unavailable!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex" />
<style type="text/css"><!--
body {
color: #444444;
background-color: #EEEEEE;
font-family: 'Trebuchet MS', sans-serif;
font-size: 80%;
}
h1 {}
h2 { font-size: 1.2em; }
#page{
background-color: #FFFFFF;
width: 60%;
margin: 24px auto;
padding: 12px;
}
#header {
padding: 6px ;
text-align: center;
}
.status3xx { background-color: #475076; color: #FFFFFF; }
.status4xx { background-color: #C55042; color: #FFFFFF; }
.status5xx { background-color: #F2E81A; color: #000000; }
#content {
padding: 4px 0 24px 0;
}
#footer {
color: #666666;
background: #f9f9f9;
padding: 10px 20px;
border-top: 5px #efefef solid;
font-size: 0.8em;
text-align: center;
}
#footer a {
color: #999999;
}
--></style>
</head>
<body>
<div id="page">
<div id="header" class="status5xx">
<h1>ERROR 503 - Service Unavailable!</h1>
</div>
<div id="content">
<h2>The following error occurred:</h2>
<p>The Service is not available at the moment due to a temporary overloading or maintenance of the server. Please try again later.</p>
<P>Please contact the <!--WEBMASTER//-->webmaster<!--WEBMASTER//--> with any queries.</p>
</div>
<div id="footer">
<p>Powered by <a href="http://www.ispconfig.org">ISPConfig</a></p>
</div>
</div>
</body>
</html>

BIN
favicon.ico

16
getbadges.php

@ -0,0 +1,16 @@
<?php
require 'required.php';
if (is_empty($VARS['user'])) {
sendError("Missing data.", true);
}
$badges = $database->select(
'player_badges', ["[>]badges" => ["badgeid" => "badgeid"]], ['badgesid', 'badgename', 'badgedesc', 'gotdate'], ['playeruuid' => file_get_contents("https://sso.netsyms.com/api/getguid.php?user=" . $VARS['user'])]
);
$out = [];
$out['status'] = 'OK';
$out['badges'] = $badges;
echo json_encode($out);

15
getstats.php

@ -0,0 +1,15 @@
<?php
require 'required.php';
if (is_empty($VARS['user'])) {
sendError("Missing data.", true);
}
$stats = $database->select('players', ['level', 'energy', 'maxenergy', 'lastping'], ['uuid' => file_get_contents("https://sso.netsyms.com/api/getguid.php?user=" . $VARS['user'])])[0];
$out = [];
$out['status'] = 'OK';
$out['stats'] = $stats;
echo json_encode($out);

60
index.html

@ -0,0 +1,60 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Welcome!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" href="/favicon.ico" />
<meta name="robots" content="noindex" />
<style type="text/css"><!--
body {
color: #444444;
background-color: #EEEEEE;
font-family: 'Trebuchet MS', sans-serif;
font-size: 80%;
}
h1 {}
h2 { font-size: 1.2em; }
#page{
background-color: #FFFFFF;
width: 60%;
margin: 24px auto;
padding: 12px;
}
#header{
padding: 6px ;
text-align: center;
}
.header{ background-color: #83A342; color: #FFFFFF; }
#content {
padding: 4px 0 24px 0;
}
#footer {
color: #666666;
background: #f9f9f9;
padding: 10px 20px;
border-top: 5px #efefef solid;
font-size: 0.8em;
text-align: center;
}
#footer a {
color: #999999;
}
--></style>
</head>
<body>
<div id="page">
<div id="header" class="header">
<h1>Welcome to <!--ADRESSE//-->your website!<!--ADRESSE//--></h1>
</div>
<div id="content">
<h2>This is the default index page of your website.</h2>
<p>This file may be deleted or overwritten without any difficulty. This is produced by the file <b>index.html</b> in the <b>web</b> directory.</p>
<p>For questions or problems please contact <!--SUPPORT//-->support<!--SUPPORT//-->.</p>
</div>
<div id="footer">
<p>Powered by <a href="http://www.ispconfig.org">ISPConfig</a></p>
</div>
</div>
</body>
</html>

17
index.php

@ -0,0 +1,17 @@
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
// put your code here
?>
</body>
</html>

2
maptileurl.php

@ -0,0 +1,2 @@
<?php
die("http://tile.stamen.com/terrain/{z}/{x}/{y}.jpg");

7
nbproject/project.properties

@ -0,0 +1,7 @@
include.path=${php.global.include.path}
php.version=PHP_54
source.encoding=UTF-8
src.dir=.
tags.asp=false
tags.short=false
web.root=.

9
nbproject/project.xml

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.php.project</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/php-project/1">
<name>TerranQuest Server</name>
</data>
</configuration>
</project>

21
ping.php

@ -0,0 +1,21 @@
<?php
require 'required.php';
if (is_empty($VARS['user']) || is_empty($VARS['lat']) || is_empty($VARS['long'])) {
sendError("Missing data.", true);
}
if (!preg_match('/-?[0-9]{1,3}\.[0-9]{4,}/', $VARS['lat'])) {
sendError("Latitude (lat) is in the wrong format.", true);
}
if (!preg_match('/-?[0-9]{1,3}\.[0-9]{4,}/', $VARS['long'])) {
sendError("Longitude (long) is in the wrong format.", true);
}
$uuid = file_get_contents("https://sso.netsyms.com/api/getguid.php?user=" . $VARS['user']);
$database->update('players', ['latitude' => $VARS['lat'], 'longitude' => $VARS['long'], '#lastping' => 'NOW()'], ['uuid' => $uuid]);
sendOK();

28
pinglogin.php

@ -0,0 +1,28 @@
<?php
require 'required.php';
if (is_empty($VARS['user'])) {
sendError("Missing data.", true);
}
$guid = file_get_contents("https://sso.netsyms.com/api/getguid.php?user=" . $VARS['user']);
if ($database->has('players', ['uuid' => $guid])) {
sendOK();
} else {
$database->insert('players', ['uuid' => $guid, 'level' => 1.0, 'energy' => 100, 'maxenergy' => 100, '#lastping' => 'NOW()']);
sendOK("Successfully synced Netsyms account to TerranQuest.");
ini_set("sendmail_from", "sso@netsyms.com");
$message = "This is just a quick message confirming that you have successfully linked TerranQuest to your Netsyms Technologies account. \n\n";
$message .= "If you have any questions or need assistance with anything, email admin@netsyms.com and we will be happy to assist you. \n\n";
$message .= "Have a nice day, " . $_SESSION['user'] . ". We hope you continue to use our services.";
$message .= "\n\n--------\nNetsyms Technologies\n\nThis is an automated email. Do not reply to it.";
$headers = "From: Account System <sso@netsyms.com>";
$email = file_get_contents("https://sso.netsyms.com/api/getemail.php?user=" . $VARS['user']);
mail($email, "Account Update", $message, $headers);
}

70
required.php

@ -0,0 +1,70 @@
<?php
/**
* This file contains global settings and things that should be loaded at the
* top of each file.
*/
ob_start();
header("Access-Control-Allow-Origin: *");
if (strtolower($_GET['format']) == 'plain') {
define("JSON", false);
} else {
define("JSON", true);
}
// Composer
require 'vendor/autoload.php';
// API response formatters
require 'response.php';
// Database settings
// Also inits database and stuff
$database;
try {
$database = new medoo([
'database_type' => 'mysql',
'database_name' => 'c0terranquest',
'server' => 'localhost',
'username' => 'c0terranquest',
'password' => 'qinkifTQ!OMY2',
'charset' => 'utf8'
]);
} catch (Exception $ex) {
header('HTTP/1.1 500 Internal Server Error');
sendError('Database error. Try again later.', true);
}
// Show errors and stuff?
define("DEBUG", false);
// Use POST instead of GET?
if (!is_empty($_GET['post']) && $_GET['post'] == '1') {
define("GET", false);
} else {
define("GET", true);
}
if (!DEBUG) {
error_reporting(0);
} else {
error_reporting(E_ALL);
ini_set('display_errors', 'On');
}
$VARS;
if (GET) {
$VARS = $_GET;
} else {
$VARS = $_POST;
}
/**
* Checks if a string or whatever is empty.
* @param $str The thingy to check
* @return boolean True if it's empty or whatever.
*/
function is_empty($str) {
return (!isset($str) || $str == '' || $str == null);
}

27
response.php

@ -0,0 +1,27 @@
<?php
function sendOK($message = "", $die = false) {
if (!is_empty($message) && JSON) {
echo '{ "status": "OK", "message": "'.$message.'" }';
} elseif (is_empty($message) && JSON) {
echo '{ "status": "OK" }';
} elseif (!is_empty($message) && !JSON) {
echo "OK:$message";
} else {
echo "OK";
}
if ($die) {
die();
}
}
function sendError($error, $die = false) {
if (JSON) {
echo '{ "status": "ERROR", "message": "' . $error . '" }';
} else {
echo "Error: $error";
}
if ($die) {
die();
}
}

1
robots.txt

@ -0,0 +1 @@
User-agent: *

4
stats/.htaccess

@ -0,0 +1,4 @@
AuthType Basic
AuthName "Members Only"
AuthUserFile /var/www/clients/client0/web46/web/stats/.htpasswd_stats
require valid-user

BIN
stats/ctry_usage_201602.png

After

Width: 512  |  Height: 300  |  Size: 2.5 KiB

BIN
stats/ctry_usage_201603.png

After

Width: 512  |  Height: 300  |  Size: 2.5 KiB

BIN
stats/daily_usage_201602.png

After

Width: 512  |  Height: 400  |  Size: 2.4 KiB

BIN
stats/daily_usage_201603.png

After

Width: 512  |  Height: 400  |  Size: 2.7 KiB

BIN
stats/hourly_usage_201602.png

After

Width: 512  |  Height: 256  |  Size: 1.6 KiB

BIN
stats/hourly_usage_201603.png

After

Width: 512  |  Height: 256  |  Size: 1.8 KiB

97
stats/index.html

@ -0,0 +1,97 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Generated by The Webalizer Ver. 2.23-08 -->
<!-- -->
<!-- Copyright 1997-2013 Bradford L. Barrett -->
<!-- -->
<!-- Distributed under the GNU GPL Version 2 -->
<!-- Full text may be found at: -->
<!-- http://www.webalizer.org -->
<!-- -->
<!-- Give the power back to the programmers -->
<!-- Support the Free Software Foundation -->
<!-- (http://www.fsf.org) -->
<!-- -->
<!-- *** Generated: 17-Mar-2016 00:30 MDT *** -->
<HTML lang="en">
<HEAD>
<TITLE>Usage statistics for gs.terranquest.net - Summary by Month</TITLE>
</HEAD>
<BODY BGCOLOR="#E8E8E8" TEXT="#000000" LINK="#0000FF" VLINK="#FF0000">
<H2>Usage statistics for gs.terranquest.net</H2>
<SMALL><STRONG>
Summary by Month<BR>
Generated 17-Mar-2016 00:30 MDT<BR>
</STRONG></SMALL>
<CENTER>
<HR>
<P>
<IMG SRC="usage.png" ALT="Usage summary for gs.terranquest.net" HEIGHT=256 WIDTH=512><P>
<TABLE WIDTH=600 BORDER=2 CELLSPACING=1 CELLPADDING=1>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH COLSPAN=11 BGCOLOR="#C0C0C0" ALIGN=center>Summary by Month</TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH ALIGN=left ROWSPAN=2 BGCOLOR="#C0C0C0"><FONT SIZE="-1">Month</FONT></TH>
<TH ALIGN=center COLSPAN=4 BGCOLOR="#C0C0C0"><FONT SIZE="-1">Daily Avg</FONT></TH>
<TH ALIGN=center COLSPAN=6 BGCOLOR="#C0C0C0"><FONT SIZE="-1">Monthly Totals</FONT></TH></TR>
<TR><TH ALIGN=center BGCOLOR="#00805c"><FONT SIZE="-1">Hits</FONT></TH>
<TH ALIGN=center BGCOLOR="#0040ff"><FONT SIZE="-1">Files</FONT></TH>
<TH ALIGN=center BGCOLOR="#00e0ff"><FONT SIZE="-1">Pages</FONT></TH>
<TH ALIGN=center BGCOLOR="#ffff00"><FONT SIZE="-1">Visits</FONT></TH>
<TH ALIGN=center BGCOLOR="#ff8000"><FONT SIZE="-1">Sites</FONT></TH>
<TH ALIGN=center BGCOLOR="#ff0000"><FONT SIZE="-1">kB F</FONT></TH>
<TH ALIGN=center BGCOLOR="#ffff00"><FONT SIZE="-1">Visits</FONT></TH>
<TH ALIGN=center BGCOLOR="#00e0ff"><FONT SIZE="-1">Pages</FONT></TH>
<TH ALIGN=center BGCOLOR="#0040ff"><FONT SIZE="-1">Files</FONT></TH>
<TH ALIGN=center BGCOLOR="#00805c"><FONT SIZE="-1">Hits</FONT></TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TD NOWRAP><A HREF="usage_201603.html"><FONT SIZE="-1">Mar 2016</FONT></A></TD>
<TD ALIGN=right><FONT SIZE="-1">1022</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">1022</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">1021</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">3</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">6</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">3413</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">23</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">7150</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">7156</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">7157</FONT></TD></TR>
<TR><TD NOWRAP><A HREF="usage_201602.html"><FONT SIZE="-1">Feb 2016</FONT></A></TD>
<TD ALIGN=right><FONT SIZE="-1">2</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">2</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">1</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">1</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">1</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">9</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">1</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">1</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">2</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">2</FONT></TD></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH BGCOLOR="#C0C0C0" COLSPAN=6 ALIGN=left><FONT SIZE="-1">Totals</FONT></TH>
<TH BGCOLOR="#C0C0C0" ALIGN=right><FONT SIZE="-1">3422</FONT></TH>
<TH BGCOLOR="#C0C0C0" ALIGN=right><FONT SIZE="-1">24</FONT></TH>
<TH BGCOLOR="#C0C0C0" ALIGN=right><FONT SIZE="-1">7151</FONT></TH>
<TH BGCOLOR="#C0C0C0" ALIGN=right><FONT SIZE="-1">7158</FONT></TH>
<TH BGCOLOR="#C0C0C0" ALIGN=right><FONT SIZE="-1">7159</FONT></TH></TR>
<TR><TH HEIGHT=4></TH></TR>
</TABLE>
</CENTER>
<P>
<HR>
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
<TR>
<TD ALIGN=left VALIGN=top>
<SMALL>Generated by
<A HREF="http://www.webalizer.org/"><STRONG>Webalizer Version 2.23</STRONG></A>
</SMALL>
</TD>
</TR>
</TABLE>
<!-- Webalizer Version 2.23-08 (Mod: 26-Aug-2013) -->
</BODY>
</HTML>

BIN
stats/usage.png

After

Width: 512  |  Height: 256  |  Size: 2.1 KiB

665
stats/usage_201602.html

@ -0,0 +1,665 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Generated by The Webalizer Ver. 2.23-08 -->
<!-- -->
<!-- Copyright 1997-2013 Bradford L. Barrett -->
<!-- -->
<!-- Distributed under the GNU GPL Version 2 -->
<!-- Full text may be found at: -->
<!-- http://www.webalizer.org -->
<!-- -->
<!-- Give the power back to the programmers -->
<!-- Support the Free Software Foundation -->
<!-- (http://www.fsf.org) -->
<!-- -->
<!-- *** Generated: 28-Feb-2016 00:30 MST *** -->
<HTML lang="en">
<HEAD>
<TITLE>Usage statistics for gs.terranquest.net - February 2016</TITLE>
</HEAD>
<BODY BGCOLOR="#E8E8E8" TEXT="#000000" LINK="#0000FF" VLINK="#FF0000">
<H2>Usage statistics for gs.terranquest.net</H2>
<SMALL><STRONG>
Summary Period: February 2016<BR>
Generated 28-Feb-2016 00:30 MST<BR>
</STRONG></SMALL>
<CENTER>
<HR>
<P>
<SMALL>
<A HREF="#DAYSTATS">[Daily Statistics]</A>
<A HREF="#HOURSTATS">[Hourly Statistics]</A>
<A HREF="#TOPURLS">[URLs]</A>
<A HREF="#TOPENTRY">[Entry]</A>
<A HREF="#TOPEXIT">[Exit]</A>
<A HREF="#TOPSITES">[Sites]</A>
<A HREF="#TOPREFS">[Referrers]</A>
<A HREF="#TOPSEARCH">[Search]</A>
<A HREF="#TOPAGENTS">[Agents]</A>
<A HREF="#TOPCTRYS">[Countries]</A>
</SMALL>
<P>
<TABLE WIDTH=510 BORDER=2 CELLSPACING=1 CELLPADDING=1>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH COLSPAN=3 ALIGN=center BGCOLOR="#C0C0C0">Monthly Statistics for February 2016</TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TD WIDTH=380><FONT SIZE="-1">Total Hits</FONT></TD>
<TD ALIGN=right COLSPAN=2><FONT SIZE="-1"><B>2</B></FONT></TD></TR>
<TR><TD WIDTH=380><FONT SIZE="-1">Total Files</FONT></TD>
<TD ALIGN=right COLSPAN=2><FONT SIZE="-1"><B>2</B></FONT></TD></TR>
<TR><TD WIDTH=380><FONT SIZE="-1">Total Pages</FONT></TD>
<TD ALIGN=right COLSPAN=2><FONT SIZE="-1"><B>1</B></FONT></TD></TR>
<TR><TD WIDTH=380><FONT SIZE="-1">Total Visits</FONT></TD>
<TD ALIGN=right COLSPAN=2><FONT SIZE="-1"><B>1</B></FONT></TD></TR>
<TR><TD WIDTH=380><FONT SIZE="-1">Total kB Files</FONT></TD>
<TD ALIGN=right COLSPAN=2><FONT SIZE="-1"><B>9</B></FONT></TD></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TD WIDTH=380><FONT SIZE="-1">Total Unique Sites</FONT></TD>
<TD ALIGN=right COLSPAN=2><FONT SIZE="-1"><B>1</B></FONT></TD></TR>
<TR><TD WIDTH=380><FONT SIZE="-1">Total Unique URLs</FONT></TD>
<TD ALIGN=right COLSPAN=2><FONT SIZE="-1"><B>2</B></FONT></TD></TR>
<TR><TD WIDTH=380><FONT SIZE="-1">Total Unique Referrers</FONT></TD>
<TD ALIGN=right COLSPAN=2><FONT SIZE="-1"><B>1</B></FONT></TD></TR>
<TR><TD WIDTH=380><FONT SIZE="-1">Total Unique User Agents</FONT></TD>
<TD ALIGN=right COLSPAN=2><FONT SIZE="-1"><B>1</B></FONT></TD></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH WIDTH=380 BGCOLOR="#C0C0C0"><FONT SIZE=-1 COLOR="#C0C0C0">.</FONT></TH>
<TH WIDTH=65 BGCOLOR="#C0C0C0" ALIGN=right><FONT SIZE=-1>Avg </FONT></TH>
<TH WIDTH=65 BGCOLOR="#C0C0C0" ALIGN=right><FONT SIZE=-1>Max </FONT></TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TD><FONT SIZE="-1">Hits per Hour</FONT></TD>
<TD ALIGN=right WIDTH=65><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>2</B></FONT></TD></TR>
<TR><TD><FONT SIZE="-1">Hits per Day</FONT></TD>
<TD ALIGN=right WIDTH=65><FONT SIZE="-1"><B>2</B></FONT></TD>
<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>2</B></FONT></TD></TR>
<TR><TD><FONT SIZE="-1">Files per Day</FONT></TD>
<TD ALIGN=right WIDTH=65><FONT SIZE="-1"><B>2</B></FONT></TD>
<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>2</B></FONT></TD></TR>
<TR><TD><FONT SIZE="-1">Pages per Day</FONT></TD>
<TD ALIGN=right WIDTH=65><FONT SIZE="-1"><B>1</B></FONT></TD>
<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>1</B></FONT></TD></TR>
<TR><TD><FONT SIZE="-1">Sites per Day</FONT></TD>
<TD ALIGN=right WIDTH=65><FONT SIZE="-1"><B>1</B></FONT></TD>
<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>1</B></FONT></TD></TR>
<TR><TD><FONT SIZE="-1">Visits per Day</FONT></TD>
<TD ALIGN=right WIDTH=65><FONT SIZE="-1"><B>1</B></FONT></TD>
<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>1</B></FONT></TD></TR>
<TR><TD><FONT SIZE="-1">kB Files per Day</FONT></TD>
<TD ALIGN=right WIDTH=65><FONT SIZE="-1"><B>9</B></FONT></TD>
<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>9</B></FONT></TD></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH COLSPAN=3 ALIGN=center BGCOLOR="#C0C0C0">
<FONT SIZE="-1">Hits by Response Code</FONT></TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TD><FONT SIZE="-1">Code 200 - OK</FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">100.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>2</B></FONT></TD></TR>
<TR><TH HEIGHT=4></TH></TR>
</TABLE>
<P>
<A NAME="DAYSTATS"></A>
<IMG SRC="daily_usage_201602.png" ALT="Daily usage for February 2016" HEIGHT=400 WIDTH=512><P>
<TABLE WIDTH=510 BORDER=2 CELLSPACING=1 CELLPADDING=1>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH BGCOLOR="#C0C0C0" COLSPAN=13 ALIGN=center>Daily Statistics for February 2016</TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH ALIGN=center BGCOLOR="#C0C0C0"><FONT SIZE="-1">Day</FONT></TH>
<TH ALIGN=center BGCOLOR="#00805c" COLSPAN=2><FONT SIZE="-1">Hits</FONT></TH>
<TH ALIGN=center BGCOLOR="#0040ff" COLSPAN=2><FONT SIZE="-1">Files</FONT></TH>
<TH ALIGN=center BGCOLOR="#00e0ff" COLSPAN=2><FONT SIZE="-1">Pages</FONT></TH>
<TH ALIGN=center BGCOLOR="#ffff00" COLSPAN=2><FONT SIZE="-1">Visits</FONT></TH>
<TH ALIGN=center BGCOLOR="#ff8000" COLSPAN=2><FONT SIZE="-1">Sites</FONT></TH>
<TH ALIGN=center BGCOLOR="#ff0000" COLSPAN=2><FONT SIZE="-1">kB F</FONT></TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR BGCOLOR="#D0D0E0"><TD ALIGN=center><FONT SIZE="-1"><B>27</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>2</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">100.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>2</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">100.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>1</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">100.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>1</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">100.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>1</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">100.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>9</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">100.00%</FONT></TD></TR>
<TR><TH HEIGHT=4></TH></TR>
</TABLE>
<P>
<A NAME="HOURSTATS"></A>
<IMG SRC="hourly_usage_201602.png" ALT="Hourly usage for February 2016" HEIGHT=256 WIDTH=512><P>
<TABLE WIDTH=510 BORDER=2 CELLSPACING=1 CELLPADDING=1>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH BGCOLOR="#C0C0C0" COLSPAN=13 ALIGN=center>Hourly Statistics for February 2016</TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH ALIGN=center ROWSPAN=2 BGCOLOR="#C0C0C0"><FONT SIZE="-1">Hour</FONT></TH>
<TH ALIGN=center BGCOLOR="#00805c" COLSPAN=3><FONT SIZE="-1">Hits</FONT></TH>
<TH ALIGN=center BGCOLOR="#0040ff" COLSPAN=3><FONT SIZE="-1">Files</FONT></TH>
<TH ALIGN=center BGCOLOR="#00e0ff" COLSPAN=3><FONT SIZE="-1">Pages</FONT></TH>
<TH ALIGN=center BGCOLOR="#ff0000" COLSPAN=3><FONT SIZE="-1">kB F</FONT></TH></TR>
<TR><TH ALIGN=center BGCOLOR="#00805c"><FONT SIZE="-2">Avg</FONT></TH>
<TH ALIGN=center BGCOLOR="#00805c" COLSPAN=2><FONT SIZE="-2">Total</FONT></TH>
<TH ALIGN=center BGCOLOR="#0040ff"><FONT SIZE="-2">Avg</FONT></TH>
<TH ALIGN=center BGCOLOR="#0040ff" COLSPAN=2><FONT SIZE="-2">Total</FONT></TH>
<TH ALIGN=center BGCOLOR="#00e0ff"><FONT SIZE="-2">Avg</FONT></TH>
<TH ALIGN=center BGCOLOR="#00e0ff" COLSPAN=2><FONT SIZE="-2">Total</FONT></TH>
<TH ALIGN=center BGCOLOR="#ff0000"><FONT SIZE="-2">Avg</FONT></TH>
<TH ALIGN=center BGCOLOR="#ff0000" COLSPAN=2><FONT SIZE="-2">Total</FONT></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TD ALIGN=center><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD></TR>
<TR><TD ALIGN=center><FONT SIZE="-1"><B>1</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD></TR>
<TR><TD ALIGN=center><FONT SIZE="-1"><B>2</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD></TR>
<TR><TD ALIGN=center><FONT SIZE="-1"><B>3</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD></TR>
<TR><TD ALIGN=center><FONT SIZE="-1"><B>4</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD></TR>
<TR><TD ALIGN=center><FONT SIZE="-1"><B>5</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD></TR>
<TR><TD ALIGN=center><FONT SIZE="-1"><B>6</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD></TR>
<TR><TD ALIGN=center><FONT SIZE="-1"><B>7</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD></TR>
<TR><TD ALIGN=center><FONT SIZE="-1"><B>8</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD></TR>
<TR><TD ALIGN=center><FONT SIZE="-1"><B>9</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD></TR>
<TR><TD ALIGN=center><FONT SIZE="-1"><B>10</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD></TR>
<TR><TD ALIGN=center><FONT SIZE="-1"><B>11</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>0</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.00%</FONT><