Index: trunk/core/install/incs/img/blue_bar_help.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/install/incs/img/blocks.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/install/incs/img/tabnav_back.jpg
===================================================================
diff -u
Binary files differ
Index: trunk/core/install/incs/img/version_bg.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/install/incs/style.css
===================================================================
diff -u
--- trunk/core/install/incs/style.css (revision 0)
+++ trunk/core/install/incs/style.css (revision 6685)
@@ -0,0 +1,206 @@
+html, body {
+ margin: 0;
+ padding: 0;
+ background: #FFFFFF;
+ color: #333333;
+ }
+
+ol.install-steps {
+ font: bold 12px verdana, sans-serif;
+ color: #fff;
+ line-height: 20px
+ }
+
+.install-steps li.current-step {
+ color: #005786
+}
+
+/*#nav {
+ margin-left: -1px;
+ text-align: center;
+ float: left
+}
+
+#content {
+ padding: 10px;
+ color: darkblue;
+ float: right
+}
+
+#header {
+ background-color: #fff;
+ color: #006;
+ border-bottom: 1px solid #006;
+ margin-bottom: 0px
+}
+*/
+
+.footer {
+ background-color: #FFFFFF;
+ color: #006;
+ border-top: 1px solid #006;
+ font-size: 11px;
+ text-align: right;
+ padding: 2px 10px 0 0;
+ clear: both;
+}
+
+p {
+ padding: 0;
+ margin-top: 0px;
+ font-family: 'Lucida Grande', Verdana, Geneva, Lucida, Helvetica, Arial, sans-serif;
+}
+
+
+/*
+.spacer {clear: both}
+
+dd, dt {
+ font: 0.95em 'Lucida Grande', Verdana, Geneva, Lucida, Helvetica, Arial, sans-serif;
+}
+*/
+
+.head_version {
+ padding-right: 5px;
+ font-weight: normal;
+ font-size: 10px;
+ color: white;
+ font-family: verdana, arial;
+ text-decoration: none;
+}
+
+.admintitle, .admintitle-white {
+ font-weight: bold;
+ font-size: 20px;
+ color: #009FF0;
+ font-family: verdana, arial;
+ text-decoration: none;
+}
+
+.admintitle-white {
+ color: #fff
+}
+
+.subsectiontitle {
+ font-weight: bold;
+ font-size: 14px;
+ color: white;
+ font-family: verdana, arial;
+ background-color: #999999;
+ text-decoration: none;
+ height: 24px;
+}
+.subsectiontitle:hover {
+ font-weight: bold;
+ font-size: 14px;
+ color: #ffcc00;
+ font-family: verdana, arial;
+ background-color: #999999;
+ text-decoration: none;
+}
+
+.text {
+ font-weight: normal;
+ font-size: 12px;
+ font-family: verdana, arial;
+ text-decoration: none;
+}
+
+.toolbar {
+ border-right: #000000 1px solid;
+ border-top: #000000 0px solid;
+ font-size: 10pt;
+ border-left: #000000 1px solid;
+ border-bottom: #000000 1px solid;
+ font-family: Arial, Helvetica, sans-serif;
+ background-color: #F0F1EB;
+}
+
+.tableborder {
+ border-right: #000000 1px solid;
+ border-top: #000000 0px solid;
+ font-size: 10pt;
+ border-left: #000000 1px solid;
+ border-bottom: #000000 1px solid;
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+.tableborder_full {
+ border-right: #000000 1px solid;
+ border-top: #000000 1px solid;
+ font-size: 10pt;
+ border-left: #000000 1px solid;
+ border-bottom: #000000 1px solid;
+ font-family: Arial, Helvetica, sans-serif;
+ background-image: url(img/tab_middle.gif);
+ background-repeat: repeat-x;
+}
+
+.tablenav {
+ font-weight: bold;
+ font-size: 14px;
+ color: white;
+ font-family: verdana, arial;
+ background-color: #73C4F5;
+ text-decoration: none;
+}
+
+.tablenav_link {
+ font-weight: bold;
+ font-size: 14px;
+ color: white;
+ font-family: verdana, arial;
+ text-decoration: none;
+}
+
+.tablenav_link:hover {
+ font-weight: bold;
+ font-size: 14px;
+ color: #FFCC00;
+ font-family: verdana, arial;
+ text-decoration: none;
+}
+
+/*.table_color1 {
+ font-weight: normal;
+ font-size: 14px;
+ color: black;
+ font-family: verdana, arial;
+ background-color: #F6F6F6;
+ text-decoration: none;
+}*/
+
+.table_color2 {
+ font-weight: normal;
+ font-size: 14px;
+ color: black;
+ font-family: verdana, arial;
+ background-color: #EBEBEB;
+ text-decoration: none;
+}
+
+.error {
+ font-weight: bold;
+ font-size: 9pt;
+ color: #ff0000;
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+.button {
+ font-weight: normal;
+ font-size: 12px;
+ background: url(img/button_back.gif) #F9EEAE repeat-x;
+ color: black;
+ font-family: Arial, Verdana;
+ text-decoration: none;
+}
+
+td {
+ font-size: 10pt;
+ font-family: Verdana, Helvetica;
+ text-decoration: none;
+}
+
+.link {
+ cursor: pointer;
+}
Index: trunk/core/install/incs/img/bg_install_menu.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/install/incs/script.js
===================================================================
diff -u
--- trunk/core/install/incs/script.js (revision 0)
+++ trunk/core/install/incs/script.js (revision 6685)
@@ -0,0 +1,8 @@
+
+function swap_image($img_id, $src) {
+ document.getElementById($img_id).src = 'incs/img/' + $src;
+}
+
+function continue_install() {
+ document.getElementById('install_form').submit();
+}
\ No newline at end of file
Index: trunk/core/install/incs/img/icon_install.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/kernel/application.php
===================================================================
diff -u -r6656 -r6685
--- trunk/core/kernel/application.php (.../application.php) (revision 6656)
+++ trunk/core/kernel/application.php (.../application.php) (revision 6685)
@@ -367,7 +367,7 @@
if (!$theme_id) {
$theme_id = $this->GetDefaultThemeId();
if (!$theme_id) {
- $this->ApplicationDie('No Primary Theme Selected');
+ if (!defined('IS_INSTALL')) $this->ApplicationDie('No Primary Theme Selected');
}
}
$this->SetVar('m_theme', $theme_id);
@@ -601,11 +601,11 @@
*/
function registerModuleConstants()
{
- if (!$this->ModuleInfo) return false;
if (file_exists(KERNEL_PATH.'/constants.php')) {
k4_include_once(KERNEL_PATH.'/constants.php');
}
-
+
+ if (!$this->ModuleInfo) return false;
foreach($this->ModuleInfo as $module_name => $module_info)
{
$module_path = '/'.$module_info['Path'];
Index: trunk/core/install/incs/img/toolbar/tool_select_f2.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/kernel/utility/unit_config_reader.php
===================================================================
diff -u -r6647 -r6685
--- trunk/core/kernel/utility/unit_config_reader.php (.../unit_config_reader.php) (revision 6647)
+++ trunk/core/kernel/utility/unit_config_reader.php (.../unit_config_reader.php) (revision 6685)
@@ -628,12 +628,11 @@
return true;
}
+ if (preg_match('#/plugins/|/core/#', $config_path)) return true;
+
$module_found = false;
if (!$this->Application->ModuleInfo) return false;
- if (preg_match('/\/plugins\//', $config_path)) return true;
- if (preg_match('/\/core\//', $config_path)) return true;
-
foreach($this->Application->ModuleInfo as $module_name => $module_info)
{
$module_path = '/'.$module_info['Path'];
Index: trunk/core/install/incs/img/toolbar/tool_cancel_f2.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/kernel/db/db_connection.php
===================================================================
diff -u -r6093 -r6685
--- trunk/core/kernel/db/db_connection.php (.../db_connection.php) (revision 6093)
+++ trunk/core/kernel/db/db_connection.php (.../db_connection.php) (revision 6685)
@@ -94,7 +94,7 @@
$this->errorHandler = Array(&$this, 'handleError');
}
else {
- $this->errorHandler=$errorHandler;
+ $this->errorHandler = $errorHandler;
}
}
Index: trunk/core/kernel/session/session.php
===================================================================
diff -u -r6428 -r6685
--- trunk/core/kernel/session/session.php (.../session.php) (revision 6428)
+++ trunk/core/kernel/session/session.php (.../session.php) (revision 6685)
@@ -91,13 +91,16 @@
function StoreSession(&$session, $additional_fields = Array())
{
- $fields_hash = Array( $this->IDField => $session->SID,
- $this->TimestampField => $session->Expiration);
- if ($additional_fields) {
- $fields_hash = array_merge_recursive2($fields_hash, $additional_fields);
- }
+ $fields_hash = Array (
+ $this->IDField => $session->SID,
+ $this->TimestampField => $session->Expiration
+ );
+
+ $this->Conn->doInsert($fields_hash, $this->TableName);
- $this->Conn->doInsert($fields_hash, $this->TableName);
+ foreach ($additional_fields as $field_name => $field_value) {
+ $this->SetField($session, $field_name, $field_value);
+ }
}
function DeleteSession(&$session)
@@ -159,7 +162,8 @@
function SetField(&$session, $var_name, $value)
{
- if ($this->DirectVars[$var_name] != $value) {
+ $value_changed = !isset($this->DirectVars[$var_name]) || ($this->DirectVars[$var_name] != $value);
+ if ($value_changed) {
$this->DirectVars[$var_name] = $value;
$this->ChangedDirectVars[] = $var_name;
$this->ChangedDirectVars = array_unique($this->ChangedDirectVars);
@@ -429,7 +433,8 @@
if (!$cookies_on || $this->IsHTTPSRedirect()) {
//If referer is our server, but we don't have our cookies_on, it's definetly off
- if ($this->CheckReferer(1) && !$this->Application->GetVar('admin') && !$this->IsHTTPSRedirect()) {
+ $is_install = defined('IS_INSTALL') && IS_INSTALL;
+ if (!$is_install && $this->CheckReferer(1) && !$this->Application->GetVar('admin') && !$this->IsHTTPSRedirect()) {
$this->CookiesEnabled = false;
}
else {
@@ -500,16 +505,16 @@
switch ($this->Mode) {
case smAUTO:
//Cookies has the priority - we ignore everything else
- $sid=$this->CookiesEnabled ? getArrayValue($http_query->Cookie,$this->CookieName) : $get_sid;
+ $sid = $this->CookiesEnabled ? $this->GetSessionCookie() : $get_sid;
break;
case smCOOKIES_ONLY:
- $sid = $http_query->Cookie[$this->CookieName];
+ $sid = $this->GetSessionCookie();
break;
case smGET_ONLY:
$sid = $get_sid;
break;
case smCOOKIES_AND_GET:
- $cookie_sid = $http_query->Cookie[$this->CookieName];
+ $cookie_sid = $this->GetSessionCookie();
//both sids should match if cookies are enabled
if (!$this->CookiesEnabled || ($cookie_sid == $get_sid))
{
@@ -594,6 +599,20 @@
$this->Storage->StoreSession($this);
}
+ /**
+ * Returns SID from cookie
+ *
+ * @return int
+ */
+ function GetSessionCookie()
+ {
+ return isset($this->Application->HttpQuery->Cookie[$this->CookieName]) ? $this->Application->HttpQuery->Cookie[$this->CookieName] : false;
+ }
+
+ /**
+ * Updates SID in cookie with new value
+ *
+ */
function SetSessionCookie()
{
setcookie(
Index: trunk/core/units/languages/languages_item.php
===================================================================
diff -u -r6583 -r6685
--- trunk/core/units/languages/languages_item.php (.../languages_item.php) (revision 6583)
+++ trunk/core/units/languages/languages_item.php (.../languages_item.php) (revision 6685)
@@ -54,7 +54,14 @@
$res = parent::Load(1);
}
else {
- $this->Application->ApplicationDie('No Primary Language Selected');
+ if (defined('IS_INSTALL')) {
+ // during first language import prevents sql errors
+ $this->setID(1);
+ $res = true;
+ }
+ else {
+ $this->Application->ApplicationDie('No Primary Language Selected');
+ }
}
}
$this->Application->SetVar('lang.current_id', $this->GetID() );
Index: trunk/core/units/general/inp_ses_storage.php
===================================================================
diff -u -r6428 -r6685
--- trunk/core/units/general/inp_ses_storage.php (.../inp_ses_storage.php) (revision 6428)
+++ trunk/core/units/general/inp_ses_storage.php (.../inp_ses_storage.php) (revision 6685)
@@ -19,15 +19,13 @@
$this->SetCookieDomain(SERVER_NAME);
- if( $this->Application->IsAdmin()) // && $this->Application->GetVar('admin') != 1
- {
- $mode = constOn('IS_INSTALL') ? smCOOKIES_ONLY : smAUTO;
+ if( $this->Application->IsAdmin()) { // && $this->Application->GetVar('admin') != 1
+ $mode = smAUTO;
}
- /*elseif ($this->Application->IsAdmin() && $this->Application->GetVar('admin') == 1) {
+ elseif (constOn('IS_INSTALL')) {
$mode = smCOOKIES_ONLY;
- }*/
- else
- {
+ }
+ else {
$ses_mode = $this->Application->ConfigValue('CookieSessions');
if ($ses_mode == 2) $mode = smAUTO;
if ($ses_mode == 1) $mode = smCOOKIES_ONLY;
@@ -84,9 +82,9 @@
'Language' => $this->Application->GetDefaultLanguageId(),
'Theme' => $this->Application->GetDefaultThemeId(),
'IpAddress' => $_SERVER['REMOTE_ADDR'],
+ 'GroupId' => $this->Application->ConfigValue('User_GuestGroup'),
'GroupList' => $this->Application->ConfigValue('User_GuestGroup'),
'CurrentTempKey'=> $session->SID,
-
);
parent::StoreSession($session, $fields_hash);
Index: trunk/core/install/incs/install.tpl
===================================================================
diff -u
--- trunk/core/install/incs/install.tpl (revision 0)
+++ trunk/core/install/incs/install.tpl (revision 6685)
@@ -0,0 +1,152 @@
+
+
+ In-Portal Installation
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: trunk/core/install/incs/img/button_back.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/install/incs/img/tabnav_left.jpg
===================================================================
diff -u
Binary files differ
Index: trunk/core/install/install_schema.sql
===================================================================
diff -u
--- trunk/core/install/install_schema.sql (revision 0)
+++ trunk/core/install/install_schema.sql (revision 6685)
@@ -0,0 +1,265 @@
+CREATE TABLE ConfigurationAdmin (
+ VariableName varchar(80) NOT NULL default '',
+ heading varchar(255) default NULL,
+ prompt varchar(255) default NULL,
+ element_type varchar(20) NOT NULL default '',
+ validation varchar(255) default NULL,
+ ValueList text default NULL,
+ DisplayOrder double NOT NULL default '0',
+ GroupDisplayOrder double NOT NULL default '0',
+ Install int(11) NOT NULL default '1',
+ PRIMARY KEY (VariableName)
+);
+
+CREATE TABLE ConfigurationValues (
+ VariableId int(11) NOT NULL auto_increment,
+ VariableName varchar(255) NOT NULL default '',
+ VariableValue varchar(255) default NULL,
+ ModuleOwner varchar(20) default 'In-Portal',
+ Section varchar(255) NOT NULL default '',
+ PRIMARY KEY (VariableId),
+ UNIQUE KEY VariableName (VariableName)
+);
+
+CREATE TABLE EmailMessage (
+ EmailMessageId int(10) NOT NULL auto_increment,
+ Template longtext,
+ MessageType enum('html','text') NOT NULL default 'text',
+ LanguageId int(11) NOT NULL default '0',
+ EventId int(11) NOT NULL default '0',
+ PRIMARY KEY (EmailMessageId)
+);
+
+CREATE TABLE EmailQueue (
+ Subject text NOT NULL,
+ toaddr text NOT NULL,
+ fromaddr text NOT NULL,
+ message blob,
+ headers blob,
+ queued timestamp NOT NULL
+);
+
+CREATE TABLE EmailSubscribers (
+ EmailMessageId int(11) NOT NULL default '0',
+ PortalUserId int(11) NOT NULL default '0'
+);
+
+CREATE TABLE Events (
+ EventId int(11) NOT NULL auto_increment,
+ Event varchar(40) NOT NULL default '',
+ Enabled int(11) NOT NULL default '1',
+ FromUserId int(11) NOT NULL default '0',
+ Module varchar(40) NOT NULL default '',
+ Description varchar(255) NOT NULL default '',
+ Type int(11) NOT NULL default '0',
+ PRIMARY KEY (EventId)
+);
+
+CREATE TABLE IdGenerator (
+ lastid int(11) default NULL
+);
+
+CREATE TABLE Language (
+ LanguageId int(11) NOT NULL auto_increment,
+ PackName varchar(40) NOT NULL default '',
+ LocalName varchar(40) NOT NULL default '',
+ Enabled int(11) NOT NULL default '0',
+ PrimaryLang int(11) NOT NULL default '0',
+ IconURL varchar(255) default NULL,
+ DateFormat varchar(50) NOT NULL default '',
+ TimeFormat varchar(50) NOT NULL default '',
+ InputDateFormat varchar(50) NOT NULL default '',
+ InputTimeFormat varchar(50) NOT NULL default '',
+ DecimalPoint char(2) NOT NULL default '.',
+ ThousandSep tinytext NULL,
+ Charset varchar(20) NOT NULL default '',
+ UnitSystem tinyint(4) NOT NULL default '1',
+ PRIMARY KEY (LanguageId)
+);
+
+CREATE TABLE Modules (
+ Name varchar(255) NOT NULL default '',
+ Path varchar(255) NOT NULL default '',
+ Var varchar(10) NOT NULL default '',
+ Version varchar(10) NOT NULL default '',
+ Loaded tinyint(4) NOT NULL default '1',
+ LoadOrder tinyint(4) NOT NULL default '0',
+ TemplatePath varchar(255) NOT NULL default '',
+ RootCat int(11) NOT NULL default '0',
+ BuildDate double NOT NULL default '0',
+ PRIMARY KEY (Name)
+);
+
+CREATE TABLE PersistantSessionData (
+ PortalUserId int(11) NOT NULL default '0',
+ VariableName varchar(255) NOT NULL default '',
+ VariableValue text NOT NULL,
+ PRIMARY KEY (PortalUserId,VariableName),
+ KEY UserId (PortalUserId),
+ KEY VariableName (VariableName)
+);
+
+CREATE TABLE Phrase (
+ Phrase varchar(255) NOT NULL default '',
+ Translation text NOT NULL default '',
+ PhraseType int(11) NOT NULL default '0',
+ PhraseId int(11) NOT NULL auto_increment,
+ LanguageId int(11) NOT NULL default '0',
+ LastChanged int(10) unsigned NOT NULL default '0',
+ LastChangeIP varchar(15) NOT NULL default '',
+ Module varchar(30) NOT NULL default '',
+ PRIMARY KEY (PhraseId),
+ KEY LanguageId (LanguageId),
+ INDEX Phrase_Index (Phrase)
+);
+
+CREATE TABLE PhraseCache (
+ Template varchar(40) NOT NULL default '',
+ PhraseList text NOT NULL,
+ CacheDate int(11) NOT NULL default '0',
+ ThemeId int(11) NOT NULL default '0',
+ StylesheetId int(10) unsigned NOT NULL default '0',
+ ConfigVariables text,
+ PRIMARY KEY (Template)
+);
+
+CREATE TABLE PortalGroup (
+ GroupId int(11) NOT NULL auto_increment,
+ Name varchar(255) NOT NULL default '',
+ Description varchar(255) default NULL,
+ CreatedOn double NOT NULL default '0',
+ System tinyint(4) NOT NULL default '0',
+ Personal tinyint(4) NOT NULL default '0',
+ Enabled tinyint(4) NOT NULL default '1',
+ ResourceId int(11) NOT NULL default '0',
+ PRIMARY KEY (GroupId),
+ UNIQUE KEY Name (Name),
+ UNIQUE KEY ResourceId (ResourceId),
+ KEY Personal (Personal),
+ KEY Enabled (Enabled)
+);
+
+CREATE TABLE PortalUser (
+ PortalUserId int(11) NOT NULL auto_increment,
+ Login varchar(255) default NULL,
+ `Password` varchar(255) default NULL,
+ FirstName varchar(255) default NULL,
+ LastName varchar(255) default NULL,
+ Company varchar(255) NOT NULL default '',
+ Email varchar(255) NOT NULL default '',
+ CreatedOn double NOT NULL default '0',
+ Phone varchar(20) default NULL,
+ Fax varchar(255) NOT NULL default '',
+ Street varchar(255) default NULL,
+ Street2 varchar(255) NOT NULL default '',
+ City varchar(20) default NULL,
+ State varchar(20) NOT NULL default '',
+ Zip varchar(20) default NULL,
+ Country varchar(20) NOT NULL default '',
+ ResourceId int(11) NOT NULL default '0',
+ `Status` tinyint(4) NOT NULL default '2',
+ Modified int(11) NOT NULL default '0',
+ dob double NOT NULL default '0',
+ tz int(11) default NULL,
+ ip varchar(20) default NULL,
+ IsBanned tinyint(1) NOT NULL default '0',
+ PassResetTime bigint(20) default NULL,
+ PwResetConfirm varchar(255) default NULL,
+ PwRequestTime bigint(25) default NULL,
+ MinPwResetDelay int(11) NOT NULL default '1800',
+ PRIMARY KEY (PortalUserId),
+ UNIQUE KEY ResourceId (ResourceId),
+ UNIQUE KEY Login (Login),
+ KEY CreatedOn (CreatedOn)
+);
+
+CREATE TABLE SessionData (
+ SessionKey varchar(50) NOT NULL default '',
+ VariableName varchar(255) NOT NULL default '',
+ VariableValue text NOT NULL,
+ PRIMARY KEY (SessionKey,VariableName),
+ KEY SessionKey (SessionKey),
+ KEY VariableName (VariableName)
+);
+
+CREATE TABLE Theme (
+ ThemeId int(11) NOT NULL auto_increment,
+ Name varchar(40) NOT NULL default '',
+ Enabled int(11) NOT NULL default '1',
+ Description varchar(255) default NULL,
+ PrimaryTheme int(11) NOT NULL default '0',
+ CacheTimeout int(11) NOT NULL default '0',
+ StylesheetId INTEGER(10) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (ThemeId)
+);
+
+CREATE TABLE ThemeFiles (
+ FileId int(11) NOT NULL auto_increment,
+ ThemeId int(11) NOT NULL default '0',
+ FileName varchar(255) NOT NULL default '',
+ FilePath varchar(255) NOT NULL default '',
+ Description varchar(255) default NULL,
+ FileType int(11) NOT NULL default '0',
+ PRIMARY KEY (FileId),
+ KEY theme (ThemeId),
+ KEY FileName (FileName),
+ KEY FilePath (FilePath)
+);
+
+CREATE TABLE UserGroup (
+ PortalUserId int(11) NOT NULL default '0',
+ GroupId int(11) NOT NULL default '0',
+ MembershipExpires int(10) unsigned default NULL,
+ PrimaryGroup tinyint(4) NOT NULL default '1',
+ ExpirationReminderSent tinyint(4) NOT NULL default '0',
+ PRIMARY KEY (PortalUserId,GroupId),
+ KEY GroupId (GroupId),
+ KEY PrimaryGroup (PrimaryGroup)
+);
+
+CREATE TABLE UserSession (
+ SessionKey varchar(50) NOT NULL default '',
+ CurrentTempKey varchar(50) default NULL,
+ PrevTempKey varchar(50) default NULL,
+ LastAccessed double NOT NULL default '0',
+ PortalUserId varchar(255) NOT NULL default '',
+ Language varchar(255) NOT NULL default '',
+ Theme varchar(255) NOT NULL default '',
+ GroupId int(11) NOT NULL default '0',
+ IpAddress varchar(20) NOT NULL default '0.0.0.0',
+ Status int(11) NOT NULL default '1',
+ GroupList varchar(255) default NULL,
+ tz int(11) default NULL,
+ PRIMARY KEY (SessionKey),
+ KEY UserId (PortalUserId),
+ KEY LastAccessed (LastAccessed)
+);
+
+CREATE TABLE EmailLog (
+ EmailLogId int(11) NOT NULL auto_increment,
+ fromuser varchar(200) default NULL,
+ addressto varchar(255) default NULL,
+ subject varchar(255) default NULL,
+ timestamp bigint(20) default '0',
+ event varchar(100) default NULL,
+ PRIMARY KEY (EmailLogId)
+);
+
+CREATE TABLE Cache (
+ VarName varchar(255) NOT NULL default '',
+ Data longtext,
+ Cached int(11) default NULL,
+ LifeTime int(11) NOT NULL default '-1',
+ PRIMARY KEY (VarName),
+ KEY Cached (Cached)
+);
+
+CREATE TABLE StdDestinations (
+ DestId int(11) NOT NULL auto_increment,
+ DestType int(11) NOT NULL default '0',
+ DestParentId int(11) default NULL,
+ DestName varchar(255) NOT NULL default '',
+ DestAbbr char(3) NOT NULL default '',
+ DestAbbr2 char(2) default '',
+ PRIMARY KEY (DestId)
+);
Index: trunk/core/units/languages/import_xml.php
===================================================================
diff -u -r6583 -r6685
--- trunk/core/units/languages/import_xml.php (.../import_xml.php) (revision 6583)
+++ trunk/core/units/languages/import_xml.php (.../import_xml.php) (revision 6685)
@@ -72,19 +72,25 @@
var $Encoding = 'base64';
- function LangXML_Parser()
+ function LangXML_Parser($temp_mode = true)
{
parent::kBase();
$this->Conn =& $this->Application->GetADODBConnection();
- $this->Application->SetVar('lang_mode', 't');
-
- $this->tables['lang'] = $this->prepareTempTable('lang');
+ if ($temp_mode) {
+ $this->Application->SetVar('lang_mode', 't');
+ $this->tables['lang'] = $this->prepareTempTable('lang');
+ $this->tables['phrases'] = $this->prepareTempTable('phrases');
+ $this->tables['emailmessages'] = $this->prepareTempTable('emailmessages');
+ }
+ else {
+ $this->tables['lang'] = $this->Application->getUnitOption('lang', 'TableName');
+ $this->tables['phrases'] = $this->Application->getUnitOption('phrases', 'TableName');
+ $this->tables['emailmessages'] = $this->Application->getUnitOption('emailmessages', 'TableName');
+ }
+
$this->lang_object =& $this->Application->recallObject('lang.imp', null, Array('skip_autoload' => true));
-
- $this->tables['phrases'] = $this->prepareTempTable('phrases');
- $this->tables['emailmessages'] = $this->prepareTempTable('emailmessages');
-
+
$sql = 'SELECT EventId, CONCAT(Event,"_",Type) AS EventMix FROM '.TABLE_PREFIX.'Events';
$this->events_hash = $this->Conn->GetCol($sql, 'EventMix');
@@ -409,6 +415,18 @@
fclose($fp);
return true;
}
+
+ /**
+ * Creates new instance of LangXML_Parser class
+ *
+ * @param int $type
+ * @return LangXML_Parser
+ */
+ function &makeClass($temp_mode = true)
+ {
+ $result = new LangXML_Parser($temp_mode);
+ return $result;
+ }
}
?>
\ No newline at end of file
Index: trunk/core/install/incs/img/logo.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/install/incs/img/spacer.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/install/english.lang
===================================================================
diff -u
--- trunk/core/install/english.lang (revision 0)
+++ trunk/core/install/english.lang (revision 6685)
@@ -0,0 +1,2341 @@
+
+ m/d/Y g:i:s A m/d/Y g:i:s A . , iso-8859-1 2
+
+ WW91ciBwYXNzd29yZCBoYXMgYmVlbiByZXNldC4gWW91IHdpbGwgcmVjZWl2ZSB5b3VyIG5ldyBwYXNzd29yZCBpbiB0aGUgZW1haWwgc2hvcnRseS4=
+ QWN0aXZl
+ QWRkZWQ=
+ QWRkIFRv
+ QWx3YXlz
+ YW5k
+ QWN0aXZl
+ QXV0aG9y
+ RGF0ZQ==
+ QXJ0aWNsZSBFeGNlcnB0
+ SGl0cw==
+ UmF0aW5n
+ QXJ0aWNsZSByZXZpZXdlZA==
+ QXJ0aWNsZSBUaXRsZQ==
+ QXV0bw==
+ QXV0b21hdGlj
+ QmFja2dyb3VuZA==
+ QmFuIGVtYWlsIGFkZHJlc3M=
+ QmFuIElQIGFkZHJlc3M=
+ QmFuIHVzZXIgbmFtZQ==
+ SW1wb3J0ZWQ=
+ Qm9yZGVycw==
+ Q2hhbmdl
+ RG93bg==
+ VXA=
+ T0s=
+ Ynl0ZXM=
+ QnkgdGhlbWU=
+ Q2FuY2Vs
+ Q2F0ZWdvcnk=
+ RGF0ZQ==
+ TnVtYmVyIG9mIGRheXMgZm9yIGEgY2F0LiB0byBiZSBORVc=
+ Q2F0ZWdvcnkgRGVzY3JpcHRpb24=
+ RGVmYXVsdCBNRVRBIGRlc2NyaXB0aW9u
+ RGVmYXVsdCBNRVRBIEtleXdvcmRz
+ Q2F0ZWdvcnkgTmFtZQ==
+ TnVtYmVyIG9mIGNhdGVnb3JpZXMgcGVyIHBhZ2U=
+ Q2F0ZWdvcmllcyBQZXIgUGFnZSAoU2hvcnRsaXN0KQ==
+ UGljaw==
+ UG9wdWxhcml0eQ==
+ RGlzcGxheSBlZGl0b3IgUElDS3MgYWJvdmUgcmVndWxhciBjYXRlZ29yaWVz
+ QW5kIHRoZW4gYnk=
+ T3JkZXIgY2F0ZWdvcmllcyBieQ==
+ Q2xvc2U=
+ QWx0IFZhbHVl
+ Q2Vuc29yZWQgV29yZA==
+ Q3JlYXRlZCBPbg==
+ RGF0ZS9UaW1l
+ U3RhdHVz
+ TGFiZWw=
+ RmllbGQgTmFtZQ==
+ VHlwZQ==
+ SW1hZ2U=
+ SW5oZXJpdGVkIEZyb20=
+ SXRlbQ==
+ SXRlbSBGaWVsZA==
+ SXRlbSBUeXBl
+ SXRlbSBWYWx1ZQ==
+ Q29tcGFyaXNvbiBPcGVyYXRvcg==
+ TGluayBOYW1l
+ QWNjZXNz
+ SW5oZXJpdGVk
+ UG9zdGVy
+ UHJldmlldw==
+ UmVwbGFjZW1lbnQ=
+ UmVwbGllcw==
+ UnVsZSBUeXBl
+ U3RhdHVz
+ VG9waWM=
+ VVJM
+ U3RhdHVz
+ VmFsaWRhdGVkIE9u
+ VmFsdWU=
+ Vmlld3M=
+ QWNjZXNz
+ QWRkaXRpb25hbA==
+ QmFzZWQgT24=
+ Q2F0ZWdvcnk=
+ Q2F0ZWdvcnkgTmFtZQ==
+ Q3JlYXRlZCBPbg==
+ RGVzY3JpcHRpb24=
+ RHVyYXRpb24=
+ RHVyYXRpb24gVHlwZQ==
+ RWZmZWN0aXZl
+ RW1haWw=
+ RXZlbnQ=
+ RmllbGQgTmFtZQ==
+ Rmlyc3QgTmFtZQ==
+ R3JvdXAgTmFtZQ==
+ SUQ=
+ U3RhdHVz
+ SW1hZ2U=
+ VVJM
+ SW5oZXJpdGVk
+ SW5oZXJpdGVkIEZyb20=
+ U3lzdGVt
+ TGFiZWw=
+ TGFzdCBDaGFuZ2Vk
+ TGFzdCBDb21waWxlZA==
+ TGFzdCBOYW1l
+ TGluayBVUkw=
+ TmFtZQ==
+ TW9kdWxl
+ TmFtZQ==
+ UGFjayBOYW1l
+ QWRk
+ RGVsZXRl
+ RWRpdA==
+ UGVybWlzc2lvbiBOYW1l
+ QWNjZXNz
+ Vmlldw==
+ VHlwZQ==
+ UHJldmlldw==
+ UHJpbWFyeSBHcm91cA==
+ UHJpbWFyeSBWYWx1ZQ==
+ RmllbGQgUHJvbXB0
+ UmVsYXRpb24gVHlwZQ==
+ UmV2aWV3ZWQgQnk=
+ UmV2aWV3IFRleHQ=
+ U2VsZWN0b3I=
+ U3RhdHVz
+ SXRlbQ==
+ SXRlbSBUeXBl
+ VGl0bGU=
+ VmFsdWU=
+ VHlwZQ==
+ VXNlciBDb3VudA==
+ RmllbGQgVmFsdWU=
+ VmlzaXQgRGF0ZQ==
+ QXNjZW5kaW5n
+ RGF0ZQ==
+ RGVzY2VuZGluZw==
+ UmV2aWV3IFRleHQ=
+ UmV2aWV3IG5vdCBhZGRlZCBkdWUgdG8gYSBzeXN0ZW0gZXJyb3I=
+ QmFja3VwIFBhdGg=
+ Q29tcGFueQ==
+ RmlsZSBub3QgZm91bmQgKDQwNCkgdGVtcGxhdGU=
+ Rmlyc3QgRGF5IE9mIFdlZWs=
+ UmVkaXJlY3QgdG8gSFRUUCB3aGVuIFNTTCBpcyBub3QgcmVxdWlyZWQ=
+ TmFtZQ==
+ SW5zdWZmaWNlbnQgcGVybWlzc2lvbnMgdGVtcGxhdGU=
+ R1pJUCBjb21wcmVzc2lvbiBsZXZlbCAwLTk=
+ UmV2aWV3cyBwZXIgcGFnZQ==
+ UmVnaXN0cmF0aW9uIE51bWJlcg==
+ UmVxdWlyZSBTU0wgZm9yIGxvZ2luICYgY2hlY2tvdXQ=
+ U2VydmVyIE5hbWU=
+ U2VydmVyIFBhdGg=
+ VGltZSB6b25lIG9mIHRoZSBzaXRl
+ U1NMIEZ1bGwgVVJMIChodHRwczovL3d3dy5kb21haW4uY29tL3BhdGgp
+ VGltZSB6b25lIG9mIHRoZSBzZXJ2ZXI=
+ RW5hYmxlIEhUTUwgR1pJUCBjb21wcmVzc2lvbg==
+ VXNlIEphdmFTY3JpcHQgcmVkaXJlY3Rpb24gYWZ0ZXIgbG9naW4vbG9nb3V0IChmb3IgSUlTKQ==
+ VXNlIE1PRCBSRVdSSVRF
+ RW5hYmxlIE1PRF9SRVdSSVRFIGZvciBTU0w=
+ V2Vic2l0ZSBhZGRyZXNz
+ V2Vic2l0ZSBuYW1l
+ V2ViIGFkZHJlc3M=
+ VGhlIGNhdGVnb3J5IHRyZWUgbXVzdCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGxhdGVzdCBjaGFuZ2Vz
+ Q29udGludWU=
+ Q3JlYXRlZCBPbg==
+ Q3JlZGl0cw==
+ ZGF5cw==
+ QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGUgaXRlbShzKT8gVGhpcyBhY3Rpb24gY2Fubm90IGJlIHVuZG9uZS4=
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tQnVsbGV0aW4gc2V0dGluZ3M=
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgY2Vuc29yZWQgd29yZHMgYW5kIHRoZWlyIHJlcGxhY2VtZW50cw==
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgY3VzdG9tIGZpZWxkcw==
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tYnVsbHRlaW4gZW1haWwgc2V0dGluZ3M=
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2Ugc2ltbGV5cw==
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tYnVsbHRlaW4gb3V0cHV0IHNldHRpbmdz
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tYnVsbHRlaW4gZGVmYXVsdCBzZWFyY2ggc2V0dGluZ3M=
+ SW4tYnVsbGV0aW4gZ2VuZXJhbCBjb25maWd1cmF0aW9uIG9wdGlvbnM=
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbGluayBzZXR0aW5ncw==
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgY3VzdG9tIGZpZWxkcw==
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgZW1haWwgZXZlbnRz
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbGluayBvdXRwdXQgc2V0dGluZ3M=
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2Ugc2VhcmNoIHNldHRpbmdzIGFuZCBmaWVsZHM=
+ SW4tTGluayBHZW5lcmFsIENvbmZpZ3VyYXRpb24gT3B0aW9ucw==
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBydW4gdmFsaWRhdGlvbiBvbiB0aGUgbGlua3M=
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBzZXR0aW5ncw==
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBjdXN0b20gZmllbGRz
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBlbWFpbCBjb25maWd1cmF0aW9u
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBvdXRwdXQgc2V0dGluZ3M=
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBkZWZhdWx0IHNlYXJjaCBjb25maWd1cmF0aW9u
+ SW4tTmV3eiBnZW5lcmFsIGNvbmZpZ3VyYXRpb24gb3B0aW9ucw==
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBpbnN0YWxsIG5ldyBtb2R1bGVz
+ VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gbWFuYWdlIGNhdGVnb3JpZXMgYW5kIGl0ZW1zIGFjcm9zcyBhbGwgY2F0ZWdvcmllcw==
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBwZXJmb3JtIHN5c3RlbSBiYWNrdXBz
+ VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gYnJvd3NlIHRoZSBjYXRhbG9nIGFuZCBtYW5hZ2UgY2F0ZWdvcmllcyBhbmQgaXRlbXM=
+ VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIGNhdGVnb3J5IGN1c3RvbSBmaWVsZHM=
+ Q29uZmlndXJlIENhdGVnb3J5IEVtYWlsIEV2ZW50cw==
+ Q29uZmlndXJlIENhdGVnb3J5IHNlYXJjaCBvcHRpb25z
+ VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIGdlbmVyYWwgY2F0ZWdvcnkgc2V0dGluZ3M=
+ VGhpcyBpcyBhIGdlbmVyYWwgY29uZmd1cmF0aW9uIHNlY3Rpb24=
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgcmVnaW9uYWwgc2V0dGluZ3MsIG1hbmFnZSBhbmQgZWRpdCBsYW5ndWFnZXM=
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgQ1NTIHN0eWxlc2hlZXRzIGZvciB0aGVtZXMu
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgdGhlbWVzIGFuZCBlZGl0IHRoZSBpbmRpdmlkdWFsIHRlbXBsYXRlcw==
+ VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIGdlbmVyYWwgdXNlciBzZXR0aW5ncw==
+ VGhpcyBzZWN0aW9uIHNob3dzIGFsbCBlLW1haWxzIHNlbnQgYnkgSW4tUG9ydGFs
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBleHBvcnQgSW4tcG9ydGFsIGRhdGE=
+ SGVscCBzZWN0aW9uIGZvciBJbi1wb3J0YWwgYW5kIGFsbCBvZiBpdHMgbW9kdWxlcy4gQWxzbyBhY2Nlc3NpYmxlIHZpYSB0aGUgc2VjdGlvbi1zcGVjaWZpYyBpbnRlcmFjdGl2ZSBoZWxwIGZlYXR1cmUu
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBpbXBvcnQgZGF0YSBmcm9tIG90aGVyIHByb2dyYW1zIGludG8gSW4tcG9ydGFs
+ VGhpcyBzZWN0aW9uIHNob3dzIHN1bW1hcnkgc3RhdGlzdGljcw==
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBwZXJmb3JtIGRhdGEgaW1wb3J0IGZyb20gb3RoZXIgc3lzdGVtcw==
+ TWFuYWdlIHN0YXR1cyBvZiBhbGwgbW9kdWxlcyB3aGljaCBhcmUgaW5zdGFsbGVkIG9uIHlvdXIgSW4tcG9ydGFsIHN5c3RlbS4=
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBlbmFibGVkIGFuZCBkaXNhYmxlIG1vZHVsZXM=
+ VmlldyBzeXN0ZW0gc3RhdGlzdGljcywgbG9ncyBhbmQgcmVwb3J0cw==
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBwZXJmb3JtIGRhdGFiYXNlIHJlc3RvcmVz
+ VGhpcyBzZWN0aW9uIGRpc3BsYXlzIGEgbGlzdCBvZiBhbGwgcmV2aWV3cyBpbiB0aGUgc3lzdGVtLg==
+ VGhpcyBzZWN0aW9uIHNob3dzIHRoZSBzZWFyY2ggbG9nIGFuZCBhbGxvd3MgdG8gbWFuYWdlIGl0
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byB2aWV3IFBIUCBjb25maWd1cmF0aW9u
+ VGhpcyBzZWN0aW9uIHNob3dzIGFsbCBhY3RpdmUgc2Vzc2lvbnMgYW5kIGFsbG93cyB0byBtYW5hZ2UgdGhlbQ==
+ TWFuYWdlIHRoZSBzdHJ1Y3R1cmUgb2YgeW91ciBzaXRlLCBpbmNsdWRpbmcgY2F0ZWdvcmllcywgaXRlbXMgYW5kIGNhdGVnb3J5IHNldHRpbmdzLg==
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBwZXJmb3JtIGRpcmVjdCBTUUwgcXVlcmllcyBvbiBJbi1wb3J0YWwgZGF0YWJhc2U=
+ TWFuYWdlIHN5c3RlbS13aWRlIHNldHRpbmdzLCBlZGl0IHRoZW1lcyBhbmQgbGFuZ3VhZ2Vz
+ VGhpcyBzZWN0aW9uIHNob3dzIGF2YWlsYWJsZSB0YWdzIGZvciB1c2luZyBpbiB0ZW1wbGF0ZXM=
+ VXNlIHZhcmlvdXMgSW4tcG9ydGFsIGRhdGEgbWFuYWdlbWVudCB0b29scywgaW5jbHVkaW5nIGJhY2t1cCwgcmVzdG9yZSwgaW1wb3J0IGFuZCBleHBvcnQ=
+ TWFuYWdlIHVzZXJzIGFuZCBncm91cHMsIHNldCB1c2VyICYgZ3JvdXAgcGVybWlzc2lvbnMgYW5kIGRlZmluZSB1c2VyIHNldHRpbmdzLg==
+ TWFuYWdlIFVzZXIgQmFuIFJ1bGVz
+ VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIHVzZXIgY3VzdG9tIGZpZWxkcw==
+ Q29uZmlndXJlIFVzZXIgZW1haWwgZXZlbnRz
+ VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYWdhbmUgZ3JvdXBzLCBhc3NpZ24gdXNlcnMgdG8gZ3JvdXBzIGFuZCBwZXJmb3JtIG1hc3MgZW1haWwgc2VuZGluZw==
+ VGhpcyBzZWN0aW9ucyBhbGxvd3MgdG8gbWFuYWdlIHVzZXJzLCB0aGVpciBwZXJtaXNzaW9ucyBhbmQgcGVyZm9ybSBtYXNzIGVtYWls
+ VGhpcyBzZWN0aW9uIHNob3dzIHRoZSBzaXRlIHZpc2l0b3JzIGxvZw==
+ RGlzYWJsZWQ=
+ RG93bmxvYWQgRXhwb3J0IEZpbGU=
+ RG93bmxvYWQgTGFuZ3VhZ2UgRXhwb3J0
+ WW91IGhhdmUgbm90IHNhdmVkIGNoYW5nZXMgdG8gdGhlIGl0ZW0geW91IGFyZSBlZGl0aW5nITxiciAvPkNsaWNrIE9LIHRvIGxvb3NlIGNoYW5nZXMgYW5kIGdvIHRvIHRoZSBzZWxlY3RlZCBzZWN0aW9uPGJyIC8+b3IgQ2FuY2VsIHRvIHN0YXkgaW4gdGhlIGN1cnJlbnQgc2VjdGlvbi4=
+ RmlsZSBpcyBlbXB0eQ==
+ IA==
+ RW5hYmxlZA==
+ Q2FuJ3Qgc2F2ZSBhIGZpbGU=
+ RXJyb3IgY29weWluZyBzdWJjYXRlZ29yaWVz
+ Q3VzdG9tIGZpZWxkIHdpdGggaWRlbnRpY2FsIG5hbWUgYWxyZWFkeSBleGlzdHM=
+ VXNlcm5hbWUgeW91IGhhdmUgZW50ZXJlZCBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgc3lzdGVtLCBwbGVhc2UgY2hvb3NlIGFub3RoZXIgdXNlcm5hbWUu
+ RmlsZSBpcyB0b28gbGFyZ2U=
+ SW52YWxpZCBGaWxlIEZvcm1hdA==
+ RXJyb3IgbW92aW5nIHN1YmNhdGVnb3J5
+ UGFzc3dvcmRzIGRvIG5vdCBtYXRjaCE=
+ cmVxdWlyZWQgY29sdW1ucyBtaXNzaW5n
+ Q2F0ZWdvcnkgZmllbGQgbm90IHVuaXF1ZQ==
+ VW5rbm93biBjYXRlZ29yeQ==
+ SW5jb3JyZWN0IGRhdGUgZm9ybWF0LCBwbGVhc2UgdXNlICglcykgZXguICglcyk=
+ SW5jb3JyZWN0IGRhdGEgZm9ybWF0LCBwbGVhc2UgdXNlICVz
+ SW52YWxpZCBGb3JtYXQ=
+ RmllbGQgaXMgb3V0IG9mIHJhbmdl
+ RmllbGQgaXMgcmVxdWlyZWQ=
+ RmllbGQgdmFsdWUgbXVzdCBiZSB1bmlxdWU=
+ RmllbGQgaXMgb3V0IG9mIHJhbmdlLCBwb3NzaWJsZSB2YWx1ZXMgZnJvbSAlcyB0byAlcw==
+ QWRkIEFydGljbGU=
+ QXBwcm92ZSBBcnRpY2xl
+ RGVjbGluZSBBcnRpY2xl
+ TW9kaWZ5IEFydGljbGU=
+ QXBwcm92ZSBBcnRpY2xlIE1vZGlmaWNhdGlvbg==
+ RGVjbGluZSBBcnRpY2xlIE1vZGlmaWNhdGlvbg==
+ QXJ0aWNsZSBSZXZpZXcgQWRkZWQ=
+ UGVuZGluZyBBcnRpY2xlIFJldmlldyBBZGRlZA==
+ QXBwcm92ZSBBcnRpY2xlIFJldmlldw==
+ RGVjbGluZSBBcnRpY2xlIFJldmlldw==
+ QWRkIENhdGVnb3J5
+ QWRkIFBlbmRpbmcgQ2F0ZWdvcnk=
+ QXBwcm92ZSBDYXRlZ29yeQ==
+ RGVueSBDYXRlZ29yeQ==
+ TW9kaWZ5IENhdGVnb3J5
+ RGVsZXRlIENhdGVnb3J5
+ Q29tbW9uIEZvb3RlciBUZW1wbGF0ZQ==
+ RW1haWwgZXZlbnRzIGltcG9ydCBwcm9ncmVzcw==
+ QWRkIExpbms=
+ QWRkIFBlbmRpbmcgTGluaw==
+ QXBwcm92ZSBQZW5kaW5nIExpbms=
+ RGVueSBMaW5r
+ TW9kaWZ5IExpbms=
+ QXBwcm92ZSBMaW5rIE1vZGlmaWNhdGlvbg==
+ RGVjbGluZSBsaW5rIG1vZGlmaWNhdGlvbg==
+ TGluayBNb2RpZmljYXRpb24gUGVuZGluZw==
+ TGluayBSZXZpZXcgQWRkZWQ=
+ UGVuZGluZyBSZXZpZXcgQWRkZWQ=
+ QXBwcm92ZSBMaW5rIFJldmlldw==
+ RGVjbGluZSBMaW5rIFJldmlldw==
+ TmV3IFByaXZhdGUgTWVzc2FnZQ==
+ UG9zdCBBZGRlZA==
+ UG9zdCBNb2RpZmllZA==
+ VG9waWMgQWRkZWQ=
+ QWRkIFVzZXI=
+ QWRkIFBlbmRpbmcgVXNlcg==
+ QXBwcm92ZSBVc2Vy
+ RGVueSBVc2Vy
+ Rm9yZ290IFBhc3N3b3Jk
+ TWVtYmVyc2hpcCBleHBpcmF0aW9uIG5vdGljZQ==
+ TWVtYmVyc2hpcCBleHBpcmVk
+ UGFzc3dvcmQgQ29uZmlybWF0aW9u
+ VXNlciBzdWJzY3JpYmVk
+ U3VnZ2VzdCB0byBhIGZyaWVuZA==
+ VXNlciB1bnN1YnNjcmliZWQ=
+ VmFsaWRhdGUgVXNlcg==
+ RmllbGQ=
+ RGlzcGxheSBPcmRlcg==
+ QWRkcmVzcyBMaW5l
+ QWR2YW5jZWQgQ1NT
+ QWx0IFZhbHVl
+ QXV0b21hdGljIEZpbGVuYW1l
+ QXZhaWxhYmxlIENvbHVtbnM=
+ QmFja2dyb3VuZA==
+ QmFja2dyb3VuZCBBdHRhY2htZW50
+ QmFja2dyb3VuZCBDb2xvcg==
+ QmFja2dyb3VuZCBJbWFnZQ==
+ QmFja2dyb3VuZCBQb3NpdGlvbg==
+ QmFja2dyb3VuZCBSZXBlYXQ=
+ Qm9yZGVyIEJvdHRvbQ==
+ Qm9yZGVyIExlZnQ=
+ Qm9yZGVyIFJpZ2h0
+ Qm9yZGVycw==
+ Qm9yZGVyIFRvcA==
+ Q2F0ZWdvcnk=
+ QXV0b21hdGljIERpcmVjdG9yeSBOYW1l
+ RGlyZWN0b3J5IE5hbWU=
+ Q2F0ZWdvcnkgRm9ybWF0
+ Q2F0ZWdvcnkgSUQ=
+ Q2F0ZWdvcnkgc2VwYXJhdG9y
+ Q2F0ZWdvcnkgVGVtcGxhdGU=
+ Q2hhcnNldA==
+ Q2hlY2sgRHVwbGljYXRlcyBieQ==
+ Q29tcGFueQ==
+ Q29weSBMYWJlbHMgZnJvbSB0aGlzIExhbmd1YWdl
+ Q3JlYXRlZCBCeQ==
+ Q3JlYXRlZCBPbg==
+ Q3Vyc29y
+ RGF0ZSBGb3JtYXQ=
+ RGVjaW1hbCBQb2ludA==
+ RGVzY3JpcHRpb24=
+ RGlzcGxheQ==
+ QXMgUGxhaW4gVGV4dA==
+ RHVyYXRpb24=
+ RWRpdG9ycyBQaWNr
+ RWxhcHNlZCBUaW1l
+ RW5hYmxlZA==
+ RXN0aW1hdGVkIFRpbWU=
+ RXhwaXJl
+ RXhwb3J0IGNvbHVtbnM=
+ RXhwb3J0IEZpbGVuYW1l
+ RXhwb3J0IGZvcm1hdA==
+ RXhwb3J0IE1vZHVsZXM=
+ RXhwb3J0IFBocmFzZSBUeXBlcw==
+ RXh0cmEgSGVhZGVycw==
+ RmF4
+ RmllbGRzIGVuY2xvc2VkIGJ5
+ RmllbGRzIHNlcGFyYXRlZCBieQ==
+ RmllbGQgVGl0bGVz
+ RmlsZW5hbWU=
+ Rm9udA==
+ Rm9udCBDb2xvcg==
+ Rm9udCBGYW1pbHk=
+ Rm9udCBTaXpl
+ Rm9udCBTdHlsZQ==
+ Rm9udCBXZWlnaHQ=
+ SUQ=
+ R3JvdXAgTmFtZQ==
+ SGVpZ2h0
+ SGl0cw==
+ SG90
+ SWNvbiBVUkw=
+ SUQ=
+ SW1hZ2UgSUQ=
+ SW1wb3J0IENhdGVnb3J5
+ SW1wb3J0IEZpbGVuYW1l
+ SW5jbHVkZSBmaWVsZCB0aXRsZXM=
+ SW5wdXQgRGF0ZSBGb3JtYXQ=
+ SW5wdXQgVGltZSBGb3JtYXQ=
+ SW5zdGFsbCBNb2R1bGVz
+ SW5zdGFsbCBQaHJhc2UgVHlwZXM=
+ VXNlIGN1cnJlbnQgY2F0ZWdvcnkgYXMgcm9vdCBmb3IgdGhlIGV4cG9ydA==
+ UHJpbWFyeQ==
+ SXMgU3lzdGVt
+ SXRlbSBUZW1wbGF0ZQ==
+ TGFuZ3VhZ2UgRmlsZQ==
+ TGFuZ3VhZ2UgSUQ=
+ TGVmdA==
+ TGluZSBlbmRpbmdz
+ TGluZSBFbmRpbmdzIEluc2lkZSBGaWVsZHM=
+ TG9jYWwgTmFtZQ==
+ TG9jYXRpb24=
+ TWFyZ2luIEJvdHRvbQ==
+ TWFyZ2luIExlZnQ=
+ TWFyZ2luIFJpZ2h0
+ TWFyZ2lucw==
+ TWFyZ2luIFRvcA==
+ TWVzc2FnZSBCb2R5
+ TWVzc2FnZSBUeXBl
+ TWV0YSBEZXNjcmlwdGlvbg==
+ TWV0YSBLZXl3b3Jkcw==
+ TW9kaWZpZWQ=
+ TW9kdWxl
+ TmFtZQ==
+ TmV3
+ UGFjayBOYW1l
+ UGFkZGluZyBCb3R0b20=
+ UGFkZGluZyBMZWZ0
+ UGFkZGluZyBSaWdodA==
+ UGFkZGluZ3M=
+ UGFkZGluZyBUb3A=
+ UGVyY2VudHMgQ29tcGxldGVk
+ TGFiZWw=
+ UGhyYXNlIFR5cGU=
+ UG9w
+ UG9zaXRpb24=
+ UHJpbWFyeQ==
+ UHJpbWFyeQ==
+ UHJpbWFyeSBUcmFuc2xhdGlvbg==
+ UHJpb3JpdHk=
+ UmF0aW5n
+ UmVsYXRpb24gSUQ=
+ VHlwZQ==
+ UmVtb3RlIFVSTA==
+ UmVwbGFjZSBEdXBsaWNhdGVz
+ UmV2aWV3IElE
+ UmV2aWV3IFRleHQ=
+ U2FtZSBBcyBUaHVtYg==
+ QmFzZWQgT24=
+ U3R5bGU=
+ U2VsZWN0b3IgSUQ=
+ U2VsZWN0b3IgTmFtZQ==
+ U2tpcCBGaXJzdCBSb3c=
+ U3RhdHVz
+ U3R5bGVzaGVldCBJRA==
+ U3ViamVjdA==
+ SXRlbQ==
+ VGV4dCBBbGlnbg==
+ VGV4dCBEZWNvcmF0aW9u
+ VGhvdXNhbmRzIFNlcGFyYXRvcg==
+ VGltZSBGb3JtYXQ=
+ VGl0bGU=
+ VG9w
+ VmFsdWU=
+ TWVhc3VyZXMgU3lzdGVt
+ VXBsb2FkIEZpbGUgRnJvbSBMb2NhbCBQQw==
+ VVJM
+ VmlzaWJpbGl0eQ==
+ Vm90ZXM=
+ V2lkdGg=
+ Wi1JbmRleA==
+ Rm9udCBQcm9wZXJ0aWVz
+ RnJvbSBEYXRl
+ RnJvbnQgZW5k
+ Z2lnYWJ5dGUocyk=
+ VGhpcyBoZWxwIHNlY3Rpb24gZG9lcyBub3QgeWV0IGV4aXN0LCBpdCdzIGNvbWluZyBzb29uIQ==
+ aHRtbA==
+ SUQgRmllbGQ=
+ SW1wb3J0aW5nIEVtYWlsIEV2ZW50cyAuLi4=
+ SW1wb3J0aW5nIExhbmd1YWdlcyAuLi4=
+ SW1wb3J0aW5nIFBocmFzZXMgLi4u
+ RW5hYmxpbmcgdGhpcyBvcHRpb24gd2lsbCB1bmRvIGFueSBjaGFuZ2VzIHlvdSBoYXZlIG1hZGUgdG8gZXhpc3RpbmcgcGhyYXNlcw==
+ SW1wb3J0aW5nIFBocmFzZXM=
+ SW4tbGluaw==
+ SW5jb3JyZWN0IGRhdGEgZm9ybWF0LCBwbGVhc2UgdXNlIGludGVnZXI=
+ TWlzc2luZyBvciBpbnZhbGlkIEluLVBvcnRhbCBMaWNlbnNl
+ SW52YWxpZCBzdGF0ZQ==
+ Q2F0ZWdvcmllcw==
+ TGlua3M=
+ QXJ0aWNsZXM=
+ VG9waWNz
+ SzQgQWR2YW5jZWQgVmlldw==
+ SzQgQ2F0YWxvZw==
+ S0I=
+ TGFuZ3VhZ2U=
+ SW1wb3J0IHByb2dyZXNz
+ TGFzdCBVcGRhdGVk
+ RGF0ZQ==
+ TGluayBEZXNjcmlwdGlvbg==
+ RGlzcGxheSBlZGl0b3IgUElDS3MgYWJvdmUgcmVndWxhciBsaW5rcw==
+ SGl0cw==
+ TGluayBOYW1l
+ TnVtYmVyIG9mIGRheXMgZm9yIGEgbGluayB0byBiZSBORVc=
+ TnVtYmVyIG9mIGxpbmtzIHBlciBwYWdl
+ TnVtYmVyIG9mIGxpbmtzIHBlciBwYWdlIG9uIGEgc2hvcnQgbGlzdGluZw==
+ UmF0aW5n
+ TGluayByZXZpZXdlZA==
+ QW5kIHRoZW4gYnk=
+ T3JkZXIgbGlua3MgYnk=
+ YW5kIHRoZW4gYnk=
+ U29ydCByZXZpZXdzIGJ5
+ VVJM
+ RGlzcGxheSBsaW5rIFVSTCBpbiBzdGF0dXMgYmFy
+ TG9jYWwgSW1hZ2U=
+ TG9nZ2VkIGluIGFz
+ TG9naW4=
+ KEdNVCk=
+ KEdNVCAtMDE6MDAp
+ KEdNVCAtMTA6MDAp
+ KEdNVCAtMTE6MDAp
+ KEdNVCAtMTI6MDAp
+ KEdNVCAtMDI6MDAp
+ KEdNVCAtMDM6MDAp
+ KEdNVCAtMDQ6MDAp
+ KEdNVCAtMDU6MDAp
+ KEdNVCAtMDY6MDAp
+ KEdNVCAtMDc6MDAp
+ KEdNVCAtMDg6MDAp
+ KEdNVCAtMDk6MDAp
+ TWFyZ2lucw==
+ TUI=
+ R3JvdXAgTWVtYmVyc2hpcCBFeHBpcmF0aW9uIFJlbWluZGVyIChkYXlzKQ==
+ TWFpbiBNZW51
+ TWV0cmlj
+ TWlzc2luZyBJbiBUaGVtZQ==
+ Q2F0ZWdvcnkgcGF0aCBpbiBvbmUgZmllbGQ=
+ TW9kdWxlIG5vdCBsaWNlbnNlZA==
+ TW9uZGF5
+ TmV2ZXI=
+ TmV2ZXIgRXhwaXJlcw==
+ TmV3
+ TnVtYmVyIG9mIGRheXMgdG8gYXJjaGl2ZSBhcnRpY2xlcyBhdXRvbWF0aWNhbGx5
+ RGlzcGxheSBlZGl0b3IgUElDS3MgYWJvdmUgcmVndWxhciBhcnRpY2xlcw==
+ TnVtYmVyIG9mIGRheXMgZm9yIGEgYXJ0aWNsZSB0byBiZSBORVc=
+ TnVtYmVyIG9mIGFydGljbGVzIHBlciBwYWdl
+ QXJ0aWNsZXMgUGVyIFBhZ2UgKFNob3J0bGlzdCk=
+ QW5kIHRoZW4gYnk=
+ T3JkZXIgYXJ0aWNsZXMgYnk=
+ QW5kIHRoZW4gYnk=
+ U29ydCByZXZpZXdzIGJ5
+ TmV4dCBjYXRlZ29yeQ==
+ TmV4dCBncm91cA==
+ TmV4dCBVc2Vy
+ Tm8=
+ Tm9uZQ==
+ Tm8gU3ViamVjdA==
+ Tm8gdG9waWNz
+ TnVtYmVyIG9mIFBvc3Rz
+ b2Y=
+ T2Zm
+ T24=
+ T25lIFdheQ==
+ ZGF5KHMp
+ aG91cihzKQ==
+ bWludXRlKHMp
+ bW9udGgocyk=
+ c2Vjb25kKHMp
+ d2VlayhzKQ==
+ eWVhcihzKQ==
+ T3JpZ2luYWwgVmFsdWVz
+ T3JpZ2luYWwgVmFsdWU=
+ T3JpZ2luYWwgVmFsdWVz
+ T3RoZXIgRmllbGRz
+ KEdNVCArMDE6MDAp
+ KEdNVCArMTA6MDAp
+ KEdNVCArMTE6MDAp
+ KEdNVCArMTI6MDAp
+ KEdNVCArMTM6MDAp
+ KEdNVCArMDI6MDAp
+ KEdNVCArMDM6MDAp
+ KEdNVCArMDQ6MDAp
+ KEdNVCArMDU6MDAp
+ KEdNVCArMDY6MDAp
+ KEdNVCArMDc6MDAp
+ KEdNVCArMDg6MDAp
+ KEdNVCArMDk6MDAp
+ UGFkZGluZ3M=
+ UGFnZQ==
+ VG8gY2hhbmdlIHRoZSBwYXNzd29yZCwgZW50ZXIgdGhlIHBhc3N3b3JkIGhlcmUgYW5kIGluIHRoZSBib3ggYmVsb3c=
+ UGVuZGluZw==
+ UGVyZm9ybWluZyBCYWNrdXA=
+ UGVyZm9ybWluZyBFeHBvcnQ=
+ UGVyZm9ybWluZyBJbXBvcnQ=
+ UGVyZm9ybWluZyBSZXN0b3Jl
+ QWxsb3dzIGFjY2VzcyB0byB0aGUgQWRtaW5pc3RyYXRpb24gdXRpbGl0eQ==
+ UmVhZC1Pbmx5IEFjY2VzcyBUbyBEYXRhYmFzZQ==
+ Q2F0ZWdvcmllcw==
+ TGlua3M=
+ QXJ0aWNsZXM=
+ VG9waWNz
+ UGVybWlzc2lvbiBUeXBlIEFkbWlu
+ QWRtaW5pc3RyYXRpb24=
+ UGVybWlzc2lvbiBUeXBlIEZyb250IEVuZA==
+ RnJvbnQgRW5k
+ Tm90IFRyYW5zbGF0ZWQ=
+ VHJhbnNsYXRlZA==
+ QWRtaW4=
+ Qm90aA==
+ RnJvbnQ=
+ RWRpdG9yJ3MgcGljaw==
+ UG9w
+ UG9zaXRpb24gQW5kIFZpc2liaWxpdHk=
+ TmV3IHBvc3RzIChkYXlzKQ==
+ TnVtYmVyIG9mIHBvc3RzIHBlciBwYWdl
+ UG9zdHM=
+ UHJldmlvdXMgY2F0ZWdvcnk=
+ UHJldmlvdXMgZ3JvdXA=
+ UHJldmlvdXMgVXNlcg==
+ UHJpbWFyeQ==
+ QWN0aXZlIEFydGljbGVz
+ QWN0aXZlIENhdGVnb3JpZXM=
+ QWN0aXZlIExpbmtz
+ QWN0aXZlIFRvcGljcw==
+ QWN0aXZlIFVzZXJz
+ QWRkIE1vZHVsZQ==
+ U2VudCBUbw==
+ QWRtaW4gZ3JvdXA=
+ TWVzc2FnZXMgZnJvbSBTaXRlIEFkbWluIGFyZSBmcm9t
+ QWR2YW5jZWQgU2VhcmNo
+ QWxsb3cgcGFzc3dvcmQgcmVzZXQgYWZ0ZXI=
+ QWxsIHRlbXBsYXRlcw==
+ QWx0IHZhbHVl
+ QXBwbHlpbmcgQmFuIExpc3QgdG8gRXhpc3RpbmcgVXNlcnMuLg==
+ Q29udGludWUgdG8gcmVzdG9yZSBhdCBteSBvd24gcmlzaz8=
+ QXJjaGl2ZWQ=
+ QXJjaGl2YXRpb24gRGF0ZQ==
+ QXZlcmFnZSBSYXRpbmcgb2YgQXJ0aWNsZXM=
+ QXJ0aWNsZSBCb2R5
+ QXJ0aWNsZSBFeGNlcnB0
+ QXJ0aWNsZSBFeGNlcnB0
+ VG90YWwgQXJ0aWNsZSBSZXZpZXdz
+ QWN0aXZlIEFydGljbGVz
+ QXJjaGl2ZWQgQXJ0aWNsZXM=
+ UGVuZGluZyBBcnRpY2xlcw==
+ VG90YWwgQXJ0aWNsZXM=
+ QXR0YWNobWVudA==
+ QXR0ZW50aW9uIQ==
+ QXV0aG9y
+ R2VuZXJhdGUgZnJvbSB0aGUgYXJ0aWNsZSBib2R5
+ QXV0b21hdGljIERpcmVjdG9yeSBOYW1l
+ QXV0b21hdGljIEZpbGVuYW1l
+ TW9kdWxlcw==
+ QmFjayBVcCBEYXRl
+ QmFja3VwIFBhdGg=
+ QmFja3VwIHN0YXR1cw==
+ QmFubmVkIFVzZXJz
+ RGF0ZSBvZiBCaXJ0aA==
+ Q2FjaGUgVGltZW91dCAoc2Vjb25kcyk=
+ RWRpdG9yJ3MgUGljayBDYXRlZ29yaWVz
+ Q2F0ZWdvcnkgSUQ=
+ Q2F0ZWdvcnkgTGVhZCBTdG9yeSBBcnRpY2xlcw==
+ Q2F0ZWdvcnkgUGVybWlzc2lvbnM=
+ Q2F0ZWdvcnkgTGVhZCBTdG9yeQ==
+ Q2Vuc29yc2hpcCBJZA==
+ Q2Vuc29yc2hpcCBXb3Jk
+ Q2hhcnNldA==
+ Q2l0eQ==
+ Q29tbWVudHM=
+ Q29udGludWU=
+ Q29weSBMYWJlbHMgZnJvbSB0aGlzIExhbmd1YWdl
+ Q291bnRyeQ==
+ Q3JlYXRlZCBieQ==
+ Q3JlYXRlZCBvbg==
+ Q3JlYXRlZCBhdA==
+ Q3VycmVudCBTZXNzaW9ucw==
+ Q3VzdG9tIEZpbGVuYW1l
+ RGF0YWJhc2UgU2V0dGluZ3M=
+ VG90YWwgU2l6ZSBvZiB0aGUgRGF0YWJhc2U=
+ KG1tLWRkLXl5eXkp
+ U2VydmVyIERhdGFiYXNl
+ U2VydmVyIFBhc3N3b3Jk
+ RGF0YWJhc2UgVXNlciBOYW1l
+ RGVjaW1hbCBQb2ludA==
+ RGVmYXVsdA==
+ RGVsZXRl
+ RGVzY3JpcHRpb24=
+ RGlyZWN0b3J5IE5hbWU=
+ RGlzYWJsZWQgQXJ0aWNsZXM=
+ RGlzYWJsZWQgQ2F0ZWdvcmllcw==
+ RGlzYWJsZWQgTGlua3M=
+ RGlzcGxheSBPcmRlcg==
+ RG93bmxvYWQgTGFuZ3VhZ2UgRXhwb3J0Og==
+ QWxsb3cgRHVwbGljYXRlIFJhdGluZyBWb3Rlcw==
+ QWxsb3cgRHVwbGljYXRlIFJldmlld3M=
+ RWRpdA==
+ RWRpdG9yJ3MgUGljaw==
+ RWRpdG9yJ3MgUGljayBBcnRpY2xlcw==
+ RWRpdG9yJ3MgUGljayBMaW5rcw==
+ RWRpdG9yIFBpY2sgVG9waWNz
+ RWRpdCBRdWVyeQ==
+ RW1haWw=
+ RW1haWwgQm9keQ==
+ RW1haWwgZGVsaXZlcnkgYWJvcnRlZA==
+ VGhlIEVtYWlsIE1lc3NhZ2UgaGFzIGJlZW4gc2VudA==
+ UGxlYXNlIFdhaXQgd2hpbGUgSW4tUG9ydGFsIHByZXBhcmVzIHRvIHNlbmQgdGhlIG1lc3NhZ2UuLg==
+ RW1haWwgU3ViamVjdA==
+ RW1vdGlvbiBJZA==
+ RW5hYmxlIFRlbXBsYXRlIENhY2hpbmc=
+ RW5hYmxlZA==
+ RW5hYmxlIEhUTUw/
+ RXJyb3IgVGFn
+ RXZlbnQ=
+ RXhwaXJhdGlvbiBEYXRl
+ RXhwb3J0IEZpbGVuYW1l
+ R2VuZXJhbCBlcnJvcjogdW5hYmxlIHRvIGV4cG9ydA==
+ RmllbGQgSWQ=
+ RmllbGQgTGFiZWw=
+ RmllbGQgTmFtZQ==
+ RmllbGQgUHJvbXB0
+ RmlsZSBJZA==
+ RmlsZSBuYW1l
+ Rmlyc3QgTmFtZQ==
+ Rmlyc3QgTmFtZQ==
+ RnJlcXVlbmN5
+ RnJvbS9UbyBVc2Vy
+ RnJvbQ==
+ RnJvbnQgcGFnZSBsZWFkIGFydGljbGU=
+ R2VuZXJhbCBQZXJtaXNzaW9ucw==
+ R3JvdXAgTmFtZQ==
+ RXh0cmEgTWFpbCBIZWFkZXJz
+ SGVhZGluZw==
+ KE1pbmltdW0gNCk=
+ SGl0cw==
+ SG90
+ SG90IEFydGljbGVz
+ SG90IExpbmtz
+ SG90IFRvcGljcw==
+ SFRNTA==
+ SFRNTCBWZXJzaW9u
+ SWNvbiBVUkw=
+ SW1hZ2U=
+ SW1hZ2UgSUQ=
+ SW1wb3J0IGVuY291bnRlcmVkIGFuIGVycm9yIGFuZCBkaWQgbm90IGNvbXBsZXRlLg==
+ TGluayBJbWFnZSBOYW1l
+ VGFibGUgTmFtZSBQcmVmaXg=
+ SW5pdGlhbCBJbXBvcnQgQ2F0ZWdvcnk=
+ SW4tTGluayBEYXRhYmFzZSBOYW1l
+ SW4tTGluayBEYXRhYmFzZSBQYXNzd29yZA==
+ SW4tTGluayBEYXRhYmFzZSBVc2VybmFtZQ==
+ SW4tTGluayBTZXJ2ZXIgTmFtZQ==
+ SW4tTGluayBTUUwgVHlwZQ==
+ SW5wdXQgVHlwZQ==
+ SW5zdGFsbGF0aW9uIFN0YXR1cw==
+ SVAgQWRkcmVzcw==
+ SVAgQWRkcmVzcw==
+ SXRlbQ==
+ SXRlbSBGaWVsZA==
+ RmllbGQgVmFsdWU=
+ RmllbGQgQ29tcGFyaXNvbg==
+ S2V5IFN0cm9rZQ==
+ S2V5d29yZA==
+ TGFiZWw=
+ TGFuZ3VhZ2UgRmlsZQ==
+ TGFuZ3VhZ2UgSWQ=
+ TGFuZ3VhZ2UgQ2FjaGUgVGltZW91dA==
+ RGF0ZSBGb3JtYXQ=
+ VGltZSBGb3JtYXQ=
+ TGFzdCBVcGRhdGVkIEFydGljbGU=
+ TGFzdCBDYXRlZ29yeSBVcGRhdGU=
+ TGFzdCBVcGRhdGVkIExpbms=
+ TGFzdCBOYW1l
+ TGFzdCBVcGRhdGVkIFBvc3QgRGF0ZQ==
+ TGFzdCBVcGRhdGVkIFBvc3QgVGltZQ==
+ TGFzdCBVcGRhdGVkIFRvcGljIERhdGU=
+ TGFzdCBVcGRhdGVkIFRvcGljIFRpbWU=
+ TGFzdCBOYW1l
+ U2l0ZSBMZWFkIFN0b3J5
+ Q2F0ZWdvcnkgbGVhZCBhcnRpY2xl
+ TGVhZCBTdG9yeSBBcnRpY2xlcw==
+ TGluayBJZA==
+ VG90YWwgTGluayBSZXZpZXdz
+ QXZlcmFnZSBSYXRpbmcgb2YgTGlua3M=
+ TGluayBPd25lcg==
+ SW5zdGFsbCBQaHJhc2UgVHlwZXM6
+ TG9jYWwgTmFtZQ==
+ TG9jYXRpb24=
+ U2VydmVyIFJlcXVpcmVzIEF1dGhlbnRpY2F0aW9u
+ U2VuZCBIVE1MIGVtYWls
+ UG9ydCAoZS5nLiBwb3J0IDI1KQ==
+ TWFpbCBTZXJ2ZXIgQWRkcmVzcw==
+ TWF4aW11bSBIaXRzIG9mIGFuIEFydGljbGU=
+ TWF4aW11bSBIaXRzIG9mIGEgTGluaw==
+ TWF4aW11bSBWb3RlcyBvZiBhIExpbms=
+ VG9waWMgTWF4aW11bSBIaXRz
+ VG9waWMgTWF4aW11bSBWb3Rlcw==
+ TWF4aW11bSBWb3RlcyBvZiBhbiBBcnRpY2xl
+ TWF4aW1hbCBpbXBvcnRlZCBjYXRlZ29yeSBsZXZlbA==
+ TWVtYmVyc2hpcCBFeHBpcmVz
+ Rm9ybWF0
+ TWV0YSBEZXNjcmlwdGlvbg==
+ TWV0YSBLZXl3b3Jkcw==
+ TWluaW11bSBrZXl3b3JkIGxlbmd0aA==
+ TW9kaWZpZWQgT24=
+ TW9kaWZpZWQgYXQ=
+ TW9kdWxl
+ TW92ZSBkb3du
+ TW92ZSB1cA==
+ U2hvdyBtdWx0aXBsZQ==
+ TmFtZQ==
+ TmV3
+ TmV3IEFydGljbGVz
+ TmV3IENhdGVnb3JpZXM=
+ TmV3ZXN0IEFydGljbGUgRGF0ZQ==
+ TmV3ZXN0IENhdGVnb3J5IERhdGU=
+ TmV3ZXN0IExpbmsgRGF0ZQ==
+ TmV3ZXN0IFBvc3QgRGF0ZQ==
+ TmV3ZXN0IFBvc3QgVGltZQ==
+ TmV3ZXN0IFRvcGljIERhdGU=
+ TmV3ZXN0IFRvcGljIFRpbWU=
+ TmV3ZXN0IFVzZXIgRGF0ZQ==
+ TmV3IExpbmtz
+ TmV3cyBBcnRpY2xlIElE
+ TmV3IFRvcGljcw==
+ Q3VycmVudGx5IEFjdGl2ZSBVc2VyIFNlc3Npb25z
+ Tm90aWZ5IE93bmVy
+ TGluayBwZXJtaXNzaW9uIElEIGZvciBhbGwgdW5yZWdpc3RlcmVkIHVzZXJzIHRvIHZpZXcgaXQ=
+ T3ZlcndyaXRlIEV4aXN0aW5nIFBocmFzZXM=
+ UGFjayBOYW1l
+ UGFyYW1ldGVy
+ UGFyZW50IHRlbXBsYXRlcw==
+ UGFzc3dvcmQ=
+ UmVwZWF0IFBhc3N3b3Jk
+ UGVuZGluZw==
+ UGVuZGluZyBDYXRlZ29yaWVz
+ UGVuZGluZyBJdGVtcw==
+ UGVuZGluZyBMaW5rcw==
+ UGVyZm9ybSB0aGlzIG9wZXJhdGlvbiBub3c/
+ UGVyIFBhZ2U=
+ UGVyc29uYWwgSW5mb3JtYXRpb24=
+ UGhvbmU=
+ UGhyYXNlIElk
+ UGhyYXNlcw==
+ UGhyYXNlIFR5cGU=
+ UGxhaW4gVGV4dA==
+ UG9wdWxhcml0eQ==
+ UG9wdWxhciBBcnRpY2xlcw==
+ UG9wdWxhciBMaW5rcw==
+ UG9wdWxhciBUb3BpY3M=
+ UG9zdGVkIGJ5
+ UG9zdHMgdG8gbG9jaw==
+ VG90YWwgUG9zdHM=
+ UHJpbWFyeQ==
+ UHJpbWFyeSBHcm91cA==
+ UHJpbWFyeSBWYWx1ZQ==
+ UHJpb3JpdHk=
+ UHJvcGVydGllcw==
+ UmF0aW5n
+ KE1pbmltdW0gMCwgTWF4aW11bSA1KQ==
+ TnVtYmVyIG9mIERhdGFiYXNlIFJlY29yZHM=
+ TnVtYmVyIG9mIFJlZ2lvbiBQYWNrcw==
+ UmVndWxhciBVc2VyIEdyb3Vw
+ TGluayBwZXJtaXNzaW9uIElEIGZvciBhbGwgcmVnaXN0ZXJlZCB1c2VycyB0byB2aWV3IGl0
+ UmVsYXRpb24gSUQ=
+ UmVsYXRpb24gVHlwZQ==
+ U2VhcmNoIFJlbGV2YW5jZSBkZXBlbmRzIG9u
+ U2VhcmNoIFJlbGV2ZW5jZSBTZXR0aW5ncw==
+ VXNlIHJlbW90ZSBpbWFnZSAoVVJMKQ==
+ UmVwbGFjZW1lbnQgV29yZA==
+ SW5jcmVhc2UgaW1wb3J0YW5jZSBpZiBmaWVsZCBjb250YWlucyBhIHJlcXVpcmVkIGtleXdvcmQgYnk=
+ UmVzdG9yZSBoYXMgZmFpbGVkIGFuIGVycm9yIG9jY3VyZWQ6
+ Q2hvb3NlIG9uZSBvZiB0aGUgZm9sbG93aW5nIGJhY2t1cCBkYXRlcyB0byByZXN0b3JlIG9yIGRlbGV0ZQ==
+ UmVzdG9yZSBTdGF0dXM=
+ UmVzdG9yZSBoYXMgYmVlbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5
+ UmV2aWV3ZWQgQnk=
+ UmV2aWV3IElE
+ UmV2aWV3IFRleHQ=
+ U2VsZWN0IE1vZHVsZSBSb290IENhdGVnb3J5Og==
+ Um9vdCBjYXRlZ29yeSBuYW1lIChsYW5ndWFnZSB2YXJpYWJsZSk=
+ Um9vdCBQYXNzd29yZA==
+ UGxlYXNlIGVudGVyIHRoZSBSb290IHBhc3N3b3Jk
+ VmVyaWZ5IFJvb3QgUGFzc3dvcmQ=
+ UnVsZSBUeXBl
+ VmFsaWRhdGlvbiBQcm9ncmVzcw==
+ U2VhcmNo
+ U2VhcmNoIFR5cGU=
+ U2VsZWN0IFNvdXJjZSBMYW5ndWFnZQ==
+ U2VuZCBFbWFpbCBBcw==
+ U2VudCBPbg==
+ U2VydmVyIEhvc3RuYW1l
+ U0lE
+ U2Vzc2lvbiBDb29raWUgTmFtZQ==
+ U2Vzc2lvbiBNYW5hZ2VtZW50IE1ldGhvZA==
+ U2Vzc2lvbiBJbmFjdGl2aXR5IFRpbWVvdXQgKHNlY29uZHMp
+ U2hvdyBvbiB0aGUgZ2VuZXJhbCB0YWI=
+ U2ltcGxlIFNlYXJjaA==
+ QWRkaXRpb25hbCBNZXNzYWdlIEhlYWRlcnM=
+ TWFpbCBTZXJ2ZXIgUGFzc3dvcmQ=
+ TWFpbCBTZXJ2ZXIgVXNlcm5hbWU=
+ VXNlIG5vbi1ibG9ja2luZyBzb2NrZXQgbW9kZQ==
+ U1FMIFF1ZXJ5Og==
+ QW4gU1FMIGVycm9yIGhhcyBvY2N1cmVk
+ UGVyZm9ybSBTUUwgUXVlcnk=
+ U1FMIFF1ZXJ5IFJlc3VsdHM=
+ U2VydmVyIFR5cGU=
+ U3RhcnQgRGF0ZQ==
+ U3RhdGU=
+ U3RhdHVz
+ U3RlcCBPbmU=
+ U3RyZWV0
+ U3R5bGVzaGVldA==
+ U3ViamVjdA==
+ U3ViIFNlYXJjaA==
+ RW5hYmxlIFRhZyBDYWNoaW5n
+ VG90YWwgU2l6ZSBvZiBTeXN0ZW0gRmlsZXM=
+ U3lzdGVtIHByZW1pc3Npb25z
+ TnVtYmVyIG9mIERhdGFiYXNlIFRhYmxlcw==
+ VGVtcGxhdGU=
+ VGV4dCBWZXJzaW9u
+ VGhlbWU=
+ TnVtYmVyIG9mIFRoZW1lcw==
+ VGhlbWUgSWQ=
+ VGhvdXNhbmRzIFNlcGFyYXRvcg==
+ UmVtb3RlIFVSTA==
+ KGhoOm1tOnNzKQ==
+ VGl0bGU=
+ VG8=
+ VG9waWNzIEF2ZXJhZ2UgUmF0aW5n
+ VG9waWMgSUQ=
+ VG9waWMgTG9ja2Vk
+ VG90YWwgVG9waWMgUmV2aWV3cw==
+ QWN0aXZlIFRvcGljcw==
+ RGlzYWJsZWQgVG9waWNz
+ UGVuZGluZyBUb3BpY3M=
+ VG90YWwgVG9waWNz
+ VG90YWwgVXNlcnMgd2l0aCBUb3BpY3M=
+ VG90YWwgQ2F0ZWdvcmllcw==
+ VG90YWwgTGlua3M=
+ VG90YWwgVXNlciBHcm91cHM=
+ VHlwZQ==
+ VXBkYXRpbmc=
+ VXBsb2FkIGltYWdlIGZyb20gbG9jYWwgUEM=
+ VVJM
+ VXNlciBDb3VudA==
+ VXNlcm5hbWU=
+ VXNlcm5hbWU=
+ QWN0aXZlIFVzZXJz
+ RGlzYWJsZWQgVXNlcnM=
+ UGVuZGluZyBVc2Vycw==
+ TnVtYmVyIG9mIFVuaXF1ZSBDb3VudHJpZXMgb2YgVXNlcnM=
+ TnVtYmVyIG9mIFVuaXF1ZSBTdGF0ZXMgb2YgVXNlcnM=
+ VmFsdWU=
+ TGlzdCBvZiBWYWx1ZXM=
+ Vmlld3M=
+ VmlzaWJsZQ==
+ KE1pbmltdW0gMSk=
+ Vm90ZXM=
+ V2FybmluZyE=
+ V2VpZ2h0
+ Wmlw
+ U2Vzc2lvbiBSZWZlcnJlciBDaGVja2luZw==
+ bGFfUmF0aW5n
+ QWxyZWFkeSB2b3RlZA==
+ UmVjaXByb2NhbA==
+ UmVtb3ZlIEZyb20=
+ Tm90IGFsbCByZXF1aXJlZCBmaWVsZHMgYXJlIGZpbGxlZC4gUGxlYXNlIGZpbGwgdGhlbSBmaXJzdC4=
+ QWNjZXNzIGRlbmllZA==
+ RmlsZSBlcnJvcg==
+ RmlsZSBub3QgZm91bmQ=
+ VW5hYmxlIHRvIHJlYWQgZnJvbSBmaWxl
+ QW4gdW5kZWZpbmVkIGVycm9yIGhhcyBvY2N1cmVk
+ UmV2aWV3ZXI=
+ UmV2aWV3IGFkZGVkIHN1Y2Nlc3NmdWxseQ==
+ VGhpcyBpdGVtIGhhcyBhbHJlYWR5IGJlZW4gcmV2aWV3ZWQ=
+ RXJyb3IgYWRkaW5nIHJldmlldw==
+ UmV2aWV3cyBQZXIgUGFnZQ==
+ UmV2aWV3cyBQZXIgUGFnZSAoU2hvcnRsaXN0KQ==
+ RXJyb3IgdmVyaWZ5aW5nIHBhc3N3b3Jk
+ UnVubmluZyBRdWVyeQ==
+ U2FtcGxlIFRleHQ=
+ U2F2ZQ==
+ U2VhcmNo
+ U2VhcmNo
+ U2VhcmNoIENhdGVnb3JpZXM=
+ U2VhcmNoIExpbmtz
+ U2VhcmNoIEFydGljbGVz
+ U2VhcmNoIFRvcGljcw==
+ Q2F0ZWdvcmllczE=
+ Q2xlYXIgU2VhcmNo
+ TmV3IFNlYXJjaA==
+ TUVUQSBJbmZvcm1hdGlvbg==
+ Q2F0ZWdvcnk=
+ Q291bnRlcnM=
+ Q3VzdG9tIEZpZWxkcw==
+ RnVsbCBTaXplIEltYWdl
+ R2VuZXJhbA==
+ SW1hZ2U=
+ TWVzc2FnZQ==
+ U2VjdGlvbiBPdmVydmlldw==
+ UHJvcGVydGllcw==
+ UXVpY2sgTGlua3M=
+ UmVsYXRpb24=
+ VGVtcGxhdGVz
+ VGh1bWJuYWlsIEltYWdl
+ VHJhbnNsYXRpb24=
+ U2VhcmNoIFVzZXJz
+ U2VsZWN0aW5nIENhdGVnb3JpZXM=
+ RW1wdHkgc2VsZWN0aW9u
+ T25lIGZpZWxkIGZvciBlYWNoIGNhdGVnb3J5IGxldmVs
+ U2hvd2luZyBMb2dz
+ U2hvd2luZyBTdGF0aXN0aWNz
+ U2hvdyBFbWFpbCBMb2c=
+ U2hvd2luZyBMb2dz
+ QW5kIHRoZW4gYnk=
+ U3RlcA==
+ RGVmaW5pdGlvbg==
+ UHJldmlldw==
+ U3VuZGF5
+ QWRtaW5pc3RyYXRpb24gUGFuZWwgVUk=
+ QWR2YW5jZWQgVmlldw==
+ QmFja3Vw
+ VXNlciBCYW4gTGlzdA==
+ QmFzZSBTdHlsZXM=
+ QmxvY2sgU3R5bGVz
+ Q2F0YWxvZw==
+ Q2F0ZWdvcmllcw==
+ U2VsZWN0IEl0ZW0=
+ Q2F0ZWdvcnkgU2VsZWN0
+ Q2Vuc29yc2hpcA==
+ Q29tbXVuaXR5
+ R2VuZXJhbCBTZXR0aW5ncw==
+ Q2Vuc29yc2hpcA==
+ Q3VzdG9tIEZpZWxkcw==
+ RS1tYWlsIFNldHRpbmdz
+ R2VuZXJhbCBTZXR0aW5ncw==
+ T3V0cHV0IFNldHRpbmdz
+ U2VhcmNoIFNldHRpbmdz
+ R2VuZXJhbCBTZXR0aW5ncw==
+ U21pbGV5cw==
+ R2VuZXJhbCBTZXR0aW5ncw==
+ Q3VzdG9t
+ RWRpdGluZyBSZXZpZXc=
+ RW1haWwgRXZlbnRz
+ RW1haWwgTG9n
+ RW1haWwgTWVzc2FnZQ==
+ RXhwb3J0IERhdGE=
+ RXhwb3J0IExhbmd1YWdlIFBhY2s=
+ R2VuZXJhbA==
+ R2VuZXJhbCBTZXR0aW5ncw==
+ R3JvdXA=
+ R3JvdXBz
+ U2VsZWN0IEdyb3Vw
+ SGVscA==
+ SW1hZ2Vz
+ SW1wb3J0IERhdGE=
+ SW1wb3J0IExhbmd1YWdlIFBhY2s=
+ SW4tbGluayBpbXBvcnQ=
+ SW5zdGFsbA==
+ SXRlbSBMaXN0
+ SXRlbXM=
+ TGFiZWw=
+ TGFiZWxz
+ TGluayBWYWxpZGF0aW9u
+ TWFpbCBMaXN0
+ TWVzc2FnZQ==
+ TWlzc2luZyBMYWJlbHM=
+ TW9kdWxlcw==
+ TW9kdWxlcyBNYW5hZ2VtZW50
+ TW9kdWxlcyAmIFNldHRpbmdz
+ T3ZlcnZpZXc=
+ UGFja2FnZSBDb250ZW50
+ UGVybWlzc2lvbnM=
+ cGhwQkIgSW1wb3J0
+ UHJvcGVydGllcw==
+ UXVlcnkgRGF0YWJhc2U=
+ UmVnaW9uYWw=
+ UmVsYXRpb25z
+ U3VtbWFyeSAmIExvZ3M=
+ UmVzdG9yZQ==
+ UmV2aWV3
+ UmV2aWV3cw==
+ UnVsZSBQcm9wZXJ0aWVz
+ U2VhcmNo
+ U2VhcmNoIExvZw==
+ U2VhcmNoIEdyb3Vwcw==
+ U2VhcmNoIFVzZXJz
+ U2VuZCBlLW1haWw=
+ U2VydmVyIEluZm9ybWF0aW9u
+ U2Vzc2lvbiBMb2c=
+ R2VuZXJhbCBTZXR0aW5ncw==
+ U3RydWN0dXJlICYgRGF0YQ==
+ U3RhdGlzdGljcw==
+ U3R5bGVzaGVldHM=
+ U3VtbWFyeQ==
+ Q29uZmlndXJhdGlvbg==
+ VGFnIGxpYnJhcnk=
+ VGVtcGxhdGU=
+ VGVtcGxhdGVz
+ VGhlbWVz
+ VG9vbHM=
+ VXBkYXRlIExpY2Vuc2U=
+ QmFuIHVzZXI=
+ VXNlciBCYW4gTGlzdA==
+ VXNlcnM=
+ VXNlciBTZWxlY3Q=
+ R3JvdXBz
+ VXNlcnM=
+ VmlzaXRz
+ VGFnIExpYnJhcnk=
+ VGFnIExpYnJhcnk=
+ dGVyYWJ5dGUocyk=
+ dGV4dA==
+ SW52YWxpZCB1c2VyIG5hbWUgb3IgcGFzc3dvcmQ=
+ QWN0aXZl
+ QWRkaW5n
+ QWRkcmVzcw==
+ TG9naW4gbm90IGFsbG93ZWQgZnJvbSB0aGlzIGFkZHJlc3M=
+ QWRtaW4=
+ QWRtaW5pc3RyYXRvciBSZWNlaXZlIE5vdGljZXMgV2hlbg==
+ QWR2YW5jZWQ=
+ QWxs
+ QWxsb3c=
+ QW55
+ QXJjaGl2ZWQ=
+ QXJ0aWNsZQ==
+ QXJ0aWNsZXM=
+ YXM=
+ QmFja2luZyB1cA==
+ QmFjayB1cCBoYXMgYmVlbiBjb21wbGV0ZWQuIFRoZSBiYWNrdXAgZmlsZSBpczo=
+ QmFja3VwIFBhdGg=
+ SW4tUG9ydGFsIGRvZXMgbm90IGhhdmUgYWNjZXNzIHRvIHdyaXRlIHRvIHRoaXMgZGlyZWN0b3J5
+ VGhpcyB1dGlsaXR5IGFsbG93cyB5b3UgdG8gYmFja3VwIHlvdXIgY3VycmVudCBkYXRhIGZyb20gSW4tUG9ydGFsIGRhdGFiYXNlLg==
+ QmFja3VwIGluIHByb2dyZXNz
+ QmFu
+ VXNlciBCYW4gUnVsZXM=
+ QmFuIFVzZXIgSW5mb3JtYXRpb24=
+ QmxhbmsgdXNlcm5hbWUgb3IgcGFzc3dvcmQ=
+ Qm90aA==
+ QnVpbHQgSW4=
+ Ynl0ZXM=
+ Q2F0YWxvZw==
+ Q2F0ZWdvcmllcw==
+ Q2F0ZWdvcnk=
+ Q2Vuc29yc2hpcA==
+ Q2l0eQ==
+ WW91IGFyZSBhYm91dCB0byBjbGVhciBjbGlwYm9hcmQgY29udGVudCENClByZXNzIE9LIHRvIGNvbnRpbnVlIG9yIENhbmNlbCB0byByZXR1cm4gdG8gcHJldmlvdXMgc2NyZWVuLg==
+ U2VjdGlvbiBDb21pbmcgU29vbg==
+ Q29tcGxldGU=
+ Q29uZmlndXJhdGlvbg==
+ Q29udGFpbnM=
+ Q291bnRlcnM=
+ Q3VycmVudA==
+ Q3VzdG9t
+ Q3VzdG9tIEZpZWxk
+ Q3VzdG9tIEZpZWxkcw==
+ RGF0YWJhc2UgU2V0dGluZ3MgLSBJbnRlY2huaWMgSW4tTGluayAyLng=
+ Y2F0ZWdvcmllcw==
+ RGF0YSBUeXBlIDI=
+ cG9zdA==
+ bGlua3M=
+ dXNlcnM=
+ RGF0ZS9UaW1lIFNldHRpbmdz
+ RGF5
+ UnVubmluZyB0aGlzIHV0aWxpdHkgd2lsbCBhZmZlY3QgeW91ciBkYXRhYmFzZS4gIFBsZWFzZSBiZSBhZHZpc2VkIHRoYXQgeW91IGNhbiB1c2UgdGhpcyB1dGlsaXR5IGF0IHlvdXIgb3duIHJpc2suICBJbnRlY2huaWMgQ29ycG9yYXRpb24gY2FuIG5vdCBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGNvcnJ1cHQgZGF0YSBvciBkYXRhIGxvc3Mu
+ RGVmYXVsdA==
+ RGVsZXRl
+ RGVuaWVk
+ RGVueQ==
+ RGlzYWJsZQ==
+ RGlzYWJsZWQ=
+ UnVubmluZyB0aGlzIHV0aWxpdHkgd2lsbCBhZmZlY3QgeW91ciBkYXRhYmFzZS4gUGxlYXNlIGJlIGFkdmlzZWQgdGhhdCB5b3UgY2FuIHVzZSB0aGlzIHV0aWxpdHkgYXQgeW91ciBvd24gcmlzay4gSW50ZWNobmljIENvcnBvcmF0aW9uIGNhbiBub3QgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBjb3JydXB0IGRhdGEgb3IgZGF0YSBsb3NzLg==
+ UGxlYXNlIG1ha2Ugc3VyZSB0byBiYWNrIHVwIHlvdXIgZGF0YWJhc2UocykgYmVmb3JlIHJ1bm5pbmcgdGhpcyB1dGlsaXR5Lg==
+ RWRpdA==
+ RWRpdGluZw==
+ RWRpdG9y
+ RW1haWw=
+ RW1vdGlvbiBJY29ucw==
+ RW5hYmxl
+ RW5hYmxlZA==
+ RXZlbnRz
+ RXhhbXBsZQ==
+ RXhpc3Rz
+ RXhwaXJlZA==
+ RXhwb3J0
+ RmllbGRz
+ RmlsdGVy
+ Rmlyc3QgTmFtZQ==
+ Zm9y
+ RnJvbnQ=
+ RnJvbnQgRW5k
+ RnJvbnQtZW5kIE9ubHk=
+ RnVsbA==
+ RnVsbCBTaXplIEltYWdl
+ R2VuZXJhbA==
+ R3JlYXRlciBUaGFu
+ R3JvdXA=
+ R3JvdXBz
+ R3JvdXAgTmFtZQ==
+ R3Vlc3Q=
+ R3Vlc3QgVXNlcnM=
+ SG90
+ SG91cg==
+ SSBhZ3JlZSB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnM=
+ SW1hZ2U=
+ SW1hZ2Vz
+ SW5hY3RpdmU=
+ SW4gRGV2ZWxvcG1lbnQ=
+ SW5zdGFsbA==
+ SW5zdGFsbGVk
+ SW52YWxpZA==
+ SW52ZXJ0
+ SVAgQWRkcmVzcw==
+ SXM=
+ SXMgTm90
+ SXRlbXM=
+ S2V5d29yZA==
+ TGFiZWw=
+ TGFuZ3VhZ2UgSW1wb3J0
+ TGFuZ3VhZ2U=
+ TGFzdCBOYW1l
+ TGVhZGluZw==
+ TGVzcyBUaGFu
+ TGljZW5zZQ==
+ TGluaw==
+ TGlua3M=
+ VmFsaWRhdGluZyBMaW5rcw==
+ TG9jYWw=
+ TG9ja2Vk
+ VXNlcm5hbWU=
+ RW1haWwgRXZlbnQ=
+ RGVmYXVsdCBNRVRBIGtleXdvcmRz
+ TWluaW11bSBrZXl3b3JkIGxlbmd0aA==
+ TWludXRl
+ TWluaW11bSBwYXNzd29yZCBsZW5ndGg=
+ TWluaW11bSB1c2VyIG5hbWUgbGVuZ3Ro
+ QmxhbmsgcGFzc3dvcmRzIGFyZSBub3QgYWxsb3dlZA==
+ QmxhbmsgdXNlciBuYW1l
+ TW9kdWxlcw==
+ TW9udGhz
+ U2hvdyBtdWx0aXBsZQ==
+ TmV3
+ TmV3IENlbnNvciBXb3Jk
+ TmV3IEZpZWxk
+ TmV3IFRoZW1l
+ Tm8gQ2F0ZWdvcmllcw==
+ Tm9uZQ==
+ Tm8gcGVybWlzc2lvbnM=
+ RG9lcyBOb3QgQ29udGFpbg==
+ Tm90IFZhbGlkYXRlZA==
+ Tm8gcGVybWlzc2lvbnM=
+ T25lIFdheQ==
+ UGFjaw==
+ UGVuZGluZw==
+ UGVybWlzc2lvbg==
+ UGhvbmU=
+ UG9wdWxhcg==
+ UG9wdWxhcml0eQ==
+ UG9zdCBCb2R5
+ UG9zdHM=
+ UHJlcmVxdWlzaXRlIG5vdCBmdWxmaWxsZWQsIGluc3RhbGxhdGlvbiBjYW5ub3QgY29udGludWUh
+ UHJpbWFyeQ==
+ UXVpY2sgbGlua3M=
+ UmVhZCBPbmx5
+ UmVhZHkgdG8gSW5zdGFsbA==
+ UmVjaXByb2NhbA==
+ UmVsYXRpb24=
+ UmVsYXRpb25z
+ UmVwbGllcw==
+ VGhlIHZlcnNpb25zIG9mIHRoZSBiYWNrdXAgYW5kIHlvdXIgY29kZSBkb24ndCBtYXRjaC4gWW91ciBpbnN0YWxsYXRpb24gd2lsbCBwcm9iYWJseSBiZSBub24gb3BlcmF0aW9uYWwu
+ SGVyZSB5b3UgY2FuIHJlc3RvcmUgeW91ciBkYXRhYmFzZSBmcm9tIGEgcHJldmlvdXNseSBiYWNrZWQgdXAgc25hcHNob3QuIFJlc3RvcmluZyB5b3VyIGRhdGFiYXNlIHdpbGwgZGVsZXRlIGFsbCBvZiB5b3VyIGN1cnJlbnQgZGF0YSBhbmQgbG9nIHlvdSBvdXQgb2YgdGhlIHN5c3RlbS4=
+ UmVzdG9yZSBpcyBpbiBwcm9ncmVzcw==
+ IFJ1bm5pbmcgdGhpcyB1dGlsaXR5IHdpbGwgYWZmZWN0IHlvdXIgZGF0YWJhc2UuICBQbGVhc2UgYmUgYWR2aXNlZCB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgdXRpbGl0eSBhdCB5b3VyIG93biByaXNrLiAgSW50ZWNobmljIGNvcnBvcmF0aW9uIGNhbiBub3QgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBjb3JydXB0IGRhdGEgb3IgZGF0YSBsb3NzLiAgUGxlYXNlIG1ha2Ugc3VyZSB0byBiYWNrIHVwIHlvdXIgZGF0YWJhc2UocykgYmVmb3JlIHJ1bm5p
+ UmVzdHJpY3Rpb25z
+ UmVzdWx0cw==
+ UmV2aWV3
+ UmV2aWV3cw==
+ Um9vdA==
+ TW9kdWxlIFJvb3QgQ2F0ZWdvcnk=
+ cm93KHMp
+ UnVsZQ==
+ U2FtZQ==
+ U2FtZSBhcyB0aHVtYm5haWw=
+ U2F2ZQ==
+ U2Nhbm5pbmc=
+ U2VhcmNoIFJlc3VsdHM=
+ U2Vjb25kcw==
+ U2VsZWN0
+ U2VuZA==
+ U2Vzc2lvbnM=
+ U2Vzc2lvbiBFeHBpcmVk
+ U2V0dGluZ3M=
+ U2hvd2luZyBHcm91cHM=
+ U2hvd2luZyBVc2Vycw==
+ U2ltcGxl
+ U2l6ZQ==
+ U21pbGV5
+ U01UUCAobWFpbCkgU2VydmVy
+ U29ydA==
+ U3RhdGU=
+ U3RlcA==
+ U3ViQ2F0cw==
+ U3ViSXRlbXM=
+ VGFibGU=
+ VGVtcGxhdGU=
+ VGVtcGxhdGVz
+ VGhlbWU=
+ VGh1bWJuYWls
+ VGh1bWJuYWlsIEltYWdl
+ dG8=
+ VG9waWM=
+ VG9waWNz
+ VHlwZQ==
+ dHlwZXM=
+ SXMgVW5pcXVl
+ VW5zZWxlY3Q=
+ VXBkYXRlIExpY2Vuc2U=
+ WW91ciBkYXRhIHdpbGwgYmUgbW9kaWZpZWQgZHVyaW5nIHRoZSB1cGdyYWRlLiBXZSBzdHJvbmdseSByZWNvbW1lbmQgdGhhdCB5b3UgbWFrZSBhIGJhY2t1cCBvZiB5b3VyIGRhdGFiYXNlLiBQcm9jZWVkIHdpdGggdGhlIHVwZ3JhZGU/
+ VXBsb2Fk
+ VXNlcg==
+ VXNlciBSZWNlaXZlcyBOb3RpY2VzIFdoZW4=
+ VXNlcnM=
+ VXNlciBDb3VudA==
+ VmFsaWQ=
+ VmVyc2lvbg==
+ Vmlldw==
+ Vmlld3M=
+ V2Vic2l0ZQ==
+ V2Vla3M=
+ V2l0aGlu
+ WWVhcnM=
+ Wmlw
+ QWRkaW5nIEN1c3RvbSBGaWVsZA==
+ QWRkaW5nIEJhc2UgU3R5bGU=
+ QWRkaW5nIEJsb2NrIFN0eWxl
+ QWRkaW5nIENhdGVnb3J5
+ QWRkaW5nIEdyb3Vw
+ QWRkaW5nIEltYWdl
+ QWRkaW5nIExhbmd1YWdl
+ QWRkaW5nIFBocmFzZQ==
+ QWRkaW5nIFJlbGF0aW9uc2hpcA==
+ QWRkaW5nIFJldmlldw==
+ QWRkaW5nIFN0eWxlc2hlZXQ=
+ QWRkaXRpb25hbCBQZXJtaXNzaW9ucw==
+ QWRkIE1vZHVsZQ==
+ QWR2YW5jZWQgVmlldw==
+ QmFja3Vw
+ QmFzZSBTdHlsZXM=
+ QmxvY2sgU3R5bGVz
+ Q2F0YWxvZw==
+ Q2F0ZWdvcmllcw==
+ U2VsZWN0IHJlbGF0aW9u
+ U2VsZWN0IGNhdGVnb3J5
+ Q2Vuc29yc2hpcA==
+ Q29tbXVuaXR5
+ Q29uZmlndXJhdGlvbg==
+ Q3VzdG9t
+ Q3VzdG9tIEZpZWxkcw==
+ RG9uZQ==
+ RWRpdGluZyBFbWFpbCBFdmVudA==
+ RWRpdGluZyBHcm91cA==
+ RWRpdGluZyBTdHlsZQ==
+ RWRpdGluZyBUcmFuc2xhdGlvbg==
+ RWRpdGluZyBCYXNlIFN0eWxl
+ RWRpdGluZyBCbG9jayBTdHlsZQ==
+ RWRpdGluZyBDYXRlZ29yeQ==
+ RWRpdGluZyBDdXN0b20gRmllbGQ=
+ RWRpdGluZyBHcm91cA==
+ RWRpdGluZyBJbWFnZQ==
+ RWRpdGluZyBMYW5ndWFnZQ==
+ RWRpdGluZyBQaHJhc2U=
+ RWRpdGluZyBSZWxhdGlvbnNoaXA=
+ RWRpdGluZyBSZXZpZXc=
+ RWRpdGluZyBTdHlsZXNoZWV0
+ U2l0ZSBTdHJ1Y3R1cmU=
+ RWRpdCBDYXRlZ29yeQ==
+ RWRpdCBHcm91cA==
+ U2l0ZSBTdHJ1Y3R1cmU=
+ U2l0ZSBTdHJ1Y3R1cmU=
+ RWRpdCBVc2Vy
+ RS1tYWlsIEV2ZW50cw==
+ RS1tYWlsIFNldHRpbmdz
+ RXhwb3J0IERhdGE=
+ RXhwb3J0IExhbmd1YWdlIFBhY2s=
+ RXhwb3J0IExhbmd1YWdlIFBhY2sgLSBSZXN1bHRz
+ RXhwb3J0IExhbmd1YWdlIFBhY2sgLSBTdGVwMQ==
+ R2VuZXJhbA==
+ R2VuZXJhbCBDb25maWd1cmF0aW9u
+ R3JvdXBz
+ U2VsZWN0IGdyb3Vw
+ SGVscA==
+ SW1hZ2Vz
+ SW1wb3J0IERhdGE=
+ SW1wb3J0IExhbmd1YWdlIFBhY2s=
+ SW4tYnVsbGV0aW4=
+ SW4tbGluaw==
+ SW4tbmV3eg==
+ SW5zdGFsbGF0aW9uIEhlbHA=
+ SW5zdGFsbCBMYW5ndWFnZSBQYWNrIC0gU3RlcCAx
+ SW5zdGFsbCBMYW5ndWFnZSBQYWNrIC0gU3RlcCAy
+ SXRlbXM=
+ TGFiZWw=
+ TGFiZWxz
+ SW5zdGFsbCBMYW5ndWFnZSBQYWNr
+ TGFuZ3VhZ2UgUGFja3M=
+ TG9hZGluZyAuLi4=
+ TW9kdWxlIFN0YXR1cw==
+ TmV3IEN1c3RvbSBGaWVsZA==
+ TmV3IEJhc2UgU3R5bGU=
+ TmV3IEJsb2NrIFN0eWxl
+ TmV3IENhdGVnb3J5
+ TmV3IEdyb3Vw
+ TmV3IEltYWdl
+ TmV3IExhbmd1YWdl
+ TmV3IFBocmFzZQ==
+ TmV3IFJlbGF0aW9uc2hpcA==
+ TmV3IFJldmlldw==
+ TmV3IFN0eWxlc2hlZXQ=
+ Tm8gUGVybWlzc2lvbnM=
+ UGVybWlzc2lvbnM=
+ UGxlYXNlIFdhaXQ=
+ UHJvcGVydGllcw==
+ UmVnaW9uYWw=
+ UmVnaW9uYWwgU2V0dGluZ3M=
+ UmVsYXRpb25z
+ U3VtbWFyeSAmIExvZ3M=
+ UmVzdG9yZQ==
+ UmV2aWV3cw==
+ U2VhcmNoIExvZw==
+ U2VhcmNoIFJlc3VsdHM=
+ U2VsZWN0IFVzZXI=
+ U2VsZWN0IGl0ZW0=
+ U2VsZWN0IGl0ZW0=
+ UHJlcGFyaW5nIHRvIFNlbmQgTWFpbA==
+ U2VuZCBlbWFpbA==
+ Q2FuY2VsIHNlbmRpbmcgbWFpbA==
+ TWFpbCBoYXMgYmVlbiBzZW50IFN1Y2Nlc3NmdWxseQ==
+ UHJlcGFyaW5nIHRvIFNlbmQgTWVzc2FnZXM=
+ U2VuZGluZyBNZXNzYWdlLi4=
+ U2Vzc2lvbiBMb2c=
+ TW9kdWxlcyAmIFNldHRpbmdz
+ U3RydWN0dXJlICYgRGF0YQ==
+ U3R5bGVzaGVldHM=
+ U3VtbWFyeQ==
+ Q29uZmlndXJhdGlvbg==
+ VG9vbHM=
+ VXBkYXRpbmcgQ2F0ZWdvcmllcw==
+ VXNlcnM=
+ U2VsZWN0IHVzZXI=
+ VmlzaXRz
+ dG8=
+ QWRkIFVzZXIgdG8gR3JvdXA=
+ QWRkIFVzZXIgVG8gR3JvdXA=
+ QXBwbHkgUnVsZXM=
+ QXBwcm92ZQ==
+ QmFjaw==
+ QmFu
+ Q2FuY2Vs
+ Q2xlYXIgQ2xpcGJvYXJk
+ Q2xvbmU=
+ Q2xvc2U=
+ Q29udGludWUgTGluayBWYWxpZGF0aW9u
+ Q29weQ==
+ Q3V0
+ RGVjbGluZQ==
+ RGVsZXRl
+ RGVsZXRlIEFsbA==
+ RGVsZXRlIFVzZXIgRnJvbSBHcm91cA==
+ RGVueQ==
+ RGlzYWJsZQ==
+ RWRpdA==
+ RWRpdCBDdXJyZW50IENhdGVnb3J5
+ RGlzYWJsZQ==
+ RW5hYmxl
+ RnJvbnQgT25seQ==
+ U2VsZWN0IFVzZXI=
+ RW5hYmxl
+ RXhwb3J0
+ RXhwb3J0IExhbmd1YWdl
+ SG9tZQ==
+ SW1wb3J0
+ SW1wb3J0IExhbmd1YWdl
+ SW1wb3J0IGEgTGFnbnVhZ2UgUGFja2FnZQ==
+ TW92ZSBEb3du
+ TW92ZSBVcA==
+ TW92ZSBEb3du
+ TW92ZSBVcA==
+ TmV3IEJhc2UgU3R5bGU=
+ TmV3IEJsb2NrIFN0eWxl
+ TmV3IEdyb3Vw
+ TmV3IGxhYmVs
+ TmV3IExhbmd1YWdl
+ TmV3IFJldmlldw==
+ TmV3IFN0eWxlc2hlZXQ=
+ U3RhcnQgTmV3IFZhbGlkYXRpb24=
+ TmV3IENhdGVnb3J5
+ TmV3IENlbnNvciBXb3Jk
+ TmV3IENvdXBvbg==
+ TmV3IEN1c3RvbSBGaWVsZA==
+ TmV3IERpc2NvdW50
+ TmV3IEVtb3Rpb24gSWNvbg==
+ TmV3IEltYWdl
+ TmV3IEltYWdlcw==
+ QWRkIG5ldyBsYWJlbA==
+ TmV3IExhbmd1YWdlIFBhY2s=
+ TmV3IFBlcm1pc3Npb24=
+ TmV3IFJlbGF0aW9u
+ TmV3IFJldmlldw==
+ TmV3IFJ1bGU=
+ TmV3IFRlbXBsYXRl
+ TmV3IFRoZW1l
+ TmV3IFVzZXI=
+ TmV4dA==
+ TmV4dCBzdGVw
+ UGFzdGU=
+ UHJldmlldw==
+ UHJldmlvdXM=
+ UHJldmlvdXMgc3RlcA==
+ U2V0IFByaW1hcnkgVGhlbWU=
+ U2V0IFByaW1hcnkgR3JvdXA=
+ UHJpbnQ=
+ UmVidWlsZCBDYXRlZ29yeSBDYWNoZQ==
+ UmVmcmVzaA==
+ RGVsZXRlIFVzZXIgRnJvbSBHcm91cA==
+ UmVzY2FuIFRoZW1lcw==
+ UmVzZXQ=
+ UmVzZXQgVG8gQmFzZQ==
+ UmVzZXQgVmFsaWRhdGlvbiBTdGF0dXM=
+ UmVzdG9yZQ==
+ U2F2ZQ==
+ U2VhcmNo
+ UmVzZXQ=
+ U2VsZWN0
+ U2VsZWN0IFVzZXI=
+ U2VuZCBFLW1haWw=
+ U2VuZCBFLW1haWw=
+ U2V0IFByaW1hcnk=
+ U2V0IFByaW1hcnkgQ2F0ZWdvcnk=
+ U2V0IFByaW1hcnkgTGFuZ3VhZ2U=
+ Q2FuY2Vs
+ VXAgYSBDYXRlZ29yeQ==
+ VmFsaWRhdGU=
+ Vmlldw==
+ RGlzcGxheSBlZGl0b3IgcGlja3MgYWJvdmUgcmVndWxhciB0b3BpY3M=
+ TmV3IFRvcGljcyAoRGF5cyk=
+ TnVtYmVyIG9mIHRvcGljcyBwZXIgcGFnZQ==
+ VG9waWNzIFBlciBQYWdlIChTaG9ydGxpc3Qp
+ UGljaw==
+ VG9waWMgcmV2aWV3ZWQ=
+ QW5kIHRoZW4gYnk=
+ QW5kIHRoZW4gYnk=
+ YW5kIHRoZW4gYnk=
+ T3JkZXIgVG9waWNzIEJ5
+ U29ydCB0b3BpY3MgYnk=
+ QW5kIHRoZW4gYnk=
+ T3JkZXIgdG9waWNzIGJ5
+ VG9waWMgVGV4dA==
+ Vmlld3M=
+ VG8gRGF0ZQ==
+ VHJhbnNsYXRl
+ Q2hlY2tib3hlcw==
+ RGF0ZQ==
+ RGF0ZSAmIFRpbWU=
+ TGFiZWw=
+ UGFzc3dvcmQgZmllbGQ=
+ UmFkaW8gYnV0dG9ucw==
+ RHJvcCBkb3duIGZpZWxk
+ Q2hlY2tib3g=
+ VGV4dCBmaWVsZA==
+ VGV4dCBhcmVh
+ VW5jaGFuZ2Vk
+ VXBkYXRpbmcgQ29uZmlndXJhdGlvbg==
+ VXBkYXRpbmcgUnVsZXM=
+ VXNlIENyb24gZm9yIFJ1bm5pbmcgUmVndWxhciBFdmVudHM=
+ QWxsb3cgbmV3IHVzZXIgcmVnaXN0cmF0aW9u
+ QXNzaWduIEFsbCBVc2VycyBUbyBHcm91cA==
+ VmFsaWRhdGUgZS1tYWlsIGFkZHJlc3M=
+ QXNzaWduIHVzZXJzIG5vdCBsb2dnZWQgaW4gdG8gZ3JvdXA=
+ QXNzaWduIHJlZ2lzdGVyZWQgdXNlcnMgdG8gZ3JvdXA=
+ QXNzaWduIHBhc3N3b3JkIGF1dG9tYXRpY2FsbHk=
+ TnVtYmVyIG9mIGRheXMgdG8gZGVueSBtdWx0aXBsZSByZXZpZXdzIGZyb20gdGhlIHNhbWUgdXNlcg==
+ QXNzaWduIG1haWxpbmcgbGlzdCBzdWJzY3JpYmVycyB0byBncm91cA==
+ TnVtYmVyIG9mIGRheXMgdG8gZGVueSBtdWx0aXBsZSB2b3RlcyBmcm9tIHRoZSBzYW1lIHVzZXI=
+ SW5zdGFudA==
+ Tm90IEFsbG93ZWQ=
+ VXBvbiBBcHByb3ZhbA==
+ VXNlIEVtYWlscyBBcyBMb2dpbg==
+ VVMvVUs=
+ UGxlYXNlIGNoZWNrIHRoZSByZXF1aXJlZCBmaWVsZHMgYW5kIHRyeSBhZ2FpbiE=
+ VmFsdWU=
+ RW50ZXIgbGlzdCBvZiB2YWx1ZXMgYW5kIHRoZWlyIGRlc2NyaXB0aW9ucywgbGlrZSAxPU9uZSwgMj1Ud28=
+ QWN0aXZl
+ QWx3YXlz
+ QXV0bw==
+ RGlzYWJsZWQ=
+ RW5hYmxlZA==
+ TmV2ZXI=
+ SW52YWxpZCBQYXNzd29yZA==
+ UGVuZGluZw==
+ UmVxdWlyZWQgRmllbGQ=
+ SW52YWxpZCBVc2VybmFtZQ==
+ RGlyZWN0IGFjY2VzcyBvciBib29rbWFyaw==
+ Vm90ZSBzdWJtaXR0ZWQgc3VjY2Vzc2Z1bGx5
+ V2FybmluZzogRW5hYmxpbmcgSFRNTCBpcyBhIHNlY3VyaXR5IHJpc2sgYW5kIGNvdWxkIGRhbWFnZSB0aGUgc3lzdGVtIGlmIHVzZWQgaW1wcm9wZXJseSE=
+ QSBzZWFyY2ggb3IgYSBmaWx0ZXIgaXMgaW4gZWZmZWN0LiBZb3UgbWF5IG5vdCBiZSBzZWVpbmcgYWxsIG9mIHRoZSBkYXRhLg==
+ WW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhlIHByaW1hcnkgdGhlbWUuIENvbnRpbnVlPw==
+ TW9kaWZpY2F0aW9ucyB3aWxsIG5vdCB0YWtlIGVmZmVjdCB1bnRpbCB5b3UgY2xpY2sgdGhlIFNhdmUgYnV0dG9uIQ==
+ d2Vlaw==
+ eWVhcg==
+ WWVz
+ WW91IGRvIG5vdCBoYXZlIGFjY2VzcyB0byBwZXJmb3JtIHRoaXMgb3BlcmF0aW9u
+ QWNjb3VudCBJbmZvcm1hdGlvbg==
+ QWN0aW9u
+ QWN0aW9uIEJveA==
+ SGVyZSBZb3UgQ2FuOg==
+ QWRk
+ U3VnZ2VzdCBDYXRlZ29yeSBSZXN1bHRz
+ Q2F0ZWdvcnkgQWRkZWQgUGVuZGluZyBBcHByb3ZhbA==
+ WW91ciBjYXRlZ29yeSBzdWdnZXN0aW9uIGhhcyBiZWVuIGFjY2VwdGVkIGFuZCBpcyBwZW5kaW5nIGFkbWluaXN0cmF0aXZlIGFwcHJvdmFsLg==
+ VGhlIENhdGVnb3J5IHlvdSBzdWdnZXN0ZWQgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIHN5c3RlbS4=
+ QWRkZWQ=
+ QWRkZWQgVG9kYXk=
+ QWRkaXRpb25hbCBjYXRlZ29yaWVz
+ QWRkIExpbmsgUmVzdWx0cw==
+ QWRkIFBlbmRpbmcgTGluayBSZXN1bHRz
+ WW91ciBsaW5rIGhhcyBiZWVuIGFkZGVkIHBlbmRpbmcgYWRtaW5pc3RyYXRpdmUgYXBwcm92YWwu
+ VGhlIGxpbmsgeW91IGhhdmUgc3VnZ2VzdGVkIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBkYXRhYmFzZS4=
+ QWRkcmVzcw==
+ QWRkcmVzcyBMaW5l
+ QWRkcmVzcyBMaW5lIDE=
+ QWRkcmVzcyBMaW5lIDI=
+ QWRkIEZyaWVuZA==
+ QWRkIExpbms=
+ U2VuZCBQcml2YXRlIE1lc3NhZ2U=
+ QWRkIFJldmlldw==
+ QWRkIFRvcGlj
+ QWRkIHRvIEZhdm9yaXRlcw==
+ QWR2YW5jZWQgU2VhcmNo
+ QWR2YW5jZWQgU2VhcmNo
+ QWR2YW5jZWQ=
+ QW55
+ Q29udGFpbnM=
+ SXMgRXF1YWwgVG8=
+ SXMgTm90IEVxdWFsIFRv
+ RG9lcyBOb3QgQ29udGFpbg==
+ QWxsIHJpZ2h0cyByZXNlcnZlZC4=
+ IGhhcyBhbHJlYWR5IGJlZW4gc3VnZ2VzdGVkIHRvIHRoaXMgc2l0ZSBvbg==
+ QW5k
+ QU9MIElN
+ QXBy
+ VGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIGZvcm0sIHBsZWFzZSBjaGVjayB0aGUgZXJyb3IgbWVzc2FnZXMgYmVsb3cu
+ VGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIGZvcm0sIHBsZWFzZSBjaGVjayB0aGUgZXJyb3IgbWVzc2FnZXMgYmVsb3c=
+ QXJ0aWNsZXM=
+ QXJ0aWNsZSBEZXRhaWxz
+ QXJ0aWNsZSBuYW1l
+ QXJ0aWNsZSBSZXZpZXdz
+ QXNjZW5kaW5n
+ QXVn
+ QXV0aG9y
+ QXV0b21hdGlj
+ RGlzYWJsZWQgYXZhdGFy
+ QmFjaw==
+ QkJDb2Rl
+ QmlydGggRGF0ZQ==
+ QmxhbmsgcGFzc3dvcmQ=
+ Ym94
+ TmV3IExpbms=
+ TmV3IHRvcGlj
+ U2VuZCBQYXNzd29yZA==
+ R28=
+ Sm9pbg==
+ U3Vic2NyaWJl
+ Tm8=
+ T2s=
+ UmF0ZQ==
+ U2VhcmNo
+ VW5zdWJzY3JpYmU=
+ WWVz
+ Ynk=
+ Q2FuY2Vs
+ Q2F0ZWdvcnk=
+ Q2F0ZWdvcmllcw==
+ Y2F0ZWdvcmllcyB1cGRhdGVk
+ Q2F0ZWdvcnk=
+ Q2F0ZWdvcnkgSW5mb3JtYXRpb24=
+ Q2F0ZWdvcnkgU2VhcmNoIFJlc3VsdHM=
+ Q2F0ZWdvcnkgTGVhZCBTdG9yeQ==
+ Q2F0ZWdvcmllcw==
+ Q2l0eQ==
+ Y2xpY2sgaGVyZQ==
+ Q2xvc2U=
+ Q2xvc2UgV2luZG93
+ UGFzc3dvcmQgcmVzZXQgaGFzIGNvZGUgZXhwaXJlZA==
+ UGFzc3dvcmQgcmVzZXQgY29kZSBpcyBub3QgdmFsaWQ=
+ UHJpY2VzIG9mIG9uZSBvciBtb3JlIGl0ZW1zIGluIHlvdXIgc2hvcHBpbmcgY2FydCBoYXZlIGJlZW4gY2hhbmdlZCBkdWUgdG8geW91ciBsb2dpbiwgcGxlYXNlIHJldmlldyBjaGFuZ2VzLg==
+ RW1haWxBZGRyZXNz
+ QWRkaXRpb25hbCBJbWFnZXM=
+ QURESVRJT05BTCBJTUFHRVM=
+ Tm8gUGVybWlzc2lvbnM=
+ UHJvZHVjdCBEZXNjcmlwdGlvbg==
+ Q29tcGFueQ==
+ Y29uZmlybQ==
+ Q29uZmlybWF0aW9uIFRpdGxl
+ WW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhlIGxpbmsgYmVsb3cu
+ Q29uZmlybWF0aW9uIFN1YnRpdGxl
+ Q29uZmlybWF0aW9uIHRleHQ=
+ Q29udGFjdCBVcw==
+ Q29udGFjdCBJbmZvcm1hdGlvbg==
+ Q29udGludWU=
+ Q29va2llcw==
+ UGxlYXNlIGVuYWJsZSBjb29raWVzIHRvIGxvZ2luIQ==
+ Q291bnRyeQ==
+ Y3JlYXRlZA==
+ Q3JlYXRlIFBhc3N3b3Jk
+ Q3JlZGl0IENhcmRz
+ Q3VycmVudCBWYWx1ZQ==
+ RGF0ZQ==
+ RGF0ZSBjcmVhdGVk
+ RGVj
+ RW5hYmxlIEJCQ29kZQ==
+ Tm90aWZ5IG1lIG9uIGNoYW5nZXMgdG8gdG9waWNzIEkgY3JlYXRl
+ UmVjZWl2ZSBQcml2YXRlIE1lc3NhZ2UgTm90aWZpY2F0aW9ucw==
+ QXR0YXRjaCBNeSBTaWduYXR1cmUgdG8gUG9zdHM=
+ U2ltbGllcyBvbiBieSBkZWZhdWx0
+ U2lnbmF0dXJlcyBvbiBieSBkZWZhdWx0
+ RGVsZXRl
+ Q29uZmlybSBEZWxldGU=
+ RGVsZXRlIEZyaWVuZA==
+ QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGxpbms/
+ VGhlIGxpbmsgd2FzIHN1Y2Nlc3NmdWxseSByZW1vdmVkIGZyb20gIEZhdm9yaXRlcy4=
+ RGVzY2VuZGluZw==
+ RGV0YWlscw==
+ ZGV0YWlscyB1cGRhdGVk
+ RGlyZWN0b3J5
+ RGlzYWJsZQ==
+ TW9kaWZ5
+ RWRpdGVkIEJ5
+ RWRpdG9ycyBQaWNr
+ RWRpdG9yJ3MgUGlja3M=
+ RWRpdCBUb3BpYyBSZXN1bHRz
+ VG9waWMgbW9kaWZpZWQ=
+ VG9waWMgaGFzIGJlZW4gbW9kaWZpZWQgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbA==
+ Q2hhbmdlcyBtYWRlIHRvIHRoZSB0b3BpYyBoYXZlIGJlZW4gc2F2ZWQu
+ TW9kaWZ5IFBvc3Q=
+ TW9kaWZ5IFRvcGlj
+ RS1NYWls
+ QSB1c2VyIHdpdGggc3VjaCBlLW1haWwgYWxyZWFkeSBleGlzdHMu
+ TWFpbCBzZW5kaW5nIGZhaWxlZA==
+ RW5hYmxlZA==
+ RW5kIE9u
+ Wm9vbSBpbg==
+ RW50ZXI=
+ RW50ZXIgeW91ciBmcmllbmQgZS1tYWlsIGFkZHJlc3MgdG8gcmVjb21tZW5kIHRoaXMgc2l0ZQ==
+ RW50ZXIgeW91ciBlLW1haWwgYWRkcmVzcyB0byBzdWJzY3JpYmUgdG8gdGhlIG1haWxpbmcgbGlzdC4=
+ RW50ZXIgeW91ciBVc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzIGJlbG93IHRvIGhhdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9uIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3Mgb2YgeW91ciBhY2NvdW50Lg==
+ TWlzc2luZyBvciBpbnZhbGlkIHZhbHVlcy4gUGxlYXNlIGNoZWNrIGFsbCB0aGUgZmllbGRzIGFuZCB0cnkgYWdhaW4u
+ U29ycnksIHRoZSByZXF1ZXN0ZWQgVVJMIHdhcyBub3QgZm91bmQgb24gb3VyIHNlcnZlci4=
+ RXJyb3IgNDA0IC0gTm90IEZvdW5k
+ RXJyb3I=
+ RXJyb3I=
+ RXhpc3RpbmcgVXNlcnM=
+ RXhwaXJlcw==
+ RmFsc2U=
+ RmF2b3JpdGU=
+ VW5hYmxlIHRvIGFkZCBmYXZvcml0ZSwgYWNjZXNzIGRlbmllZA==
+ RmVi
+ WW91IG11c3QgZW50ZXIgYSBVc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzIHRvIHJldHJpdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9u
+ Qm90aCBhIFVzZXJuYW1lIGFuZCBQYXNzd29yZCBpcyByZXF1aXJlZA==
+ UGxlYXNlIGVudGVyIHlvdXIgcGFzc3dvcmQgYW5kIHRyeSBhZ2Fpbg==
+ WW91IGRpZCBub3QgZW50ZXIgeW91ciBVc2VybmFtZQ==
+ RGF0ZSBvZiBiaXJ0aCBpcyByZXF1aXJlZA==
+ TWlzc2luZyBmaXJzdCBuYW1l
+ TWlzc2luZyB1c2Vy
+ RGF0ZSBvZiBiaXJ0aCBpcyByZXF1aXJlZA==
+ RW1haWwgaXMgcmVxdWlyZWQ=
+ Rmlyc3QgbmFtZSBpcyByZXF1aXJlZA==
+ UGFzc3dvcmQgcmVxdWlyZWQ=
+ QWNjZXNzIGRlbmllZA==
+ UGFzc3dvcmRzIGRvIG5vdCBtYXRjaA==
+ VGhlIHBhc3N3b3JkIGlzIHRvbyBsb25n
+ UGFzc3dvcmQgaXMgdG9vIHNob3J0
+ Tm90IHJlc2V0
+ WW91IGhhdmUgYWxyZWFkeSByZXZpZXdlZCB0aGlzIGl0ZW0u
+ RmlsZSBpcyB0b28gbGFyZ2U=
+ VXNlciBhY2NvdW50IHdpdGggZ2l2ZW4gRS1tYWlsIG5vdCBmb3VuZA==
+ VXNlciBhY2NvdW50IHdpdGggZ2l2ZW4gVXNlcm5hbWUgbm90IGZvdW5k
+ VXNlciBuYW1lIGlzIHRvbyBzaG9ydA==
+ V3JvbmcgZmlsZSB0eXBl
+ Y2Mx
+ Y2My
+ Y2Mz
+ Y2M0
+ Y2M1
+ Y2M2
+ bGMx
+ bGMy
+ bGMz
+ bGM0
+ bGM1
+ bGM2
+ dWMx
+ dWMy
+ dWMz
+ dWM0
+ dWM1
+ dWM2
+ QXJjaGl2ZSBEYXRl
+ QXJ0aWNsZSBBdXRob3I=
+ QXJ0aWNsZSBCb2R5
+ TnVtYmVyIG9mIERlc2NlbmRhbnRz
+ Q2F0ZWdvcnkgUGF0aA==
+ UmF0aW5n
+ TnVtYmVyIG9mIFJldmlld3M=
+ TnVtYmVyIG9mIFJhdGluZyBWb3Rlcw==
+ Q2F0ZWdvcnkgSWQ=
+ Q2l0eQ==
+ Q291bnRyeQ==
+ Q3JlYXRlZCBCeSBVc2VyIElE
+ RGF0ZSBDcmVhdGVk
+ RGVzY3JpcHRpb24=
+ RGF0ZSBvZiBCaXJ0aA==
+ RWRpdG9yJ3MgcGljaw==
+ RS1tYWls
+ RW5kcyBPbg==
+ QXJ0aWNsZSBFeGNlcnB0
+ Rmlyc3QgTmFtZQ==
+ SGl0cw==
+ SXRlbSBJcyBIb3Q=
+ TGFzdCBOYW1l
+ TGFzdCBQb3N0IElE
+ Q2F0ZWdvcnkgTGVhZCBTdG9yeT8=
+ TGVhZCBTdG9yeT8=
+ TGluayBJRA==
+ TG9naW4gKFVzZXIgbmFtZSk=
+ TWV0YSBEZXNjcmlwdGlvbg==
+ TWV0YSBLZXl3b3Jkcw==
+ TGFzdCBNb2RpZmllZCBEYXRl
+ TW9kaWZpZWQgQnkgVXNlciBJRA==
+ TmFtZQ==
+ SXRlbSBJcyBOZXc=
+ QXJ0aWNsZSBJRA==
+ Tm90aWZ5IE93bmVyIG9mIENoYW5nZXM=
+ T3JpZ2luYWwgSXRlbSBJRA==
+ T3duZXIgVXNlciBJRA==
+ UGFyZW50IElk
+ UGFyZW50IENhdGVnb3J5IFBhdGg=
+ UGFzc3dvcmQ=
+ VGVsZXBob25l
+ SXRlbSBJcyBQb3B1bGFy
+ VXNlciBJRA==
+ UG9zdGVkIEJ5
+ VG9waWMgUG9zdHM=
+ UHJpb3JpdHk=
+ UXR5IFNvbGQ=
+ UmVzb3VyY2UgSUQ=
+ U3RhcnQgRGF0ZQ==
+ U3RhdGU=
+ U3RhdHVz
+ U3RyZWV0IEFkZHJlc3M=
+ QXJ0aWNsZSBUZXh0
+ QXJ0aWNsZSBUaXRsZQ==
+ VG9waWMgSUQ=
+ VG9waWMgVGV4dA==
+ VG9waWMgVHlwZQ==
+ SXRlbSBJcyBhIFRvcCBTZWxsZXI=
+ VGltZSBab25l
+ VVJM
+ Vmlld3M=
+ WmlwIChQb3N0YWwpIENvZGU=
+ Rmlyc3QgTmFtZQ==
+ TW9kdWxl
+ UGhyYXNl
+ UHJpbWFyeSBUcmFuc2xhdGlvbg==
+ VHJhbnNsYXRpb24=
+ Rm9yZ290IHBhc3N3b3Jk
+ UGFzc3dvcmQgUmVxdWVzdCBDb25maXJtYXRpb24=
+ Q29uZmlybSBwYXNzd29yZCByZXNldA==
+ WW91IGhhdmUgY2hvc2VkIHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQuIEEgbmV3IHBhc3N3b3JkIGhhcyBiZWVuIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHRoZSBzeXN0ZW0uIEl0IGhhcyBiZWVuIGVtYWlsZWQgdG8geW91ciBhZGRyZXNzIG9uIGZpbGUu
+ UGxlYXNlIGNvbmZpcm0gdGhhdCB5b3Ugd2FudCB0byByZXNldCB5b3VyIHBhc3N3b3JkLg==
+ Rm9yZ290IFBhc3N3b3Jk
+ Rm9yZ290IFBhc3N3b3Jk
+ RW50ZXIgeW91ciBVc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzIGJlbG93IHRvIGhhdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9uIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3Mgb2YgeW91ciBhY2NvdW50Lg==
+ Rm9ydW1z
+ V2VsY29tZSB0byBJbi1wb3J0YWwgZm9ydW1zIQ==
+ V2VsY29tZSB0byBJbi1idWxsZXRpbiBGb3J1bXMh
+ Rm9ydW0gaXMgbG9ja2VkIGZvciBwb3N0aW5n
+ Rm91bmQ6
+ RnJvbQ==
+ RnVsbCBTdG9yeQ==
+ R2V0dGluZyBSYXRlZA==
+ WW91IG1heSBwbGFjZSB0aGUgZm9sbG93aW5nIEhUTUwgY29kZSBvbiB5b3VyIHdlYiBzaXRlIHRvIGFsbG93IHlvdXIgc2l0ZSB2aXNpdG9ycyB0byB2b3RlIGZvciB0aGlzIHJlc291cmNl
+ R3Vlc3Q=
+ SGVscA==
+ SGVyZQ==
+ SGl0cw==
+ SG9tZQ==
+ SG90
+ SG90IExpbmtz
+ aW4=
+ SW5ib3g=
+ VXNlcm5hbWUvUGFzc3dvcmQgSW5jb3JyZWN0
+ SW5kaWNhdGVzIFJlcXVpcmVkIGZpZWxkcw==
+ SW52YWxpZCBlLW1haWwgYWRkcmVzcw==
+ RS1tYWlsIGFkZHJlc3MgbWlzc2luZyBvciBpbnZhbGlk
+ SW52YWxpZCBQYXNzd29yZA==
+ SW4gdGhpcyBtZXNzYWdl
+ SXRlbXMgc2luY2UgbGFzdCBsb2dpbg==
+ SmFu
+ Sm9pbmVk
+ SnVs
+ SnVu
+ S2V5d29yZCBpcyB0b28gc2hvcnQ=
+ TGFzdCBQb3N0
+ TGFzdCBQb3N0IEJ5
+ TGFzdCBVcGRhdGU=
+ TGFzdCBOYW1l
+ TGVnZW5k
+ TGlua3M=
+ bGlua3MgdXBkYXRlZA==
+ WW91ciByZXZpZXcgaGFzIGJlZW4gYWRkZWQgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbA==
+ WW91ciByZXZpZXcgaGFzIGJlZW4gYWRkZWQ=
+ TGluayBEZXRhaWxz
+ TGluayBJbmZvcm1hdGlvbg==
+ TGluayBOYW1l
+ TGluayBSYXRpbmcgUmVzdWx0cw==
+ WW91IGhhdmUgYWxyZWFkeSByYXRlZCB0aGlzIGxpbmsu
+ VGhhbmsgZm9yIHJhdGluZyB0aGlzIGxpbmsuICBZb3VyIGlucHV0IGhhcyBiZWVuIHJlY29yZGVkLg==
+ TGluayBSZXZpZXdz
+ TGluayBSZXZpZXcgUmVzdWx0cw==
+ TGluayBSZXZpZXcgUGVuZGluZw==
+ TGluayBTZWFyY2ggUmVzdWx0cw==
+ TG9jYXRpb24=
+ TG9ja2VkIHRvcGlj
+ TG9jay9VbmxvY2s=
+ TG9naW4=
+ TG9naW4gSW5mb3JtYXRpb24=
+ TG9naW4gTmFtZQ==
+ TG9naW4=
+ TG9nIE91dA==
+ TG9nb3V0IG9mIHlvdXIgYWNjb3VudA==
+ TG9nIG91dCBvZiB0aGUgc3lzdGVt
+ TWFpbGluZyBMaXN0
+ TWFy
+ TWF5
+ TWVzc2FnZQ==
+ TWVzc2FnZSBCb2R5
+ UGFzc3dvcmQgcmVzZXQgaW50ZXJ2YWw=
+ TWlzc2luZyBUZW1wbGF0ZQ==
+ TW9kaWZpZWQ=
+ TGluayBNb2RpZmljYXRpb24gQ29uZmlybWF0aW9u
+ WW91ciBsaW5rIGhhcyBiZWVuIG1vZGlmaWVkLg==
+ TGluayBtb2RpZmljYXRpb24gY29tcGxldGU=
+ WW91ciBsaW5rIG1vZGlmaWNhdGlvbiBoYXMgYmVlbiBzdWJtaXR0ZWQgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbA==
+ TW9kaWZ5IExpbms=
+ TW9yZQ==
+ TW9yZSBkZXRhaWxz
+ TW9yZSBJbmZv
+ V2VsY29tZQ==
+ TXkgQWNjb3VudA==
+ TXkgQXJ0aWNsZXM=
+ TmV3cyBBcnRpY2xlcyB5b3UgaGF2ZSB3cml0dGVu
+ TXkgRmF2b3JpdGVz
+ SXRlbXMgeW91IGhhdmUgbWFya2VkIGFzIGZhdm9yaXRl
+ TXkgRnJpZW5kcw==
+ VmlldyB5b3VyIGxpc3Qgb2YgZnJpZW5kcw==
+ TXkgUHJvZmlsZQ==
+ WW91ciBBY2NvdW50IEluZm9ybWF0aW9u
+ TXkgSXRlbXM=
+ TXkgTGlua3M=
+ TGlua3MgeW91IGhhdmUgYWRkZWQgdG8gdGhlIHN5c3RlbQ==
+ TXkgRmF2b3JpdGVz
+ TXkgTmV3cw==
+ RmF2b3JpdGUgQXJ0aWNsZXM=
+ TXkgUHJlZmVyZW5jZXM=
+ RWRpdCB5b3VyIEluLVBvcnRhbCBQcmVmZXJlbmNlcw==
+ TXkgUHJvZmlsZQ==
+ TXkgVG9waWNz
+ RGlzY3Vzc2lvbnMgeW91IGhhdmUgY3JlYXRlZA==
+ TXkgVG9waWNz
+ TmFtZQ==
+ QWRkIExpbms=
+ TmV3
+ TmV3IEN1c3RvbWVycw==
+ TmV3IFByaXZhdGUgTWVzc2FnZSBDb25maXJtYXRpb24=
+ WW91ciBwcml2YXRlIG1lc3NhZ2UgaGFzIGJlZW4gc2VudC4=
+ TmV3cw==
+ VGhlIGFydGljbGUgcmV2aWV3IGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBkYXRhYmFzZS4=
+ QXJ0aWNsZSByZXZpZXcgaGFzIGJlZW4gc3VibWl0dGVkIHBlbmRpbmcgYWRtaW5pc3RyYXRpdmUgYXBwcm92YWw=
+ TmV3cyBEZXRhaWxz
+ UmF0ZSBBcnRpY2xlIFJlc3VsdHM=
+ WW91IGhhdmUgYWxyZWFkeSByYXRlZCB0aGlzIGFydGljbGU=
+ VGhhbmsgeW91IGZvciByYXRpbmcgdGhpcyBhcnRpY2xlLiBZb3VyIHZvdGUgaGFzIGJlZW4gcmVjb3JkZWQu
+ VGhlIHJldmlldyBoYXMgYmVlbiBhZGRlZA==
+ QXJ0aWNsZSByZXZpZXcgc3VibWl0dGVk
+ U2VhcmNoIFJlc3VsdHM=
+ bmV3cyB1cGRhdGVk
+ QWRkIFRvcGljIFJlc3VsdHM=
+ WW91ciB0b3BpYyBoYXMgYmVlbiBhZGRlZA==
+ VGhlIHN5c3RlbSBhZG1pbmlzdHJhdG9yIG11c3QgYXBwcm92ZSB5b3VyIHRvcGljIGJlZm9yZSBpdCBpcyBwdWJsaWNseSBhdmFpbGFibGUu
+ VGhlIFRvcGljIHlvdSBoYXZlIGNyZWF0ZWQgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIHN5c3RlbQ==
+ TmV3IGFydGljbGVz
+ TmV3IExpbmtz
+ TmV3IGFydGljbGVz
+ TmV3IFByaXZhdGUgTWVzc2FnZQ==
+ Rm9ydW0gaGFzIG5ldyBwb3N0cw==
+ TmV3IHByaXZhdGUgbWVzc2FnZQ==
+ TmV3IGxpbmtz
+ TmV3IGFydGljbGVz
+ TmV3IHRvcGljcw==
+ TmV3IFRvcGlj
+ TmV3IFVzZXJz
+ Tm8=
+ U29ycnksIHlvdSBoYXZlIG5vIGFjY2VzcyB0byB0aGlzIHBhZ2Uh
+ Tm9uZQ==
+ Tm90aWZ5IG1lIHdoZW4gcG9zdHMgYXJlIG1hZGUgaW4gdGhpcyB0b3BpYw==
+ Tm90IGxvZ2dlZCBpbg==
+ Tm92
+ Tm8gQXJ0aWNsZXM=
+ Tm8gQ2F0ZWdvcmllcw==
+ Tm8gZXhwaXJhdGlvbg==
+ Tm8gZmF2b3JpdGVz
+ Tm8gSXRlbXM=
+ S2V5d29yZCBtaXNzaW5n
+ Tm8gTGlua3M=
+ Rm9ydW0gaGFzIG5vIG5ldyBwb3N0cw==
+ Tm8gUGVybWlzc2lvbnM=
+ Tm8gUmVsYXRlZCBDYXRlZ29yaWVz
+ RXJyb3I6IG5vIHNlc3Npb24=
+ TWlzc2luZyB0ZW1wbGF0ZQ==
+ Tm8gVG9waWNz
+ T2N0
+ b2Y=
+ T2ZmbGluZQ==
+ T2s=
+ b24=
+ T25saW5l
+ b24gdGhpcyBwb3N0
+ WW91IGRvIG5vdCBoYXZlIGFjY2VzcyB0byBwZXJmb3JtIHRoaXMgb3BlcmF0aW9u
+ T3B0aW9uYWw=
+ T3B0aW9ucw==
+ b3I=
+ UGFnZQ==
+ UGFnZTo=
+ UGFzc3dvcmQ=
+ UGFzc3dvcmRzIGRvIG5vdCBtYXRjaA==
+ UGFzc3dvcmQgaXMgdG9vIHNob3J0LCBwbGVhc2UgZW50ZXIgYXQgbGVhc3QgJXMgY2hhcmFjdGVycw==
+ UGFzc3dvcmQgQWdhaW4=
+ QWRtaW4gTG9naW4=
+ QWRkIFBlbmRpbmcgQ2F0ZWdvcnk=
+ QWRkIENhdGVnb3J5
+ RGVsZXRlIENhdGVnb3J5
+ TW9kaWZ5IENhdGVnb3J5
+ VmlldyBDYXRlZ29yeQ==
+ QXBwZW5kIHBocGluZm8gdG8gYWxsIHBhZ2VzIChEZWJ1Zyk=
+ RGlzcGxheSBJdGVtIFF1ZXJpZXMgKERlYnVnKQ==
+ RGlzcGxheSBJdGVtIExpc3QgUXVlcmllcyAoRGVidWcp
+ QWxsb3cgZmF2b3JpdGVz
+ UGVuZGluZyBMaW5r
+ QWRkIExpbms=
+ RGVsZXRlIExpbms=
+ TW9kaWZ5IExpbmsgUGVuZGluZw==
+ TW9kaWZ5IExpbms=
+ TGluayBEZWxldGUgYnkgT3duZXI=
+ TGluayBNb2RpZnkgUGVuZGluZyBieSBPd25lcg==
+ TGluayBNb2RpZnkgYnkgT3duZXI=
+ UmF0ZSBMaW5r
+ UmV2aWV3IExpbms=
+ UmV2aWV3IExpbmsgUGVuZGluZw==
+ VmlldyBMaW5r
+ QWxsb3cgTG9naW4=
+ QWRkIFBlbmRpbmcgTmV3cw==
+ QWRkIE5ld3M=
+ RGVsZXRlIE5ld3M=
+ TW9kaWZ5IE5ld3M=
+ UmF0ZSBOZXdz
+ UmV2aWV3IE5ld3MgUGVuZGluZw==
+ UmV2aWV3IE5ld3M=
+ VmlldyBOZXdz
+ Q2hhbmdlIFVzZXIgUHJvZmlsZXM=
+ U2hvdyBMYW5ndWFnZSBUYWdz
+ QWRkIFBlbmRpbmcgVG9waWM=
+ QWRkIFRvcGlj
+ RGVsZXRlIFRvcGlj
+ TG9jay9VbmxvY2sgVG9waWNz
+ TW9kaWZ5IFRvcGljIFBlbmRpbmc=
+ TW9kaWZ5IFRvcGlj
+ VG9waWMgT3duZXIgRGVsZXRl
+ T3duZXIgTW9kaWZ5IFRvcGljIFBlbmRpbmc=
+ VG9waWMgT3duZXIgTW9kaWZ5
+ UmF0ZSBUb3BpYw==
+ QWRkIFRvcGljIFJlcGx5
+ RGVsZXRlIFRvcGlj
+ UmVwbHkgVG9waWMgTW9kaWZ5
+ UG9zdCBPd25lciBEZWxldGU=
+ UG9zdCBPd25lciBNb2RpZnk=
+ VmlldyBUb3BpYyBSZXBseQ==
+ UmV2aWV3IFRvcGlj
+ VmlldyBUb3BpYw==
+ UGhvbmU=
+ UGljaw==
+ RWRpdG9yJ3MgUGljayBMaW5rcw==
+ RWRpdG9yJ3MgUGljayBBcnRpY2xlcw==
+ RWRpdG9yJ3MgcGljayB0b3BpY3M=
+ UGxlYXNlIFJlZ2lzdGVy
+ QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHByaXZhdGUgbWVzc2FnZT8=
+ UHJpdmF0ZSBNZXNzYWdlcw==
+ UHJpdmF0ZSBNZXNzYWdlcw==
+ UG9wdWxhcg==
+ TW9zdCBQb3B1bGFyIExpbmtz
+ UG9zdA==
+ UG9zdGVk
+ UG9zdGVy
+ cG9zdHM=
+ cG9zdHMgdXBkYXRlZA==
+ UG93ZXJlZCBieQ==
+ Q2l0eQ==
+ Q29tcGFueQ==
+ Q291bnRyeQ==
+ QmlydGhkYXRl
+ RS1tYWls
+ RmF4
+ Rmlyc3QgTmFtZQ==
+ TGFzdCBOYW1l
+ UGhvbmU=
+ U3RhdGU=
+ U3RyZWV0
+ U3RyZWV0IDI=
+ Wmlw
+ UHJpdmFjeQ==
+ UHJpdmF0ZSBtZXNzYWdlcyB1cGRhdGVk
+ UHJpdmF0ZSBNZXNzYWdlcw==
+ UHJvZmlsZQ==
+ UHJvZmlsZQ==
+ cHJvZmlsZSB1cGRhdGVk
+ QXZhdGFyIEltYWdl
+ RGVzY3JpcHRpb24=
+ Q2F0ZWdvcnkgTmFtZQ==
+ RW1haWw=
+ RnVsbC1TaXplIEltYWdlOg==
+ RGVzY3JpcHRpb24=
+ TGluayBOYW1l
+ VVJM
+ TWV0YSBUYWcgRGVzY3JpcHRpb24=
+ TWV0YSBUYWcgS2V5d29yZHM=
+ UGFzc3dvcmQ=
+ UG9zdHMgUGVyIFBhZ2U=
+ VG9waWNzIFBlciBQYWdl
+ UG9zdCBTdWJqZWN0
+ UmVjb21tZW5kIHRoaXMgc2l0ZSB0byBhIGZyaWVuZA==
+ UmV2aWV3Og==
+ U2lnbmF0dXJl
+ RW50ZXIgeW91ciBlLW1haWwgYWRkcmVzcyB0byBzdWJzY3JpYmUgdG8gdGhlIG1haWxpbmcgbGlzdC4=
+ VGh1bWJuYWlsIEltYWdlOg==
+ VXNlcm5hbWU=
+ RGlzcGxheSB0byBQdWJsaWM=
+ UXVlcnkgU3RyaW5n
+ UXVpY2sgU2VhcmNo
+ UXVpY2sgTGlua3M=
+ UmVwbHkgUXVvdGVk
+ UmF0ZSBUaGlzIExpbms=
+ VW5hYmxlIHRvIHJhdGUsIGFjY2VzcyBkZW5pZWQ=
+ UmF0ZSB0aGlzIGFydGljbGU=
+ UmF0ZSBMaW5r
+ UmF0ZSBBcnRpY2xl
+ UmF0ZSB0aGlzIGFydGljbGU=
+ UmF0ZSBUb3BpYw==
+ UmF0aW5n
+ UG9vcg==
+ RmFpcg==
+ QXZlcmFnZQ==
+ R29vZA==
+ VmVyeSBHb29k
+ RXhjZWxsZW50
+ QWxyZWFkeSB2b3RlZA==
+ VW5hYmxlIHRvIHJlYWQgZnJvbSBmaWxl
+ VGhlIHJlY2lwaWVudCBpcyByZXF1aXJlZA==
+ VXNlciBkb2VzIG5vdCBleGlzdA==
+ VGhlIHJlY2lwaWVudCBkb2VzIG5vdCBleGlzdA==
+ UmVjb21tZW5k
+ UmVjb21tZW5kIHRvIGEgRnJpZW5k
+ UmVjb21tZW5kYXRpb24gQ29uZmlybWF0aW9u
+ VGhhbmtzIGZvciByZWNvbW1lbmRpbmcgb3VyIHNpdGUgdG8geW91ciBmcmllbmQuIFRoZSBlbWFpbCBoYXMgYmVlbiBzZW50IG91dC4=
+ UmVjb21tZW5kIHRvIGEgZnJpZW5k
+ Q2xpY2sgaGVyZSBpZiB5b3VyIGJyb3dzZXIgZG9lcyBub3QgYXV0b21hdGljYWxseSByZWRpcmVjdCB5b3Uu
+ UmVkaXJlY3RpbmcgLi4u
+ UmVnaXN0ZXI=
+ UmVnaXN0cmF0aW9uIENvbmZpcm1hdGlvbg==
+ UmVnaXN0cmF0aW9uIENvbXBsZXRl
+ VGhhbmsgeW91IGZvciBSZWdpc3RlcmluZyEgIFBsZWFzZSBlbnRlciB5b3VyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBiZWxvdw==
+ UmVnaXN0ZXIgd2l0aCBJbi1Qb3J0YWwgZm9yIGNvbnZlbmllbnQgYWNjZXNzIHRvIHVzZXIgYWNjb3VudCBzZXR0aW5ncyBhbmQgcHJlZmVyZW5jZXMu
+ VGhhbmsgWW91LiBSZWdpc3RyYXRpb24gY29tcGxldGVkLg==
+ UmVsYXRlZCBhcnRpY2xlcw==
+ UmVsYXRlZCBDYXRlZ29yaWVz
+ UmVsYXRlZCBDYXRlZ29yaWVz
+ UmVsYXRlZCBMaW5rcw==
+ UmVsYXRlZCBOZXdz
+ UmVtZW1iZXIgTG9naW4=
+ UmVtb3Zl
+ UmVtb3ZlIEZyb20gRmF2b3JpdGVz
+ UmVwZWF0IFBhc3N3b3Jk
+ UmVwbGllcw==
+ UmVwbHk=
+ UmVxdWlyZWQgRmllbGQ=
+ UmVzZXQ=
+ QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IHRoZSBwYXNzd29yZD8=
+ UGxlYXNlIGNvbmZpcm0gdGhhdCB5b3Ugd2FudCB0byByZXNldCB5b3VyIHBhc3N3b3JkLg==
+ UmV2aWV3cw==
+ cmV2aWV3cyB1cGRhdGVk
+ VW5hYmxlIHRvIHJldmlldywgYWNjZXNzIGRlbmllZA==
+ UmV2aWV3IGFydGljbGU=
+ UmV2aWV3IExpbms=
+ UmV2aWV3IG5ld3MgYXJ0aWNsZQ==
+ UmV2aWV3IHRoaXMgYXJ0aWNsZQ==
+ SG9tZQ==
+ U2VhcmNo
+ U2VhcmNoZWQgRm9yOg==
+ U2VhcmNoIFByb2R1Y3Rz
+ U2VhcmNoIEFydGljbGVz
+ U2VhcmNoIENhdGVnb3JpZXM=
+ U2VhcmNoIExpbmtz
+ U2VhcmNoIFRvcGljcw==
+ U2VhcmNoIEFnYWlu
+ Rm9ybSBFcnJvcg==
+ U2VhcmNoIFJlc3VsdHM=
+ U2VhcmNoIFRpcHM=
+ U2VhcmNoIFR5cGU=
+ U2VhcmNoIFJlc3VsdHM=
+ U2VlIEFsc28=
+ U2VsZWN0IExhbmd1YWdl
+ U2VsZWN0IFRoZW1l
+ U2VsZWN0IFVzZXJuYW1l
+ U2VuZA==
+ U2VuZCBQcml2YXRlIE1lc3NhZ2U=
+ U2VudA==
+ U2Vw
+ U2hvcHBpbmcgQ2FydA==
+ U2hvdw==
+ U2hvdyBTaWduYXR1cmU=
+ U2hvdyBNeSBTaWduYXR1cmU=
+ U2l0ZSBMZWFkIFN0b3J5
+ U2l0ZSBNYXA=
+ U21pbGV5cw==
+ U29ydGVkIGxpc3Q=
+ U29ydA==
+ U3RhdGU=
+ U3RyZWV0
+ U3RyZWV0IDI=
+ QWxzbyBZb3UgQ2FuOg==
+ U3ViY2F0ZWdvcmllcw==
+ U3ViamVjdA==
+ U3VibWl0dGluZyB0bw==
+ U3Vic2NyaXB0aW9uIGRlbmllZA==
+ U3Vic2NyaXB0aW9uIENvbmZpcm1hdGlvbg==
+ QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHN1YnNjcmliZSB0byBvdXIgbWFpbGluZyBsaXN0PyAoWW91IGNhbiB1bnN1YnNjcmliZSBhbnkgdGltZSBieSBlbnRlcmluZyB5b3VyIGVtYWlsIG9uIHRoZSBmcm9udCBwYWdlKS4=
+ VGhhbmsgeW91IGZvciBzdWJzY3JpYmluZyB0byBvdXIgbWFpbGluZyBsaXN0IQ==
+ Rm9ybSBFcnJvcg==
+ TWlzc2luZyBlbWFpbCBhZGRyZXNz
+ RS1tYWlsIGFkZHJlc3MgbWlzc2luZyBvciBpbnZhbGlk
+ U3Vic2NyaXB0aW9uIHN1Y2Nlc3NmdWw=
+ U3Vic2NyaWJlZA==
+ VW5kZWZpbmVkIGVycm9yIG9jY3VycmVkLCBzdWJzY3JpcHRpb24gbm90IGNvbXBsZXRlZA==
+ U3VnZ2VzdCBDYXRlZ29yeQ==
+ Q2F0ZWdvcnkgU3VnZ2VzdGVkIChQZW5kaW5nIEFwcHJvdmFsKQ==
+ Rm9ybSBFcnJvcg==
+ U3VnZ2VzdCBMaW5r
+ RS1tYWlsIGFkZHJlc3MgbWlzc2luZyBvciBpbnZhbGlk
+ VGhhbmsgeW91IGZvciBzdWdnZXN0aW5nIG91ciBzaXRlIHRv
+ VGVtcGxhdGUgRXJyb3I=
+ IFdlIGFyZSBzb3JyeSB5b3UgaGF2ZSB1bnN1YnNjcmliZWQgZnJvbSBvdXIgbWFpbGluZyBsaXN0
+ S2V5d29yZA==
+ UGxlYXNlIGNvbmZpcm0gdGhhdCB5b3Ugd2FudCB0byByZXNldCB5b3VyIHBhc3N3b3JkLg==
+ VGhhbmsgeW91IGZvciBzdWJzY3JpYmluZyB0byBvdXIgbWFpbGluZyBsaXN0
+ Q29uZmlybWF0aW9u
+ TWFpbGluZyBMaXN0
+ UGFzc3dvcmQgUmVxdWVzdCBDb25maXJtYXRpb24=
+ VG8=
+ VG9wIFJhdGVk
+ VG9waWNz
+ VG9waWNzIFVwZGF0ZWQ=
+ VG9waWMgUmF0aW5nIFJlc3VsdHM=
+ WW91IGhhdmUgYWxyZWFkeSByYXRlZCB0aGlzIHRvcGlj
+ VGhhbmsgeW91IGZvciB2b3RpbmchICBZb3VyIGlucHV0IGhhcyBiZWVuIHJlY29yZGVkLg==
+ UG9zdCBSZXBseQ==
+ VG9waWMgU2VhcmNoIFJlc3VsdHM=
+ VG9waWMgVXBkYXRlZA==
+ VG9wIFJhdGVkIExpbmtz
+ VG90YWwgQ2F0ZWdvcmllcw==
+ VG90YWwgbGlua3MgaW4gdGhlIGRhdGFiYXNl
+ VG90YWwgQXJ0aWNsZXM=
+ VG90YWwgVG9waWNz
+ VHJ1ZQ==
+ U3lzdGVtIGVycm9yIGhhcyBvY2N1cmVk
+ VW5zb3J0ZWQgbGlzdA==
+ VW5zdWJzY3JpcHRpb24gQ29uZmlybWF0aW9u
+ QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVuc3Vic2NyaWJlIGZyb20gb3VyIG1haWxpbmcgbGlzdD8gKFlvdSBjYW4gYWx3YXlzIHN1YnNjcmliZSBhZ2FpbiBieSBlbnRlcmluZyB5b3VyIGVtYWlsIGF0IHRoZSBob21lIHBhZ2Up
+ V2UgYXJlIHNvcnJ5IHlvdSBoYXZlIHVuc3Vic2NyaWJlZCBmcm9tIG91ciBtYWlsaW5nIGxpc3Q=
+ VW5zdWJzY3JpYmU=
+ VXBkYXRl
+ VXNlcm5hbWU=
+ VXNlcnMgT25saW5l
+ QSB1c2VyIHdpdGggc3VjaCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cy4=
+ QSB1c2VyIHdpdGggc3VjaCB1c2VybmFtZS9lLW1haWwgYWxyZWFkeSBleGlzdHMu
+ VXNlciBhbHJlYWR5IGV4aXN0cw==
+ UGVuZGluZyBSZWdpc3RyYXRpb24gQ29tcGxldGU=
+ VGhhbmsgeW91IGZvciByZWdpc3RlcmluZy4gWW91ciByZWdpc3RyYXRpb24gaXMgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4=
+ VmVyaWZ5IHBhc3N3b3Jk
+ Vmlld3M=
+ VmlldyBGbGF0
+ VmlldyBQTQ==
+ VmlldyBVc2VyIFByb2ZpbGU=
+ VmlldyBUaHJlYWRlZA==
+ VmlldyBZb3VyIFByb2ZpbGU=
+ RGlyZWN0IGFjY2VzcyBvciBib29rbWFyaw==
+ Vm90ZXM=
+ V2FybmluZw==
+ V2UgYWNjZXB0IGNyZWRpdCBjYXJkcw==
+ d3JvdGU=
+ WWVz
+ WW91ciBBY2NvdW50
+ U2hvcHBpbmcgQ2FydA==
+ WW91ciBjdXJyZW5jeQ==
+ WW91ciBMYW5ndWFnZQ==
+ WW91ciBXaXNoIExpc3Q=
+ Wmlw
+ WklQIENvZGU=
+ WklQIENvZGU=
+ Wm9vbQ==
+ TXkgU2V0dGluZ3M=
+ TmV4dCBUaGVtZQ==
+ UHJldmlvdXMgVGhlbWU=
+ dGVzdCAy
+
+
+ U3ViamVjdDogQ2F0ZWdvcnkgYWRkZWQKCllvdXIgc3VnZ2VzdGVkIGNhdGVnb3J5ICI8aW5wOm1fY2F0ZWdvcnlfZmllbGQgX0ZpZWxkPSJOYW1lIiBfU3RyaXBIVE1MPSIxIi8+IiBoYXMgYmVlbiBhZGRlZC4=
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBhZGRlZAoKQSBjYXRlZ29yeSAiPGlucDptX2NhdGVnb3J5X2ZpZWxkIF9GaWVsZD0iTmFtZSIgX1N0cmlwSFRNTD0iMSIvPiIgaGFzIGJlZW4gYWRkZWQu
+
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQ2F0ZWdvcnkgYWRkZWQgKHBlbmRpbmcpCgpBIGNhdGVnb3J5ICI8aW5wOm1fY2F0ZWdvcnlfZmllbGQgX0ZpZWxkPSJOYW1lIiBfU3RyaXBIVE1MPSIxIi8+IiBoYXMgYmVlbiBhZGRlZCwgcGVuZGluZyB5b3VyIGNvbmZpcm1hdGlvbi4gIFBsZWFzZSByZXZpZXcgdGhlIGNhdGVnb3J5IGFuZCBhcHByb3ZlIG9yIGRlbnkgaXQu
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBhcHByb3ZlZAoKWW91ciBzdWdnZXN0ZWQgY2F0ZWdvcnkgIjxpbnA6bV9jYXRlZ29yeV9maWVsZCBfRmllbGQ9Ik5hbWUiIF9TdHJpcEhUTUw9IjEiLz4iIGhhcyBiZWVuIGFwcHJvdmVkLg==
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBhcHByb3ZlZAoKQSBjYXRlZ29yeSAiPGlucDptX2NhdGVnb3J5X2ZpZWxkIF9GaWVsZD0iTmFtZSIgX1N0cmlwSFRNTD0iMSIvPiIgaGFzIGJlZW4gYXBwcm92ZWQu
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBkZWxldGVkCgpBIGNhdGVnb3J5ICI8aW5wOm1fY2F0ZWdvcnlfZmllbGQgX0ZpZWxkPSJOYW1lIiBfU3RyaXBIVE1MPSIxIi8+IiBoYXMgYmVlbiBkZWxldGVkLg==
+ WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEEgY2F0ZWdvcnkgaGFzIGJlZW4gZGVsZXRlZAoKQSBjYXRlZ29yeSAiPGlucDptX2NhdGVnb3J5X2ZpZWxkIF9GaWVsZD0iTmFtZSIgX1N0cmlwSFRNTD0iMSIvPiIgaGFzIGJlZW4gZGVsZXRlZC4=
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBkZW5pZWQKCllvdXIgY2F0ZWdvcnkgc3VnZ2VzdGlvbiAiPGlucDptX2NhdGVnb3J5X2ZpZWxkIF9GaWVsZD0iTmFtZSIgX1N0cmlwSFRNTD0iMSIvPiIgaGFzIGJlZW4gZGVuaWVkLg==
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBkZW5pZWQKCkEgY2F0ZWdvcnkgIjxpbnA6bV9jYXRlZ29yeV9maWVsZCBfRmllbGQ9Ik5hbWUiIF9TdHJpcEhUTUw9IjEiLz4iIGhhcyBiZWVuIGRlbmllZC4=
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBtb2RpZmllZAoKWW91ciBzdWdnZXN0ZWQgY2F0ZWdvcnkgIjxpbnA6bV9jYXRlZ29yeV9maWVsZCBfRmllbGQ9Ik5hbWUiIF9TdHJpcEhUTUw9IjEiLz4iIGhhcyBiZWVuIG1vZGlmaWVkLg==
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBtb2RpZmllZAoKQSBjYXRlZ29yeSAiPGlucDptX2NhdGVnb3J5X2ZpZWxkIF9GaWVsZD0iTmFtZSIgX1N0cmlwSFRNTD0iMSIvPiIgaGFzIGJlZW4gbW9kaWZpZWQu
+ WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IENvbW1vbiBGb290ZXIgVGVtcGxhdGUKCg==
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogSW4tcG9ydGFsIHJlZ2lzdHJhdGlvbgoKRGVhciA8aW5wOnRvdXNlciBfRmllbGQ9IkZpcnN0TmFtZSIgLz4gPGlucDp0b3VzZXIgX0ZpZWxkPSJMYXN0TmFtZSIgLz4sDQoNClRoYW5rIHlvdSBmb3IgcmVnaXN0ZXJpbmcgb24gPGlucDptX3BhZ2VfdGl0bGUgLz4uIFlvdXIgcmVnaXN0cmF0aW9uIGlzIG5vdyBhY3RpdmUu
+ WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE5ldyB1c2VyIGhhcyBiZWVuIGFkZGVkCgpBIG5ldyB1c2VyICI8aW5wOnRvdXNlciBfRmllbGQ9IkxvZ2luIiAvPiIgaGFzIGJlZW4gYWRkZWQu
+ WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEluLVBvcnRhbCBSZWdpc3RyYXRpb24KCkRlYXIgPGlucDp0b3VzZXIgX0ZpZWxkPSJGaXJzdE5hbWUiIC8+IDxpbnA6dG91c2VyIF9GaWVsZD0iTGFzdE5hbWUiIC8+LA0KDQpUaGFuayB5b3UgZm9yIHJlZ2lzdGVyaW5nIG9uIDxpbnA6bV9wYWdlX3RpdGxlIC8+LiBZb3VyIHJlZ2lzdHJhdGlvbiB3aWxsIGJlIGFjdGl2ZSBhZnRlciBhcHByb3ZhbC4=
+ WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IFVzZXIgcmVnaXN0ZXJlZAoKQSBuZXcgdXNlciAiPGlucDp0b3VzZXIgX0ZpZWxkPSJMb2dpbiIgLz4iIGhhcyByZWdpc3RlcmVkIGFuZCBpcyBwZW5kaW5nIGFkbWluaXN0cmF0aXZlIGFwcHJvdmFsLg==
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogWW91IGhhdmUgYmVlbiBhcHByb3ZlZAoKV2VsY29tZSB0byBJbi1wb3J0YWwhDQpZb3VyIHVzZXIgcmVnaXN0cmF0aW9uIGhhcyBiZWVuIGFwcHJvdmVkLiBZb3VyIHVzZXIgbmFtZSBpcyAiPGlucDp0b3VzZXIgX0ZpZWxkPSJVc2VyTmFtZSIgLz4iLg==
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogVXNlciBhcHByb3ZlZAoKVXNlciAiPGlucDp0b3VzZXIgX0ZpZWxkPSJVc2VyTmFtZSIgLz4iIGhhcyBiZWVuIGFwcHJvdmVkLg==
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQWNjZXNzIGRlbmllZAoKWW91ciByZWdpc3RyYXRpb24gdG8gPGlucDptX3BhZ2VfdGl0bGUgLz4gaGFzIGJlZW4gZGVuaWVkLg==
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogVXNlciBkZW5pZWQKClVzZXIgIjxpbnA6dG91c2VyIF9GaWVsZD0iVXNlck5hbWUiIC8+IiBoYXMgYmVlbiBkZW5pZWQu
+ WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE1lbWJlcnNoaXAgZXhwaXJhdGlvbiBub3RpY2UKCk1lbWJlcnNoaXAgZXhwaXJhdGlvbiBub3RpY2U=
+ WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE1lbWJlcnNoaXAgZXhwaXJhdGlvbiBub3RpY2UKCk1lbWJlcnNoaXAgZXhwaXJhdGlvbiBub3RpY2U=
+ WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE1lbWJlcnNoaXAgZXhwaXJlZAoKTWVtYmVyc2hpcCBleHBpcmVk
+ WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE1lbWJlcnNoaXAgZXhwaXJlZAoKTWVtYmVyc2hpcCBleHBpcmVk
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogTG9zdCBwYXNzd29yZAoKWW91ciBsb3N0IHBhc3N3b3JkIGhhcyBiZWVuIHJlc2V0LiBZb3VyIG5ldyBwYXNzd29yZCBpczogIjxpbnA6dG91c2VyIF9GaWVsZD0iUGFzc3dvcmQiIC8+Ii4=
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogTG9zdCBwYXNzd29yZAoKWW91ciBsb3N0IHBhc3N3b3JkIGhhcyBiZWVuIHJlc2V0LiBZb3VyIG5ldyBwYXNzd29yZCBpczogIjxpbnA6dG91c2VyIF9GaWVsZD0iUGFzc3dvcmQiIC8+Ii4=
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogUGFzc3dvcmQgcmVzZXQgY29uZmlybWF0aW9uCgpIZWxsbywNCg0KSXQgc2VlbXMgdGhhdCB5b3UgaGF2ZSByZXF1ZXN0ZWQgYSBwYXNzd29yZCByZXNldCBmb3IgeW91ciBJbi1wb3J0YWwgYWNjb3VudC4gSWYgeW91IHdvdWxkIGxpa2UgdG8gcHJvY2VlZCBhbmQgY2hhbmdlIHRoZSBwYXNzd29yZCwgcGxlYXNlIGNsaWNrIG9uIHRoZSBsaW5rIGJlbG93Og0KPGlucDptX2NvbmZpcm1fcGFzc3dvcmRfbGluayAvPg0KDQpZb3Ugd2lsbCByZWNlaXZlIGEgc2Vjb25kIGVtYWlsIHdpdGggeW91ciBuZXcgcGFzc3dvcmQgc2hvcnRseS4NCg0KSWYgeW91IGJlbGlldmUgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBlbWFpbCBpbiBlcnJvciwgcGxlYXNlIGlnbm9yZSB0aGlzIGVtYWlsLiBZb3VyIHBhc3N3b3JkIHdpbGwgbm90IGJlIGNoYW5nZWQgdW5sZXNzIHlvdSBoYXZlIGNsaWNrZWQgb24gdGhlIGFib3ZlIGxpbmsuDQo=
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogU3Vic2NyaXB0aW9uIGNvbmZpcm1hdGlvbgoKWW91IGhhdmUgc3Vic2NyaWJlZCB0byA8aW5wOm1fcGFnZV90aXRsZSAvPiBtYWlsaW5nIGxpc3Qu
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSB1c2VyIGhhcyBzdWJzY3JpYmVkCgpBIHVzZXIgaGFzIHN1YnNjcmliZWQgdG8gPGlucDptX3BhZ2VfdGl0bGUgLz4gbWFpbGluZyBsaXN0Lg==
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQ2hlY2sgb3V0IHRoaXMgc2l0ZQoKSGksDQoNClRoaXMgbWVzc2FnZSBoYXMgYmVlbiBzZW50IHRvIHlvdSBmcm9tIG9uZSBvZiB5b3VyIGZyaWVuZHMuDQpDaGVjayBvdXQgdGhpcyBzaXRlOiA8YSBocmVmPSI8aW5wOm1fdGhlbWVfdXJsIF9wYWdlPSJjdXJyZW50Ii8+Ij48aW5wOm1fcGFnZV90aXRsZSAvPjwvYT4h
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogVGhlIHNpdGUgaGFzIGJlZW4gc3VnZ2VzdGVkCgpBIHZpc2l0b3Igc3VnZ2VzdGVkIHlvdXIgc2l0ZSB0byBhIGZyaWVuZC4=
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogWW91IGhhdmUgYmVlbiB1bnN1YnNjcmliZWQKCllvdSBoYXZlIHN1Y2Nlc3NmdWxseSB1bnN1YnNyaWJlZCBmcm9tIDxpbnA6bV9wYWdlX3RpdGxlIC8+IG1haWxpbmcgbGlzdC4=
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogVXNlciB1bnN1YnNyaWJlZAoKQSB1c2VyIGhhcyB1bnN1YnNjcmliZWQu
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogSW4tcG9ydGFsIHJlZ2lzdHJhdGlvbgoKV2VsY29tZSB0byBJbi1wb3J0YWwhDQpZb3VyIHVzZXIgcmVnaXN0cmF0aW9uIGhhcyBiZWVuIGFwcHJvdmVkLiBZb3VyIHVzZXIgbmFtZSBpcyAiPGlucDp0b3VzZXIgX0ZpZWxkPSJVc2VyTmFtZSIgLz4iIGFuZCB5b3VyIHBhc3N3b3JkIGlzICI8aW5wOnRvdXNlciBfRmllbGQ9InBhc3N3b3JkIiAvPiIuDQo=
+ WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogVXNlciB2YWxpZGF0ZWQKClVzZXIgIjxpbnA6dG91c2VyIF9GaWVsZD0iVXNlck5hbWUiIC8+IiBoYXMgYmVlbiB2YWxpZGF0ZWQu
+
+
+
\ No newline at end of file
Index: trunk/core/install/install_data.sql
===================================================================
diff -u
--- trunk/core/install/install_data.sql (revision 0)
+++ trunk/core/install/install_data.sql (revision 6685)
@@ -0,0 +1,549 @@
+INSERT INTO ConfigurationAdmin VALUES ('Site_Name', 'la_Text_Website', 'la_config_website_name', 'text', '', '', 10.02, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Site_Path', 'la_Text_Website', 'la_config_web_address', 'text', '', '', 10.01, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Backup_Path', 'la_Text_BackupPath', 'la_config_backup_path', 'text', '', '', 40.01, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Domain_Detect', 'la_Text_Website', 'la_config_detect_domain', 'text', '', '', 8, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Category_Sortfield', 'la_Text_General', 'la_category_sortfield_prompt', 'select', '', 'Name=la_Category_Name,Description=la_Category_Description,CreatedOn=la_Category_Date,EditorsPick=la_Category_Pick,SELECT Prompt AS OptionName, CONCAT("cust_", FieldName) AS OptionValue FROM CustomField WHERE (Type = 1) AND (IsSystem = 0) ', 10.01, 1, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Category_Sortorder', 'la_Text_General', 'la_category_sortfield_prompt', 'select', '', 'asc=la_common_ascending,desc=la_common_descending', 10.01, 2, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Category_Sortfield2', 'la_Text_General', 'la_category_sortfield2_prompt', 'select', '', 'Name=la_Category_Name,Description=la_Category_Description,CreatedOn=la_Category_Date,EditorsPick=la_Category_Pick,SELECT Prompt AS OptionName, CONCAT("cust_", FieldName) AS OptionValue FROM CustomField WHERE (Type = 1) AND (IsSystem = 0) ', 10.02, 1, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Category_Sortorder2', 'la_Text_General', 'la_category_sortfield2_prompt', 'select', '', 'asc=la_common_ascending,desc=la_common_descending', 10.02, 2, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Perpage_Category', 'la_Text_General', 'la_category_perpage_prompt', 'text', '', '', 10.03, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Category_DaysNew', 'la_Text_General', 'la_category_daysnew_prompt', 'text', '', '', 10.05, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Category_ShowPick', 'la_Text_General', 'la_category_showpick_prompt', 'checkbox', '', '', 10.06, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Category_MetaKey', 'la_Text_MetaInfo', 'la_category_metakey', 'text', '', '', 20.01, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Category_MetaDesc', 'la_Text_MetaInfo', 'la_category_metadesc', 'text', '', '', 20.02, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('User_NewGroup', 'la_Text_General', 'la_users_new_group', 'select', NULL, '0=lu_none,SELECT GroupId as OptionValue, Name as OptionName FROM PortalGroup WHERE Enabled=1 AND Personal=0 ', 10.08, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('User_GuestGroup', 'la_Text_General', 'la_users_guest_group', 'select', NULL, '0=lu_none,SELECT GroupId as OptionValue, Name as OptionName FROM PortalGroup WHERE Enabled=1 AND Personal=0 ', 10.1, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('RootPass', 'la_Text_General', 'la_prompt_root_pass', 'password', NULL, NULL, 10.12, 0, 0);
+INSERT INTO ConfigurationAdmin VALUES ('Users_AllowReset', 'la_Text_General', 'la_prompt_allow_reset', 'text', NULL, NULL, 10.05, 0, 0);
+INSERT INTO ConfigurationAdmin VALUES ('User_Allow_New', 'la_Text_General', 'la_users_allow_new', 'radio', '', '1=la_User_Instant,2=la_User_Not_Allowed,3=la_User_Upon_Approval', 10.01, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('User_Password_Auto', 'la_Text_General', 'la_users_password_auto', 'checkbox', '', '', 10.06, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('User_Votes_Deny', 'la_Text_Restrictions', 'la_users_votes_deny', 'text', '', '', 20.01, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('User_MembershipExpirationReminder', 'la_Text_General', 'la_MembershipExpirationReminder', 'text', NULL, '', 10.07, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('User_Review_Deny', 'la_Text_Restrictions', 'la_users_review_deny', 'text', '', '', 20.02, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Server_Name', 'la_Text_Website', 'la_config_server_name', 'text', '', '', 4, 0, 0);
+INSERT INTO ConfigurationAdmin VALUES ('Config_Server_Time', 'la_Text_Date_Time_Settings', 'la_config_time_server', 'select', '', '1=la_m12,2=la_m11,3=la_m10,5=la_m9,6=la_m8,7=la_m7,8=la_m6,9=la_m5,10=la_m4,11=la_m3,12=la_m2,13=la_m1,14=la_m0,15=la_p1,16=la_p2,17=la_p3,18=la_p4,19=la_p5,20=la_p6,21=la_p7,22=la_p8,23=la_p9,24=la_p10,25=la_p11,26=la_p12,27=la_p13', 20.01, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Config_Site_Time', 'la_Text_Date_Time_Settings', 'la_config_site_zone', 'select', '', '1=la_m12,2=la_m11,3=la_m10,5=la_m9,6=la_m8,7=la_m7,8=la_m6,9=la_m5,10=la_m4,11=la_m3,12=la_m2,13=la_m1,14=la_m0,15=la_p1,16=la_p2,17=la_p3,18=la_p4,19=la_p5,20=la_p6,21=la_p7,22=la_p8,23=la_p9,24=la_p10,25=la_p11,26=la_p12,27=la_p13', 20.02, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Smtp_Server', 'la_Text_smtp_server', 'la_prompt_mailserver', 'text', NULL, NULL, 30.01, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Smtp_Port', 'la_Text_smtp_server', 'la_prompt_mailport', 'text', NULL, NULL, 30.02, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Smtp_Authenticate', 'la_Text_smtp_server', 'la_prompt_mailauthenticate', 'checkbox', NULL, NULL, 30.03, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Smtp_User', 'la_Text_smtp_server', 'la_prompt_smtp_user', 'text', NULL, NULL, 30.04, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Smtp_Pass', 'la_Text_smtp_server', 'la_prompt_smtp_pass', 'text', NULL, NULL, 30.05, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Smtp_DefaultHeaders', 'la_Text_smtp_server', 'la_prompt_smtpheaders', 'textarea', NULL, 'COLS=40 ROWS=5', 30.06, 0, 0);
+INSERT INTO ConfigurationAdmin VALUES ('Smtp_AdminMailFrom', 'la_Text_smtp_server', 'la_prompt_AdminMailFrom', 'text', NULL, NULL, 30.07, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Perpage_Category_Short', 'la_Text_General', 'la_category_perpage__short_prompt', 'text', '', '', 10.04, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('CookieSessions', 'la_Text_Website', 'la_prompt_session_management', 'select', NULL, '0=lu_query_string,1=lu_cookies,2=lu_auto', 10.03, 0, 1);
+
+INSERT INTO ConfigurationAdmin VALUES ('SearchRel_Keyword_category', 'la_config_SearchRel_DefaultKeyword', 'la_text_keyword', 'text', NULL, NULL, 0, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('SearchRel_Pop_category', 'la_config_DefaultPop', 'la_text_popularity', 'text', NULL, NULL, 0, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('SearchRel_Rating_category', 'la_config_DefaultRating', 'la_prompt_Rating', 'text', NULL, NULL, 0, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('SearchRel_Increase_category', 'la_config_DefaultIncreaseImportance', 'la_text_increase_importance', 'text', NULL, NULL, 0, 0, 1);
+
+INSERT INTO ConfigurationAdmin VALUES ('SessionTimeout', 'la_Text_Website', 'la_prompt_session_timeout', 'text', '', '', 10.05, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('SystemTagCache', 'la_Text_Website', 'la_prompt_syscache_enable', 'checkbox', NULL, NULL, 10.07, 0, 0);
+INSERT INTO ConfigurationAdmin VALUES ('User_SubscriberGroup', 'la_Text_General', 'la_users_subscriber_group', 'select', NULL, '0=lu_none,SELECT GroupId as OptionValue, Name as OptionName FROM PortalGroup WHERE Enabled=1 AND Personal=0 ', 10.11, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Root_Name', 'la_Text_General', 'la_prompt_root_name', 'text', '', '', 10.07, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('SocketBlockingMode', 'la_Text_Website', 'la_prompt_socket_blocking_mode', 'checkbox', NULL, NULL, 10.08, 0, 0);
+INSERT INTO ConfigurationAdmin VALUES ('Min_UserName', 'la_Text_General', 'la_text_min_username', 'text', '', '', 10.03, 0, 0);
+INSERT INTO ConfigurationAdmin VALUES ('Min_Password', 'la_Text_General', 'la_text_min_password', 'text', '', '', 10.04, 0, 0);
+INSERT INTO ConfigurationAdmin VALUES ('Email_As_Login', 'la_Text_General', 'la_use_emails_as_login', 'checkbox', NULL, NULL, 10.02, 0, 0);
+INSERT INTO ConfigurationAdmin VALUES ('User_LoggedInGroup', 'la_Text_General', 'la_users_assign_all_to', 'select', NULL, '0=lu_none,SELECT GroupId as OptionValue, Name as OptionName FROM PortalGroup WHERE Enabled=1 AND Personal=0 ', 10.09, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('FirstDayOfWeek', 'la_Text_Date_Time_Settings', 'la_config_first_day_of_week', 'select', '', '0=la_sunday,1=la_monday', 20.03, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('SSL_URL', 'la_Text_Website', 'la_config_ssl_url', 'text', '', '', 10.09, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Require_SSL', 'la_Text_Website', 'la_config_require_ssl', 'checkbox', '', '', 10.1, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('Force_HTTP_When_SSL_Not_Required', 'la_Text_Website', 'la_config_force_http', 'checkbox', '', '', 10.11, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('SessionCookieName', 'la_Text_Website', 'la_prompt_session_cookie_name', 'text', '', '', 10.04, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('SessionReferrerCheck', 'la_Text_Website', 'la_promt_ReferrerCheck', 'checkbox', NULL, NULL, 10.06, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('UseModRewrite', 'la_Text_Website', 'la_config_use_modrewrite', 'checkbox', '', '', 10.12, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('UseModRewriteWithSSL', 'la_Text_Website', 'la_config_use_modrewrite_with_ssl', 'checkbox', '', '', 10.13, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('ErrorTemplate', 'la_Text_Website', 'la_config_error_template', 'text', '', '', 10.16, 0, 0);
+INSERT INTO ConfigurationAdmin VALUES ('UseJSRedirect', 'la_Text_Website', 'la_config_use_js_redirect', 'checkbox', '', '', 10.14, 0, 0);
+INSERT INTO ConfigurationAdmin VALUES ('MaxImportCategoryLevels', 'la_Text_General', 'la_prompt_max_import_category_levels', 'text', '', '', 10.08, 0, 1);
+INSERT INTO ConfigurationAdmin VALUES ('UseCronForRegularEvent', 'la_Text_Website', 'la_UseCronForRegularEvent', 'checkbox', NULL, NULL, 10.15, 0, 0);
+INSERT INTO ConfigurationAdmin VALUES ('NoPermissionTemplate', 'la_Text_Website', 'la_config_nopermission_template', 'text', '', '', 10.17, 0, 0);
+INSERT INTO ConfigurationAdmin (VariableName, heading, prompt, element_type, validation, ValueList, DisplayOrder, GroupDisplayOrder, Install) VALUES ('UseOutputCompression', 'la_Text_Website', 'la_config_UseOutputCompression', 'checkbox', '', '', 10.18, 0, 1);
+INSERT INTO ConfigurationAdmin (VariableName, heading, prompt, element_type, validation, ValueList, DisplayOrder, GroupDisplayOrder, Install) VALUES ('OutputCompressionLevel', 'la_Text_Website', 'la_config_OutputCompressionLevel', 'text', '', '', 10.19, 0, 1);
+
+INSERT INTO ConfigurationValues VALUES (NULL, 'Columns_Category', '2', 'In-Portal', 'Categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'DomainSelect','1','In-Portal','in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Site_Path', '/', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Archive', '25', 'inportal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'debug', '1', 'inportal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_User', '100', 'inportal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_LangEmail', '20', 'inportal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Default_FromAddr', '', 'inportal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'email_replyto', '', 'inportal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'email_footer', 'message footer goes here', 'inportal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Default_Theme', 'default', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Default_Language', 'English', 'inportal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SessionTimeout', '3600', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'User_SortOrder', 'asc', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Suggest_MinInterval', '3600', 'inportal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SubCat_ListCount', '3', 'inportal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Timeout_Rating', '3600', 'In-Portal', 'System');
+INSERT INTO ConfigurationValues VALUES (NULL, 'User_SortField', 'u.CreatedOn', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Relations', '10', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Group_SortField', 'GroupName', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Group_SortOrder', 'asc', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Default_FromName', 'Webmaster', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Category', '10', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Category_Sortfield', 'Name', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Category_Sortorder', 'asc', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'MetaKeywords', NULL, 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Relation_LV_Sortfield', 'ItemType', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'ampm_time', '1', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Template', '10', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Phrase', '40', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Sessionlist', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Category_Sortfield2', 'Description', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Category_Sortorder2', 'asc', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Category_DaysNew', '8', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Category_ShowPick', '', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Category_MetaKey', '', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Category_MetaDesc', '', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'MetaDescription', NULL, 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'User_NewGroup', '13', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'User_Allow_New', '3', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'User_Password_Auto', '0', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'User_Votes_Deny', '5', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'User_Review_Deny', '5', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Config_Name', '', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Config_Company', '', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Config_Reg_Number', '', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Config_Website_Name', '', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Config_Web_Address', '', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Config_Server_Time', '14', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Config_Site_Time', '14', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Site_Name', 'In-Portal', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Backup_Path', '', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Items', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'GuestSessions', '1', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Smtp_Server', NULL, 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Smtp_Port', NULL, 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Smtp_User', NULL, 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Smtp_Pass', NULL, 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Smtp_SendHTML', '1', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Smtp_Authenticate', '0', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Email', '10', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Smtp_DefaultHeaders', 'X-Priority: 1\r\nX-MSMail-Priority: High\r\nX-Mailer: In-Portal', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Smtp_AdminMailFrom', 'portal@user.domain.name', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Category_Highlight_OpenTag', '', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Category_Highlight_CloseTag', ' ', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'User_GuestGroup', '14', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'RootPass', '', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Category_Short', '3', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'CookieSessions', '2', 'In-Portal', 'in-portal:configure_general');
+
+INSERT INTO ConfigurationValues VALUES (NULL, 'SearchRel_Increase_category', '30', 'In-Portal', 'in-portal:configuration_search');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SearchRel_Keyword_category', '90', 'In-Portal', 'in-portal:configuration_search');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SearchRel_Pop_category', '5', 'In-Portal', 'in-portal:configuration_search');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SearchRel_Rating_category', '5', 'In-Portal', 'in-portal:configuration_search');
+
+INSERT INTO ConfigurationValues VALUES (NULL, 'SearchRel_DefaultIncrease', '30', 'In-Portal', 'inportal:configure_searchdefault');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SearchRel_DefaultKeyword', '80', 'In-Portal', 'SearchRel_DefaultKeyword');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SearchRel_DefaultPop', '10', 'In-Portal', 'inportal:configuration_searchdefault');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SearchRel_DefaultRating', '10', 'In-Portal', 'inportal:configure_searchdefault');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SystemTagCache', '0', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Root_Name', 'lu_rootcategory_name', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'User_SubscriberGroup', '12', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SocketBlockingMode', '0', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Min_UserName', '3', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Min_Password', '5', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'LinksValidation_LV_Sortfield', 'ValidationTime', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'CustomConfig_LV_Sortfield', 'FieldName', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Event_LV_SortField', 'Description', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Theme_LV_SortField', 'Name', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Template_LV_SortField', 'FileName', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Lang_LV_SortField', 'PackName', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Phrase_LV_SortField', 'Phrase', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'LangEmail_LV_SortField', 'Description', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'CustomData_LV_SortField', 'FieldName', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Summary_SortField', 'Module', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Session_SortField', 'UserName', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SearchLog_SortField', 'Keyword', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_StatItem', '10', 'inportal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Groups', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Event', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_BanRules', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_SearchLog', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_LV_lang', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_LV_Themes', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_LV_Catlist', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Reviews', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Modules', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Grouplist', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Images', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'EmailsL_SortField', 'time_sent', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_EmailsL', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_CustomData', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Perpage_Review', '10', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Search_MinKeyword_Length', '3', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Users_AllowReset', '180', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Email_As_Login', '0', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'User_LoggedInGroup', '15', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'User_MembershipExpirationReminder', '10', 'In-Portal:Users', 'in-portal:configure_users');
+INSERT INTO ConfigurationValues VALUES (NULL, 'FirstDayOfWeek', '1', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SSL_URL', '', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Require_SSL', '', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'Force_HTTP_When_SSL_Not_Required', '1', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SessionCookieName', 'sid', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'UseModRewrite', '0', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'UseModRewriteWithSSL', '0', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'SessionReferrerCheck', '1', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'ErrorTemplate', 'error_notfound', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'UseJSRedirect', '0', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'MaxImportCategoryLevels', '10', 'In-Portal', 'in-portal:configure_categories');
+INSERT INTO ConfigurationValues VALUES (NULL, 'UseCronForRegularEvent', '0', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues VALUES (NULL, 'NoPermissionTemplate', 'no_permission', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues (VariableName, VariableValue, ModuleOwner, Section) VALUES ('UseOutputCompression', '0', 'In-Portal', 'in-portal:configure_general');
+INSERT INTO ConfigurationValues (VariableName, VariableValue, ModuleOwner, Section) VALUES ('OutputCompressionLevel', '7', 'In-Portal', 'in-portal:configure_general');
+
+INSERT INTO Events VALUES (30, 'USER.ADD', 1, 0, 'In-Portal:Users', 'la_event_user.add', 0);
+INSERT INTO Events VALUES (32, 'USER.ADD', 2, 0, 'In-Portal:Users', 'la_event_user.add', 1);
+INSERT INTO Events VALUES (31, 'USER.APPROVE', 1, 0, 'In-Portal:Users', 'la_event_user.approve', 0);
+INSERT INTO Events VALUES (33, 'USER.APPROVE', 2, 0, 'In-Portal:Users', 'la_event_user.approve', 1);
+INSERT INTO Events VALUES (34, 'USER.VALIDATE', 1, 0, 'In-Portal:Users', 'la_event_user.validate', 0);
+INSERT INTO Events VALUES (35, 'USER.VALIDATE', 2, 0, 'In-Portal:Users', 'la_event_user.validate', 1);
+INSERT INTO Events VALUES (36, 'USER.DENY', 1, 0, 'In-Portal:Users', 'la_event_user.deny', 0);
+INSERT INTO Events VALUES (37, 'USER.DENY', 2, 0, 'In-Portal:Users', 'la_event_user.deny', 1);
+INSERT INTO Events VALUES (38, 'USER.PSWD', 2, 0, 'In-Portal:Users', 'la_event_user.forgotpw', 1);
+INSERT INTO Events VALUES (39, 'USER.PSWD', 1, 0, 'In-Portal:Users', 'la_event_user.forgotpw', 0);
+INSERT INTO Events VALUES (45, 'USER.ADD.PENDING', 1, 0, 'In-Portal:Users', 'la_event_user.add.pending', 0);
+INSERT INTO Events VALUES (68, 'USER.ADD.PENDING', 2, 0, 'In-Portal:Users', 'la_event_user.add.pending', 1);
+INSERT INTO Events VALUES (47, 'CATEGORY.ADD', 1, 0, 'In-Portal:Category', 'la_event_category.add', 0);
+INSERT INTO Events VALUES (48, 'CATEGORY.ADD.PENDING', 1, 0, 'In-Portal:Category', 'la_event_category.add.pending', 0);
+INSERT INTO Events VALUES (49, 'CATEGORY.ADD.PENDING', 2, 0, 'In-Portal:Category', 'la_event_category.add.pending', 1);
+INSERT INTO Events VALUES (50, 'CATEGORY.ADD', 2, 0, 'In-Portal:Category', 'la_event_category.add', 1);
+INSERT INTO Events VALUES (51, 'CATEGORY.DELETE', 1, 0, 'In-Portal:Category', 'la_event_category_delete', 0);
+INSERT INTO Events VALUES (52, 'CATEGORY.DELETE', 2, 0, 'In-Portal:Category', 'la_event_category_delete', 1);
+INSERT INTO Events VALUES (53, 'CATEGORY.MODIFY', 1, 0, 'In-Portal:Category', 'la_event_category.modify', 0);
+INSERT INTO Events VALUES (54, 'CATEGORY.MODIFY', 2, 0, 'In-Portal:Category', 'la_event_category.modify', 1);
+INSERT INTO Events VALUES (56, 'CATEGORY.APPROVE', 1, 0, 'In-Portal:Category', 'la_event_category.approve', 0);
+INSERT INTO Events VALUES (57, 'CATEGORY.APPROVE', 2, 0, 'In-Portal:Category', 'la_event_category.approve', 1);
+INSERT INTO Events VALUES (58, 'CATEGORY.DENY', 1, 0, 'In-Portal:Category', 'la_event_category.deny', 0);
+INSERT INTO Events VALUES (59, 'CATEGORY.DENY', 2, 0, 'In-Portal:Category', 'la_event_category.deny', 1);
+INSERT INTO Events VALUES (60, 'USER.SUBSCRIBE', 1, 0, 'In-Portal:Users', 'la_event_user.subscribe', 0);
+INSERT INTO Events VALUES (61, 'USER.SUBSCRIBE', 2, 0, 'In-Portal:Users', 'la_event_user.subscribe', 1);
+INSERT INTO Events VALUES (62, 'USER.UNSUBSCRIBE', 1, 0, 'In-Portal:Users', 'la_event_user.unsubscribe', 0);
+INSERT INTO Events VALUES (63, 'USER.UNSUBSCRIBE', 2, 0, 'In-Portal:Users', 'la_event_user.unsubscribe', 1);
+INSERT INTO Events VALUES (64, 'USER.SUGGEST', '1', '0', 'In-Portal:Users', 'la_event_user.suggest', '0');
+INSERT INTO Events VALUES (65, 'USER.SUGGEST', '2', '0', 'In-Portal:Users', 'la_event_user.suggest', '1');
+INSERT INTO Events VALUES (67, 'USER.PSWDC', '1', '0', 'In-Portal:Users', 'la_event_user.pswd_confirm', '0');
+INSERT INTO Events VALUES ('', 'USER.MEMBERSHIP.EXPIRED', '1', '0', 'In-Portal:Users', 'la_event_user.membership_expired', '0');
+INSERT INTO Events VALUES ('', 'USER.MEMBERSHIP.EXPIRED', '1', '0', 'In-Portal:Users', 'la_event_user.membership_expired', '1');
+INSERT INTO Events VALUES ('', 'USER.MEMBERSHIP.EXPIRATION.NOTICE', '1', '0', 'In-Portal:Users', 'la_event_user.membership_expiration_notice', '0');
+INSERT INTO Events VALUES ('', 'USER.MEMBERSHIP.EXPIRATION.NOTICE', '1', '0', 'In-Portal:Users', 'la_event_user.membership_expiration_notice', '1');
+INSERT INTO Events (Event, Enabled, FromUserId, Module, Description, Type) VALUES ('COMMON.FOOTER', 1, 0, 'In-Portal', 'la_event_common.footer', 1);
+
+INSERT INTO IdGenerator VALUES ('100');
+
+INSERT INTO PortalGroup VALUES (15, 'Everyone', 'Everyone', 0, 1, 0, 1, 15);
+INSERT INTO PortalGroup VALUES (13, 'Member', '', '1054738682', 0, 0, 1, 13);
+INSERT INTO PortalGroup VALUES (12, 'Subscribers', '', '1054738670', 0, 0, 1, 12);
+INSERT INTO PortalGroup VALUES (14, 'Guest', 'Guest User', '0', 1, 0, 1, 14);
+INSERT INTO PortalGroup VALUES (11, 'admin', '', '1054738405', 0, 0, 1, 11);
+
+INSERT INTO StdDestinations VALUES (1, 1, NULL, 'la_country_AFG', 'AFG', 'AF');
+INSERT INTO StdDestinations VALUES (2, 1, NULL, 'la_country_ALB', 'ALB', 'AL');
+INSERT INTO StdDestinations VALUES (3, 1, NULL, 'la_country_DZA', 'DZA', 'DZ');
+INSERT INTO StdDestinations VALUES (4, 1, NULL, 'la_country_ASM', 'ASM', 'AS');
+INSERT INTO StdDestinations VALUES (5, 1, NULL, 'la_country_AND', 'AND', 'AD');
+INSERT INTO StdDestinations VALUES (6, 1, NULL, 'la_country_AGO', 'AGO', 'AO');
+INSERT INTO StdDestinations VALUES (7, 1, NULL, 'la_country_AIA', 'AIA', 'AI');
+INSERT INTO StdDestinations VALUES (8, 1, NULL, 'la_country_ATA', 'ATA', 'AQ');
+INSERT INTO StdDestinations VALUES (9, 1, NULL, 'la_country_ATG', 'ATG', 'AG');
+INSERT INTO StdDestinations VALUES (10, 1, NULL, 'la_country_ARG', 'ARG', 'AR');
+INSERT INTO StdDestinations VALUES (11, 1, NULL, 'la_country_ARM', 'ARM', 'AM');
+INSERT INTO StdDestinations VALUES (12, 1, NULL, 'la_country_ABW', 'ABW', 'AW');
+INSERT INTO StdDestinations VALUES (13, 1, NULL, 'la_country_AUS', 'AUS', 'AU');
+INSERT INTO StdDestinations VALUES (14, 1, NULL, 'la_country_AUT', 'AUT', 'AT');
+INSERT INTO StdDestinations VALUES (15, 1, NULL, 'la_country_AZE', 'AZE', 'AZ');
+INSERT INTO StdDestinations VALUES (16, 1, NULL, 'la_country_BHS', 'BHS', 'BS');
+INSERT INTO StdDestinations VALUES (17, 1, NULL, 'la_country_BHR', 'BHR', 'BH');
+INSERT INTO StdDestinations VALUES (18, 1, NULL, 'la_country_BGD', 'BGD', 'BD');
+INSERT INTO StdDestinations VALUES (19, 1, NULL, 'la_country_BRB', 'BRB', 'BB');
+INSERT INTO StdDestinations VALUES (20, 1, NULL, 'la_country_BLR', 'BLR', 'BY');
+INSERT INTO StdDestinations VALUES (21, 1, NULL, 'la_country_BEL', 'BEL', 'BE');
+INSERT INTO StdDestinations VALUES (22, 1, NULL, 'la_country_BLZ', 'BLZ', 'BZ');
+INSERT INTO StdDestinations VALUES (23, 1, NULL, 'la_country_BEN', 'BEN', 'BJ');
+INSERT INTO StdDestinations VALUES (24, 1, NULL, 'la_country_BMU', 'BMU', 'BM');
+INSERT INTO StdDestinations VALUES (25, 1, NULL, 'la_country_BTN', 'BTN', 'BT');
+INSERT INTO StdDestinations VALUES (26, 1, NULL, 'la_country_BOL', 'BOL', 'BO');
+INSERT INTO StdDestinations VALUES (27, 1, NULL, 'la_country_BIH', 'BIH', 'BA');
+INSERT INTO StdDestinations VALUES (28, 1, NULL, 'la_country_BWA', 'BWA', 'BW');
+INSERT INTO StdDestinations VALUES (29, 1, NULL, 'la_country_BVT', 'BVT', 'BV');
+INSERT INTO StdDestinations VALUES (30, 1, NULL, 'la_country_BRA', 'BRA', 'BR');
+INSERT INTO StdDestinations VALUES (31, 1, NULL, 'la_country_IOT', 'IOT', 'IO');
+INSERT INTO StdDestinations VALUES (32, 1, NULL, 'la_country_BRN', 'BRN', 'BN');
+INSERT INTO StdDestinations VALUES (33, 1, NULL, 'la_country_BGR', 'BGR', 'BG');
+INSERT INTO StdDestinations VALUES (34, 1, NULL, 'la_country_BFA', 'BFA', 'BF');
+INSERT INTO StdDestinations VALUES (35, 1, NULL, 'la_country_BDI', 'BDI', 'BI');
+INSERT INTO StdDestinations VALUES (36, 1, NULL, 'la_country_KHM', 'KHM', 'KH');
+INSERT INTO StdDestinations VALUES (37, 1, NULL, 'la_country_CMR', 'CMR', 'CM');
+INSERT INTO StdDestinations VALUES (38, 1, NULL, 'la_country_CAN', 'CAN', 'CA');
+INSERT INTO StdDestinations VALUES (39, 1, NULL, 'la_country_CPV', 'CPV', 'CV');
+INSERT INTO StdDestinations VALUES (40, 1, NULL, 'la_country_CYM', 'CYM', 'KY');
+INSERT INTO StdDestinations VALUES (41, 1, NULL, 'la_country_CAF', 'CAF', 'CF');
+INSERT INTO StdDestinations VALUES (42, 1, NULL, 'la_country_TCD', 'TCD', 'TD');
+INSERT INTO StdDestinations VALUES (43, 1, NULL, 'la_country_CHL', 'CHL', 'CL');
+INSERT INTO StdDestinations VALUES (44, 1, NULL, 'la_country_CHN', 'CHN', 'CN');
+INSERT INTO StdDestinations VALUES (45, 1, NULL, 'la_country_CXR', 'CXR', 'CX');
+INSERT INTO StdDestinations VALUES (46, 1, NULL, 'la_country_CCK', 'CCK', 'CC');
+INSERT INTO StdDestinations VALUES (47, 1, NULL, 'la_country_COL', 'COL', 'CO');
+INSERT INTO StdDestinations VALUES (48, 1, NULL, 'la_country_COM', 'COM', 'KM');
+INSERT INTO StdDestinations VALUES (49, 1, NULL, 'la_country_COD', 'COD', 'CD');
+INSERT INTO StdDestinations VALUES (50, 1, NULL, 'la_country_COG', 'COG', 'CG');
+INSERT INTO StdDestinations VALUES (51, 1, NULL, 'la_country_COK', 'COK', 'CK');
+INSERT INTO StdDestinations VALUES (52, 1, NULL, 'la_country_CRI', 'CRI', 'CR');
+INSERT INTO StdDestinations VALUES (53, 1, NULL, 'la_country_CIV', 'CIV', 'CI');
+INSERT INTO StdDestinations VALUES (54, 1, NULL, 'la_country_HRV', 'HRV', 'HR');
+INSERT INTO StdDestinations VALUES (55, 1, NULL, 'la_country_CUB', 'CUB', 'CU');
+INSERT INTO StdDestinations VALUES (56, 1, NULL, 'la_country_CYP', 'CYP', 'CY');
+INSERT INTO StdDestinations VALUES (57, 1, NULL, 'la_country_CZE', 'CZE', 'CZ');
+INSERT INTO StdDestinations VALUES (58, 1, NULL, 'la_country_DNK', 'DNK', 'DK');
+INSERT INTO StdDestinations VALUES (59, 1, NULL, 'la_country_DJI', 'DJI', 'DJ');
+INSERT INTO StdDestinations VALUES (60, 1, NULL, 'la_country_DMA', 'DMA', 'DM');
+INSERT INTO StdDestinations VALUES (61, 1, NULL, 'la_country_DOM', 'DOM', 'DO');
+INSERT INTO StdDestinations VALUES (62, 1, NULL, 'la_country_TLS', 'TLS', 'TL');
+INSERT INTO StdDestinations VALUES (63, 1, NULL, 'la_country_ECU', 'ECU', 'EC');
+INSERT INTO StdDestinations VALUES (64, 1, NULL, 'la_country_EGY', 'EGY', 'EG');
+INSERT INTO StdDestinations VALUES (65, 1, NULL, 'la_country_SLV', 'SLV', 'SV');
+INSERT INTO StdDestinations VALUES (66, 1, NULL, 'la_country_GNQ', 'GNQ', 'GQ');
+INSERT INTO StdDestinations VALUES (67, 1, NULL, 'la_country_ERI', 'ERI', 'ER');
+INSERT INTO StdDestinations VALUES (68, 1, NULL, 'la_country_EST', 'EST', 'EE');
+INSERT INTO StdDestinations VALUES (69, 1, NULL, 'la_country_ETH', 'ETH', 'ET');
+INSERT INTO StdDestinations VALUES (70, 1, NULL, 'la_country_FLK', 'FLK', 'FK');
+INSERT INTO StdDestinations VALUES (71, 1, NULL, 'la_country_FRO', 'FRO', 'FO');
+INSERT INTO StdDestinations VALUES (72, 1, NULL, 'la_country_FJI', 'FJI', 'FJ');
+INSERT INTO StdDestinations VALUES (73, 1, NULL, 'la_country_FIN', 'FIN', 'FI');
+INSERT INTO StdDestinations VALUES (74, 1, NULL, 'la_country_FRA', 'FRA', 'FR');
+INSERT INTO StdDestinations VALUES (75, 1, NULL, 'la_country_FXX', 'FXX', 'FX');
+INSERT INTO StdDestinations VALUES (76, 1, NULL, 'la_country_GUF', 'GUF', 'GF');
+INSERT INTO StdDestinations VALUES (77, 1, NULL, 'la_country_PYF', 'PYF', 'PF');
+INSERT INTO StdDestinations VALUES (78, 1, NULL, 'la_country_ATF', 'ATF', 'TF');
+INSERT INTO StdDestinations VALUES (79, 1, NULL, 'la_country_GAB', 'GAB', 'GA');
+INSERT INTO StdDestinations VALUES (80, 1, NULL, 'la_country_GMB', 'GMB', 'GM');
+INSERT INTO StdDestinations VALUES (81, 1, NULL, 'la_country_GEO', 'GEO', 'GE');
+INSERT INTO StdDestinations VALUES (82, 1, NULL, 'la_country_DEU', 'DEU', 'DE');
+INSERT INTO StdDestinations VALUES (83, 1, NULL, 'la_country_GHA', 'GHA', 'GH');
+INSERT INTO StdDestinations VALUES (84, 1, NULL, 'la_country_GIB', 'GIB', 'GI');
+INSERT INTO StdDestinations VALUES (85, 1, NULL, 'la_country_GRC', 'GRC', 'GR');
+INSERT INTO StdDestinations VALUES (86, 1, NULL, 'la_country_GRL', 'GRL', 'GL');
+INSERT INTO StdDestinations VALUES (87, 1, NULL, 'la_country_GRD', 'GRD', 'GD');
+INSERT INTO StdDestinations VALUES (88, 1, NULL, 'la_country_GLP', 'GLP', 'GP');
+INSERT INTO StdDestinations VALUES (89, 1, NULL, 'la_country_GUM', 'GUM', 'GU');
+INSERT INTO StdDestinations VALUES (90, 1, NULL, 'la_country_GTM', 'GTM', 'GT');
+INSERT INTO StdDestinations VALUES (91, 1, NULL, 'la_country_GIN', 'GIN', 'GN');
+INSERT INTO StdDestinations VALUES (92, 1, NULL, 'la_country_GNB', 'GNB', 'GW');
+INSERT INTO StdDestinations VALUES (93, 1, NULL, 'la_country_GUY', 'GUY', 'GY');
+INSERT INTO StdDestinations VALUES (94, 1, NULL, 'la_country_HTI', 'HTI', 'HT');
+INSERT INTO StdDestinations VALUES (95, 1, NULL, 'la_country_HMD', 'HMD', 'HM');
+INSERT INTO StdDestinations VALUES (96, 1, NULL, 'la_country_HND', 'HND', 'HN');
+INSERT INTO StdDestinations VALUES (97, 1, NULL, 'la_country_HKG', 'HKG', 'HK');
+INSERT INTO StdDestinations VALUES (98, 1, NULL, 'la_country_HUN', 'HUN', 'HU');
+INSERT INTO StdDestinations VALUES (99, 1, NULL, 'la_country_ISL', 'ISL', 'IS');
+INSERT INTO StdDestinations VALUES (100, 1, NULL, 'la_country_IND', 'IND', 'IN');
+INSERT INTO StdDestinations VALUES (101, 1, NULL, 'la_country_IDN', 'IDN', 'ID');
+INSERT INTO StdDestinations VALUES (102, 1, NULL, 'la_country_IRN', 'IRN', 'IR');
+INSERT INTO StdDestinations VALUES (103, 1, NULL, 'la_country_IRQ', 'IRQ', 'IQ');
+INSERT INTO StdDestinations VALUES (104, 1, NULL, 'la_country_IRL', 'IRL', 'IE');
+INSERT INTO StdDestinations VALUES (105, 1, NULL, 'la_country_ISR', 'ISR', 'IL');
+INSERT INTO StdDestinations VALUES (106, 1, NULL, 'la_country_ITA', 'ITA', 'IT');
+INSERT INTO StdDestinations VALUES (107, 1, NULL, 'la_country_JAM', 'JAM', 'JM');
+INSERT INTO StdDestinations VALUES (108, 1, NULL, 'la_country_JPN', 'JPN', 'JP');
+INSERT INTO StdDestinations VALUES (109, 1, NULL, 'la_country_JOR', 'JOR', 'JO');
+INSERT INTO StdDestinations VALUES (110, 1, NULL, 'la_country_KAZ', 'KAZ', 'KZ');
+INSERT INTO StdDestinations VALUES (111, 1, NULL, 'la_country_KEN', 'KEN', 'KE');
+INSERT INTO StdDestinations VALUES (112, 1, NULL, 'la_country_KIR', 'KIR', 'KI');
+INSERT INTO StdDestinations VALUES (113, 1, NULL, 'la_country_PRK', 'PRK', 'KP');
+INSERT INTO StdDestinations VALUES (114, 1, NULL, 'la_country_KOR', 'KOR', 'KR');
+INSERT INTO StdDestinations VALUES (115, 1, NULL, 'la_country_KWT', 'KWT', 'KW');
+INSERT INTO StdDestinations VALUES (116, 1, NULL, 'la_country_KGZ', 'KGZ', 'KG');
+INSERT INTO StdDestinations VALUES (117, 1, NULL, 'la_country_LAO', 'LAO', 'LA');
+INSERT INTO StdDestinations VALUES (118, 1, NULL, 'la_country_LVA', 'LVA', 'LV');
+INSERT INTO StdDestinations VALUES (119, 1, NULL, 'la_country_LBN', 'LBN', 'LB');
+INSERT INTO StdDestinations VALUES (120, 1, NULL, 'la_country_LSO', 'LSO', 'LS');
+INSERT INTO StdDestinations VALUES (121, 1, NULL, 'la_country_LBR', 'LBR', 'LR');
+INSERT INTO StdDestinations VALUES (122, 1, NULL, 'la_country_LBY', 'LBY', 'LY');
+INSERT INTO StdDestinations VALUES (123, 1, NULL, 'la_country_LIE', 'LIE', 'LI');
+INSERT INTO StdDestinations VALUES (124, 1, NULL, 'la_country_LTU', 'LTU', 'LT');
+INSERT INTO StdDestinations VALUES (125, 1, NULL, 'la_country_LUX', 'LUX', 'LU');
+INSERT INTO StdDestinations VALUES (126, 1, NULL, 'la_country_MAC', 'MAC', 'MO');
+INSERT INTO StdDestinations VALUES (127, 1, NULL, 'la_country_MKD', 'MKD', 'MK');
+INSERT INTO StdDestinations VALUES (128, 1, NULL, 'la_country_MDG', 'MDG', 'MG');
+INSERT INTO StdDestinations VALUES (129, 1, NULL, 'la_country_MWI', 'MWI', 'MW');
+INSERT INTO StdDestinations VALUES (130, 1, NULL, 'la_country_MYS', 'MYS', 'MY');
+INSERT INTO StdDestinations VALUES (131, 1, NULL, 'la_country_MDV', 'MDV', 'MV');
+INSERT INTO StdDestinations VALUES (132, 1, NULL, 'la_country_MLI', 'MLI', 'ML');
+INSERT INTO StdDestinations VALUES (133, 1, NULL, 'la_country_MLT', 'MLT', 'MT');
+INSERT INTO StdDestinations VALUES (134, 1, NULL, 'la_country_MHL', 'MHL', 'MH');
+INSERT INTO StdDestinations VALUES (135, 1, NULL, 'la_country_MTQ', 'MTQ', 'MQ');
+INSERT INTO StdDestinations VALUES (136, 1, NULL, 'la_country_MRT', 'MRT', 'MR');
+INSERT INTO StdDestinations VALUES (137, 1, NULL, 'la_country_MUS', 'MUS', 'MU');
+INSERT INTO StdDestinations VALUES (138, 1, NULL, 'la_country_MYT', 'MYT', 'YT');
+INSERT INTO StdDestinations VALUES (139, 1, NULL, 'la_country_MEX', 'MEX', 'MX');
+INSERT INTO StdDestinations VALUES (140, 1, NULL, 'la_country_FSM', 'FSM', 'FM');
+INSERT INTO StdDestinations VALUES (141, 1, NULL, 'la_country_MDA', 'MDA', 'MD');
+INSERT INTO StdDestinations VALUES (142, 1, NULL, 'la_country_MCO', 'MCO', 'MC');
+INSERT INTO StdDestinations VALUES (143, 1, NULL, 'la_country_MNG', 'MNG', 'MN');
+INSERT INTO StdDestinations VALUES (144, 1, NULL, 'la_country_MSR', 'MSR', 'MS');
+INSERT INTO StdDestinations VALUES (145, 1, NULL, 'la_country_MAR', 'MAR', 'MA');
+INSERT INTO StdDestinations VALUES (146, 1, NULL, 'la_country_MOZ', 'MOZ', 'MZ');
+INSERT INTO StdDestinations VALUES (147, 1, NULL, 'la_country_MMR', 'MMR', 'MM');
+INSERT INTO StdDestinations VALUES (148, 1, NULL, 'la_country_NAM', 'NAM', 'NA');
+INSERT INTO StdDestinations VALUES (149, 1, NULL, 'la_country_NRU', 'NRU', 'NR');
+INSERT INTO StdDestinations VALUES (150, 1, NULL, 'la_country_NPL', 'NPL', 'NP');
+INSERT INTO StdDestinations VALUES (151, 1, NULL, 'la_country_NLD', 'NLD', 'NL');
+INSERT INTO StdDestinations VALUES (152, 1, NULL, 'la_country_ANT', 'ANT', 'AN');
+INSERT INTO StdDestinations VALUES (153, 1, NULL, 'la_country_NCL', 'NCL', 'NC');
+INSERT INTO StdDestinations VALUES (154, 1, NULL, 'la_country_NZL', 'NZL', 'NZ');
+INSERT INTO StdDestinations VALUES (155, 1, NULL, 'la_country_NIC', 'NIC', 'NI');
+INSERT INTO StdDestinations VALUES (156, 1, NULL, 'la_country_NER', 'NER', 'NE');
+INSERT INTO StdDestinations VALUES (157, 1, NULL, 'la_country_NGA', 'NGA', 'NG');
+INSERT INTO StdDestinations VALUES (158, 1, NULL, 'la_country_NIU', 'NIU', 'NU');
+INSERT INTO StdDestinations VALUES (159, 1, NULL, 'la_country_NFK', 'NFK', 'NF');
+INSERT INTO StdDestinations VALUES (160, 1, NULL, 'la_country_MNP', 'MNP', 'MP');
+INSERT INTO StdDestinations VALUES (161, 1, NULL, 'la_country_NOR', 'NOR', 'NO');
+INSERT INTO StdDestinations VALUES (162, 1, NULL, 'la_country_OMN', 'OMN', 'OM');
+INSERT INTO StdDestinations VALUES (163, 1, NULL, 'la_country_PAK', 'PAK', 'PK');
+INSERT INTO StdDestinations VALUES (164, 1, NULL, 'la_country_PLW', 'PLW', 'PW');
+INSERT INTO StdDestinations VALUES (165, 1, NULL, 'la_country_PSE', 'PSE', 'PS');
+INSERT INTO StdDestinations VALUES (166, 1, NULL, 'la_country_PAN', 'PAN', 'PA');
+INSERT INTO StdDestinations VALUES (167, 1, NULL, 'la_country_PNG', 'PNG', 'PG');
+INSERT INTO StdDestinations VALUES (168, 1, NULL, 'la_country_PRY', 'PRY', 'PY');
+INSERT INTO StdDestinations VALUES (169, 1, NULL, 'la_country_PER', 'PER', 'PE');
+INSERT INTO StdDestinations VALUES (170, 1, NULL, 'la_country_PHL', 'PHL', 'PH');
+INSERT INTO StdDestinations VALUES (171, 1, NULL, 'la_country_PCN', 'PCN', 'PN');
+INSERT INTO StdDestinations VALUES (172, 1, NULL, 'la_country_POL', 'POL', 'PL');
+INSERT INTO StdDestinations VALUES (173, 1, NULL, 'la_country_PRT', 'PRT', 'PT');
+INSERT INTO StdDestinations VALUES (174, 1, NULL, 'la_country_PRI', 'PRI', 'PR');
+INSERT INTO StdDestinations VALUES (175, 1, NULL, 'la_country_QAT', 'QAT', 'QA');
+INSERT INTO StdDestinations VALUES (176, 1, NULL, 'la_country_REU', 'REU', 'RE');
+INSERT INTO StdDestinations VALUES (177, 1, NULL, 'la_country_ROU', 'ROU', 'RO');
+INSERT INTO StdDestinations VALUES (178, 1, NULL, 'la_country_RUS', 'RUS', 'RU');
+INSERT INTO StdDestinations VALUES (179, 1, NULL, 'la_country_RWA', 'RWA', 'RW');
+INSERT INTO StdDestinations VALUES (180, 1, NULL, 'la_country_KNA', 'KNA', 'KN');
+INSERT INTO StdDestinations VALUES (181, 1, NULL, 'la_country_LCA', 'LCA', 'LC');
+INSERT INTO StdDestinations VALUES (182, 1, NULL, 'la_country_VCT', 'VCT', 'VC');
+INSERT INTO StdDestinations VALUES (183, 1, NULL, 'la_country_WSM', 'WSM', 'WS');
+INSERT INTO StdDestinations VALUES (184, 1, NULL, 'la_country_SMR', 'SMR', 'SM');
+INSERT INTO StdDestinations VALUES (185, 1, NULL, 'la_country_STP', 'STP', 'ST');
+INSERT INTO StdDestinations VALUES (186, 1, NULL, 'la_country_SAU', 'SAU', 'SA');
+INSERT INTO StdDestinations VALUES (187, 1, NULL, 'la_country_SEN', 'SEN', 'SN');
+INSERT INTO StdDestinations VALUES (188, 1, NULL, 'la_country_SYC', 'SYC', 'SC');
+INSERT INTO StdDestinations VALUES (189, 1, NULL, 'la_country_SLE', 'SLE', 'SL');
+INSERT INTO StdDestinations VALUES (190, 1, NULL, 'la_country_SGP', 'SGP', 'SG');
+INSERT INTO StdDestinations VALUES (191, 1, NULL, 'la_country_SVK', 'SVK', 'SK');
+INSERT INTO StdDestinations VALUES (192, 1, NULL, 'la_country_SVN', 'SVN', 'SI');
+INSERT INTO StdDestinations VALUES (193, 1, NULL, 'la_country_SLB', 'SLB', 'SB');
+INSERT INTO StdDestinations VALUES (194, 1, NULL, 'la_country_SOM', 'SOM', 'SO');
+INSERT INTO StdDestinations VALUES (195, 1, NULL, 'la_country_ZAF', 'ZAF', 'ZA');
+INSERT INTO StdDestinations VALUES (196, 1, NULL, 'la_country_SGS', 'SGS', 'GS');
+INSERT INTO StdDestinations VALUES (197, 1, NULL, 'la_country_ESP', 'ESP', 'ES');
+INSERT INTO StdDestinations VALUES (198, 1, NULL, 'la_country_LKA', 'LKA', 'LK');
+INSERT INTO StdDestinations VALUES (199, 1, NULL, 'la_country_SHN', 'SHN', 'SH');
+INSERT INTO StdDestinations VALUES (200, 1, NULL, 'la_country_SPM', 'SPM', 'PM');
+INSERT INTO StdDestinations VALUES (201, 1, NULL, 'la_country_SDN', 'SDN', 'SD');
+INSERT INTO StdDestinations VALUES (202, 1, NULL, 'la_country_SUR', 'SUR', 'SR');
+INSERT INTO StdDestinations VALUES (203, 1, NULL, 'la_country_SJM', 'SJM', 'SJ');
+INSERT INTO StdDestinations VALUES (204, 1, NULL, 'la_country_SWZ', 'SWZ', 'SZ');
+INSERT INTO StdDestinations VALUES (205, 1, NULL, 'la_country_SWE', 'SWE', 'SE');
+INSERT INTO StdDestinations VALUES (206, 1, NULL, 'la_country_CHE', 'CHE', 'CH');
+INSERT INTO StdDestinations VALUES (207, 1, NULL, 'la_country_SYR', 'SYR', 'SY');
+INSERT INTO StdDestinations VALUES (208, 1, NULL, 'la_country_TWN', 'TWN', 'TW');
+INSERT INTO StdDestinations VALUES (209, 1, NULL, 'la_country_TJK', 'TJK', 'TJ');
+INSERT INTO StdDestinations VALUES (210, 1, NULL, 'la_country_TZA', 'TZA', 'TZ');
+INSERT INTO StdDestinations VALUES (211, 1, NULL, 'la_country_THA', 'THA', 'TH');
+INSERT INTO StdDestinations VALUES (212, 1, NULL, 'la_country_TGO', 'TGO', 'TG');
+INSERT INTO StdDestinations VALUES (213, 1, NULL, 'la_country_TKL', 'TKL', 'TK');
+INSERT INTO StdDestinations VALUES (214, 1, NULL, 'la_country_TON', 'TON', 'TO');
+INSERT INTO StdDestinations VALUES (215, 1, NULL, 'la_country_TTO', 'TTO', 'TT');
+INSERT INTO StdDestinations VALUES (216, 1, NULL, 'la_country_TUN', 'TUN', 'TN');
+INSERT INTO StdDestinations VALUES (217, 1, NULL, 'la_country_TUR', 'TUR', 'TR');
+INSERT INTO StdDestinations VALUES (218, 1, NULL, 'la_country_TKM', 'TKM', 'TM');
+INSERT INTO StdDestinations VALUES (219, 1, NULL, 'la_country_TCA', 'TCA', 'TC');
+INSERT INTO StdDestinations VALUES (220, 1, NULL, 'la_country_TUV', 'TUV', 'TV');
+INSERT INTO StdDestinations VALUES (221, 1, NULL, 'la_country_UGA', 'UGA', 'UG');
+INSERT INTO StdDestinations VALUES (222, 1, NULL, 'la_country_UKR', 'UKR', 'UA');
+INSERT INTO StdDestinations VALUES (223, 1, NULL, 'la_country_ARE', 'ARE', 'AE');
+INSERT INTO StdDestinations VALUES (224, 1, NULL, 'la_country_GBR', 'GBR', 'GB');
+INSERT INTO StdDestinations VALUES (225, 1, NULL, 'la_country_USA', 'USA', 'US');
+INSERT INTO StdDestinations VALUES (226, 1, NULL, 'la_country_UMI', 'UMI', 'UM');
+INSERT INTO StdDestinations VALUES (227, 1, NULL, 'la_country_URY', 'URY', 'UY');
+INSERT INTO StdDestinations VALUES (228, 1, NULL, 'la_country_UZB', 'UZB', 'UZ');
+INSERT INTO StdDestinations VALUES (229, 1, NULL, 'la_country_VUT', 'VUT', 'VU');
+INSERT INTO StdDestinations VALUES (230, 1, NULL, 'la_country_VAT', 'VAT', 'VA');
+INSERT INTO StdDestinations VALUES (231, 1, NULL, 'la_country_VEN', 'VEN', 'VE');
+INSERT INTO StdDestinations VALUES (232, 1, NULL, 'la_country_VNM', 'VNM', 'VN');
+INSERT INTO StdDestinations VALUES (233, 1, NULL, 'la_country_VGB', 'VGB', 'VG');
+INSERT INTO StdDestinations VALUES (234, 1, NULL, 'la_country_VIR', 'VIR', 'VI');
+INSERT INTO StdDestinations VALUES (235, 1, NULL, 'la_country_WLF', 'WLF', 'WF');
+INSERT INTO StdDestinations VALUES (236, 1, NULL, 'la_country_ESH', 'ESH', 'EH');
+INSERT INTO StdDestinations VALUES (237, 1, NULL, 'la_country_YEM', 'YEM', 'YE');
+INSERT INTO StdDestinations VALUES (238, 1, NULL, 'la_country_YUG', 'YUG', 'YU');
+INSERT INTO StdDestinations VALUES (239, 1, NULL, 'la_country_ZMB', 'ZMB', 'ZM');
+INSERT INTO StdDestinations VALUES (240, 1, NULL, 'la_country_ZWE', 'ZWE', 'ZW');
+INSERT INTO StdDestinations VALUES (370, 2, 38, 'la_state_YT', 'YT', NULL);
+INSERT INTO StdDestinations VALUES (369, 2, 38, 'la_state_SK', 'SK', NULL);
+INSERT INTO StdDestinations VALUES (368, 2, 38, 'la_state_QC', 'QC', NULL);
+INSERT INTO StdDestinations VALUES (367, 2, 38, 'la_state_PE', 'PE', NULL);
+INSERT INTO StdDestinations VALUES (366, 2, 38, 'la_state_ON', 'ON', NULL);
+INSERT INTO StdDestinations VALUES (365, 2, 38, 'la_state_NU', 'NU', NULL);
+INSERT INTO StdDestinations VALUES (364, 2, 38, 'la_state_NS', 'NS', NULL);
+INSERT INTO StdDestinations VALUES (363, 2, 38, 'la_state_NT', 'NT', NULL);
+INSERT INTO StdDestinations VALUES (362, 2, 38, 'la_state_NL', 'NL', NULL);
+INSERT INTO StdDestinations VALUES (361, 2, 38, 'la_state_NB', 'NB', NULL);
+INSERT INTO StdDestinations VALUES (360, 2, 38, 'la_state_MB', 'MB', NULL);
+INSERT INTO StdDestinations VALUES (359, 2, 38, 'la_state_BC', 'BC', NULL);
+INSERT INTO StdDestinations VALUES (358, 2, 38, 'la_state_AB', 'AB', NULL);
+INSERT INTO StdDestinations VALUES (357, 2, 225, 'la_state_DC', 'DC', NULL);
+INSERT INTO StdDestinations VALUES (356, 2, 225, 'la_state_WY', 'WY', NULL);
+INSERT INTO StdDestinations VALUES (355, 2, 225, 'la_state_WI', 'WI', NULL);
+INSERT INTO StdDestinations VALUES (354, 2, 225, 'la_state_WV', 'WV', NULL);
+INSERT INTO StdDestinations VALUES (353, 2, 225, 'la_state_WA', 'WA', NULL);
+INSERT INTO StdDestinations VALUES (352, 2, 225, 'la_state_VA', 'VA', NULL);
+INSERT INTO StdDestinations VALUES (351, 2, 225, 'la_state_VT', 'VT', NULL);
+INSERT INTO StdDestinations VALUES (350, 2, 225, 'la_state_UT', 'UT', NULL);
+INSERT INTO StdDestinations VALUES (349, 2, 225, 'la_state_TX', 'TX', NULL);
+INSERT INTO StdDestinations VALUES (348, 2, 225, 'la_state_TN', 'TN', NULL);
+INSERT INTO StdDestinations VALUES (347, 2, 225, 'la_state_SD', 'SD', NULL);
+INSERT INTO StdDestinations VALUES (346, 2, 225, 'la_state_SC', 'SC', NULL);
+INSERT INTO StdDestinations VALUES (345, 2, 225, 'la_state_RI', 'RI', NULL);
+INSERT INTO StdDestinations VALUES (344, 2, 225, 'la_state_PR', 'PR', NULL);
+INSERT INTO StdDestinations VALUES (343, 2, 225, 'la_state_PA', 'PA', NULL);
+INSERT INTO StdDestinations VALUES (342, 2, 225, 'la_state_OR', 'OR', NULL);
+INSERT INTO StdDestinations VALUES (341, 2, 225, 'la_state_OK', 'OK', NULL);
+INSERT INTO StdDestinations VALUES (340, 2, 225, 'la_state_OH', 'OH', NULL);
+INSERT INTO StdDestinations VALUES (339, 2, 225, 'la_state_ND', 'ND', NULL);
+INSERT INTO StdDestinations VALUES (338, 2, 225, 'la_state_NC', 'NC', NULL);
+INSERT INTO StdDestinations VALUES (337, 2, 225, 'la_state_NY', 'NY', NULL);
+INSERT INTO StdDestinations VALUES (336, 2, 225, 'la_state_NM', 'NM', NULL);
+INSERT INTO StdDestinations VALUES (335, 2, 225, 'la_state_NJ', 'NJ', NULL);
+INSERT INTO StdDestinations VALUES (334, 2, 225, 'la_state_NH', 'NH', NULL);
+INSERT INTO StdDestinations VALUES (333, 2, 225, 'la_state_NV', 'NV', NULL);
+INSERT INTO StdDestinations VALUES (332, 2, 225, 'la_state_NE', 'NE', NULL);
+INSERT INTO StdDestinations VALUES (331, 2, 225, 'la_state_MT', 'MT', NULL);
+INSERT INTO StdDestinations VALUES (330, 2, 225, 'la_state_MO', 'MO', NULL);
+INSERT INTO StdDestinations VALUES (329, 2, 225, 'la_state_MS', 'MS', NULL);
+INSERT INTO StdDestinations VALUES (328, 2, 225, 'la_state_MN', 'MN', NULL);
+INSERT INTO StdDestinations VALUES (327, 2, 225, 'la_state_MI', 'MI', NULL);
+INSERT INTO StdDestinations VALUES (326, 2, 225, 'la_state_MA', 'MA', NULL);
+INSERT INTO StdDestinations VALUES (325, 2, 225, 'la_state_MD', 'MD', NULL);
+INSERT INTO StdDestinations VALUES (324, 2, 225, 'la_state_ME', 'ME', NULL);
+INSERT INTO StdDestinations VALUES (323, 2, 225, 'la_state_LA', 'LA', NULL);
+INSERT INTO StdDestinations VALUES (322, 2, 225, 'la_state_KY', 'KY', NULL);
+INSERT INTO StdDestinations VALUES (321, 2, 225, 'la_state_KS', 'KS', NULL);
+INSERT INTO StdDestinations VALUES (320, 2, 225, 'la_state_IA', 'IA', NULL);
+INSERT INTO StdDestinations VALUES (319, 2, 225, 'la_state_IN', 'IN', NULL);
+INSERT INTO StdDestinations VALUES (318, 2, 225, 'la_state_IL', 'IL', NULL);
+INSERT INTO StdDestinations VALUES (317, 2, 225, 'la_state_ID', 'ID', NULL);
+INSERT INTO StdDestinations VALUES (316, 2, 225, 'la_state_HI', 'HI', NULL);
+INSERT INTO StdDestinations VALUES (315, 2, 225, 'la_state_GA', 'GA', NULL);
+INSERT INTO StdDestinations VALUES (314, 2, 225, 'la_state_FL', 'FL', NULL);
+INSERT INTO StdDestinations VALUES (313, 2, 225, 'la_state_DE', 'DE', NULL);
+INSERT INTO StdDestinations VALUES (312, 2, 225, 'la_state_CT', 'CT', NULL);
+INSERT INTO StdDestinations VALUES (311, 2, 225, 'la_state_CO', 'CO', NULL);
+INSERT INTO StdDestinations VALUES (310, 2, 225, 'la_state_CA', 'CA', NULL);
+INSERT INTO StdDestinations VALUES (309, 2, 225, 'la_state_AR', 'AR', NULL);
+INSERT INTO StdDestinations VALUES (308, 2, 225, 'la_state_AZ', 'AZ', NULL);
+INSERT INTO StdDestinations VALUES (307, 2, 225, 'la_state_AK', 'AK', NULL);
+INSERT INTO StdDestinations VALUES (306, 2, 225, 'la_state_AL', 'AL', NULL);
\ No newline at end of file
Index: trunk/core/install.php
===================================================================
diff -u
--- trunk/core/install.php (revision 0)
+++ trunk/core/install.php (revision 6685)
@@ -0,0 +1,897 @@
+Init();
+ $install_engine->Run();
+ $install_engine->Done();
+
+ class kInstallator {
+
+ /**
+ * Reference to kApplication class object
+ *
+ * @var kApplication
+ */
+ var $Application = null;
+
+ /**
+ * Connection to database
+ *
+ * @var kDBConnection
+ */
+ var $Conn = null;
+
+ /**
+ * Path to config.php
+ *
+ * @var string
+ */
+ var $INIFile = '';
+
+ /**
+ * XML file containing steps information
+ *
+ * @var string
+ */
+ var $StepDBFile = '';
+
+ /**
+ * Parsed data from config.php
+ *
+ * @var Array
+ */
+ var $systemConfig = Array ();
+ /**
+ * Step name, that currently being processed
+ *
+ * @var string
+ */
+ var $currentStep = '';
+
+ /**
+ * Steps list (preset) to use for current installation
+ *
+ * @var string
+ */
+ var $stepsPreset = '';
+
+ /**
+ * Installtion steps to be done
+ *
+ * @var Array
+ */
+ var $steps = Array(
+ 'fresh_install' => Array ('check_paths', 'db_config', 'root_password', 'choose_modules', 'finish'),
+ 'already_installed' => Array ('installed_select', 'finish'),
+ );
+
+
+ /**
+ * Steps, on which kApplication should not be initialized, because of missing correct db table structure
+ *
+ * @var Array
+ */
+
+ var $skipApplicationSteps = Array ('check_paths', 'db_config');
+
+ /**
+ * Folders that should be writeable to continue installation
+ *
+ * @var Array
+ */
+ var $writeableFolders = Array ('/', '/system');
+
+ /**
+ * Contains last error message text
+ *
+ * @var string
+ */
+ var $errorMessage = '';
+
+ /**
+ * Base path for includes in templates
+ *
+ * @var string
+ */
+ var $baseURL = '';
+
+ function Init()
+ {
+ $this->INIFile = FULL_PATH.'/config.php';
+ $this->StepDBFile = FULL_PATH.'/'.REL_PATH.'/install/steps_db.xml';
+
+ set_error_handler( Array(&$this, 'ErrorHandler') );
+
+ if (file_exists($this->INIFile)) {
+ // if config.php found, then check his write permission too
+ $this->writeableFolders[] = '/config.php';
+ }
+
+ $this->currentStep = $this->GetVar('step');
+
+ if (!$this->stepsPreset) {
+ $this->stepsPreset = 'fresh_install';
+ }
+
+ if (!$this->currentStep) {
+ // first step of current preset
+ reset($this->steps[$this->stepsPreset]);
+ $this->currentStep = current($this->steps[$this->stepsPreset]);
+ }
+
+ $this->systemConfig = $this->ParseConfig(true);
+
+ $this->systemConfig['Misc']['WriteablePath'] = '/system'; // for development purposes
+
+ $this->InitStep();
+
+ $base_path = rtrim(preg_replace('/'.preg_quote(rtrim(REL_PATH, '/'), '/').'$/', '', str_replace('\\', '/', dirname($_SERVER['PHP_SELF']))), '/');
+ $this->baseURL = 'http://'.$_SERVER['HTTP_HOST'].$base_path.'/core/install/';
+ }
+
+ function GetVar($name)
+ {
+ return isset($_REQUEST[$name]) ? $_REQUEST[$name] : false;
+ }
+
+ /**
+ * Performs needed intialization of data, that step requires
+ *
+ */
+ function InitStep()
+ {
+ $go_next = $this->GetVar('step') === false ? false : true;
+
+ $this->InitApplication();
+
+ switch ($this->currentStep) {
+ case 'check_paths':
+ foreach ($this->writeableFolders as $folder_path) {
+ $file_path = FULL_PATH.$folder_path;
+ if (!is_writable($file_path)) {
+ $go_next = false;
+ $this->errorMessage = 'Install cannot write to specified folder in the root directory of your installation';
+ break;
+ }
+ }
+ break;
+
+ case 'db_config':
+ $section_name = 'Database';
+ $fields = Array ('DBType', 'DBHost', 'DBName', 'DBUser', 'DBUserPassword', 'TablePrefix');
+
+ if (!isset($this->systemConfig[$section_name])) {
+ $this->systemConfig[$section_name] = Array ();
+ }
+
+ // set fields
+ foreach ($fields as $field_name) {
+ $submit_value = $this->GetVar($field_name);
+
+ if ($submit_value !== false) {
+ $this->systemConfig[$section_name][$field_name] = $submit_value;
+ }
+ elseif (!isset($this->systemConfig[$section_name][$field_name])) {
+ $this->systemConfig[$section_name][$field_name] = '';
+ }
+ }
+ break;
+ }
+
+ $this->PerformValidation(); // returns validation status (just in case)
+ }
+
+ /**
+ * Validates data entered by user
+ *
+ * @return bool
+ */
+ function PerformValidation()
+ {
+ if ($this->GetVar('step') != $this->currentStep) {
+ // just redirect from previous step, don't validate
+ return true;
+ }
+
+ $status = true;
+
+ switch ($this->currentStep) {
+ case 'db_config':
+ // 1. check if required fields are filled
+ $section_name = 'Database';
+ $required_fields = Array ('DBType', 'DBHost', 'DBName', 'DBUser');
+ foreach ($required_fields as $required_field) {
+ if (!$this->systemConfig[$section_name][$required_field]) {
+ $status = false;
+ $this->errorMessage = 'Please fill all required fields';
+ break;
+ }
+ }
+ if (!$status) break;
+
+ // 2. check permissions, that use have in this database
+ $status = $this->CheckDatabase(true);
+ break;
+
+ case 'root_password':
+ // check, that password & verify password match
+ $password = $this->Application->GetVar('root_password');
+ $password_verify = $this->Application->GetVar('root_password_verify');
+
+ if ($password != $password_verify) {
+ $this->errorMessage = 'Passwords does not match';
+ }
+ elseif (strlen($password) < 4) {
+ $this->errorMessage = 'Root Password must be at least 4 characters';
+ }
+
+ $status = $this->errorMessage == '';
+ break;
+ }
+
+ return $status;
+ }
+
+ /**
+ * Perform installation step actions
+ *
+ */
+ function Run()
+ {
+ if ($this->errorMessage) {
+ // was error during data validation stage
+ return ;
+ }
+
+ switch ($this->currentStep) {
+ case 'db_config':
+ // store db configuration
+ $this->SaveConfig();
+
+ // import base data into database
+ $this->RunSQL('/core/install/install_schema.sql');
+ $this->RunSQL('/core/install/install_data.sql');
+ break;
+
+ case 'root_password':
+ // update root password in database
+ $password = md5( md5($this->Application->GetVar('root_password')) . 'b38');
+ $sql = 'UPDATE '.TABLE_PREFIX.'ConfigurationValues
+ SET VariableValue = '.$this->Conn->qstr($password).'
+ WHERE VariableName = "RootPass"';
+ $this->Conn->Query($sql);
+
+ // import base language for core (english)
+ $this->ImportLanguage('/core/install/english');
+ break;
+
+ case 'choose_modules':
+ $modules = $this->Application->GetVar('modules');
+ foreach ($modules as $module) {
+ $install_file = MODULES_PATH.'/'.$module.'/install.php';
+ if (file_exists($install_file)) {
+ include_once($install_file);
+ }
+ }
+ break;
+ }
+
+ if ($this->errorMessage) {
+ // was error during run stage
+ return ;
+ }
+
+ $this->currentStep = $this->GetNextStep();
+ $this->InitStep(); // init next step (that will be shown now)
+
+ $this->InitApplication();
+
+ if ($this->currentStep == -1) {
+ // step after last step -> redirect to admin
+ $this->Application->Redirect('index', null, '', 'admin/index.php');
+ }
+ }
+
+ function InitApplication()
+ {
+ if (!in_array($this->currentStep, $this->skipApplicationSteps) && !isset($this->Application)) {
+ // step is allowed for application usage & it was not initialized in previous step
+ global $debugger;
+ include_once(FULL_PATH.'/core/kernel/startup.php');
+
+ $this->Application =& kApplication::Instance();
+ $this->Application->Init();
+ $this->Conn =& $this->Application->GetADODBConnection();
+ }
+ }
+
+ /**
+ * Show next step screen
+ *
+ */
+ function Done($error_message = null)
+ {
+ if (isset($error_message)) {
+ $this->errorMessage = $error_message;
+ }
+
+ include_once (FULL_PATH.'/'.REL_PATH.'/install/incs/install.tpl');
+
+ if (isset($this->Application)) {
+ $this->Application->Done();
+
+ echo 'SID: ['.$this->Application->GetSID().'] ';
+ }
+
+ exit;
+ }
+
+ function GetModuleVersion($module_name)
+ {
+ return '0.1.1';
+ }
+
+ function ConnectToDatabase()
+ {
+ include_once FULL_PATH.'/core/kernel/db/db_connection.php';
+
+ $this->Conn = new kDBConnection($this->systemConfig['Database']['DBType'], Array(&$this, 'DBErrorHandler'));
+ $this->Conn->Connect($this->systemConfig['Database']['DBHost'], $this->systemConfig['Database']['DBUser'], $this->systemConfig['Database']['DBUserPassword'], $this->systemConfig['Database']['DBName']);
+ return $this->Conn->errorCode == 0;
+ }
+
+ function CheckDatabase($check_installed = false)
+ {
+ // perform various check type to database specified
+ // 1. user is allowed to connect to database
+ // 2. user has all types of permissions in database
+
+
+ if (strlen($this->systemConfig['Database']['TablePrefix']) > 7) {
+ $this->errorMessage = 'Table prefix should not be longer than 7 characters';
+ return false;
+ }
+
+ // connect to database
+ $status = $this->ConnectToDatabase();
+ if ($status) {
+ // if connected, then check if all sql statements work
+ $sql_tests[] = 'DROP TABLE IF EXISTS test_table';
+ $sql_tests[] = 'CREATE TABLE test_table(test_col mediumint(6))';
+ $sql_tests[] = 'LOCK TABLES test_table WRITE';
+ $sql_tests[] = 'INSERT INTO test_table(test_col) VALUES (5)';
+ $sql_tests[] = 'UPDATE test_table SET test_col = 12';
+ $sql_tests[] = 'UNLOCK TABLES';
+ $sql_tests[] = 'ALTER TABLE test_table ADD COLUMN new_col varchar(10)';
+ $sql_tests[] = 'SELECT * FROM test_table';
+ $sql_tests[] = 'DELETE FROM test_table';
+ $sql_tests[] = 'DROP TABLE IF EXISTS test_table';
+
+ foreach ($sql_tests as $sql_test) {
+ $this->Conn->Query($sql_test);
+ if ($this->Conn->getErrorCode() != 0) {
+ $status = false;
+ break;
+ }
+ }
+
+ if ($status) {
+ // if statements work & connection made, then check table existance
+ $already_installed = $this->TableExists('ConfigurationAdmin,Category,Permissions');
+
+ if ($check_installed && $already_installed) {
+ // already installed at that location
+ $this->errorMessage = 'An In-Portal Database already exists at this location'; // : 'An In-Portal Database was not found at this location';
+ return false;
+ }
+ }
+ else {
+ // user has insufficient permissions in database specified
+ $db_error = 'Permission Error: ('.$this->Conn->getErrorCode().') '.$this->Conn->getErrorMsg();
+ return false;
+ }
+ }
+ else {
+ // was error while connecting
+ $this->errorMessage = 'Connection Error: ('.$this->Conn->getErrorCode().') '.$this->Conn->getErrorMsg();
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Checks if all passed tables exists
+ *
+ * @param string $tables comma separated tables list
+ * @return bool
+ */
+ function TableExists($tables)
+ {
+ $prefix = $this->systemConfig['Database']['TablePrefix'];
+
+ $all_found = true;
+ $tables = explode(',', $tables);
+ foreach ($tables as $table_name) {
+ $sql = 'SHOW TABLES LIKE "'.$prefix.$table_name.'"';
+ if (count($this->Conn->Query($sql)) == 0) {
+ $all_found = false;
+ break;
+ }
+ }
+
+ return $all_found;
+ }
+
+ function RunSQL($filename, $replace_from = null, $replace_to = null)
+ {
+ if (!file_exists(FULL_PATH.$filename)) {
+ return ;
+ }
+
+ $sqls = file_get_contents(FULL_PATH.$filename);
+
+ $table_prefix = $this->systemConfig['Database']['TablePrefix'];
+
+ // add prefix to all tables
+ if (strlen($table_prefix) > 0) {
+ $replacements = Array ('CREATE TABLE ', 'INSERT INTO ', 'UPDATE ', 'ALTER TABLE ');
+ foreach ($replacements as $replacement) {
+ $sqls = str_replace($replacement, $replacement.$table_prefix, $sqls);
+ }
+ $sqls = str_replace('DROP TABLE ', 'DROP TABLE IF EXISTS '.$table_prefix, $sqls);
+ }
+
+ if (isset($replace_from) && isset($replace_to)) {
+ // replace something additionally, e.g. module root category
+ $sqls = str_replace($replace_from, $replace_to, $sqls);
+ }
+
+ $sqls = explode(";\n", $sqls);
+
+ foreach ($sqls as $sql) {
+ $sql = trim($sql);
+ if (!$sql || substr($sql, 0, 1) == '#') {
+ continue; // usually last line || comment
+ }
+ $this->Conn->Query($sql);
+ if ($this->Conn->getErrorCode() != 0) {
+ $this->errorMessage = 'Error: ('.$this->Conn->getErrorCode().') '.$this->Conn->getErrorMsg().' Database Query:'.htmlspecialchars($sql).' ';
+ $this->Done();
+ break;
+ }
+ }
+ }
+
+ function ImportLanguage($lang_file)
+ {
+ $lang_file = FULL_PATH.$lang_file.'.lang';
+ if (!file_exists($lang_file)) {
+ return ;
+ }
+
+ $lang_xml =& $this->Application->recallObjectP('LangXML', null, Array(), false); // false - don't use temp tables
+ $lang_xml->Parse($lang_file, '|0|1|2|', '');
+ }
+
+ /**
+ * Returns content to show for current step
+ *
+ * @return string
+ */
+ function GetStepBody()
+ {
+ ob_start();
+ switch ($this->currentStep) {
+ case 'check_paths':
+ ?>
+
+ %s
+ %s
+
+
+ $folder_tpl = ob_get_clean();
+
+ ob_start();
+ foreach ($this->writeableFolders as $folder_path) {
+ $file_path = FULL_PATH.$folder_path;
+ $folder_status = is_writable($file_path) ? 'OK' : 'FAILED ';
+ echo sprintf($folder_tpl, $file_path, $folder_status);
+ }
+ break;
+
+ case 'db_config':
+ ?>
+
+ Server Type* :
+
+
+ 'MySQL', /*'mssql' => 'MS-SQL Server', 'pgsql' => 'pgSQL'*/);
+ $option_tpl = '%3$s '."\n";
+
+ foreach ($options as $option_key => $option_title) {
+ $selected = $option_key == $this->systemConfig['Database']['DBType'] ? ' selected' : '';
+ echo sprintf($option_tpl, $option_key, $selected, $option_title);
+ }
+ ?>
+
+
+
+
+
+ Hostname* :
+
+
+
+
+
+
+ Database Name* :
+
+
+
+
+
+
+ Database User Name* :
+
+
+
+
+
+
+ Database User Password:
+
+
+
+
+
+
+ Table Name Prefix:
+
+
+
+
+
+
+
+ Root Password:
+
+
+
+
+
+
+
+ Confirm Root Password:
+
+
+
+
+
+
+
+
+ %1$s
+
+
+
+
+
+ In-portal has successfully been installed on your server.
+ Click the button below to log into the site administration
+ using the root password you just configured.
+
+
+ null, 'step_title' => null, 'help_body' => null, 'queried' => false);
+
+ if (!$info['queried']) {
+ $fdata = file_get_contents($this->StepDBFile);
+
+ $parser = xml_parser_create();
+ xml_parse_into_struct($parser, $fdata, $values, $index);
+ xml_parser_free($parser);
+
+ foreach ($index['STEP'] as $section_index) {
+ $step_data =& $values[$section_index];
+
+ if ($step_data['attributes']['NAME'] == $this->currentStep) {
+ $info['step_title'] = $step_data['attributes']['TITLE'];
+ if (isset($step_data['attributes']['HELP_TITLE'])) {
+ $info['help_title'] = $step_data['attributes']['HELP_TITLE'];
+ }
+ else {
+ // if help title not set, then use step title
+ $info['help_title'] = $step_data['attributes']['TITLE'];
+ }
+ $info['help_body'] = trim($step_data['value']);
+ break;
+ }
+ }
+
+ $info['queried'] = true;
+ }
+
+ return $info;
+ }
+
+ /**
+ * Returns particular information abou current step
+ *
+ * @param string $info_type
+ * @return string
+ */
+ function GetStepInfo($info_type)
+ {
+ $step_info =& $this->_getStepInfo();
+
+ if (isset($step_info[$info_type])) {
+ return $step_info[$info_type];
+ }
+
+ return '{step "'.$this->currentStep.'"; param "'.$info_type.'" missing}';
+ }
+
+ /**
+ * Returns passed steps titles
+ *
+ * @param Array $steps
+ * @return Array
+ * @see kInstaller:PrintSteps
+ */
+ function _getStepTitles($steps)
+ {
+ $fdata = file_get_contents($this->StepDBFile);
+
+ $parser = xml_parser_create();
+ xml_parse_into_struct($parser, $fdata, $values, $index);
+ xml_parser_free($parser);
+
+ $ret = Array ();
+ foreach ($index['STEP'] as $section_index) {
+ $step_data =& $values[$section_index];
+ if (in_array($step_data['attributes']['NAME'], $steps)) {
+ $ret[ $step_data['attributes']['NAME'] ] = $step_data['attributes']['TITLE'];
+ }
+ }
+
+ return $ret;
+ }
+
+ /**
+ * Returns current step number in active steps_preset.
+ * Value can't be cached, because same step can have different number in different presets
+ *
+ * @return int
+ */
+ function GetStepNumber()
+ {
+ return array_search($this->currentStep, $this->steps[$this->stepsPreset]) + 1;
+ }
+
+ /**
+ * Returns step name to process next
+ *
+ * @return string
+ */
+ function GetNextStep()
+ {
+ $next_index = $this->GetStepNumber();
+ if ($next_index > count($this->steps[$this->stepsPreset]) - 1) {
+ return -1;
+ }
+
+ return $this->steps[$this->stepsPreset][$next_index];
+ }
+
+ /**
+ * Returns step name, that was processed before this step
+ *
+ * @return string
+ */
+ function GetPreviousStep()
+ {
+ $next_index = $this->GetStepNumber() - 1;
+ if ($next_index < 0) {
+ $next_index = 0;
+ }
+
+ return $this->steps[$this->stepsPreset][$next_index];
+ }
+
+ /**
+ * Prints all steps from active steps preset and highlights current step
+ *
+ * @param string $active_tpl
+ * @param string $passive_tpl
+ * @return string
+ */
+ function PrintSteps($active_tpl, $passive_tpl)
+ {
+ $ret = '';
+ $step_titles = $this->_getStepTitles($this->steps[$this->stepsPreset]);
+
+ foreach ($this->steps[$this->stepsPreset] as $step_name) {
+ $template = $step_name == $this->currentStep ? $active_tpl : $passive_tpl;
+ $ret .= sprintf($template, $step_titles[$step_name]);
+ }
+
+ return $ret;
+ }
+
+ function ParseConfig($parse_section = false)
+ {
+ if (!file_exists($this->INIFile)) {
+ return Array();
+ }
+
+ if( file_exists($this->INIFile) && !is_readable($this->INIFile) ) {
+ die('Could Not Open Ini File');
+ }
+
+ $contents = file($this->INIFile);
+
+ $retval = Array();
+ $section = '';
+ $ln = 1;
+ $resave = false;
+ foreach ($contents as $line) {
+ if ($ln == 1 && $line != '<'.'?'.'php die() ?'.">\n") {
+ $resave = true;
+ }
+
+ $ln++;
+ $line = trim($line);
+ $line = eregi_replace(';[.]*','',$line);
+ if (strlen($line) > 0) {
+ //echo $line . " - ";
+ if(eregi('^[[a-z]+]$',str_replace(' ', '', $line))) {
+ //echo 'section';
+ $section = substr($line, 1, (strlen($line) - 2));
+ if ($parse_section) {
+ $retval[$section] = array();
+ }
+ continue;
+ } elseif (eregi('=',$line)) {
+ //echo 'main element';
+ list ($key, $val) = explode(' = ', $line);
+ if (!$parse_section) {
+ $retval[trim($key)] = str_replace('"', '', $val);
+ }
+ else {
+ $retval[$section][trim($key)] = str_replace('"', '', $val);
+ }
+ }
+ }
+ }
+
+ if ($resave) {
+ $fp = fopen($this->INIFile, 'w');
+ reset($contents);
+ fwrite($fp,'<'.'?'.'php die() ?'.">\n\n");
+ foreach ($contents as $line) {
+ fwrite($fp,"$line");
+ }
+ fclose($fp);
+ }
+
+ return $retval;
+ }
+
+ function SaveConfig()
+ {
+ $fp = fopen($this->INIFile, 'w');
+ fwrite($fp,'<'.'?'.'php die() ?'.">\n\n");
+
+ foreach ($this->systemConfig as $section_name => $section_data) {
+ fwrite($fp, '['.$section_name."]\n");
+ foreach ($section_data as $key => $value) {
+ fwrite($fp, $key.' = "'.$value.'"'."\n");
+ }
+ fwrite($fp, "\n");
+ }
+ fclose($fp);
+ }
+
+ /**
+ * Installation error handler for sql errors
+ *
+ * @param int $code
+ * @param string $msg
+ * @param string $sql
+ * @return bool
+ * @access private
+ */
+ function DBErrorHandler($code, $msg, $sql)
+ {
+ $this->errorMessage = 'Query: '.htmlspecialchars($sql).' execution result is error: ['.$code.'] '.$msg;
+ return true;
+ }
+
+ /**
+ * Installation error handler
+ *
+ * @param int $errno
+ * @param string $errstr
+ * @param string $errfile
+ * @param int $errline
+ * @param Array $errcontext
+ */
+ function ErrorHandler($errno, $errstr, $errfile = '', $errline = '', $errcontext = '')
+ {
+ if ($errno == E_USER_ERROR) {
+ // only react on user fatal errors
+ $this->Done($errstr);
+ }
+ }
+ }
+
+ /*function print_pre($s)
+ {
+ echo '', print_r($s, true). ' ';
+ }*/
+
+
+?>
\ No newline at end of file
Index: trunk/core/install/incs/img/blocks2.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/install/incs/img/toolbar/tool_cancel.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/install/incs/img/tab_middle.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/install/incs/img/globe.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/install/steps_db.xml
===================================================================
diff -u
--- trunk/core/install/steps_db.xml (revision 0)
+++ trunk/core/install/steps_db.xml (revision 6685)
@@ -0,0 +1,28 @@
+
+
+ normally "localhost"), Database user name, and database Password.
+ These fields are required to connect to the database.If you would like In-Portal
+ to use a table prefix, enter it in the field provided. This prefix can be any
+ text which can be used in the names of tables on your system. The characters entered in this field
+ are placed before the names of the tables used by In-Portal. For example, if you enter "inp_"
+ into the prefix field, the table named Category will be named inp_Category.
]]>
+
+
+ The Root Password is initially required to access the admin sections of In-Portal.
+ The root user cannot be used to access the front-end of the system, so it is recommended that you
+ create additional users with admin privlidges.]]>
+
+
+ Select the In-Portal modules you wish to install. The modules listed to the right
+ are all modules included in this installation that are licensed to run on this server. ]]>
+
+
+ Write Shows folder and files, that write permissions should be adjusted
+ to allow web server to write data into them.]]>
+
+
+ Thanks for using In-Portal! Be sure to visit www.in-portal.net
+ for the latest news, module releases and support.
+ *Make sure to clean your browser' cache after upgrading In-portal version
]]>
+
+
\ No newline at end of file
Index: trunk/core/install/incs/img/toolbar/tool_select.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/kernel/kbase.php
===================================================================
diff -u -r6093 -r6685
--- trunk/core/kernel/kbase.php (.../kbase.php) (revision 6093)
+++ trunk/core/kernel/kbase.php (.../kbase.php) (revision 6685)
@@ -51,7 +51,8 @@
*/
function &makeClass()
{
- return new kBase();
+ $object = new kBase();
+ return $object;
}
/**