diff --git a/app/config.ini b/app/config.ini
index 8720f45c..d5e25263 100644
--- a/app/config.ini
+++ b/app/config.ini
@@ -29,15 +29,18 @@ TEMP = tmp/
; Log file folder
LOGS = logs/
-; Search path for user interface files used by the View and Template classes' render() method.
+; UI/template folder
UI = public/
-; Search path(s) for user-defined PHP classes that the framework will attempt to autoload at runtime
+; Autoloader for user-defined PHP classes that the framework will attempt to autoload at runtime
AUTOLOAD = app/main/
-; path to favicons folder
+; Favicons
FAVICON = favicon/
+; Export folder (e.g. static table data)
+EXPORT = export/
+
; load additional config files
; DO NOT load environment.ini, it is loaded automatically
[configs]
diff --git a/app/main/controller/api/route.php b/app/main/controller/api/route.php
index 38fe8a0b..dfd74b5e 100644
--- a/app/main/controller/api/route.php
+++ b/app/main/controller/api/route.php
@@ -208,7 +208,7 @@ class Route extends \Controller\AccessController {
/**
* update jump data for this instance
- * -> data is either coming from CCPs static export OR from map specific data
+ * -> data is either coming from CCPs [SDE] OR from map specific data
* @param array $rows
*/
private function updateJumpData($rows = []){
diff --git a/app/main/controller/api/system.php b/app/main/controller/api/system.php
index 728771b8..2417eb0c 100644
--- a/app/main/controller/api/system.php
+++ b/app/main/controller/api/system.php
@@ -91,7 +91,7 @@ class System extends \Controller\AccessController {
}
/**
- * get static system Data from CCPs Static DB export
+ * get system Data from CCPs [SDE]
* search column for IDs can be (solarSystemID, regionID, constellationID)
* @param array $columnIDs
* @param string $column
diff --git a/app/main/controller/setup.php b/app/main/controller/setup.php
index f8be8e07..4d585b08 100644
--- a/app/main/controller/setup.php
+++ b/app/main/controller/setup.php
@@ -81,6 +81,7 @@ class Setup extends Controller {
'Model\SystemModel',
'Model\SystemWormholeModel',
+ 'Model\ConstellationWormholeModel',
'Model\ConnectionModel',
'Model\SystemSignatureModel',
@@ -157,8 +158,12 @@ class Setup extends Controller {
return;
}elseif( !empty($params['fixCols']) ){
$fixColumns = true;
- }elseif( !empty($params['buildRouteIndex']) ){
+ }elseif( !empty($params['buildIndex']) ){
$this->setupSystemJumpTable();
+ }elseif( !empty($params['importTable']) ){
+ $this->importTable($params['importTable']);
+ }elseif( !empty($params['exportTable']) ){
+ $this->exportTable($params['exportTable']);
}elseif( !empty($params['clearCache']) ){
$this->clearCache($f3);
}
@@ -177,12 +182,105 @@ class Setup extends Controller {
$f3->set('checkDatabase', $this->checkDatabase($f3, $fixColumns));
// set index information
- $f3->set('indexInformation', $this->getIndexData($f3));
+ $f3->set('indexInformation', $this->getIndexData());
// set cache size
$f3->set('cacheSize', $this->getCacheData($f3));
}
+ /**
+ * IMPORTANT: This function is not required for setup. It just imports *.json -> DB
+ *
+ * imports wormhole static data for "shattered" systems
+ * into table "system_wormhole"
+ * -> a *.csv dump of this *.json file can e found under /export/csv
+ * @param \Base $f3
+ * @throws \Exception
+ */
+ protected function importSystemWormholesFromJson(\Base $f3){
+ $path = $f3->get('EXPORT') .'json/statics.json';
+ $pfDB = $this->getDB('PF');
+ $ccpDB = $this->getDB('CCP');
+
+ $content = file_get_contents($path);
+
+ $jsonIterator = new \RecursiveIteratorIterator(
+ new \RecursiveArrayIterator(json_decode($content, TRUE)),
+ \RecursiveIteratorIterator::SELF_FIRST);
+
+ $staticNames = [];
+
+ $data = [];
+ $tmpVal = (object) [];
+ foreach ($jsonIterator as $key => $val) {
+ //var_dump($data);
+ if(is_array($val)) {
+ if(isset($tmpVal->name)){
+ $data[] = $tmpVal;
+ }
+ $tmpVal = (object) [];
+ $tmpVal->name = $key;
+ } else {
+ $tmpVal->wh = isset($tmpVal->wh) ? array_merge($tmpVal->wh, [$val]) : [$val];
+ $staticNames[] = $val;
+ }
+ }
+ $data[] = $tmpVal;
+
+ // get static IDs by name ------------------------------
+ $staticNames = array_unique($staticNames);
+ $staticNames = array_flip($staticNames);
+ foreach($staticNames as $name => $index){
+ $result = $pfDB->exec("
+ SELECT
+ id
+ FROM " . $pfDB->quotekey(Model\BasicModel::getNew('WormholeModel')->getTable()) . "
+ WHERE " . $ccpDB->quotekey('name') . " = :name",
+ [':name' => $name]
+ );
+ $id = (int)$result[0]['id'];
+ if($id){
+ $staticNames[$name] = (int)$result[0]['id'];
+ }else{
+ $f3->error(500, 'Wormhole data missing in table "wormhole" for "name" = "' . $name . '"');
+ }
+ }
+
+ // import data -----------------------------------------
+ $systemWormhole = Model\BasicModel::getNew('SystemWormholeModel');
+ foreach($data as $staticData){
+ $result = $ccpDB->exec("
+ SELECT
+ solarSystemID
+ FROM " . $ccpDB->quotekey('mapSolarSystems') . "
+ WHERE
+ " . $ccpDB->quotekey('solarSystemName') . " = :systemName",
+ [':systemName' => $staticData->name]
+ );
+
+ $solarSystemID = (int)$result[0]['solarSystemID'];
+ if($solarSystemID){
+ foreach($staticData->wh as $wh){
+ $staticId = (int)$staticNames[$wh];
+ if($staticId){
+ // check if entry already exists
+ $systemWormhole->load(['systemId=? AND wormholeId=?', $solarSystemID, $staticId]);
+ if( $systemWormhole->dry() ){
+ $systemWormhole->systemId = $solarSystemID;
+ $systemWormhole->wormholeId = $staticId;
+ $systemWormhole->save();
+ $systemWormhole->reset();
+ }
+ }else{
+ $f3->error(500, 'Wormhole data missing for "name" = "' . $wh . '"');
+ }
+ }
+ }else{
+ $f3->error(500, 'System "' . $staticData->name . '" not found on CCP´s [SDE] database');
+ }
+ }
+ }
+
/**
* set environment information
* @param \Base $f3
@@ -763,26 +861,73 @@ class Setup extends Controller {
return $checkTables;
}
-
/** get indexed (cache) data information
* @return array
*/
protected function getIndexData(){
$indexInfo = [
- 'route' => [
- 'label' => 'Route',
- 'action' => 'buildRouteIndex',
- 'count' => DB\Database::instance()->getRowCount('system_neighbour')
+ 'SystemNeighbourModel' => [
+ 'action' => [
+ [
+ 'task' => 'buildIndex',
+ 'label' => 'build',
+ 'icon' => 'fa-refresh',
+ 'btn' => 'btn-primary'
+ ]
+ ],
+ 'table' => Model\BasicModel::getNew('SystemNeighbourModel')->getTable(),
+ 'count' => DB\Database::instance()->getRowCount( Model\BasicModel::getNew('SystemNeighbourModel')->getTable() )
],
- 'wormhole' => [
- 'label' => 'Wormhole',
- 'task' => '/export/sql/pathfinder.sql',
- 'count' => DB\Database::instance()->getRowCount('wormhole')
+ 'WormholeModel' => [
+ 'action' => [
+ [
+ 'task' => 'exportTable',
+ 'label' => 'export',
+ 'icon' => 'fa-download',
+ 'btn' => 'btn-default'
+ ],[
+ 'task' => 'importTable',
+ 'label' => 'import',
+ 'icon' => 'fa-upload',
+ 'btn' => 'btn-primary'
+ ]
+ ],
+ 'table' => Model\BasicModel::getNew('WormholeModel')->getTable(),
+ 'count' => DB\Database::instance()->getRowCount( Model\BasicModel::getNew('WormholeModel')->getTable() )
],
- 'SystemWormhole' => [
- 'label' => 'System wormhole',
- 'task' => '/export/sql/pathfinder.sql',
- 'count' => DB\Database::instance()->getRowCount('system_wormhole')
+ 'SystemWormholeModel' => [
+ 'action' => [
+ [
+ 'task' => 'exportTable',
+ 'label' => 'export',
+ 'icon' => 'fa-download',
+ 'btn' => 'btn-default'
+ ],[
+ 'task' => 'importTable',
+ 'label' => 'import',
+ 'icon' => 'fa-upload',
+ 'btn' => 'btn-primary'
+ ]
+ ],
+ 'table' => Model\BasicModel::getNew('SystemWormholeModel')->getTable(),
+ 'count' => DB\Database::instance()->getRowCount( Model\BasicModel::getNew('SystemWormholeModel')->getTable() )
+ ],
+ 'ConstellationWormholeModel' => [
+ 'action' => [
+ [
+ 'task' => 'exportTable',
+ 'label' => 'export',
+ 'icon' => 'fa-download',
+ 'btn' => 'btn-default'
+ ],[
+ 'task' => 'importTable',
+ 'label' => 'import',
+ 'icon' => 'fa-upload',
+ 'btn' => 'btn-primary'
+ ]
+ ],
+ 'table' => Model\BasicModel::getNew('ConstellationWormholeModel')->getTable(),
+ 'count' => DB\Database::instance()->getRowCount( Model\BasicModel::getNew('ConstellationWormholeModel')->getTable() )
]
];
return $indexInfo;
@@ -793,7 +938,6 @@ class Setup extends Controller {
* for system jump calculation. Call this function manually when CCP adds Systems/Stargates
*/
protected function setupSystemJumpTable(){
-
$pfDB = $this->getDB('PF');
$ccpDB = $this->getDB('CCP');
@@ -826,8 +970,7 @@ class Setup extends Controller {
// switch DB back to pathfinder DB
// clear cache table
- $query = "TRUNCATE system_neighbour";
- $pfDB->exec($query);
+ $pfDB->exec("TRUNCATE system_neighbour");
foreach($rows as $row){
$pfDB->exec("
@@ -860,6 +1003,27 @@ class Setup extends Controller {
}
}
+ /**
+ * import table data from existing dump file (e.g *.csv)
+ * @param $modelClass
+ * @return bool
+ * @throws \Exception
+ */
+ protected function importTable($modelClass){
+ $this->getDB('PF');
+ return Model\BasicModel::getNew($modelClass)->importData();
+ }
+
+ /**
+ * export table data
+ * @param $modelClass
+ * @throws \Exception
+ */
+ protected function exportTable($modelClass){
+ $this->getDB('PF');
+ Model\BasicModel::getNew($modelClass)->exportData();
+ }
+
/**
* get cache folder size as string
* @param \Base $f3
diff --git a/app/main/db/database.php b/app/main/db/database.php
index 96cea4ee..b4f972c4 100644
--- a/app/main/db/database.php
+++ b/app/main/db/database.php
@@ -69,7 +69,7 @@ class Database extends \Prefab {
/**
* get database
* @param string $database
- * @return mixed|void
+ * @return SQL
*/
public function getDB($database = 'PF'){
diff --git a/app/main/model/basicmodel.php b/app/main/model/basicmodel.php
index d1a4fbc5..1e14d974 100644
--- a/app/main/model/basicmodel.php
+++ b/app/main/model/basicmodel.php
@@ -485,7 +485,7 @@ abstract class BasicModel extends \DB\Cortex {
$allRecords = $this->find();
if($allRecords){
- $tableData = $allRecords->castAll();
+ $tableData = $allRecords->castAll(0);
// format data -> "id" must be first key
foreach($tableData as &$rowData){
@@ -515,17 +515,23 @@ abstract class BasicModel extends \DB\Cortex {
public function importData(){
$status = false;
+ // rtrim(); for arrays (removes empty values) from the end
+ $rtrim = function($array = []){
+ return array_slice($array, 0, key(array_reverse(array_diff($array, ['']), 1))+1);
+ };
+
if(static::$enableDataImport){
- $filePath = 'export/sql/' . $this->getTable() . '.csv';
+ $filePath = $this->getF3()->get('EXPORT') . 'csv/' . $this->getTable() . '.csv';
if(is_file($filePath)){
$handle = @fopen($filePath, 'r');
- $keys = array_map('lcfirst', array_filter(fgetcsv($handle, 0, ';')));
+ $keys = array_map('lcfirst', fgetcsv($handle, 0, ';'));
+ $keys = $rtrim($keys);
if(count($keys) > 0){
$tableData = [];
while (!feof($handle)) {
- $tableData[] = array_combine($keys, array_filter(fgetcsv($handle, 0, ';')));
+ $tableData[] = array_combine($keys, $rtrim(fgetcsv($handle, 0, ';')));
}
// import row data
$status = $this->importStaticData($tableData);
@@ -641,15 +647,15 @@ abstract class BasicModel extends \DB\Cortex {
/**
* Check whether a (multi)-column index exists or not on a table
* related to this model
- * @param array $fields
+ * @param array $columns
* @return bool|array
*/
- public static function indexExists(array $fields=array()){
+ public static function indexExists(array $columns = []){
$tableModifier = self::getTableModifier();
$df = parent::resolveConfiguration();
$check = false;
- $indexKey = $df['table'] . '___' . implode('__', $fields);
+ $indexKey = $df['table'] . '___' . implode('__', $columns);
$indexList = $tableModifier->listIndex();
if(array_key_exists( $indexKey, $indexList)){
$check = $indexList[$indexKey];
@@ -660,17 +666,17 @@ abstract class BasicModel extends \DB\Cortex {
/**
* set a multi-column index for this table
- * @param array $fields
- * @param bool $unique
- * @param int $length
+ * @param array $columns Column(s) to be indexed
+ * @param bool $unique Unique index
+ * @param int $length index length for text fields in mysql
* @return bool
*/
- public static function setMultiColumnIndex(array $fields=array(), $unique = false, $length = 20){
+ public static function setMultiColumnIndex(array $columns = [], $unique = false, $length = 20){
$status = false;
$tableModifier = self::getTableModifier();
- if( self::indexExists($fields) === false ){
- $tableModifier->addIndex($fields, $unique, $length);
+ if( self::indexExists($columns) === false ){
+ $tableModifier->addIndex($columns, $unique, $length);
$buildStatus = $tableModifier->build();
if($buildStatus === 0){
$status = true;
diff --git a/app/main/model/constellationwormholemodel.php b/app/main/model/constellationwormholemodel.php
new file mode 100644
index 00000000..c7ab3e7e
--- /dev/null
+++ b/app/main/model/constellationwormholemodel.php
@@ -0,0 +1,62 @@
+ [
+ 'type' => Schema::DT_INT,
+ 'index' => true,
+ ],
+ 'wormholeId' => [
+ 'type' => Schema::DT_INT,
+ 'index' => true,
+ 'belongs-to-one' => 'Model\WormholeModel',
+ 'constraint' => [
+ [
+ 'table' => 'wormhole',
+ 'on-delete' => 'CASCADE'
+ ]
+ ]
+ ],
+ ];
+
+ /**
+ * get wormhole data as object
+ * @return object
+ */
+ public function getData(){
+ return $this->wormholeId->getData();
+ }
+
+ /**
+ * overwrites parent
+ * @param null $db
+ * @param null $table
+ * @param null $fields
+ * @return bool
+ */
+ public static function setup($db=null, $table=null, $fields=null){
+ $status = parent::setup($db,$table,$fields);
+
+ if($status === true){
+ $status = parent::setMultiColumnIndex(['constellationId', 'wormholeId'], true);
+ }
+
+ return $status;
+ }
+}
diff --git a/app/main/model/systemmodel.php b/app/main/model/systemmodel.php
index f9ee7570..511c8bb6 100644
--- a/app/main/model/systemmodel.php
+++ b/app/main/model/systemmodel.php
@@ -404,13 +404,21 @@ class SystemModel extends BasicModel {
}
/**
- * check whether this system is a wormhole or not
+ * check whether this system is a wormhole
* @return bool
*/
public function isWormhole(){
return ($this->typeId->id === 1);
}
+ /**
+ * check whether this syste is a shattered wormhole
+ * @return bool
+ */
+ public function isShatteredWormhole(){
+ return ($this->isWormhole() && $this->security === 'SH');
+ }
+
/**
* get static WH data for this system
* -> any WH system has at least one static WH
@@ -420,10 +428,11 @@ class SystemModel extends BasicModel {
protected function getStaticWormholeData(){
$wormholeData = [];
- // check if this system is a wormhole
+ // only wormholes have "static" connections
if($this->isWormhole()){
- $systemWormholeModel = self::getNew('SystemWormholeModel');
- $systemStatics = $systemWormholeModel->find([
+ // get static systems by "constellationId" --------------------------------------------
+ $constellationWormholeModel = self::getNew('ConstellationWormholeModel');
+ $systemStatics = $constellationWormholeModel->find([
'constellationId = :constellationId',
':constellationId' => $this->constellationId
]);
@@ -433,6 +442,19 @@ class SystemModel extends BasicModel {
$wormholeData[] = $systemStatic->getData();
}
}
+
+ // get static systems by "systemId" (shattered wormholes) -----------------------------
+ $systemWormholeModel = self::getNew('SystemWormholeModel');
+ $systemStatics = $systemWormholeModel->find([
+ 'systemId = :systemId',
+ ':systemId' => $this->systemId
+ ]);
+
+ if( is_object($systemStatics) ){
+ foreach($systemStatics as $systemStatic){
+ $wormholeData[] = $systemStatic->getData();
+ }
+ }
}
return $wormholeData;
diff --git a/app/main/model/systemwormholemodel.php b/app/main/model/systemwormholemodel.php
index d3166588..86758032 100644
--- a/app/main/model/systemwormholemodel.php
+++ b/app/main/model/systemwormholemodel.php
@@ -1,9 +1,9 @@
[
+ 'systemId' => [
'type' => Schema::DT_INT,
'index' => true,
],
@@ -37,9 +40,23 @@ class SystemWormholeModel extends BasicModel {
* @return object
*/
public function getData(){
-
- $systemWormholeData = $this->wormholeId->getData();
-
- return $systemWormholeData;
+ return $this->wormholeId->getData();
}
-}
+
+ /**
+ * overwrites parent
+ * @param null $db
+ * @param null $table
+ * @param null $fields
+ * @return bool
+ */
+ public static function setup($db=null, $table=null, $fields=null){
+ $status = parent::setup($db,$table,$fields);
+
+ if($status === true){
+ $status = parent::setMultiColumnIndex(['systemId', 'wormholeId'], true);
+ }
+
+ return $status;
+ }
+}
\ No newline at end of file
diff --git a/app/main/model/wormholemodel.php b/app/main/model/wormholemodel.php
index 871605f1..27bde367 100644
--- a/app/main/model/wormholemodel.php
+++ b/app/main/model/wormholemodel.php
@@ -14,6 +14,9 @@ class WormholeModel extends BasicModel {
protected $table = 'wormhole';
+ public static $enableDataExport = true;
+ public static $enableDataImport = true;
+
protected $fieldConf = [
'name' => [
'type' => Schema::DT_VARCHAR128,
@@ -28,19 +31,19 @@ class WormholeModel extends BasicModel {
'default' => ''
],
'massTotal' => [
- 'type' => Schema::DT_VARCHAR128,
+ 'type' => Schema::DT_INT,
'nullable' => false,
- 'default' => ''
+ 'default' => 0
],
'massIndividual' => [
- 'type' => Schema::DT_VARCHAR128,
+ 'type' => Schema::DT_INT,
'nullable' => false,
- 'default' => ''
+ 'default' => 0
],
'massRegeneration' => [
- 'type' => Schema::DT_VARCHAR128,
+ 'type' => Schema::DT_INT,
'nullable' => false,
- 'default' => ''
+ 'default' => 0
],
'maxStableTime' => [
'type' => Schema::DT_INT,
diff --git a/export/csv/constellation_wormhole.csv b/export/csv/constellation_wormhole.csv
new file mode 100644
index 00000000..f7ab1d23
--- /dev/null
+++ b/export/csv/constellation_wormhole.csv
@@ -0,0 +1,462 @@
+"Id";"Created";"Updated";"ConstellationId";"WormholeId";
+"1";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000001";"39";
+"2";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000002";"39";
+"3";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000003";"39";
+"4";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000004";"39";
+"5";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000005";"39";
+"6";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000006";"39";
+"7";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000007";"39";
+"8";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000008";"39";
+"9";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000009";"39";
+"10";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000010";"39";
+"11";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000011";"39";
+"12";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000012";"39";
+"13";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000013";"39";
+"14";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000014";"39";
+"15";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000015";"39";
+"16";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000016";"39";
+"17";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000017";"39";
+"18";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000018";"39";
+"19";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000019";"39";
+"20";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000020";"39";
+"21";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000021";"6";
+"22";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000022";"6";
+"23";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000023";"6";
+"24";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000024";"6";
+"25";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000025";"6";
+"26";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000026";"6";
+"27";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000027";"6";
+"28";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000028";"6";
+"29";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000029";"6";
+"30";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000030";"6";
+"31";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000021";"47";
+"32";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000022";"47";
+"33";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000023";"47";
+"34";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000024";"47";
+"35";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000025";"47";
+"36";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000026";"47";
+"37";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000027";"47";
+"38";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000028";"47";
+"39";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000029";"47";
+"40";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000030";"47";
+"41";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000031";"6";
+"42";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000032";"6";
+"43";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000033";"6";
+"44";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000034";"6";
+"45";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000035";"6";
+"46";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000036";"6";
+"47";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000037";"6";
+"48";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000038";"6";
+"49";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000039";"6";
+"50";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000040";"6";
+"51";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000031";"69";
+"52";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000032";"69";
+"53";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000033";"69";
+"54";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000034";"69";
+"55";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000035";"69";
+"56";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000036";"69";
+"57";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000037";"69";
+"58";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000038";"69";
+"59";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000039";"69";
+"60";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000040";"69";
+"61";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000041";"2";
+"62";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000042";"2";
+"63";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000043";"2";
+"64";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000044";"2";
+"65";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000045";"2";
+"66";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000046";"2";
+"67";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000047";"2";
+"68";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000048";"2";
+"69";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000049";"2";
+"70";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000050";"2";
+"71";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000051";"2";
+"72";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000052";"2";
+"73";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000053";"2";
+"74";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000054";"2";
+"75";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000041";"16";
+"76";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000042";"16";
+"77";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000043";"16";
+"78";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000044";"16";
+"79";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000045";"16";
+"80";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000046";"16";
+"81";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000047";"16";
+"82";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000048";"16";
+"83";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000049";"16";
+"84";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000050";"16";
+"85";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000051";"16";
+"86";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000052";"16";
+"87";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000053";"16";
+"88";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000054";"16";
+"89";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000055";"21";
+"90";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000056";"21";
+"91";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000057";"21";
+"92";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000058";"21";
+"93";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000059";"21";
+"94";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000055";"38";
+"95";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000056";"38";
+"96";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000057";"38";
+"97";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000058";"38";
+"98";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000059";"53";
+"99";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000060";"6";
+"100";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000061";"6";
+"101";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000062";"6";
+"102";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000063";"6";
+"103";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000064";"6";
+"104";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000065";"6";
+"105";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000066";"6";
+"106";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000067";"6";
+"107";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000068";"6";
+"108";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000069";"6";
+"109";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000070";"6";
+"110";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000071";"6";
+"111";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000072";"6";
+"112";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000073";"6";
+"113";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000074";"6";
+"114";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000075";"6";
+"115";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000060";"75";
+"116";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000061";"75";
+"117";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000063";"75";
+"118";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000064";"75";
+"119";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000065";"75";
+"120";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000066";"75";
+"121";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000067";"75";
+"122";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000068";"75";
+"123";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000069";"75";
+"124";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000070";"75";
+"125";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000071";"75";
+"126";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000072";"75";
+"127";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000073";"75";
+"128";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000074";"75";
+"129";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000075";"75";
+"130";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000076";"59";
+"131";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000077";"59";
+"132";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000078";"59";
+"133";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000079";"59";
+"134";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000080";"59";
+"135";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000081";"59";
+"136";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000082";"59";
+"137";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000083";"59";
+"138";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000084";"59";
+"139";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000085";"59";
+"140";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000086";"59";
+"141";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000087";"59";
+"142";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000088";"59";
+"143";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000089";"59";
+"144";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000090";"59";
+"145";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000091";"59";
+"146";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000092";"59";
+"147";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000093";"59";
+"148";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000094";"59";
+"149";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000095";"59";
+"150";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000096";"59";
+"151";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000097";"59";
+"152";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000098";"59";
+"153";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000099";"59";
+"154";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000100";"59";
+"155";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000101";"59";
+"156";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000102";"59";
+"157";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000103";"59";
+"158";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000104";"59";
+"159";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000105";"59";
+"160";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000106";"18";
+"161";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000107";"18";
+"162";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000108";"18";
+"163";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000109";"18";
+"164";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000110";"18";
+"165";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000111";"18";
+"166";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000112";"18";
+"167";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000113";"18";
+"168";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000114";"18";
+"169";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000115";"18";
+"170";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000116";"18";
+"171";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000117";"18";
+"172";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000118";"18";
+"173";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000119";"18";
+"174";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000120";"18";
+"175";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000121";"18";
+"176";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000122";"59";
+"177";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000123";"59";
+"178";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000124";"59";
+"179";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000125";"59";
+"180";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000126";"59";
+"181";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000127";"59";
+"182";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000128";"59";
+"183";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000129";"30";
+"184";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000130";"30";
+"185";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000131";"30";
+"186";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000132";"30";
+"187";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000133";"30";
+"188";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000134";"30";
+"189";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000135";"30";
+"190";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000136";"30";
+"191";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000137";"30";
+"192";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000138";"30";
+"193";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000139";"30";
+"194";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000140";"30";
+"195";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000141";"30";
+"196";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000142";"30";
+"197";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000143";"30";
+"198";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000144";"59";
+"199";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000145";"59";
+"200";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000146";"59";
+"201";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000147";"59";
+"202";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000148";"59";
+"203";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000149";"59";
+"204";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000150";"59";
+"205";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000151";"59";
+"206";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000152";"59";
+"207";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000153";"42";
+"208";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000154";"42";
+"209";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000155";"42";
+"210";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000156";"42";
+"211";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000157";"42";
+"212";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000158";"42";
+"213";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000159";"42";
+"214";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000160";"42";
+"215";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000161";"42";
+"216";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000162";"61";
+"217";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000163";"61";
+"218";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000164";"61";
+"219";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000165";"61";
+"220";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000166";"49";
+"221";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000167";"49";
+"222";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000168";"49";
+"223";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000169";"49";
+"224";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000170";"49";
+"225";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000171";"49";
+"226";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000172";"49";
+"227";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000173";"68";
+"228";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000174";"68";
+"229";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000175";"68";
+"230";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000176";"68";
+"231";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000177";"68";
+"232";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000178";"68";
+"233";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000179";"68";
+"234";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000180";"68";
+"235";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000181";"68";
+"236";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000182";"68";
+"237";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000183";"68";
+"238";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000184";"68";
+"239";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000185";"68";
+"240";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000186";"68";
+"241";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000187";"68";
+"242";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000188";"68";
+"243";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000189";"68";
+"244";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000190";"68";
+"245";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000191";"68";
+"246";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000192";"68";
+"247";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000193";"68";
+"248";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000194";"68";
+"249";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000195";"12";
+"250";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000196";"12";
+"251";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000197";"12";
+"252";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000198";"12";
+"253";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000199";"12";
+"254";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000200";"12";
+"255";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000201";"12";
+"256";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000202";"12";
+"257";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000203";"12";
+"258";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000204";"12";
+"259";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000205";"12";
+"260";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000206";"12";
+"261";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000207";"12";
+"262";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000208";"12";
+"263";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000209";"12";
+"264";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000210";"12";
+"265";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000211";"12";
+"266";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000212";"12";
+"267";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000213";"26";
+"268";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000214";"26";
+"269";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000215";"26";
+"270";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000216";"26";
+"271";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000217";"26";
+"272";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000218";"26";
+"273";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000219";"26";
+"274";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000220";"26";
+"275";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000221";"26";
+"276";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000222";"26";
+"277";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000223";"26";
+"278";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000224";"26";
+"279";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000225";"26";
+"280";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000226";"26";
+"281";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000227";"12";
+"282";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000228";"12";
+"283";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000229";"12";
+"284";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000230";"12";
+"285";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000231";"12";
+"286";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000232";"25";
+"287";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000233";"70";
+"288";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000234";"15";
+"289";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000235";"15";
+"290";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000236";"25";
+"291";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000237";"15";
+"292";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000238";"15";
+"293";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000239";"70";
+"294";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000240";"25";
+"295";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000241";"25";
+"296";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000242";"25";
+"297";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000243";"25";
+"298";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000244";"25";
+"299";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000245";"25";
+"300";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000246";"25";
+"301";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000247";"25";
+"302";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000248";"25";
+"303";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000249";"25";
+"304";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000250";"25";
+"305";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000251";"25";
+"306";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000252";"25";
+"307";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000253";"25";
+"308";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000254";"25";
+"309";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000255";"25";
+"310";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000256";"64";
+"311";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000257";"64";
+"312";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000258";"64";
+"313";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000259";"64";
+"314";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000260";"64";
+"315";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000261";"64";
+"316";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000262";"64";
+"317";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000263";"64";
+"318";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000264";"64";
+"319";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000265";"35";
+"320";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000266";"35";
+"321";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000267";"35";
+"322";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000268";"35";
+"323";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000269";"35";
+"324";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000270";"35";
+"325";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000271";"35";
+"326";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000272";"35";
+"327";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000273";"35";
+"328";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000274";"25";
+"329";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000275";"25";
+"330";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000276";"25";
+"331";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000277";"25";
+"332";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000278";"25";
+"333";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000279";"25";
+"334";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000280";"25";
+"335";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000281";"25";
+"336";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000282";"25";
+"337";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000283";"25";
+"338";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000284";"25";
+"339";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000285";"25";
+"340";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000286";"20";
+"341";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000287";"20";
+"342";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000288";"20";
+"343";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000289";"20";
+"344";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000290";"20";
+"345";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000291";"20";
+"346";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000292";"20";
+"347";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000293";"20";
+"348";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000294";"20";
+"349";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000295";"20";
+"350";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000296";"20";
+"351";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000297";"23";
+"352";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000298";"66";
+"353";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000299";"65";
+"354";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000300";"32";
+"355";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000301";"51";
+"356";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000302";"74";
+"357";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000303";"66";
+"358";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000304";"32";
+"359";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000305";"74";
+"360";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000306";"65";
+"361";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000307";"65";
+"362";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000308";"65";
+"363";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000309";"65";
+"364";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000310";"65";
+"365";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000311";"72";
+"366";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000312";"72";
+"367";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000313";"72";
+"368";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000314";"28";
+"369";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000315";"28";
+"370";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000316";"28";
+"371";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000317";"28";
+"372";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000318";"28";
+"373";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000319";"28";
+"374";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000320";"28";
+"375";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000321";"28";
+"376";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000322";"28";
+"377";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000323";"28";
+"378";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000153";"68";
+"379";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000154";"68";
+"380";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000155";"68";
+"381";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000156";"49";
+"382";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000157";"26";
+"383";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000158";"26";
+"384";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000159";"12";
+"385";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000160";"26";
+"386";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000161";"12";
+"387";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000162";"26";
+"388";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000163";"12";
+"389";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000164";"26";
+"390";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000165";"68";
+"391";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000166";"12";
+"392";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000167";"42";
+"393";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000168";"26";
+"394";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000169";"68";
+"395";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000170";"42";
+"396";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000171";"68";
+"397";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000172";"12";
+"398";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000173";"42";
+"399";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000174";"49";
+"400";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000175";"12";
+"401";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000176";"12";
+"402";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000177";"12";
+"403";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000178";"61";
+"404";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000179";"26";
+"405";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000180";"26";
+"406";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000181";"26";
+"407";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000182";"61";
+"408";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000183";"12";
+"409";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000184";"12";
+"410";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000185";"26";
+"411";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000186";"26";
+"412";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000187";"42";
+"413";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000188";"26";
+"414";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000189";"42";
+"415";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000190";"42";
+"416";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000191";"12";
+"417";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000192";"42";
+"418";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000193";"49";
+"419";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000194";"12";
+"420";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000195";"68";
+"421";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000196";"49";
+"422";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000197";"26";
+"423";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000198";"42";
+"424";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000199";"42";
+"425";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000200";"68";
+"426";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000201";"68";
+"427";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000202";"42";
+"428";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000203";"26";
+"429";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000204";"26";
+"430";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000205";"49";
+"431";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000206";"68";
+"432";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000207";"68";
+"433";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000208";"26";
+"434";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000209";"26";
+"435";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000210";"26";
+"436";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000211";"61";
+"437";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000212";"42";
+"438";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000213";"12";
+"439";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000214";"68";
+"440";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000215";"12";
+"441";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000216";"68";
+"442";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000217";"42";
+"443";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000218";"12";
+"444";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000219";"12";
+"445";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000220";"68";
+"446";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000221";"42";
+"447";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000222";"68";
+"448";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000223";"12";
+"449";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000224";"42";
+"450";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000225";"49";
+"451";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000226";"61";
+"452";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000227";"68";
+"453";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000228";"42";
+"454";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000229";"68";
+"455";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000230";"68";
+"456";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000231";"49";
+"457";"2015-12-26 16:19:18";"2015-12-26 16:19:18";"21000329";"20";
+"458";"2016-07-15 18:45:01";"2016-07-15 18:45:01";"21000324";"81";
+"459";"2016-07-15 18:45:01";"2016-07-15 18:45:01";"21000324";"82";
+"460";"2016-07-15 18:45:09";"2016-07-15 18:45:09";"21000324";"83";
+"461";"2016-07-15 19:55:26";"2016-07-15 19:55:26";"21000062";"75";
\ No newline at end of file
diff --git a/export/csv/system_wormhole.csv b/export/csv/system_wormhole.csv
new file mode 100644
index 00000000..2a3a263c
--- /dev/null
+++ b/export/csv/system_wormhole.csv
@@ -0,0 +1,152 @@
+"Id";"Created";"Updated";"SystemId";"WormholeId";
+"1";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002572";"59";
+"2";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002572";"25";
+"3";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002518";"6";
+"4";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002518";"21";
+"5";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002543";"12";
+"6";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002543";"68";
+"7";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002528";"18";
+"8";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002528";"59";
+"9";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002535";"18";
+"10";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002535";"59";
+"11";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002530";"18";
+"12";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002530";"59";
+"13";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002557";"59";
+"14";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002557";"25";
+"15";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002548";"12";
+"16";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002548";"68";
+"17";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002564";"59";
+"18";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002564";"25";
+"19";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002524";"6";
+"20";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002524";"21";
+"21";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002514";"39";
+"22";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002514";"28";
+"23";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002542";"12";
+"24";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002542";"68";
+"25";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002538";"12";
+"26";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002538";"68";
+"27";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002511";"39";
+"28";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002511";"28";
+"29";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002529";"18";
+"30";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002529";"59";
+"31";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002525";"6";
+"32";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002525";"21";
+"33";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002562";"59";
+"34";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002562";"25";
+"35";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002563";"59";
+"36";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002563";"25";
+"37";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002532";"18";
+"38";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002532";"59";
+"39";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002569";"59";
+"40";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002569";"25";
+"41";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002558";"59";
+"42";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002558";"25";
+"43";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002570";"59";
+"44";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002570";"25";
+"45";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002549";"12";
+"46";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002549";"68";
+"47";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002537";"30";
+"48";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002537";"59";
+"49";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002513";"39";
+"50";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002513";"28";
+"51";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002539";"12";
+"52";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002539";"68";
+"53";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002526";"6";
+"54";"2016-07-16 13:53:19";"2016-07-16 13:53:19";"31002526";"21";
+"55";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002512";"39";
+"56";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002512";"28";
+"57";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002574";"59";
+"58";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002574";"25";
+"59";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002561";"59";
+"60";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002561";"25";
+"61";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002571";"59";
+"62";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002571";"25";
+"63";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002567";"59";
+"64";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002567";"20";
+"65";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002546";"12";
+"66";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002546";"68";
+"67";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002555";"12";
+"68";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002555";"68";
+"69";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002552";"12";
+"70";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002552";"68";
+"71";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002515";"6";
+"72";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002515";"21";
+"73";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002568";"59";
+"74";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002568";"25";
+"75";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002573";"59";
+"76";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002573";"25";
+"77";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002506";"39";
+"78";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002506";"28";
+"79";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002550";"12";
+"80";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002550";"68";
+"81";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002516";"6";
+"82";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002516";"21";
+"83";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002534";"18";
+"84";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002534";"59";
+"85";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002508";"39";
+"86";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002508";"28";
+"87";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002547";"12";
+"88";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002547";"68";
+"89";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002523";"6";
+"90";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002523";"21";
+"91";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002541";"12";
+"92";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002541";"68";
+"93";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002576";"30";
+"94";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002576";"65";
+"95";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002544";"12";
+"96";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002544";"68";
+"97";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002509";"39";
+"98";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002509";"28";
+"99";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002556";"59";
+"100";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002556";"25";
+"101";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002579";"30";
+"102";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002579";"65";
+"103";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002554";"12";
+"104";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002554";"68";
+"105";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002519";"6";
+"106";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002519";"21";
+"107";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002536";"18";
+"108";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002536";"59";
+"109";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002553";"12";
+"110";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002553";"68";
+"111";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002551";"12";
+"112";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002551";"68";
+"113";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002527";"18";
+"114";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002527";"59";
+"115";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002545";"12";
+"116";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002545";"68";
+"117";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002559";"59";
+"118";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002559";"25";
+"119";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002540";"12";
+"120";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002540";"68";
+"121";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002510";"39";
+"122";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002510";"28";
+"123";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002507";"39";
+"124";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002507";"28";
+"125";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002577";"30";
+"126";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002577";"65";
+"127";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002565";"59";
+"128";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002565";"25";
+"129";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002522";"6";
+"130";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002522";"21";
+"131";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002575";"30";
+"132";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002575";"65";
+"133";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002521";"6";
+"134";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002521";"21";
+"135";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002566";"59";
+"136";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002566";"25";
+"137";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002533";"18";
+"138";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002533";"59";
+"139";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002517";"6";
+"140";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002517";"21";
+"141";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002520";"6";
+"142";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002520";"21";
+"143";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002560";"59";
+"144";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002560";"25";
+"145";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002531";"18";
+"146";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002531";"59";
+"147";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002505";"39";
+"148";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002505";"28";
+"149";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002578";"30";
+"150";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002578";"13";
+"151";"2016-07-16 13:53:20";"2016-07-16 13:53:20";"31002578";"66";
\ No newline at end of file
diff --git a/export/csv/wormhole.csv b/export/csv/wormhole.csv
new file mode 100644
index 00000000..7f1dafd0
--- /dev/null
+++ b/export/csv/wormhole.csv
@@ -0,0 +1,81 @@
+"Id";"Name";"Security";"MassTotal";"MassIndividual";"MassRegeneration";"MaxStableTime";
+"1";"A009";"L";"500000000";"20000000";;"16";
+"2";"A239";"L";"2000000000";"300000000";;"24";
+"3";"A641";"H";"2000000000";"1000000000";;"16";
+"4";"A982";"C6";"3000000000";"300000000";;"24";
+"5";"B041";"C6";"5000000000";"300000000";"500000000";"48";
+"6";"B274";"H";"2000000000";"300000000";;"24";
+"7";"B449";"H";"2000000000";"1000000000";;"16";
+"8";"B520";"H";"5000000000";"300000000";"500000000";"24";
+"9";"C008";"C5";;"5000000";"1";"16";
+"10";"C125";"C2";"1000000000";"20000000";;"16";
+"11";"C140";"L";"3000000000";"1350000000";;"24";
+"12";"C247";"C3";"2000000000";"300000000";;"16";
+"13";"C248";"0.0";"5000000000";"1800000000";"500000000";"24";
+"14";"C391";"L";"5000000000";"1800000000";"500000000";"24";
+"15";"D364";"C2";"1000000000";"300000000";;"16";
+"16";"D382";"C2";"2000000000";"300000000";;"16";
+"17";"D792";"H";"3000000000";"1000000000";;"24";
+"18";"D845";"H";"5000000000";"300000000";"500000000";"24";
+"19";"E004";"C1";;"5000000";"1";"16";
+"20";"E175";"C4";"2000000000";"300000000";;"16";
+"21";"E545";"0.0";"2000000000";"300000000";;"24";
+"22";"G009";"C6";;"5000000";;"16";
+"23";"G024";"C2";"2000000000";"300000000";;"16";
+"24";"H121";"C1";"500000000";"20000000";;"16";
+"25";"H296";"C5";"3000000000";"1350000000";;"24";
+"26";"H900";"C5";"3000000000";"300000000";;"24";
+"27";"I182";"C2";"2000000000";"300000000";;"16";
+"28";"J244";"L";"1000000000";"20000000";;"24";
+"29";"K329";"0.0";"5000000000";"1800000000";"500000000";"24";
+"30";"K346";"0.0";"3000000000";"300000000";;"24";
+"31";"L005";"C2";;"5000000";"1";"16";
+"32";"L477";"C3";"2000000000";"300000000";;"16";
+"33";"L614";"C5";"1000000000";"20000000";;"24";
+"34";"M006";"C4";;"5000000";"1";"16";
+"35";"M267";"C3";"1000000000";"300000000";;"16";
+"36";"M555";"C5";"3000000000";"1000000000";;"24";
+"37";"M609";"C4";"1000000000";"20000000";;"16";
+"38";"N062";"C5";"3000000000";"300000000";;"24";
+"39";"N110";"H";"1000000000";"20000000";;"24";
+"40";"N290";"L";"5000000000";"1800000000";"500000000";"24";
+"41";"N432";"C5";"3000000000";"1350000000";;"24";
+"42";"N766";"C2";"2000000000";"300000000";;"16";
+"43";"N770";"C5";"3000000000";"300000000";;"24";
+"44";"N944";"L";"3000000000";"1350000000";;"24";
+"45";"N968";"C3";"2000000000";"300000000";;"16";
+"46";"O128";"C4";"1000000000";"300000000";"100000000";"24";
+"47";"O477";"C3";"2000000000";"300000000";;"16";
+"48";"O883";"C3";"1000000000";"20000000";;"16";
+"49";"P060";"C1";"500000000";"20000000";;"16";
+"50";"Q003";"0.0";;"5000000";"1";"16";
+"51";"Q317";"C1";"500000000";"20000000";;"16";
+"52";"R051";"L";"3000000000";"1000000000";;"16";
+"53";"R474";"C6";"3000000000";"300000000";;"24";
+"54";"R943";"C2";"750000000";"300000000";;"16";
+"55";"S047";"H";"3000000000";"300000000";;"24";
+"56";"S199";"0.0";"3000000000";"1350000000";;"24";
+"57";"S804";"C6";"1000000000";"20000000";;"24";
+"58";"T405";"C4";"2000000000";"300000000";;"16";
+"59";"U210";"L";"3000000000";"300000000";;"24";
+"60";"U319";"C6";"3000000000";"1800000000";"500000000";"48";
+"61";"U574";"C6";"3000000000";"300000000";;"24";
+"62";"V283";"0.0";"3000000000";"1000000000";;"24";
+"63";"V301";"C1";"500000000";"20000000";;"16";
+"64";"V753";"C6";"3000000000";"1350000000";;"24";
+"65";"V911";"C5";"3000000000";"1350000000";;"24";
+"66";"W237";"C6";"3000000000";"1350000000";;"24";
+"67";"X702";"C3";"1000000000";"300000000";;"24";
+"68";"X877";"C4";"2000000000";"300000000";;"16";
+"69";"Y683";"C4";"2000000000";"300000000";;"16";
+"70";"Y790";"C1";"500000000";"20000000";;"16";
+"71";"Z006";"C3";;"5000000";"1";"16";
+"72";"Z060";"0.0";"1000000000";"20000000";;"24";
+"73";"Z142";"0.0";"3000000000";"1350000000";;"24";
+"74";"Z457";"C4";"2000000000";"300000000";;"16";
+"75";"Z647";"C1";"500000000";"20000000";;"16";
+"76";"Z971";"C1";"100000000";"20000000";;"16";
+"80";"M001";"C4";;"5000000";"1";"16";
+"81";"E587";"0.0";"3000000000";"1000000000";;"16";
+"82";"V898";"L";"2000000000";"300000000";;"16";
+"83";"Q063";"H";"500000000";"20000000";;"16";
\ No newline at end of file
diff --git a/export/json/statics.json b/export/json/statics.json
new file mode 100644
index 00000000..79238bf9
--- /dev/null
+++ b/export/json/statics.json
@@ -0,0 +1,75 @@
+{"J001025":["U210","H296"],
+"J001057":["B274","E545"],
+"J001302":["C247","X877"],
+"J001348":["D845","U210"],
+"J001398":["D845","U210"],
+"J001670":["D845","U210"],
+"J001694":["U210","H296"],
+"J001769":["C247","X877"],
+"J001820":["U210","H296"],
+"J001890":["B274","E545"],
+"J002216":["N110","J244"],
+"J002423":["C247","X877"],
+"J002625":["C247","X877"],
+"J002757":["N110","J244"],
+"J002838":["D845","U210"],
+"J002964":["B274","E545"],
+"J003382":["U210","H296"],
+"J003546":["U210","H296"],
+"J003789":["D845","U210"],
+"J003793":["U210","H296"],
+"J003941":["U210","H296"],
+"J004128":["U210","H296"],
+"J004150":["C247","X877"],
+"J004283":["K346","U210"],
+"J004317":["N110","J244"],
+"J004470":["C247","X877"],
+"J004686":["B274","E545"],
+"J004791":["N110","J244"],
+"J004921":["U210","H296"],
+"J004998":["U210","H296"],
+"J005070":["U210","H296"],
+"J005223":["U210","E175"],
+"J005259":["C247","X877"],
+"J005280":["C247","X877"],
+"J005299":["C247","X877"],
+"J005482":["B274","E545"],
+"J005663":["U210","H296"],
+"J005724":["U210","H296"],
+"J005834":["N110","J244"],
+"J005872":["C247","X877"],
+"J005900":["B274","E545"],
+"J005923":["D845","U210"],
+"J005926":["N110","J244"],
+"J005969":["C247","X877"],
+"J010000":["B274","E545"],
+"J010247":["C247","X877"],
+"J010366":["K346","V911"],
+"J010556":["C247","X877"],
+"J010569":["N110","J244"],
+"J010811":["U210","H296"],
+"J010951":["K346","V911"],
+"J011195":["C247","X877"],
+"J011321":["B274","E545"],
+"J011339":["D845","U210"],
+"J011355":["C247","X877"],
+"J011376":["C247","X877"],
+"J011563":["D845","U210"],
+"J011778":["C247","X877"],
+"J011790":["U210","H296"],
+"J011824":["C247","X877"],
+"J012157":["N110","J244"],
+"J012402":["N110","J244"],
+"J012475":["K346","V911"],
+"J012578":["U210","H296"],
+"J012635":["B274","E545"],
+"J012686":["K346","V911"],
+"J012735":["B274","E545"],
+"J012773":["U210","H296"],
+"J012794":["D845","U210"],
+"J013070":["B274","E545"],
+"J013123":["B274","E545"],
+"J013146":["U210","H296"],
+"J014348":["D845","U210"],
+"J015092":["N110","J244"],
+"J015227":["K346","C248", "W237"]}
\ No newline at end of file
diff --git a/export/sql/pathfinder.sql b/export/sql/pathfinder.sql
index 907fe851..fb0d3a48 100644
--- a/export/sql/pathfinder.sql
+++ b/export/sql/pathfinder.sql
@@ -3,9 +3,9 @@
-- http://www.phpmyadmin.net
--
-- Host: localhost
--- Generation Time: Dec 26, 2015 at 06:26 PM
--- Server version: 10.1.9-MariaDB-log
--- PHP Version: 7.0.0RC7
+-- Generation Time: Jul 16, 2016 at 04:47 PM
+-- Server version: 10.1.10-MariaDB-log
+-- PHP Version: 7.0.2
SET FOREIGN_KEY_CHECKS=0;
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
@@ -18,9 +18,100 @@ SET time_zone = "+00:00";
/*!40101 SET NAMES utf8mb4 */;
--
--- Database: `pathfinder_empty`
+-- Database: `pathfinder`
--
+--
+-- Truncate table before insert `wormhole`
+--
+
+TRUNCATE TABLE `wormhole`;
+--
+-- Dumping data for table `wormhole`
+--
+
+INSERT INTO `wormhole` (`id`, `name`, `security`, `massTotal`, `massIndividual`, `massRegeneration`, `maxStableTime`) VALUES
+ (1, 'A009', 'L', 500000000, 20000000, 0, 16),
+ (2, 'A239', 'L', 2000000000, 300000000, 0, 24),
+ (3, 'A641', 'H', 2000000000, 1000000000, 0, 16),
+ (4, 'A982', 'C6', 2147483647, 300000000, 0, 24),
+ (5, 'B041', 'C6', 2147483647, 300000000, 500000000, 48),
+ (6, 'B274', 'H', 2000000000, 300000000, 0, 24),
+ (7, 'B449', 'H', 2000000000, 1000000000, 0, 16),
+ (8, 'B520', 'H', 2147483647, 300000000, 500000000, 24),
+ (9, 'C008', 'C5', 0, 5000000, 1, 16),
+ (10, 'C125', 'C2', 1000000000, 20000000, 0, 16),
+ (11, 'C140', 'L', 2147483647, 1350000000, 0, 24),
+ (12, 'C247', 'C3', 2000000000, 300000000, 0, 16),
+ (13, 'C248', '0.0', 2147483647, 1800000000, 500000000, 24),
+ (14, 'C391', 'L', 2147483647, 1800000000, 500000000, 24),
+ (15, 'D364', 'C2', 1000000000, 300000000, 0, 16),
+ (16, 'D382', 'C2', 2000000000, 300000000, 0, 16),
+ (17, 'D792', 'H', 2147483647, 1000000000, 0, 24),
+ (18, 'D845', 'H', 2147483647, 300000000, 500000000, 24),
+ (19, 'E004', 'C1', 0, 5000000, 1, 16),
+ (20, 'E175', 'C4', 2000000000, 300000000, 0, 16),
+ (21, 'E545', '0.0', 2000000000, 300000000, 0, 24),
+ (22, 'G009', 'C6', 0, 5000000, 0, 16),
+ (23, 'G024', 'C2', 2000000000, 300000000, 0, 16),
+ (24, 'H121', 'C1', 500000000, 20000000, 0, 16),
+ (25, 'H296', 'C5', 2147483647, 1350000000, 0, 24),
+ (26, 'H900', 'C5', 2147483647, 300000000, 0, 24),
+ (27, 'I182', 'C2', 2000000000, 300000000, 0, 16),
+ (28, 'J244', 'L', 1000000000, 20000000, 0, 24),
+ (29, 'K329', '0.0', 2147483647, 1800000000, 500000000, 24),
+ (30, 'K346', '0.0', 2147483647, 300000000, 0, 24),
+ (31, 'L005', 'C2', 0, 5000000, 1, 16),
+ (32, 'L477', 'C3', 2000000000, 300000000, 0, 16),
+ (33, 'L614', 'C5', 1000000000, 20000000, 0, 24),
+ (34, 'M006', 'C4', 0, 5000000, 1, 16),
+ (35, 'M267', 'C3', 1000000000, 300000000, 0, 16),
+ (36, 'M555', 'C5', 2147483647, 1000000000, 0, 24),
+ (37, 'M609', 'C4', 1000000000, 20000000, 0, 16),
+ (38, 'N062', 'C5', 2147483647, 300000000, 0, 24),
+ (39, 'N110', 'H', 1000000000, 20000000, 0, 24),
+ (40, 'N290', 'L', 2147483647, 1800000000, 500000000, 24),
+ (41, 'N432', 'C5', 2147483647, 1350000000, 0, 24),
+ (42, 'N766', 'C2', 2000000000, 300000000, 0, 16),
+ (43, 'N770', 'C5', 2147483647, 300000000, 0, 24),
+ (44, 'N944', 'L', 2147483647, 1350000000, 0, 24),
+ (45, 'N968', 'C3', 2000000000, 300000000, 0, 16),
+ (46, 'O128', 'C4', 1000000000, 300000000, 100000000, 24),
+ (47, 'O477', 'C3', 2000000000, 300000000, 0, 16),
+ (48, 'O883', 'C3', 1000000000, 20000000, 0, 16),
+ (49, 'P060', 'C1', 500000000, 20000000, 0, 16),
+ (50, 'Q003', '0.0', 0, 5000000, 1, 16),
+ (51, 'Q317', 'C1', 500000000, 20000000, 0, 16),
+ (52, 'R051', 'L', 2147483647, 1000000000, 0, 16),
+ (53, 'R474', 'C6', 2147483647, 300000000, 0, 24),
+ (54, 'R943', 'C2', 750000000, 300000000, 0, 16),
+ (55, 'S047', 'H', 2147483647, 300000000, 0, 24),
+ (56, 'S199', '0.0', 2147483647, 1350000000, 0, 24),
+ (57, 'S804', 'C6', 1000000000, 20000000, 0, 24),
+ (58, 'T405', 'C4', 2000000000, 300000000, 0, 16),
+ (59, 'U210', 'L', 2147483647, 300000000, 0, 24),
+ (60, 'U319', 'C6', 2147483647, 1800000000, 500000000, 48),
+ (61, 'U574', 'C6', 2147483647, 300000000, 0, 24),
+ (62, 'V283', '0.0', 2147483647, 1000000000, 0, 24),
+ (63, 'V301', 'C1', 500000000, 20000000, 0, 16),
+ (64, 'V753', 'C6', 2147483647, 1350000000, 0, 24),
+ (65, 'V911', 'C5', 2147483647, 1350000000, 0, 24),
+ (66, 'W237', 'C6', 2147483647, 1350000000, 0, 24),
+ (67, 'X702', 'C3', 1000000000, 300000000, 0, 24),
+ (68, 'X877', 'C4', 2000000000, 300000000, 0, 16),
+ (69, 'Y683', 'C4', 2000000000, 300000000, 0, 16),
+ (70, 'Y790', 'C1', 500000000, 20000000, 0, 16),
+ (71, 'Z006', 'C3', 0, 5000000, 1, 16),
+ (72, 'Z060', '0.0', 1000000000, 20000000, 0, 24),
+ (73, 'Z142', '0.0', 2147483647, 1350000000, 0, 24),
+ (74, 'Z457', 'C4', 2000000000, 300000000, 0, 16),
+ (75, 'Z647', 'C1', 500000000, 20000000, 0, 16),
+ (76, 'Z971', 'C1', 100000000, 20000000, 0, 16),
+ (80, 'M001', 'C4', 0, 5000000, 1, 16),
+ (81, 'E587', '0.0', 2147483647, 1000000000, 0, 16),
+ (82, 'V898', 'L', 2000000000, 300000000, 0, 16),
+ (83, 'Q063', 'H', 500000000, 20000000, 0, 16);
+
--
-- Truncate table before insert `system_wormhole`
--
@@ -30,7 +121,169 @@ TRUNCATE TABLE `system_wormhole`;
-- Dumping data for table `system_wormhole`
--
-INSERT INTO `system_wormhole` (`id`, `created`, `updated`, `constellationId`, `wormholeId`) VALUES
+INSERT INTO `system_wormhole` (`id`, `created`, `updated`, `systemId`, `wormholeId`) VALUES
+ (1, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002572, 59),
+ (2, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002572, 25),
+ (3, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002518, 6),
+ (4, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002518, 21),
+ (5, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002543, 12),
+ (6, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002543, 68),
+ (7, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002528, 18),
+ (8, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002528, 59),
+ (9, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002535, 18),
+ (10, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002535, 59),
+ (11, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002530, 18),
+ (12, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002530, 59),
+ (13, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002557, 59),
+ (14, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002557, 25),
+ (15, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002548, 12),
+ (16, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002548, 68),
+ (17, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002564, 59),
+ (18, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002564, 25),
+ (19, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002524, 6),
+ (20, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002524, 21),
+ (21, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002514, 39),
+ (22, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002514, 28),
+ (23, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002542, 12),
+ (24, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002542, 68),
+ (25, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002538, 12),
+ (26, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002538, 68),
+ (27, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002511, 39),
+ (28, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002511, 28),
+ (29, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002529, 18),
+ (30, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002529, 59),
+ (31, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002525, 6),
+ (32, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002525, 21),
+ (33, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002562, 59),
+ (34, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002562, 25),
+ (35, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002563, 59),
+ (36, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002563, 25),
+ (37, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002532, 18),
+ (38, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002532, 59),
+ (39, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002569, 59),
+ (40, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002569, 25),
+ (41, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002558, 59),
+ (42, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002558, 25),
+ (43, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002570, 59),
+ (44, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002570, 25),
+ (45, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002549, 12),
+ (46, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002549, 68),
+ (47, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002537, 30),
+ (48, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002537, 59),
+ (49, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002513, 39),
+ (50, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002513, 28),
+ (51, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002539, 12),
+ (52, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002539, 68),
+ (53, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002526, 6),
+ (54, '2016-07-16 13:53:19', '2016-07-16 13:53:19', 31002526, 21),
+ (55, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002512, 39),
+ (56, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002512, 28),
+ (57, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002574, 59),
+ (58, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002574, 25),
+ (59, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002561, 59),
+ (60, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002561, 25),
+ (61, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002571, 59),
+ (62, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002571, 25),
+ (63, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002567, 59),
+ (64, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002567, 20),
+ (65, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002546, 12),
+ (66, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002546, 68),
+ (67, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002555, 12),
+ (68, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002555, 68),
+ (69, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002552, 12),
+ (70, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002552, 68),
+ (71, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002515, 6),
+ (72, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002515, 21),
+ (73, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002568, 59),
+ (74, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002568, 25),
+ (75, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002573, 59),
+ (76, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002573, 25),
+ (77, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002506, 39),
+ (78, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002506, 28),
+ (79, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002550, 12),
+ (80, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002550, 68),
+ (81, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002516, 6),
+ (82, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002516, 21),
+ (83, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002534, 18),
+ (84, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002534, 59),
+ (85, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002508, 39),
+ (86, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002508, 28),
+ (87, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002547, 12),
+ (88, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002547, 68),
+ (89, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002523, 6),
+ (90, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002523, 21),
+ (91, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002541, 12),
+ (92, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002541, 68),
+ (93, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002576, 30),
+ (94, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002576, 65),
+ (95, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002544, 12),
+ (96, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002544, 68),
+ (97, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002509, 39),
+ (98, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002509, 28),
+ (99, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002556, 59),
+ (100, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002556, 25),
+ (101, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002579, 30),
+ (102, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002579, 65),
+ (103, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002554, 12),
+ (104, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002554, 68),
+ (105, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002519, 6),
+ (106, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002519, 21),
+ (107, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002536, 18),
+ (108, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002536, 59),
+ (109, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002553, 12),
+ (110, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002553, 68),
+ (111, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002551, 12),
+ (112, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002551, 68),
+ (113, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002527, 18),
+ (114, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002527, 59),
+ (115, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002545, 12),
+ (116, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002545, 68),
+ (117, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002559, 59),
+ (118, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002559, 25),
+ (119, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002540, 12),
+ (120, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002540, 68),
+ (121, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002510, 39),
+ (122, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002510, 28),
+ (123, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002507, 39),
+ (124, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002507, 28),
+ (125, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002577, 30),
+ (126, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002577, 65),
+ (127, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002565, 59),
+ (128, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002565, 25),
+ (129, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002522, 6),
+ (130, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002522, 21),
+ (131, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002575, 30),
+ (132, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002575, 65),
+ (133, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002521, 6),
+ (134, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002521, 21),
+ (135, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002566, 59),
+ (136, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002566, 25),
+ (137, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002533, 18),
+ (138, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002533, 59),
+ (139, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002517, 6),
+ (140, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002517, 21),
+ (141, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002520, 6),
+ (142, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002520, 21),
+ (143, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002560, 59),
+ (144, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002560, 25),
+ (145, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002531, 18),
+ (146, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002531, 59),
+ (147, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002505, 39),
+ (148, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002505, 28),
+ (149, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002578, 30),
+ (150, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002578, 13),
+ (151, '2016-07-16 13:53:20', '2016-07-16 13:53:20', 31002578, 66);
+
+--
+-- Truncate table before insert `constellation_wormhole`
+--
+
+TRUNCATE TABLE `constellation_wormhole`;
+--
+-- Dumping data for table `constellation_wormhole`
+--
+
+INSERT INTO `constellation_wormhole` (`id`, `created`, `updated`, `constellationId`, `wormholeId`) VALUES
(1, '2015-12-26 16:19:18', '2015-12-26 16:19:18', 21000001, 39),
(2, '2015-12-26 16:19:18', '2015-12-26 16:19:18', 21000002, 39),
(3, '2015-12-26 16:19:18', '2015-12-26 16:19:18', 21000003, 39),
@@ -493,96 +746,6 @@ INSERT INTO `system_wormhole` (`id`, `created`, `updated`, `constellationId`, `w
(460, '2016-07-15 18:45:09', '2016-07-15 18:45:09', 21000324, 83),
(461, '2016-07-15 19:55:26', '2016-07-15 19:55:26', 21000062, 75);
---
--- Truncate table before insert `wormhole`
---
-
-TRUNCATE TABLE `wormhole`;
---
--- Dumping data for table `wormhole`
---
-
-INSERT INTO `wormhole` (`id`, `name`, `security`, `massTotal`, `massIndividual`, `massRegeneration`, `maxStableTime`) VALUES
- (1, 'A009', '', '500000000', '20000000', '0', 16),
- (2, 'A239', 'L', '2000000000', '300000000', '0', 24),
- (3, 'A641', 'H', '2000000000', '1000000000', '0', 16),
- (4, 'A982', 'C6', '3000000000', '300000000', '0', 24),
- (5, 'B041', 'C6', '5000000000', '300000000', '500000000', 48),
- (6, 'B274', 'H', '2000000000', '300000000', '0', 24),
- (7, 'B449', 'H', '2000000000', '1000000000', '0', 16),
- (8, 'B520', 'H', '5000000000', '300000000', '500000000', 24),
- (9, 'C008', 'C5', '0', '5000000', '1', 16),
- (10, 'C125', 'C2', '1000000000', '20000000', '0', 16),
- (11, 'C140', 'L', '3000000000', '1350000000', '0', 24),
- (12, 'C247', 'C3', '2000000000', '300000000', '0', 16),
- (13, 'C248', '0.0', '5000000000', '1800000000', '500000000', 24),
- (14, 'C391', 'L', '5000000000', '1800000000', '500000000', 24),
- (15, 'D364', 'C2', '1000000000', '300000000', '0', 16),
- (16, 'D382', 'C2', '2000000000', '300000000', '0', 16),
- (17, 'D792', 'H', '3000000000', '1000000000', '0', 24),
- (18, 'D845', 'H', '5000000000', '300000000', '500000000', 24),
- (19, 'E004', 'C1', '0', '5000000', '1', 16),
- (20, 'E175', 'C4', '2000000000', '300000000', '0', 16),
- (21, 'E545', '0.0', '2000000000', '300000000', '0', 24),
- (22, 'G009', 'C6', '0', '5000000', '0', 16),
- (23, 'G024', 'C2', '2000000000', '300000000', '0', 16),
- (24, 'H121', 'C1', '500000000', '20000000', '0', 16),
- (25, 'H296', 'C5', '3000000000', '1350000000', '0', 24),
- (26, 'H900', 'C5', '3000000000', '300000000', '0', 24),
- (27, 'I182', 'C2', '2000000000', '300000000', '0', 16),
- (28, 'J244', 'L', '1000000000', '20000000', '0', 24),
- (29, 'K329', '0.0', '5000000000', '1800000000', '500000000', 24),
- (30, 'K346', '0.0', '3000000000', '300000000', '0', 24),
- (31, 'L005', 'C2', '0', '5000000', '1', 16),
- (32, 'L477', 'C3', '2000000000', '300000000', '0', 16),
- (33, 'L614', 'C5', '1000000000', '20000000', '0', 24),
- (34, 'M006', 'C4', '0', '5000000', '1', 16),
- (35, 'M267', 'C3', '1000000000', '300000000', '0', 16),
- (36, 'M555', 'C5', '3000000000', '1000000000', '0', 24),
- (37, 'M609', 'C4', '1000000000', '20000000', '0', 16),
- (38, 'N062', 'C5', '3000000000', '300000000', '0', 24),
- (39, 'N110', 'H', '1000000000', '20000000', '0', 24),
- (40, 'N290', 'L', '5000000000', '1800000000', '500000000', 24),
- (41, 'N432', 'C5', '3000000000', '1350000000', '0', 24),
- (42, 'N766', 'C2', '2000000000', '300000000', '0', 16),
- (43, 'N770', 'C5', '3000000000', '300000000', '0', 24),
- (44, 'N944', 'L', '3000000000', '1350000000', '0', 24),
- (45, 'N968', 'C3', '2000000000', '300000000', '0', 16),
- (46, 'O128', 'C4', '1000000000', '300000000', '100000000', 24),
- (47, 'O477', 'C3', '2000000000', '300000000', '0', 16),
- (48, 'O883', 'C3', '1000000000', '20000000', '0', 16),
- (49, 'P060', 'C1', '500000000', '20000000', '0', 16),
- (50, 'Q003', '0.0', '0', '5000000', '1', 16),
- (51, 'Q317', 'C1', '500000000', '20000000', '0', 16),
- (52, 'R051', 'L', '3000000000', '1000000000', '0', 16),
- (53, 'R474', 'C6', '3000000000', '300000000', '0', 24),
- (54, 'R943', 'C2', '750000000', '300000000', '0', 16),
- (55, 'S047', 'H', '3000000000', '300000000', '0', 24),
- (56, 'S199', '0.0', '3000000000', '1350000000', '0', 24),
- (57, 'S804', 'C6', '1000000000', '20000000', '0', 24),
- (58, 'T405', 'C4', '2000000000', '300000000', '0', 16),
- (59, 'U210', 'L', '3000000000', '300000000', '0', 24),
- (60, 'U319', 'C6', '3000000000', '1800000000', '500000000', 48),
- (61, 'U574', 'C6', '3000000000', '300000000', '0', 24),
- (62, 'V283', '0.0', '3000000000', '1000000000', '0', 24),
- (63, 'V301', 'C1', '500000000', '20000000', '0', 16),
- (64, 'V753', 'C6', '3000000000', '1350000000', '0', 24),
- (65, 'V911', 'C5', '3000000000', '1350000000', '0', 24),
- (66, 'W237', 'C6', '3000000000', '1350000000', '0', 24),
- (67, 'X702', 'C3', '1000000000', '300000000', '0', 24),
- (68, 'X877', 'C4', '2000000000', '300000000', '0', 16),
- (69, 'Y683', 'C4', '2000000000', '300000000', '0', 16),
- (70, 'Y790', 'C1', '500000000', '20000000', '0', 16),
- (71, 'Z006', 'C3', '0', '5000000', '1', 16),
- (72, 'Z060', '0.0', '1000000000', '20000000', '0', 24),
- (73, 'Z142', '0.0', '3000000000', '1350000000', '0', 24),
- (74, 'Z457', 'C4', '2000000000', '300000000', '0', 16),
- (75, 'Z647', 'C1', '500000000', '20000000', '0', 16),
- (76, 'Z971', 'C1', '100000000', '20000000', '0', 16),
- (80, 'M001', 'C4', '0', '5000000', '1', 16),
- (81, 'E587', '0.0', '3000000000', '1000000000', '0', 16),
- (82, 'V898', 'L', '2000000000', '300000000', '0', 16),
- (83, 'Q063', 'H', '500000000', '20000000', '0', 16);
--
-- Truncate table before insert `system_neighbour`
diff --git a/js/app/setup.js b/js/app/setup.js
index 64f6781a..ecbed826 100644
--- a/js/app/setup.js
+++ b/js/app/setup.js
@@ -17,19 +17,21 @@ define([
* set page observer
*/
var setPageObserver = function(){
+ var body = $('body');
// collapse ---------------------------------------
- $('body').find('[data-toggle="collapse"]').css({cursor: 'pointer'}).on('click', function(){
+ body.find('[data-toggle="collapse"]').css({cursor: 'pointer'}).on('click', function(){
$(this).find('.pf-animate-rotate').toggleClass('right');
});
// buttons ----------------------------------------
- $('body').find('.btn').on('click', function(e){
+ // exclude "download" buttons
+ body.find('.btn').not('[href^="?export"]').on('click', function(e){
$('.' + config.splashOverlayClass).showSplashOverlay();
});
// tooltips ---------------------------------------
- $('body').initTooltips();
+ body.initTooltips();
// change url (remove logout parameter)
if (history.pushState) {
diff --git a/public/js/v1.1.2/app/setup.js b/public/js/v1.1.2/app/setup.js
index 64f6781a..ecbed826 100644
--- a/public/js/v1.1.2/app/setup.js
+++ b/public/js/v1.1.2/app/setup.js
@@ -17,19 +17,21 @@ define([
* set page observer
*/
var setPageObserver = function(){
+ var body = $('body');
// collapse ---------------------------------------
- $('body').find('[data-toggle="collapse"]').css({cursor: 'pointer'}).on('click', function(){
+ body.find('[data-toggle="collapse"]').css({cursor: 'pointer'}).on('click', function(){
$(this).find('.pf-animate-rotate').toggleClass('right');
});
// buttons ----------------------------------------
- $('body').find('.btn').on('click', function(e){
+ // exclude "download" buttons
+ body.find('.btn').not('[href^="?export"]').on('click', function(e){
$('.' + config.splashOverlayClass).showSplashOverlay();
});
// tooltips ---------------------------------------
- $('body').initTooltips();
+ body.initTooltips();
// change url (remove logout parameter)
if (history.pushState) {
diff --git a/public/templates/view/setup.html b/public/templates/view/setup.html
index 47184e35..6980385a 100644
--- a/public/templates/view/setup.html
+++ b/public/templates/view/setup.html
@@ -25,17 +25,6 @@
- {* Success *}
-